Interface ConfigManagerRemote


public interface ConfigManagerRemote
Remote Interface for ConfigManager
Loads and saves configuration files and their revisions using the Document Manager.
  • Field Details

  • Method Details

    • getConfig

      PluginConfigDataHandler getConfig(String sessionId, String path, Class<?>... customClazz) throws ConfigManagerException
      Get the content of a configuration file from the Document Manager (HEAD Revision)
      Parameters:
      sessionId - PubServer session ID
      path - Repository path (e.g. /pubserver/com.priint.plugin.demo/config_2.1.xml)
      customClazz - class representing an XML root element defined via JAXB
      Returns:
      String content (XML) of the configuration file.
      Throws:
      ConfigManagerException
    • getConfigRevision

      PluginConfigDataHandler getConfigRevision(String sessionId, String path, String revision, Class<?>... customClazz) throws ConfigManagerException
      Get the content of a specific revision of a configuration file from the Document Manager
      Parameters:
      sessionId - PubServer session ID
      path - Repository path (e.g. /pubserver/com.priint.plugin.demo/config_2.1.xml)
      revision - Revision number
      customClazz - class representing an XML root element defined via JAXB
      Returns:
      String content (XML) of the configuration file.
      Throws:
      ConfigManagerCheckinException
      ConfigManagerException
    • checkinConfig

      String checkinConfig(String sessionId, String path, PluginConfigDataHandler config, Class<?>... customClazz) throws ConfigManagerCheckinException
      Check-in a single configuration
      Parameters:
      sessionId -
      config -
      customClazz - class representing an XML root element defined via JAXB
      Returns:
      the path of the configuration checked in
      Throws:
      ConfigManagerCheckinException
    • checkinConfig

      String checkinConfig(String sessionId, String path, PluginConfigDataHandler config, String notificationMode, Class<?>... customClazz) throws ConfigManagerCheckinException
      Check-in a single configuration with notification mode
      Parameters:
      sessionId -
      config -
      notificationMode - CREATE, UPDATE or DELETE
      customClazz - class representing an XML root element defined via JAXB
      Returns:
      the path of the configuration checked in
      Throws:
      ConfigManagerCheckinException
    • getConfigRevisionsProperties

      List<ConfigFileProperties> getConfigRevisionsProperties(String sessionId, String path) throws ConfigManagerException
      Get properties of all revisions of this config file
      Parameters:
      sessionId - PubServer session ID
      path -
      Returns:
      List of config file properties
      Throws:
      ConfigManagerCheckinException
      ConfigManagerException
    • getConfigs

      PluginConfigCollection getConfigs(String sessionId, String folder, Class<?>... customClazz) throws ConfigManagerException
      Get a collection of config files from 'folder'.
      Parameters:
      sessionId - PubServer session ID
      folder - repository folder (e.g. /pubserver/com.priint.plugin.demo/myfolder/)
      customClazz - class representing an XML root element defined via JAXB
      Returns:
      Collection of config files Key: config file path in repository
      Throws:
      ConfigManagerException
    • getSubFolders

      List<String> getSubFolders(String sessionId, String folderPath) throws ConfigManagerException
      Get List of sub folders
      Parameters:
      sessionId - PubServer session ID
      folderPath - repository folder (e.g. /pubserver/com.priint.plugin.demo/myfolder/)
      Returns:
      List of sub-folders (path)
      Throws:
      ConfigManagerException
    • exists

      boolean exists(String sessionId, String path) throws ConfigManagerException
      Check whether a file or folder exists at the given path
      Parameters:
      sessionId - PubServer session ID
      path -
      Returns:
      true if the configuration exists
      Throws:
      ConfigManagerException
    • isAlive

      boolean isAlive(String sessionId, String path) throws ConfigManagerException
      Check whether a file exists AND is alive, i.e.: the file is not deleted.
      Parameters:
      sessionId - PubServer session ID
      path -
      Returns:
      true, if file exists and has not been tagged as deleted.
      Throws:
      ConfigManagerException
    • getPlugins

      List<PluginInfo> getPlugins(String sessionId, boolean active) throws ConfigManagerException
      Gets a list of all plug-in libraries with their plug-ins and configurations.
      Parameters:
      sessionId - PubServer session ID
      active - if true only active plug-in libraries are return, if false all plug-in libraries are returned
      Returns:
      list of configurations (empty list if nothing was found)
      Throws:
      ConfigManagerException
    • getNextId

      int getNextId(String sessionId, boolean useServerId)
      Read the next ID from the data source.

      Note:
      Purpose of this method is to retrieve unique IDs for a single server instance or a server instance within a deployment environment (e.g. Developing Server, Integration Server, Test Server, Productive System).
      This will only work, if each of this server has a unique instance ID.
      Please take care to configure these values properly. See Constants.PUBSERVER_NUM_INSTANCES and Constants.PUBSERVER_INSTANCE_ID for more information.

      Parameters:
      sessionId - PubServer session ID
      useServerId -
      Returns:
      integer containing a sequential incrementing server dependent ID
    • getConnectors

      List<String> getConnectors(String sessionId)
      Get a list of connector plug-ins (i.e. string IDs of the plug-ins)
      Parameters:
      sessionId - PubServer session ID
      Returns:
      a list of connector plug-ins
    • getClients

      List<Client> getClients(String sessionId)
      Get a list of clients (tenants)
      Parameters:
      sessionId - PubServer session ID
      Returns:
      a list of clients (tenants)
    • upload

      String upload(String sessionId, String filePath, String path, ConfigFileProperties properties) throws ConfigManagerException, FileNotFoundException
      Upload a local config file to the repository
      Parameters:
      sessionId - PubServer session ID
      filePath - local system path of the config file
      path - target folder in repository
      properties - properties of the config file
      Returns:
      target path
      Throws:
      ConfigManagerException
      FileNotFoundException
    • deleteFileOrFolder

      void deleteFileOrFolder(String sessionId, String path, boolean updateDependencies) throws ConfigManagerException
      Remove files and/or folders physically from the repository
      Parameters:
      sessionId - SessionId
      path - target file or folder in repository
      updateDependencies -
      Throws:
      ConfigManagerException
    • deleteFileOrFolder

      void deleteFileOrFolder(String sessionId, String path) throws ConfigManagerException
      Remove files and/or folders physically from the repository
      Parameters:
      sessionId - SessionId
      path - target file or folder in repository
      Throws:
      ConfigManagerException
    • checkoutConfig

      PluginConfigDataHandler checkoutConfig(String sessionId, String path, Class<?>... customClazz) throws ConfigManagerCheckoutException
      Checkout a single file String
      Parameters:
      sessionId - SessionID
      path - Path to the config file in repository
      customClazz - class representing an XML root element defined via JAXB
      Returns:
      config file as String
      Throws:
      ConfigManagerCheckoutException
    • checkoutListOfConfigFiles

      PluginConfigCollection checkoutListOfConfigFiles(String sessionId, List<String> files, Class<?>... customClazz) throws ConfigManagerCheckoutException
      Check a list of files from the repository. The files that are checked out are locked for other users
      Parameters:
      sessionId - valid PubServer SessionID
      files - List of config files for checking out (path in repository)
      customClazz - class representing an XML root element defined via JAXB
      Throws:
      ConfigManagerCheckoutException
    • checkinListOfConfigFiles

      void checkinListOfConfigFiles(String sessionId, PluginConfigCollection configurations, boolean validateXML) throws ConfigManagerCheckinException
      Check-in multiple files as String array
      Parameters:
      sessionId - SessionID
      configurations - Collection of config files as String array. Key: path to the file in repository
      validateXML - validate XML files against the PluginConfig.xsd schema
      Throws:
      ConfigManagerCheckinException
    • lockFile

      void lockFile(String sessionId, String path) throws ConfigManagerException
      Lock a single file
      Parameters:
      sessionId -
      path -
      Throws:
      ConfigManagerException
    • unlockFile

      void unlockFile(String sessionId, String path) throws ConfigManagerException
      Unlock a single file
      Parameters:
      sessionId -
      path -
      Throws:
      ConfigManagerException
    • getSubNodes

      List<ConfigFileProperties> getSubNodes(String sessionId, String folderPath) throws ConfigManagerException
      Get a list of files and sub folders for a path.
      Parameters:
      sessionId - PubServer session ID
      folderPath -
      Returns:
      list of properties of the files
      Throws:
      ConfigManagerException
    • deleteListOfConfigFiles

      List<String> deleteListOfConfigFiles(String sessionId, List<String> deletefiles, boolean updateDependencies) throws ConfigManagerDeleteException
      Delete configuration files from the provided list.
      Parameters:
      sessionId -
      deletefiles - Paths of the files to delete.
      updateDependencies - If true dependencies will be automatically updated.
      Returns:
      list of paths of files actually deleted
      Throws:
      ConfigManagerDeleteException
    • deleteListOfConfigFiles

      List<String> deleteListOfConfigFiles(String sessionId, List<String> deletefiles) throws ConfigManagerDeleteException
      Delete configuration files from the provided list.
      Parameters:
      sessionId - PubServer session ID
      deletefiles - Paths of the files to delete.
      Returns:
      list of paths of files actually deleted
      Throws:
      ConfigManagerDeleteException
    • emptyTrash

      void emptyTrash(String sessionId) throws ConfigManagerDeleteException
      Delete are configs from trash.
      Throws:
      ConfigManagerDeleteException
    • createConfiguration

      String createConfiguration(String sessionId, String pluginName, String customTypeName, Map<String,Object> initialValues) throws ConfigManagerException
      Create and save a new configuration for a plug-in. The resulting configuration XML will be returned.

      The actual config creation will be delegated to the plug-in itself.

      Parameters:
      sessionId - PubServer session ID
      pluginName - Mapped name of the plug-in. Used as first part of the full path to the configuration file.
      customTypeName - Plug-in specific type string.
      initialValues - HashMap of values to be used for the configuration creation. Interpretation of the entries is plugin specific.
      Returns:
      Created XML as string.
      Throws:
      ConfigManagerException
    • getConfigProperties

      ConfigFileProperties getConfigProperties(String sessionId, String path) throws ConfigManagerException
      Get the configuration properties of a file at a specific location.
      Parameters:
      sessionId - PubServer session ID
      path - location
      Returns:
      configuration properties
      Throws:
      ConfigManagerException
    • getFiles

      List<ConfigFileProperties> getFiles(String sessionId, String folder) throws ConfigManagerException
      Get a list of files for a path (excluding sub-folders).
      Parameters:
      sessionId -
      folder -
      Returns:
      list of properties of the files
      Throws:
      ConfigManagerException
    • upload

      String upload(String sessionId, InputStream content, String path, ConfigFileProperties properties) throws ConfigManagerException
      Upload content stream to a config file at a specific location.
      Parameters:
      sessionId -
      content - stream
      path - location
      properties - additional properties of the configuration file
      Returns:
      path
      Throws:
      ConfigManagerException
    • checkinConfigFile

      String checkinConfigFile(String sessionId, DocumentContent document) throws ConfigManagerCheckinException
      Check-in a document
      Parameters:
      sessionId -
      document -
      Returns:
      path
      Throws:
      ConfigManagerCheckinException
    • getAllDependencies

      List<PluginConfig.Dependencies.PluginDependency> getAllDependencies(String sessionId, String path, List<PluginConfig.Dependencies.PluginDependency> dependencies, boolean recursive)
      Read all dependencies of a configuration file.
      Parameters:
      sessionId - PubServer session ID
      path - of the file
      dependencies - list of known dependencies
      recursive - if true, system performs a deep traversal of dependencies
      Returns:
      List of dependencies found
    • setMinimumInitialServerId

      void setMinimumInitialServerId(String sessionId, boolean useServerId, int minInitialValue)
      Set the sequence initial value on this machine to minimum minInitialValue.

      Warning!
      Use this function for sanity checks only. In normal operation there should be no need to manually change the sequence value. If anything, doing so is a dangerous operation and can cause ID conflicts later.
      Calling this method can be necessary after importing repository dumps into a newly installed system (with newly initialized ID sequences). In that case you would use the following code:

       // maximum ID calculated from the last import - in real life, this piece
       // of code will probably look more complex: 
       int maxId = 132456;
       
       ConfigManagerRemote configManager; // lookup etc.
       
       int currentSequenceId = configManager.getCurrentId(false);
       
       if (currentSequenceId < maxId) {
         // this is OK. The next time we call getNextID, the value
         // will be incremented before return:
         configManager.setMinimumInitialServerId(false, maxId);
       }
       
      Parameters:
      sessionId - PubServer session ID
      useServerId - if true, use instance name for the sequence name
      minInitialValue -
    • getCurrentId

      int getCurrentId(String sessionId, boolean useServerId)
      Get the current value of this ID sequence. This is the value that was returned on the last call of getNextId(String, boolean) or the initial value of this sequence, if it has not been initialized yet.
      If you want to retrieve a unique ID for this server instance, use getNextId(String, boolean) instead.
      Parameters:
      sessionId - PubServer session ID
      useServerId - if true, use instance name for the sequence name
      Returns:
      the current value of sequence
    • emptyConfigTrash

      void emptyConfigTrash(String sessionId)
      Clears the trash bin of the repository. Files cannot be undeleted after this operation.