Interface ConfigInstance

  • All Known Implementing Classes:
    ConfigInstanceImpl

    public interface ConfigInstance
    Represents a configuration instance and provides various methods for manipulating the configuration.
    • Method Detail

      • getConfigId

        java.lang.String getConfigId()
                              throws DIException
        Returns the configuration ID generated by the server.

        Example:

                for( ci in session.getConfigInstances()){
                task.logmsg("Name: " + ci.getConfigId());
                }
         //Sample output: Name: C__Documents and Settings_username_My Documents_TDI_rs.xml
         
        Returns:
        String object representing the configuration ID.
        Throws:
        DIException - if an error occurs while getting the configuration ID.
      • getConfiguration

        MetamergeConfig getConfiguration()
                                  throws DIException
        Returns configuration instance representing this configuration.
        Returns:
        MetamergeConfig object representing this configuration.
        Throws:
        DIException - if an error occurs while getting the configuration.
      • setConfiguration

        void setConfiguration​(MetamergeConfig aConfiguration)
                       throws DIException
        Sets given configuration to this configuration.
        Parameters:
        aConfiguration - The new configuration.
        Throws:
        DIException - if an error occurs while setting the configuration.
      • saveConfiguration

        @Deprecated
        void saveConfiguration()
                        throws DIException
        Deprecated.
        Not supported.
        Throws:
        DIException
      • saveConfiguration

        @Deprecated
        void saveConfiguration​(boolean aEncrypt)
                        throws DIException
        Deprecated.
        Not supported.
        Throws:
        DIException
      • getExternalProperties

        @Deprecated
        ExternalPropertiesConfig getExternalProperties()
                                                throws DIException
        Deprecated.
        use getTDIProperties() instead
        Returns the external properties of the configuration.
        Returns:
        ExternalPropertiesConfig object representing the configuration's external properties.
        Throws:
        DIException - if an error occurs while getting the external properties.
      • getExternalProperties

        @Deprecated
        ExternalPropertiesConfig getExternalProperties​(java.lang.String aKey)
                                                throws DIException
        Deprecated.
        use getTDIProperties() instead
        Returns the ExternalPropertiesConfig object for the named external properties object.
        Parameters:
        aKey - The external property object name.
        Returns:
        ExternalPropertiesConfig object representing the configuration's external properties specified by the external property object name.
        Throws:
        DIException - if an error occurs while getting the external properties.
      • getExternalPropertiesKeys

        @Deprecated
        java.lang.String[] getExternalPropertiesKeys()
                                              throws DIException
        Deprecated.
        use getTDIProperties() instead
        Returns the external properties object names.
        Returns:
        String array each value representing one external property object name.
        Throws:
        DIException - if an error occurs while getting the external properties names.
      • saveExternalProperties

        @Deprecated
        void saveExternalProperties()
                             throws DIException
        Deprecated.
        Not supported.
        Throws:
        DIException
      • getAssemblyLineNames

        java.lang.String[] getAssemblyLineNames()
                                         throws DIException
        Returns the AssemblyLines' names.

        Example:

                var ci = session.getConfigInstance("C__Documents and Settings_username_My Documents_TDI_rs.xml");
         
                for(al in ci.getAssemblyLineNames()){
                task.logmsg("Al name: " + al);
                }
         
          //Sample output:Al name: csv2xml
                        Al name: test
         
        Returns:
        String array each value representing AssemblyLine name.
        Throws:
        DIException - if an error occurs while getting the AssemblyLines' names.
      • getAssemblyLineUniqueCodes

        int[] getAssemblyLineUniqueCodes()
                                  throws DIException
        Returns a list of integers uniquely identify all the AssemblyLines within the ConfigInstance.

        Example:

                var ci = session.getConfigInstance("C__Documents and Settings_username_My Documents_TDI_rs.xml");
         
                for(al in ci.getAssemblyLineUniqueCodes()){
                task.logmsg("Al id: " + al);
                }
         
          //Sample output:Al name: csv2xml
                        Al id: 2312
         
        Returns:
        integer list each value representing AssemblyLine id.
        Throws:
        DIException - if an error occurs while getting the AssemblyLines' IDs.
      • getAssemblyLineByUniqueCode

        AssemblyLine getAssemblyLineByUniqueCode​(int alId)
                                          throws DIException
        Searches the list of AssemblyLines for the specified unique code (one returned by the getAssemblyLineUniqueCodes() method)
        Parameters:
        alId - the AssemblyLine id uniquely identifying the AssemblyLine instance in the scope of the ConfigInstance.
        Returns:
        the AssemblyLine found or null
        Throws:
        DIException - if an error occurs while getting the AssemblyLine.
      • getAssemblyLineInputParameters

        SchemaConfig getAssemblyLineInputParameters​(java.lang.String aAssemblyLineName)
                                             throws DIException
        Returns the AssemblyLine's input parameters.
        Parameters:
        aAssemblyLineName - the name of the AssemblyLine.
        Returns:
        SchemaConfig representing the schema input of the AssemblyLine.
        Throws:
        DIException - if an error occurs while getting the AssemblyLine's input parameters.
      • getAssemblyLineOutputParameters

        SchemaConfig getAssemblyLineOutputParameters​(java.lang.String aAssemblyLineName)
                                              throws DIException
        Returns the AssemblyLine's output parameters.
        Parameters:
        aAssemblyLineName - the name of the AssemblyLine.
        Returns:
        SchemaConfig representing the schema output of the AssemblyLine.
        Throws:
        DIException - if an error occurs while getting the AssemblyLine's output parameters.
      • getAssemblyLines

        AssemblyLine[] getAssemblyLines()
                                 throws DIException
        Returns currently started AssemblyLines of the configuration instance.

        Example:

                var ci = session.getConfigInstance("C__Documents and Settings_username_My Documents_TDI_rs.xml");
         
                for(al in ci.getAssemblyLines()){
                task.logmsg("Al running: " + al.getName());
                }
         
          //Sample output: Al running: AssemblyLines/test
         
         
        Returns:
        AssemblyLine array object each value represents currently started AssemblyLine.
        Throws:
        DIException - if an error occurs while getting the AssemblyLines.
      • startAssemblyLine

        AssemblyLine startAssemblyLine​(java.lang.String aAssemblyLineName)
                                throws DIException
        Starts the specified AssemblyLine asynchronously.

        Example:

         var ci = session.getConfigInstance("C__Documents and Settings_username_My Documents_TDI_rs.xml");
         
         var al = ci.startAssemblyLine("csv2xml");//assembly line is started
         //do something with al
         
        Parameters:
        aAssemblyLineName - The name of the AssemblyLine.
        Returns:
        the AssemblyLine object.
        Throws:
        DIException - if an error occurs when starting the AssemblyLine.
      • startAssemblyLine

        AssemblyLine startAssemblyLine​(java.lang.String aAssemblyLineName,
                                       boolean aSync)
                                throws DIException
        Starts the specified AssemblyLine.

        Example:

         var ci = session.getConfigInstance("C__Documents and Settings_username_My Documents_TDI_rs.xml");
         
         var al = ci.startAssemblyLine("csv2xml", false);//assembly line is started in new thread
         //do something with al
         
        Parameters:
        aAssemblyLineName - The name of the AssemblyLine.
        aSync - when true the AssemblyLine is started synchronously, when false the AssemblyLine is started asynchronously.
        Returns:
        the AssemblyLine object.
        Throws:
        DIException - if an error occurs when starting the AssemblyLine.
      • startAssemblyLine

        AssemblyLine startAssemblyLine​(java.lang.String aAssemblyLineName,
                                       Entry aInputData)
                                throws DIException
        Starts the specified AssemblyLine with the given input data asynchronously.

        Example:

         var ci = session.getConfigInstance("C__Documents and Settings_username_My Documents_TDI_rs.xml");
         
         var al = ci.startAssemblyLine("csv2xml", work);
         
         //assembly line "csv2xml" is started with the current entry of the current running assembly line
         //do something with al
         
        Parameters:
        aAssemblyLineName - The name of the AssemblyLine.
        aInputData - Initial Work Entry to run the AssemblyLine with.
        Returns:
        the AssemblyLine object.
        Throws:
        DIException - if an error occurs when starting the AssemblyLine.
      • startAssemblyLine

        AssemblyLine startAssemblyLine​(java.lang.String aAssemblyLineName,
                                       Entry aInputData,
                                       boolean aSync)
                                throws DIException
        Starts the specified AssemblyLine with the given input data.

        Example:

         var ci = session.getConfigInstance("C__Documents and Settings_username_My Documents_TDI_rs.xml");
         
         var al = ci.startAssemblyLine("csv2xml", work, false);
         
         //assembly line "csv2xml" is started with the current entry of the current running assembly line
         //do something with al
         
        Parameters:
        aAssemblyLineName - The name of the AssemblyLine.
        aInputData - Initial Work Entry to run the AssemblyLine with.
        aSync - when true the AssemblyLine is started synchronously, when false the AssemblyLine is started asynchronously.
        Returns:
        the AssemblyLine object.
        Throws:
        DIException - if an error occurs when starting the AssemblyLine.
      • startAssemblyLine

        AssemblyLine startAssemblyLine​(java.lang.String aAssemblyLineName,
                                       Entry aInputData,
                                       AssemblyLineListener aListener,
                                       boolean aGetLogs)
                                throws DIException
        Starts asynchronously the specified AssemblyLine with the given input data and results listener.
        Parameters:
        aAssemblyLineName - The name of the AssemblyLine.
        aInputData - Initial Work Entry to run the AssemblyLine with.
        aListener - A listener for Entries produced by the AssemblyLine.
        aGetLogs - when true the AssemblyLineListener is delivered log messages, when false log messages are not delivered.
        Returns:
        the AssemblyLine object.
        Throws:
        DIException - if an error occurs when starting the AssemblyLine.
      • startAssemblyLine

        AssemblyLine startAssemblyLine​(java.lang.String aAssemblyLineName,
                                       Entry aInputData,
                                       AssemblyLineListener aListener,
                                       boolean aGetLogs,
                                       boolean aSync)
                                throws DIException
        Starts the specified AssemblyLine with the given input data and results listener.
        Parameters:
        aAssemblyLineName - The name of the AssemblyLine.
        aInputData - Initial Work Entry to run the AssemblyLine with.
        aListener - A listener for Entries produced by the AssemblyLine.
        aGetLogs - when true the AssemblyLineListener delivers log messages, when false log messages are not delivered.
        aSync - when true the AssemblyLine is started synchronously, when false the AssemblyLine is started asynchronously.
        Returns:
        the AssemblyLine object.
        Throws:
        DIException - if an error occurs when starting the AssemblyLine.
      • startAssemblyLine

        AssemblyLine startAssemblyLine​(java.lang.String aAssemblyLineName,
                                       Entry aInputData,
                                       AssemblyLineListener aListener,
                                       boolean aGetLogs,
                                       boolean aSync,
                                       boolean aGetEntryOnEachCycle)
                                throws DIException
        Starts the specified AssemblyLine with the given input data and results listener.
        Parameters:
        aAssemblyLineName - The name of the AssemblyLine.
        aInputData - Initial Work Entry to run the AssemblyLine with.
        aListener - A listener for Entries produced by the AssemblyLine.
        aGetLogs - when true the AssemblyLineListener delivers log messages, when false log messages are not delivered.
        aSync - when true the AssemblyLine is started synchronously, when false the AssemblyLine is started asynchronously.
        aGetEntryOnEachCycle - when true the AssemblyLineListener delivers the current entry on each AssemblyLine cycle, when false the entries are not delivered.
        Returns:
        the AssemblyLine object.
        Throws:
        DIException - if an error occurs when starting the AssemblyLine.
      • startAssemblyLineManual

        AssemblyLineHandler startAssemblyLineManual​(java.lang.String aAssemblyLineName,
                                                    Entry aInputData)
                                             throws DIException
        Starts the specified AssemblyLine with the given input data in manual mode.
        Parameters:
        aAssemblyLineName - The name of the AssemblyLine.
        aInputData - Initial Work Entry to run the AssemblyLine with.
        Returns:
        the AssemblyLineHandler object for AssemblyLine manipulation in manual mode.
        Throws:
        DIException - if an error occurs when starting the AssemblyLine.
      • startAssemblyLine

        AssemblyLine startAssemblyLine​(java.lang.String aAssemblyLineName,
                                       TaskCallBlock aTcb)
                                throws DIException
        Starts asynchronously the specified AssemblyLine with the given TaskCallBlock.
        Parameters:
        aAssemblyLineName - The name of the AssemblyLine.
        aTcb - The TaskCallBlock object to start the AL with.
        Returns:
        the AssemblyLine object.
        Throws:
        DIException - if an error occurs when starting the AssemblyLine.
      • startAssemblyLine

        AssemblyLine startAssemblyLine​(java.lang.String aAssemblyLineName,
                                       TaskCallBlock aTcb,
                                       boolean aSync)
                                throws DIException
        Starts the specified AssemblyLine with the given TaskCallBlock.
        Parameters:
        aAssemblyLineName - The name of the AssemblyLine.
        aTcb - The TaskCallBlock object to start the AL with.
        aSync - when true the AssemblyLine is started synchronously, when false the AssemblyLine is started asynchronously.
        Returns:
        the AssemblyLine object.
        Throws:
        DIException - if an error occurs when starting the AssemblyLine.
      • startSequence

        Sequence startSequence​(java.lang.String name)
                        throws DIException
        Starts the specified Sequence.

        Example:

         var ci = session.getConfigInstance("C__Documents and Settings_username_My Documents_TDI_rs.xml");
         
         var seq = ci.startSequence("csv2xml");//Sequence is started
         
        Parameters:
        name - The name of the Sequence.
        Returns:
        the Sequence object.
        Throws:
        DIException - if an error occurs when starting the Sequence.
        Since:
        7.2
      • startSequence

        Sequence startSequence​(java.lang.String name,
                               TaskCallBlock tcb,
                               boolean sync)
                        throws DIException
        Starts the specified Sequence specifying a TaskCallBlock, synchronous or asynchronous.

        Example:

         var ci = session.getConfigInstance("C__Documents and Settings_username_My Documents_TDI_rs.xml");
         
         var seq = ci.startSequence("csv2xml", null, true);//Sequence is started in new thread, and has now run to completion
         //do something with seq
         
        Parameters:
        name - The name of the Sequence.
        tcb - The TaskCallBlock object to start the Sequence with. If null, ignored.
        sync - when true the Sequence is started synchronously, when false the Sequence is started asynchronously.
        Returns:
        the Sequence object.
        Throws:
        DIException - if an error occurs when starting the Sequence.
        Since:
        7.2
      • startSequence

        Sequence startSequence​(java.lang.String name,
                               TaskCallBlock tcb,
                               AssemblyLineListener listener)
                        throws DIException
        Starts the specified Sequence with the given TaskCallBlock and a Listener
        Parameters:
        name - The name of the Sequence.
        tcb - The TaskCallBlock object to start the Sequence with.
        listener - A listener to know when the Sequence has stopped.
        Returns:
        the Sequence object.
        Throws:
        DIException - if an error occurs when starting the Sequence.
        Since:
        7.2
      • reload

        void reload()
             throws DIException
        Reloads the Config Instance with its current configuration.
        Throws:
        DIException - if an error occurs while reloading the server.
      • stop

        void stop()
           throws DIException
        Stops the Config Instance.

        Example:

         var ci = session.getConfigInstance("C__Documents and Settings_username_My Documents_TDI_rs.xml");
         ci.stop();
         
        Throws:
        DIException - if an error occurs while stopping.
      • stop

        void stop​(boolean sync)
           throws DIException
        Stops the Config Instance and all AssemblyLines run by it, and waits a while for the stopping to finish.

        Example:

         var ci = session.getConfigInstance("myProject");
         ci.stop(false);
         
        Parameters:
        sync - If true, waiting will occur in new Threads.
        Throws:
        DIException - if an error occurs while stopping.
        Since:
        7.1
      • getALLogFileNames

        java.lang.String[] getALLogFileNames​(java.lang.String aALName)
                                      throws DIException
        Returns the names of all available log files for a given AssemblyLine.
        Parameters:
        aALName - the name of the AssemblyLine.
        Returns:
        a String array, each of its elements specifying the name of a log file.
        Throws:
        DIException - if an error occurs while obtaining AssemblyLine's log file names.
      • getALLastLogFileName

        java.lang.String getALLastLogFileName​(java.lang.String aALName)
                                       throws DIException
        Returns the name of the log file created on the last run of a given AssemblyLine.
        Parameters:
        aALName - the name of the AssemblyLine.
        Returns:
        the name of the log file created on the last AssemblyLine's run.
        Throws:
        DIException - if an error occurs while obtaining the log file name.
      • getALLog

        java.lang.String getALLog​(java.lang.String aALName,
                                  java.lang.String aLogFileName)
                           throws DIException
        Given an AssemblyLine name, and a log file name, retrieves the log of this AssemblyLine, stored in the specified file.
        Parameters:
        aALName - the name of the AssemblyLine.
        aLogFileName - the name of the log file; no file path should be specified - just the file name.
        Returns:
        the specified log of the AssemblyLine.
        Throws:
        DIException - if an error occurs while obtaining AssemblyLine's log.
      • getALLogLastChunk

        java.lang.String getALLogLastChunk​(java.lang.String aALName,
                                           java.lang.String aLogFileName,
                                           int aKilobytes)
                                    throws DIException
        Retrieves the last chunk from a specified AssemblyLine's log file.
        Parameters:
        aALName - the name of the AssemblyLine.
        aLogFileName - the name of the log file; no file path should be specified - just the file name.
        aKilobytes - specifies in kilobytes the size of the log's last chunk that will be read.
        Returns:
        the last chunk of the specified AssemblyLine's log.
        Throws:
        DIException - if an error occurs while obtaining AssemblyLine's log.
      • getInstanceBootTime

        java.util.Date getInstanceBootTime()
                                    throws DIException
        Returns the Instance boot time.
        Returns:
        a java.util.Date specifying the date and time the instance was started.
        Throws:
        DIException - if an error occurs while retrieving instance's boot time.
      • getGlobalUniqueID

        java.lang.String getGlobalUniqueID()
                                    throws DIException
        Returns the Config Instance GUID. The GUID is a string value that is unique for each component ever created by a particular TDI Server.

        Example:

         var ci = session.getConfigInstance("C__Documents and Settings_username_My Documents_TDI_rs.xml");
         task.logmsg("Config ID: " + ci.getGlobalUniqueID());
         
         //Sample output: Config ID: 19245595421206360821315
         
        Returns:
        The Config Instance GUID value.
        Throws:
        DIException - if an error occurs while retrieving the Config Instance GUID value.
      • getConnectorPoolNames

        java.lang.String[] getConnectorPoolNames()
                                          throws DIException
        Returns the names of all Connector Pools in the Config Instance.
        Returns:
        String array containing the Connector Pool names.
        Throws:
        DIException - if an error occurs while retrieving the names of all Connector Pools.
      • getConnectorPoolSize

        int getConnectorPoolSize​(java.lang.String aConnectorPoolName)
                          throws DIException
        Returns the size of the specified Connector Pool.
        Parameters:
        aConnectorPoolName - the name of the Connector Pool.
        Returns:
        The current size of the specified Connector Pool.
        Throws:
        DIException - if an error occurs while retrieving the size of the specified Connector Pool.
      • getConnectorPoolFreeNum

        int getConnectorPoolFreeNum​(java.lang.String aConnectorPoolName)
                             throws DIException
        Returns the number of free Connectors in the specified Connector Pool.
        Parameters:
        aConnectorPoolName - the name of the Connector Pool.
        Returns:
        The number of free Connectors in the specified Connector Pool.
        Throws:
        DIException - if an error occurs while retrieving the number of free Connectors in the specified Connector Pool.
      • getConnectorPoolConfig

        PoolDefConfig getConnectorPoolConfig​(java.lang.String aConnectorPoolName)
                                      throws DIException
        Returns the Connector Pool configuration object.
        Parameters:
        aConnectorPoolName - the name of the Connector Pool.
        Returns:
        The configuration object for the specified Connector Pool.
        Throws:
        DIException - if an error occurs while retrieving the Connector Pool configuration object.
      • purgeConnectorPool

        int purgeConnectorPool​(java.lang.String aConnectorPoolName)
                        throws DIException
        Unused Connectors will be released so that the Pool is shrunk to its minimum size.
        Parameters:
        aConnectorPoolName - the name of the Connector Pool.
        Returns:
        The size of the Connector Pool after shrinking.
        Throws:
        DIException - if an error occurs while shrinking the Connector Pool.
      • getTDIProperties

        TDIProperties getTDIProperties()
                                throws java.lang.Exception
        Used to obtain a reference to TDIProperties for managing properties / property stores.
        Returns:
        A reference to the TDIProperties interface.
        Throws:
        java.lang.Exception - if an error occurs while obtaining a reference to TDIProperties.
      • getConfigPath

        java.lang.String getConfigPath()
        Retrieves the absolute path of the configuration.

        Example:

         var ci = session.getConfigInstance("C__Documents and Settings_Username_My Documents_TDI_rs.xml");
         
         task.logmsg("CI path: " + ci.getConfigPath());
         //Sample output: CI path: "C:\Documents and Settings\Username\My Documents\TDI"
         
         
        Returns:
        the absolute path of the configuration file.
      • getConfigurationFile

        java.lang.String getConfigurationFile()
                                       throws DIException
        Retrieves a reference to the Configuration file used to load this instance from. This string is in the form of what Session.listAllConfigurations() would return. It could be either a solution name or a path relative to the base config folder.
        Returns:
        the configuration file reference or null if this is a temporary instance from an in-memory configuration.
        Throws:
        DIException - if an error occurs while retrieving configuration file reference
        Since:
        7.2
      • addLogListener

        void addLogListener​(LogListener listener)
                     throws DIException
        Register listener for messages logged by this configuration instance. You must be admin to execute this method.
        Parameters:
        listener - Listener for logged messages.
        Throws:
        DIException - If an error occurs during registration, e.g. the listener is null.
        Since:
        7.0
        See Also:
        removeLogListener(LogListener)
      • removeLogListener

        void removeLogListener​(LogListener listener)
                        throws DIException

        Unregister listener for messages logged by this configuration instance. You must be admin to execute this method.

        Listeners are associated with the API object, not with the AssemblyLine in the Server, so you can remove only listeners added with the addLogListener(LogListener) method on the same object.

        Do not invoke this method from within the listener while the listener is being notified because a deadlock may occur.

        Parameters:
        listener - Registered listener.
        Throws:
        DIException - If an error occurs while unregistering the listener, e.g. the listener is null or is not registered.
        Since:
        7.0
        See Also:
        addLogListener(LogListener)
      • getSchedulerInfo

        java.util.Map<java.lang.String,​java.lang.Object> getSchedulerInfo​(java.lang.String name)
        Returns information about the named Scheduler. If the Scheduler is not found, returns null.
        Parameters:
        name - - Name of Scheduler
        Since:
        7.1.1
      • getSchedulersInfo

        java.util.List<java.util.Map<java.lang.String,​java.lang.Object>> getSchedulersInfo()
        Returns information about all Schedulers in this RS. If no Schedulers are found, returns an empty List.
        Since:
        7.1.1