[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