[oodisc] com.sun.star.comp.helper.Bootstrap.createInitialComponentContext
ss-ooo
ss-ooo на mail.ru
Пт Апр 11 14:25:05 MSD 2003
Сергей (ss-ooo на mail.ru)
Библиотечный метод
> com.sun.star.comp.helper.Bootstrap.createInitialComponentContext
> под WinXP Pro SP1, OpenOffice 1.0.2 beta, jdk 1.4.1 всегда создаёт
исключение. Что с этим делать?
>
Исходник:
import com.sun.star.bridge.XUnoUrlResolver;
import com.sun.star.uno.UnoRuntime;
import com.sun.star.uno.XComponentContext;
import com.sun.star.lang.XMultiComponentFactory;
import com.sun.star.beans.XPropertySet;
public class FirstConnection extends java.lang.Object {
private XComponentContext xRemoteContext = null;
private XMultiComponentFactory xRemoteServiceManager = null;
public static void main(String[] args) {
FirstConnection firstConnection1 = new FirstConnection();
try {
firstConnection1.useConnection();
}
catch (java.lang.Exception e){
e.printStackTrace();
}
finally {
System.exit(0);
}
}
protected void useConnection() throws java.lang.Exception {
try {
xRemoteServiceManager = this.getRemoteServiceManager(
"uno:socket,host=localhost,port=8100;urp;StarOffice.ServiceManager");
String available = (null != xRemoteServiceManager ? "available" :
"not available");
System.out.println( "remote ServiceManager is " + available );
// do something with the service manager...
}
catch( com.sun.star.connection.NoConnectException e )
{
System.err.println( "No process listening on the resource");
e.printStackTrace();
throw e;
}
catch( com.sun.star.lang.DisposedException e ) { //works from Patch
1
xRemoteContext = null;
throw e;
}
}
protected XMultiComponentFactory getRemoteServiceManager(String
unoUrl) throws java.lang.Exception {
if (xRemoteContext == null) {
// First step: create local component context, get local
servicemanager and
// ask it to create a UnoUrlResolver object with an
XUnoUrlResolver interface
//!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!
//!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!
XComponentContext xLocalContext =
com.sun.star.comp.helper.Bootstrap.createInitialComponentContext(null);
//Ошибка!?
//!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!
//!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!
XMultiComponentFactory xLocalServiceManager =
xLocalContext.getServiceManager();
Object urlResolver =
xLocalServiceManager.createInstanceWithContext(
"com.sun.star.bridge.UnoUrlResolver", xLocalContext );
// query XUnoUrlResolver interface from urlResolver object
XUnoUrlResolver xUnoUrlResolver = (XUnoUrlResolver)
UnoRuntime.queryInterface(
XUnoUrlResolver.class, urlResolver );
// Second step: use xUrlResolver interface to import the remote
StarOffice.ServiceManager,
// retrieve its property DefaultContext and get the remote
servicemanager
Object initialObject = xUnoUrlResolver.resolve( unoUrl );
XPropertySet xPropertySet =
(XPropertySet)UnoRuntime.queryInterface(
XPropertySet.class, initialObject);
Object context = xPropertySet.getPropertyValue("DefaultContext");
xRemoteContext = (XComponentContext)UnoRuntime.queryInterface(
XComponentContext.class, context);
}
return xRemoteContext.getServiceManager();
}
}
Заранее благодарен.
----------- следущая часть -----------
Было удалено вложение не в текстовом формате...
Имя : FirstConnection.java
Тип : text/x-java
Размер : 3278 байтов
Описание: отсутствует
Url : /pipermail/oo-discuss/attachments/20030411/4c189c68/FirstConnection.bin
Подробная информация о списке рассылки Oo-discuss