128 lines
4.0 KiB
Java
128 lines
4.0 KiB
Java
import com.sun.star.comp.loader.FactoryHelper;
|
|
import com.sun.star.lang.*;
|
|
import com.sun.star.uno.*;
|
|
import com.sun.star.registry.XRegistryKey;
|
|
import java.io.*;
|
|
import java.net.*;
|
|
import com.sun.star.lib.sandbox.*;
|
|
|
|
|
|
/** This component implements XTypeProvider for use with StarBasic.
|
|
* The XServiceInfo is implemented to have an interface in which we can put some
|
|
* code just for the sake of debugging.
|
|
*
|
|
* To debug with JPDA (jdk 1.3), put these lines in the java.ini within the [Java] section:
|
|
* -Xdebug
|
|
* -Xrunjdwp:transport=dt_socket,address=8000,server=y,suspend=y
|
|
*
|
|
* When the Virtual Machine service is instantiated it will block until the debugger
|
|
* attaches to it on port 8000. You can chose a different port. You attach to the VM using
|
|
* jdb by
|
|
*
|
|
* jdb -connect com.sun.jdi.SocketAttach:hostname=myhost,port=8000
|
|
*
|
|
* myhost is the hostname where the VM is running.
|
|
*/
|
|
public class TestComponent implements XServiceInfo, XTypeProvider
|
|
{
|
|
public static final String __serviceName="JavaTestComponent";
|
|
|
|
// XTypeProvider
|
|
public com.sun.star.uno.Type[] getTypes( )
|
|
{
|
|
Type[] retValue= new Type[2];
|
|
retValue[0]= new Type( XServiceInfo.class);
|
|
retValue[1]= new Type( XTypeProvider.class);
|
|
return retValue;
|
|
}
|
|
// XTypeProvider
|
|
public byte[] getImplementationId( )
|
|
{
|
|
return TestComponent.class.getName().getBytes();
|
|
}
|
|
|
|
|
|
// XServiceName
|
|
public String getImplementationName( )
|
|
{
|
|
String a= "the functions are for debugging";
|
|
int abc= 34;
|
|
String prop= System.getProperty("ftp.proxyHost");
|
|
prop= System.getProperty("ftp.proxyPort");
|
|
prop= System.getProperty("http.proxyHost");
|
|
prop= System.getProperty("http.proxyPort");
|
|
prop= System.getProperty("ftp.nonProxyHosts");
|
|
prop= System.getProperty("http.nonProxyHosts");
|
|
prop= System.getProperty("socksProxyHost");
|
|
prop= System.getProperty("socksProxyPort");
|
|
|
|
prop= System.getProperty("stardiv.security.disableSecurity");
|
|
prop= System.getProperty("appletviewer.security.mode");
|
|
|
|
// Test security settings
|
|
File f= new File("c:/temp/javasecurity.txt");
|
|
try {
|
|
f.createNewFile();
|
|
|
|
// local connection
|
|
URL url= new URL("http://localhost:8080/index.html");
|
|
InputStream is= url.openStream();
|
|
// remote connection
|
|
url= new URL("http://www.w3.org/index.html");
|
|
is= url.openStream();
|
|
}catch( MalformedURLException mue) {
|
|
}catch( IOException e) {
|
|
String s= e.getMessage();
|
|
System.out.println(s);
|
|
}catch( SandboxSecurityException sse) {
|
|
String s= sse.getMessage();
|
|
System.out.println("s");
|
|
}
|
|
|
|
return __serviceName;
|
|
}
|
|
// XServiceName
|
|
public boolean supportsService( /*IN*/String ServiceName )
|
|
{
|
|
|
|
return false;
|
|
}
|
|
|
|
//XServiceName
|
|
public String[] getSupportedServiceNames( )
|
|
{
|
|
String[] retValue= new String[0];
|
|
return retValue;
|
|
}
|
|
|
|
public static XSingleServiceFactory __getServiceFactory(String implName,
|
|
XMultiServiceFactory multiFactory,
|
|
XRegistryKey regKey)
|
|
{
|
|
XSingleServiceFactory xSingleServiceFactory = null;
|
|
|
|
if (implName.equals( TestComponent.class.getName()) )
|
|
xSingleServiceFactory = FactoryHelper.getServiceFactory( TestComponent.class,
|
|
TestComponent.__serviceName,
|
|
multiFactory,
|
|
regKey);
|
|
|
|
return xSingleServiceFactory;
|
|
}
|
|
|
|
/**
|
|
* Writes the service information into the given registry key.
|
|
* This method is called by the <code>JavaLoader</code>
|
|
* <p>
|
|
* @return returns true if the operation succeeded
|
|
* @param regKey the registryKey
|
|
* @see com.sun.star.comp.loader.JavaLoader
|
|
*/
|
|
public static boolean __writeRegistryServiceInfo(XRegistryKey regKey)
|
|
{
|
|
return FactoryHelper.writeRegistryServiceInfo( TestComponent.class.getName(),
|
|
TestComponent.__serviceName, regKey);
|
|
}
|
|
|
|
}
|