当前位置: 首页>>代码示例>>Java>>正文


Java XMultiComponentFactory类代码示例

本文整理汇总了Java中com.sun.star.lang.XMultiComponentFactory的典型用法代码示例。如果您正苦于以下问题:Java XMultiComponentFactory类的具体用法?Java XMultiComponentFactory怎么用?Java XMultiComponentFactory使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。


XMultiComponentFactory类属于com.sun.star.lang包,在下文中一共展示了XMultiComponentFactory类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: openConnection

import com.sun.star.lang.XMultiComponentFactory; //导入依赖的package包/类
/**
 * Opens connection to OpenOffice.org.
 * 
 * @return information whether the connection is available
 * 
 * @throws Exception if any error occurs
 */
public boolean openConnection() throws Exception {
  String unoUrl = "uno:socket,host=" + host + ",port=" + port +";urp;StarOffice.ServiceManager";
  XComponentContext xLocalContext = Bootstrap.createInitialComponentContext(null);
  Object connector = xLocalContext.getServiceManager().createInstanceWithContext("com.sun.star.connection.Connector", xLocalContext);
  XConnector xConnector = (XConnector) UnoRuntime.queryInterface(XConnector.class, connector);
  
  String url[] = parseUnoUrl(unoUrl);
  if (null == url) {
    throw new com.sun.star.uno.Exception("Couldn't parse UNO URL "+ unoUrl);
  }
  
  XConnection connection = xConnector.connect(url[0]);
  Object bridgeFactory = xLocalContext.getServiceManager().createInstanceWithContext("com.sun.star.bridge.BridgeFactory", xLocalContext);
  XBridgeFactory xBridgeFactory = (XBridgeFactory) UnoRuntime.queryInterface(XBridgeFactory.class, bridgeFactory);
  xBridge = xBridgeFactory.createBridge("", url[1], connection ,null);
  bridgeFactory = xBridge.getInstance(url[2]);
  xMultiComponentFactory = (XMultiComponentFactory)UnoRuntime.queryInterface(XMultiComponentFactory.class, bridgeFactory);
  XPropertySet xProperySet = (XPropertySet)UnoRuntime.queryInterface(XPropertySet.class, xMultiComponentFactory);
  Object remoteContext = xProperySet.getPropertyValue("DefaultContext");
  xRemoteContext = (XComponentContext) UnoRuntime.queryInterface(XComponentContext.class, remoteContext);
  xMultiServiceFactory = (XMultiServiceFactory)UnoRuntime.queryInterface(XMultiServiceFactory.class, xMultiComponentFactory);
  isConnectionEstablished = true;
  return true;      
}
 
开发者ID:LibreOffice,项目名称:noa-libre,代码行数:32,代码来源:RemoteOfficeConnection.java

示例2: insertImage

import com.sun.star.lang.XMultiComponentFactory; //导入依赖的package包/类
protected void insertImage(XComponent document, OfficeResourceProvider officeResourceProvider, XText destination, XTextRange textRange,
                           Image image) throws Exception {
    XMultiServiceFactory xFactory = as(XMultiServiceFactory.class, document);
    XComponentContext xComponentContext = officeResourceProvider.getXComponentContext();
    XMultiComponentFactory serviceManager = xComponentContext.getServiceManager();

    Object oImage = xFactory.createInstance(TEXT_GRAPHIC_OBJECT);
    Object oGraphicProvider = serviceManager.createInstanceWithContext(GRAPHIC_PROVIDER_OBJECT, xComponentContext);

    XGraphicProvider xGraphicProvider = as(XGraphicProvider.class, oGraphicProvider);

    XPropertySet imageProperties = buildImageProperties(xGraphicProvider, oImage, image.imageContent);
    XTextContent xTextContent = as(XTextContent.class, oImage);
    destination.insertTextContent(textRange, xTextContent, true);
    setImageSize(image.width, image.height, oImage, imageProperties);
}
 
开发者ID:cuba-platform,项目名称:yarg,代码行数:17,代码来源:AbstractInliner.java

示例3: open

