 | OO-Snippets: Connect to Listening OpenOfficeCommons| Keywords | bootstrap, connect |
|---|
| Language | Java |
|---|
| Application | Office |
|---|
| Authors | Tobias Krais (www.design-to-use.de) (initial)
|
|---|
| Supported Versions | 2.0.x 1.1.x |
|---|
| Supported OS | All |
|---|
| Question | How to connect to a already listening OpenOffice?
You can start a OpenOffice in listening mode with e.g. this command:
ooffice -accept="socket,host=localhost,port=9000;urp;StarOffice.ServiceManager"
This commandline starts OpenOffice listening on port 9000
|
|---|
| Answer | This method connect to a listening OpenOffice. |
|---|
import com.sun.star.beans.XPropertySet;
import com.sun.star.bridge.UnoUrlResolver;
import com.sun.star.bridge.XUnoUrlResolver;
import com.sun.star.comp.helper.Bootstrap;
import com.sun.star.lang.XMultiComponentFactory;
import com.sun.star.uno.UnoRuntime;
import com.sun.star.uno.XComponentContext;
This method connects to a running OpenOffice.
@param ooport
@return
public void connectListeningOpenOffice(String ooport)
{
try{
XComponentContext xCC =
Bootstrap.createInitialComponentContext(null);
XUnoUrlResolver urlResolver = UnoUrlResolver.create(xCC);
Object initialObject = urlResolver.resolve(
"uno:socket,host=localhost,port=" + ooport
+ ";urp;StarOffice.ServiceManager");
XMultiComponentFactory xMCF = (XMultiComponentFactory)
UnoRuntime.queryInterface(XMultiComponentFactory.class,
initialObject);
XPropertySet xProperySet = (XPropertySet) UnoRuntime.queryInterface(
XPropertySet.class, xMCF);
Object oDefaultContext = xProperySet.getPropertyValue("DefaultContext");
xCC = (XComponentContext)
UnoRuntime.queryInterface(XComponentContext.class, oDefaultContext);
Object desktop = xMCF.createInstanceWithContext(
"com.sun.star.frame.Desktop", xCC);
}
catch(Exception e){
}
}
|
Changelog| Date | User | Modification |
|---|
| 2006-12-11 | tobiaskrais | Linking imports | | 2006-03-20 | tobiaskrais | Initial version |
|