java.lang.Object
io.jmix.reports.yarg.formatters.impl.doc.connector.OOServer

public class OOServer extends Object
Starts and stops an OOo server. Most of the source code in this class has been taken from the Java class "Bootstrap.java" (Revision: 1.15) from the UDK projekt (Uno Software Develop- ment Kit) from OpenOffice.org (http://udk.openoffice.org/). The source code is available for example through a browser based online version control access at http://udk.openoffice.org/source/browse/udk/. The Java class "Bootstrap.java" is there available at http://udk.openoffice.org/source/browse/udk/javaunohelper/com/sun/star/comp/helper/Bootstrap.java?view=markup
  • Field Details

    • log

      protected static final org.slf4j.Logger log
  • Constructor Details

    • OOServer

      public OOServer(String oooExecFolder, List<String> oooOptions, String host, int port, Supplier<String> temporaryDirSupplier, ProcessManager processManager)
      Constructs an OOo server which uses the folder of the OOo installation containing the soffice executable and a given list of options to start OOo.
      Parameters:
      oooExecFolder - The folder of the OOo installation containing the soffice executable
      oooOptions - The list of options
  • Method Details

    • getDefaultOOoOptions

      public static List<String> getDefaultOOoOptions()
      Returns the list of default options. !Note! we are using old version notation (- instead of --) to support old version of office
      Returns:
      The list of default options
    • start

      public void start() throws com.sun.star.comp.helper.BootstrapException, IOException
      Starts an OOo server which uses the specified accept option. The accept option can be used for two different types of connections: 1) The socket connection 2) The named pipe connection To create a socket connection a host and port must be provided. For example using the host "localhost" and the port "8100" the accept option looks like this: - accept option : -accept=socket,host=localhost,port=8100;urp; To create a named pipe a pipe name must be provided. For example using the pipe name "oooPipe" the accept option looks like this: - accept option : -accept=pipe,name=oooPipe;urp;
      Throws:
      com.sun.star.comp.helper.BootstrapException
      IOException
    • toUrl

      public String toUrl(File file)
    • kill

      public void kill()
      Kills the OOo server process from the previous start. If there has been no previous start of the OOo server, the kill does nothing. If there has been a previous start, kill destroys the process.
    • pipe

      protected void pipe(InputStream in, String prefix)
    • prepareInstanceProfileDir

      protected void prepareInstanceProfileDir()
    • deleteProfileDir

      protected void deleteProfileDir()
    • getInstanceProfilePath

      protected String getInstanceProfilePath()