import com.sun.star.lang.XMultiComponentFactory; //导入依赖的package包/类
public void open() throws OpenOfficeException {
    if (this.closed) {
        try {
            XComponentContext localContext = bsc.connect("127.0.0.1", port);
            String connectionString = "socket,host=127.0.0.1,port=" + port;
            XMultiComponentFactory localServiceManager = localContext.getServiceManager();
            XConnector connector = as(XConnector.class,
                    localServiceManager.createInstanceWithContext("com.sun.star.connection.Connector", localContext));
            XConnection connection = connector.connect(connectionString);
            XBridgeFactory bridgeFactory = as(XBridgeFactory.class,
                    localServiceManager.createInstanceWithContext("com.sun.star.bridge.BridgeFactory", localContext));
            String bridgeName = "yarg_" + bridgeIndex.incrementAndGet();
            XBridge bridge = bridgeFactory.createBridge(bridgeName, "urp", connection, null);
            XMultiComponentFactory serviceManager = as(XMultiComponentFactory.class, bridge.getInstance("StarOffice.ServiceManager"));
            XPropertySet properties = as(XPropertySet.class, serviceManager);
            xComponentContext = as(XComponentContext.class, properties.getPropertyValue("DefaultContext"));

            officeResourceProvider = new OfficeResourceProvider(xComponentContext, officeIntegration);
            closed = false;
        } catch (Exception e) {
            close();
            throw new OpenOfficeException("Unable to create Open office components.", e);
        }
    }
}
 
开发者ID:cuba-platform,项目名称:yarg,代码行数:26,代码来源:OfficeConnection.java

示例4: getCurrentDesktop

import com.sun.star.lang.XMultiComponentFactory; //导入依赖的package包/类
/**
 * Returns the current XDesktop
 * Returns null if it fails
 */
@Nullable
private static XDesktop getCurrentDesktop(XComponentContext xContext) throws Exception {
  try {
    if (xContext == null) {
      return null;
    }
    XMultiComponentFactory xMCF = UnoRuntime.queryInterface(XMultiComponentFactory.class,
            xContext.getServiceManager());
    if (xMCF == null) {
      return null;
    }
    Object desktop = xMCF.createInstanceWithContext("com.sun.star.frame.Desktop", xContext);
    if (desktop == null) {
      return null;
    }
    return UnoRuntime.queryInterface(XDesktop.class, desktop);
  } catch (Exception e) {
    printException(e);     // all Exceptions thrown by UnoRuntime.queryInterface are caught
    return null;           // Return null as method failed
  }
}
 
开发者ID:languagetool-org,项目名称:languagetool,代码行数:26,代码来源:LOFlatParagraph.java

示例5: getCurrentDesktop

import com.sun.star.lang.XMultiComponentFactory; //导入依赖的package包/类
/**
 * Returns the current XDesktop
 * Returns null if it fails
 */
@Nullable
private static XDesktop getCurrentDesktop(XComponentContext xContext) {
  try {
    if (xContext == null) {
      return null;
    }
    XMultiComponentFactory xMCF = UnoRuntime.queryInterface(XMultiComponentFactory.class,
            xContext.getServiceManager());
    if (xMCF == null) {
      return null;
    }
    Object desktop = xMCF.createInstanceWithContext("com.sun.star.frame.Desktop", xContext);
    if (desktop == null) {
      return null;
    }
    return UnoRuntime.queryInterface(XDesktop.class, desktop);
  } catch (Exception e) {
    printException(e);     // all Exceptions thrown by UnoRuntime.queryInterface are caught
    return null;           // Return null as method failed
  }
}
 
开发者ID:languagetool-org,项目名称:languagetool,代码行数:26,代码来源:LOCursor.java

示例6: initContext

import com.sun.star.lang.XMultiComponentFactory; //导入依赖的package包/类
private static XComponentLoader initContext() {
    try {
        XComponentContext xContext = Bootstrap.bootstrap();
        XMultiComponentFactory xMCF = xContext.getServiceManager();
        Object oDesktop = xMCF.createInstanceWithContext("com.sun.star.frame.Desktop", xContext);
        return UnoRuntime.queryInterface(XComponentLoader.class, oDesktop);
    } catch (Exception e) {
        throw new LibreOfficeException(e);
    }
}
 
开发者ID:kamax-io,项目名称:libreoffice4j,代码行数:11,代码来源:LibreOfficeManager.java

示例7: getFilterNames

import com.sun.star.lang.XMultiComponentFactory; //导入依赖的package包/类
public static List getFilterNames(XMultiComponentFactory xmulticomponentfactory) throws Exception {
    XPropertySet xPropertySet = (XPropertySet)UnoRuntime.queryInterface(XPropertySet.class, xmulticomponentfactory);
    Object oDefaultContext = xPropertySet.getPropertyValue("DefaultContext");
    XComponentContext xComponentContext = (XComponentContext) UnoRuntime.queryInterface(XComponentContext.class, oDefaultContext);


    Object filterFactory = xmulticomponentfactory.createInstanceWithContext("com.sun.star.document.FilterFactory", xComponentContext);
    XNameAccess xNameAccess = (XNameAccess)UnoRuntime.queryInterface(XNameAccess.class, filterFactory);
    String [] filterNames = xNameAccess.getElementNames();

    //String [] serviceNames = filterFactory.getAvailableServiceNames();
    for (int i=0; i < filterNames.length; i++) {
        String s = filterNames[i];
        Debug.logInfo(s, module);
        /*
        if (s.toLowerCase().indexOf("filter") >= 0) {
            Debug.logInfo("FILTER: " + s, module);
        }
        if (s.toLowerCase().indexOf("desktop") >= 0) {
            Debug.logInfo("DESKTOP: " + s, module);
        }
        */
    }

    List filterNameList = UtilMisc.toListArray(filterNames);
    return filterNameList;
}
 
开发者ID:ilscipio,项目名称:scipio-erp,代码行数:28,代码来源:OpenOfficeWorker.java

示例8: getCurrentDesktop

import com.sun.star.lang.XMultiComponentFactory; //导入依赖的package包/类
/** Returns the curerent XDesktop */
public static XDesktop getCurrentDesktop(XComponentContext xContext) {
	XMultiComponentFactory xMCF = (XMultiComponentFactory) UnoRuntime.queryInterface(XMultiComponentFactory.class,
			xContext.getServiceManager());
       Object desktop = null;
	try {
		desktop = xMCF.createInstanceWithContext("com.sun.star.frame.Desktop", xContext);
	} catch (Exception e) {
		return null;
	}
       return (XDesktop) UnoRuntime.queryInterface(com.sun.star.frame.XDesktop.class, desktop);
}
 
开发者ID:smehrbrodt,项目名称:libreoffice-starter-extension,代码行数:13,代码来源:DocumentHelper.java

示例9: connect

import com.sun.star.lang.XMultiComponentFactory; //导入依赖的package包/类
public void connect() throws ConnectException {
    logger.fine(String.format("connecting with connectString '%s'", unoUrl));
    try {
        XComponentContext localContext = Bootstrap.createInitialComponentContext(null);
        XMultiComponentFactory localServiceManager = localContext.getServiceManager();
        XConnector connector = OfficeUtils.cast(XConnector.class, localServiceManager.createInstanceWithContext("com.sun.star.connection.Connector", localContext));
        XConnection connection = connector.connect(unoUrl.getConnectString());
        XBridgeFactory bridgeFactory = OfficeUtils.cast(XBridgeFactory.class, localServiceManager.createInstanceWithContext("com.sun.star.bridge.BridgeFactory", localContext));
        String bridgeName = "jodconverter_" + bridgeIndex.getAndIncrement();
        XBridge bridge = bridgeFactory.createBridge(bridgeName, "urp", connection, null);
        bridgeComponent = OfficeUtils.cast(XComponent.class, bridge);
        bridgeComponent.addEventListener(bridgeListener);
        serviceManager = OfficeUtils.cast(XMultiComponentFactory.class, bridge.getInstance("StarOffice.ServiceManager"));
        XPropertySet properties = OfficeUtils.cast(XPropertySet.class, serviceManager);
        componentContext = OfficeUtils.cast(XComponentContext.class, properties.getPropertyValue("DefaultContext"));
        connected = true;
        logger.info(String.format("connected: '%s'", unoUrl));
        OfficeConnectionEvent connectionEvent = new OfficeConnectionEvent(this);
        for (OfficeConnectionEventListener listener : connectionEventListeners) {
            listener.connected(connectionEvent);
        }
    } catch (NoConnectException connectException) {
        throw new ConnectException(String.format("connection failed: '%s'; %s", unoUrl, connectException.getMessage()));
    } catch (Exception exception) {
        throw new OfficeException("connection failed: "+ unoUrl, exception);
    }
}
 
开发者ID:qjx378,项目名称:wenku,代码行数:28,代码来源:OfficeConnection.java

示例10: stopOffice

import com.sun.star.lang.XMultiComponentFactory; //导入依赖的package包/类
private void stopOffice() {
    try {
        if (componentContext != null) {
            // Only the uno test suite which started the office can stop it
            XMultiComponentFactory xMngr = componentContext.getServiceManager();
            Object oDesktop = xMngr.createInstanceWithContext("com.sun.star.frame.Desktop", componentContext);
            XDesktop xDesktop = (XDesktop)UnoRuntime.queryInterface(XDesktop.class, oDesktop);
            
            xDesktop.terminate();
        }
    } catch (Exception e) {
        e.printStackTrace();
    }
}
 
开发者ID:indic-ocr,项目名称:LibreOCR,代码行数:15,代码来源:UnoSuite.java

示例11: getWriterDocument

import com.sun.star.lang.XMultiComponentFactory; //导入依赖的package包/类
public static XTextDocument getWriterDocument() throws Exception {
	XMultiComponentFactory xMngr = UnoSuite.getComponentContext().getServiceManager();
       Object oDesktop = xMngr.createInstanceWithContext("com.sun.star.frame.Desktop", UnoSuite.getComponentContext());
       XComponentLoader xLoader = (XComponentLoader)UnoRuntime.queryInterface(
               XComponentLoader.class, oDesktop);

       XComponent xDoc = xLoader.loadComponentFromURL("private:factory/swriter", "_default",
               FrameSearchFlag.ALL, new PropertyValue[0]);

       return (XTextDocument)UnoRuntime.queryInterface(XTextDocument.class, xDoc);
}
 
开发者ID:indic-ocr,项目名称:LibreOCR,代码行数:12,代码来源:UnoHelper.java

示例12: connect

import com.sun.star.lang.XMultiComponentFactory; //导入依赖的package包/类
/**
 * To set up connection.
 * @throws ConnectException if failure occurs
 */
public void connect() throws ConnectException {
	LOGGER.fine(String.format("connecting with connectString '%s'", unoUrl));
	try {

		XComponentContext localContext = Bootstrap.createInitialComponentContext(null);
		XMultiComponentFactory localServiceManager = localContext.getServiceManager();

		Object urlResolver = localServiceManager.createInstanceWithContext("com.sun.star.bridge.UnoUrlResolver", localContext);
		XUnoUrlResolver unoUrlResolver = (XUnoUrlResolver) UnoRuntime.queryInterface(XUnoUrlResolver.class, urlResolver);
		Object initialObject = unoUrlResolver.resolve(unoUrl.getConnectString());
		XPropertySet properties = (XPropertySet) UnoRuntime.queryInterface(XPropertySet.class, initialObject);

		componentContext = OfficeUtils.cast(XComponentContext.class, properties.getPropertyValue("DefaultContext"));
		serviceManager = componentContext.getServiceManager();
		connected = true;
		LOGGER.info(String.format("connected: '%s'", unoUrl));
		OfficeConnectionEvent connectionEvent = new OfficeConnectionEvent(this);
		for (OfficeConnectionEventListener listener : connectionEventListeners) {
			listener.connected(connectionEvent);
		}
	} catch (NoConnectException connectException) {
		throw new ConnectException(String.format("connection failed: '%s'; %s", unoUrl, connectException.getMessage()));
	} catch (Exception exception) {
		throw new OfficeException("connection failed: " + unoUrl, exception);
	}
}
 
开发者ID:kuzavas,项目名称:ephesoft,代码行数:31,代码来源:OfficeConnection.java

示例13: connect

import com.sun.star.lang.XMultiComponentFactory; //导入依赖的package包/类
/**
 * To set up connection.
 * @throws ConnectException if connection fails
 */
public void connect() throws ConnectException {
	logger.fine(String.format("connecting with connectString '%s'", unoUrl));
	try {
		XComponentContext localContext = Bootstrap.createInitialComponentContext(null);
		XMultiComponentFactory localServiceManager = localContext.getServiceManager();
		XConnector connector = OfficeUtils.cast(XConnector.class, localServiceManager.createInstanceWithContext(
				"com.sun.star.connection.Connector", localContext));
		XConnection connection = connector.connect(unoUrl.getConnectString());
		XBridgeFactory bridgeFactory = OfficeUtils.cast(XBridgeFactory.class, localServiceManager.createInstanceWithContext(
				"com.sun.star.bridge.BridgeFactory", localContext));
		String bridgeName = "jodconverter_" + bridgeIndex.getAndIncrement();
		XBridge bridge = bridgeFactory.createBridge(bridgeName, "urp", connection, null);
		bridgeComponent = OfficeUtils.cast(XComponent.class, bridge);
		bridgeComponent.addEventListener(bridgeListener);
		serviceManager = OfficeUtils.cast(XMultiComponentFactory.class, bridge.getInstance("StarOffice.ServiceManager"));
		XPropertySet properties = OfficeUtils.cast(XPropertySet.class, serviceManager);
		componentContext = OfficeUtils.cast(XComponentContext.class, properties.getPropertyValue("DefaultContext"));
		connected = true;
		logger.info(String.format("connected: '%s'", unoUrl));
		OfficeConnectionEvent connectionEvent = new OfficeConnectionEvent(this);
		for (OfficeConnectionEventListener listener : connectionEventListeners) {
			listener.connected(connectionEvent);
		}
	} catch (NoConnectException connectException) {
		throw new ConnectException(String.format("connection failed: '%s'; %s", unoUrl, connectException.getMessage()));
	} catch (Exception exception) {
		throw new OfficeException("connection failed: " + unoUrl, exception);
	}
}
 
开发者ID:kuzavas,项目名称:ephesoft,代码行数:34,代码来源:InternalOfficeConnection.java

示例14: connect

import com.sun.star.lang.XMultiComponentFactory; //导入依赖的package包/类
/**
 * (non-Javadoc)
 * @see net.heartsome.cat.converter.ooconnect.OPconnect#connect()
 * @throws ConnectException
 */
public void connect() throws ConnectException {
	try {
		XComponentContext localContext;

		localContext = Bootstrap.createInitialComponentContext(null);

		XMultiComponentFactory localServiceManager = localContext.getServiceManager();
		XConnector connector = (XConnector) UnoRuntime.queryInterface(XConnector.class, localServiceManager
				.createInstanceWithContext("com.sun.star.connection.Connector", localContext)); //$NON-NLS-1$
		XConnection connection = connector.connect(strConnection);
		XBridgeFactory bridgeFactory = (XBridgeFactory) UnoRuntime.queryInterface(XBridgeFactory.class,
				localServiceManager.createInstanceWithContext("com.sun.star.bridge.BridgeFactory", localContext)); //$NON-NLS-1$
		bridge = bridgeFactory.createBridge("ms2ooBridge", "urp", connection, null); //$NON-NLS-1$ //$NON-NLS-2$
		bgComponent = (XComponent) UnoRuntime.queryInterface(XComponent.class, bridge);
		// bgComponent.addEventListener(this);
		serviceMg = (XMultiComponentFactory) UnoRuntime.queryInterface(XMultiComponentFactory.class, bridge
				.getInstance("StarOffice.ServiceManager")); //$NON-NLS-1$
		XPropertySet properties = (XPropertySet) UnoRuntime.queryInterface(XPropertySet.class, serviceMg);
		componentContext = (XComponentContext) UnoRuntime.queryInterface(XComponentContext.class, properties
				.getPropertyValue("DefaultContext")); //$NON-NLS-1$
		connected = true;
		if (connected) {
			System.out.println("has already connected"); //$NON-NLS-1$
		} else {
			System.out.println("connect to Openoffice fail,please check OpenOffice service that have to open"); //$NON-NLS-1$
		}

	} catch (NoConnectException connectException) {
		throw new ConnectException(MessageFormat.format(Messages.getString("ooconnect.OPConnection.msg"), strConnection + ": " + connectException.getMessage())); //$NON-NLS-1$ //$NON-NLS-2$
	} catch (Exception exception) {
		throw new OPException(MessageFormat.format(Messages.getString("ooconnect.OPConnection.msg"), strConnection), exception); //$NON-NLS-1$
	} catch (java.lang.Exception e) {
		if (Converter.DEBUG_MODE) {
			e.printStackTrace();
		}
	}
}
 
开发者ID:heartsome,项目名称:translationstudio8,代码行数:43,代码来源:OPConnection.java

示例15: getConfigValue

import com.sun.star.lang.XMultiComponentFactory; //导入依赖的package包/类
private static String getConfigValue(String path, String name)
{
  try
  {
    XMultiComponentFactory xMultiComponentFactory =
      UNO.defaultContext.getServiceManager();
    Object oProvider =
      xMultiComponentFactory.createInstanceWithContext(
        "com.sun.star.configuration.ConfigurationProvider", UNO.defaultContext);
    XMultiServiceFactory xConfigurationServiceFactory =
      UnoRuntime.queryInterface(XMultiServiceFactory.class,
      oProvider);

    PropertyValue[] lArgs = new PropertyValue[1];
    lArgs[0] = new PropertyValue();
    lArgs[0].Name = "nodepath";
    lArgs[0].Value = path;

    Object configAccess =
      xConfigurationServiceFactory.createInstanceWithArguments(
        "com.sun.star.configuration.ConfigurationAccess", lArgs);

    XNameAccess xNameAccess =
      UnoRuntime.queryInterface(XNameAccess.class, configAccess);

    return xNameAccess.getByName(name).toString();
  }
  catch (Exception ex)
  {
    Logger.log(ex);
    return "";
  }
}
 
开发者ID:WollMux,项目名称:WollMux,代码行数:34,代码来源:WollMuxFiles.java


注:本文中的com.sun.star.lang.XMultiComponentFactory类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。