Class MetamergeConfigImpl

    • Field Detail

      • logger

        public static final Log logger
      • env

        protected java.util.Hashtable env
      • classMap

        protected java.util.Hashtable<java.lang.String,​java.lang.String> classMap
      • DEFAULT_FOLDER_NAMES

        public static final java.lang.String[] DEFAULT_FOLDER_NAMES
      • DEFAULT_FOLDER_IMPL

        public static final java.lang.String DEFAULT_FOLDER_IMPL
        See Also:
        Constant Field Values
    • Constructor Detail

      • MetamergeConfigImpl

        public MetamergeConfigImpl()
      • MetamergeConfigImpl

        public MetamergeConfigImpl​(java.util.Hashtable<java.lang.String,​java.lang.Object> env)
                            throws java.lang.Exception
        Throws:
        java.lang.Exception
    • Method Detail

      • useEncryption

        public boolean useEncryption()
      • hasPassword

        public boolean hasPassword()
      • getPassword

        protected java.lang.String getPassword()
      • initializeConfig

        public void initializeConfig()
                              throws java.lang.Exception
        Description copied from interface: MetamergeConfig
        Initialize the driver
        Specified by:
        initializeConfig in interface MetamergeConfig
        Throws:
        java.lang.Exception
      • addDefaultFolders

        public void addDefaultFolders()
                               throws java.lang.Exception
        Throws:
        java.lang.Exception
      • closeConfig

        public void closeConfig()
                         throws java.lang.Exception
        Description copied from interface: MetamergeConfig
        Close the driver
        Specified by:
        closeConfig in interface MetamergeConfig
        Throws:
        java.lang.Exception
      • initializeClassMap

        protected void initializeClassMap()
      • internalLookup

        protected java.lang.Object internalLookup​(java.lang.Object name)
                                           throws java.lang.Exception
        Throws:
        java.lang.Exception
      • commitChanges

        public void commitChanges​(java.lang.Object output)
                           throws java.lang.Exception
        Description copied from interface: MetamergeConfig
        Tells the configuration driver to save all modified objects. This has the same effect as commitChanges( output, true)
        Specified by:
        commitChanges in interface MetamergeConfig
        Parameters:
        output - Null or any object supported by the underlying driver.
        Throws:
        java.lang.Exception
      • commitChangesNoEncryption

        public void commitChangesNoEncryption​(java.lang.Object output)
                                       throws java.lang.Exception
        Description copied from interface: MetamergeConfig
        Writes the configuration to output without server encryption of protected parameters. The output parameter may be any object understood by the driver and should be a temporary output destination, e.g. on another server.
        Specified by:
        commitChangesNoEncryption in interface MetamergeConfig
        Parameters:
        output - Any object supported by the underlying driver.
        Throws:
        java.lang.Exception
      • commitChanges

        public void commitChanges​(java.lang.Object output,
                                  boolean isSave)
                           throws java.lang.Exception
        Description copied from interface: MetamergeConfig
        Tells the configuration driver to save all modified objects. Not all config drivers support this method. Typically drivers that work with streams (e.g. files) will implement this method to flush its cache to disk. The output parameter may be any object understood by the driver and serves as a temporary output destination. Use the setOutput() to permanently change the output URL for the driver.
        Specified by:
        commitChanges in interface MetamergeConfig
        Parameters:
        output - Null or any object supported by the underlying driver.
        isSave - true if this is a permanent save, false if this just saves to e.g. a command window.
        Throws:
        java.lang.Exception
      • isCommittable

        public boolean isCommittable()
        Description copied from interface: MetamergeConfig
        Returns true if the configuration driver implements the commitChanges method and the current value for PROVIDER_URL is writable.
        Specified by:
        isCommittable in interface MetamergeConfig
        Returns:
        The committable state
      • isReadOnly

        public boolean isReadOnly()
        Description copied from interface: MetamergeConfig
        Returns true if this configuration cannot be modified.
        Specified by:
        isReadOnly in interface MetamergeConfig
        Returns:
        The readOnly value
      • copy

        public void copy​(BaseConfiguration input,
                         java.lang.Object destination,
                         boolean copyRefs)
                  throws java.lang.Exception
        Description copied from interface: MetamergeConfig
        Copies a configuration object into this configuration. This differs from the bind/rebind method in that all copied objects are stored in a different branch than the original objects. Also, the copied objects' referenced objects may be copied in as well.
        Specified by:
        copy in interface MetamergeConfig
        Parameters:
        input - Configuration object to be copied
        destination - The name of the destination object (javax.naming.Name or String)
        copyRefs - If true, copy referenced objects as well (e.g. all inherited objects)
        Throws:
        java.lang.Exception
      • createFolder

        public MetamergeFolder createFolder​(java.lang.Object name)
                                     throws java.lang.Exception
        Description copied from interface: MetamergeFolder
        This method creates a sub-folder in this folder with the given name.
        Specified by:
        createFolder in interface MetamergeFolder
        Parameters:
        name - Name of sub-folder
        Returns:
        The MetamergeFolder object representing the new sub-folder
        Throws:
        java.lang.Exception
      • setOutput

        public void setOutput​(java.lang.Object output)
                       throws java.lang.Exception
        Description copied from interface: MetamergeConfig
        Changes the output to wich the configuration driver writes its configuration. This is different from calling commitChanges(output, false) where the output parameter is temporary (e.g. SaveCopyAs).
        Specified by:
        setOutput in interface MetamergeConfig
        Parameters:
        output - The new output value
        Throws:
        java.lang.Exception
      • getDefaultFolder

        public MetamergeFolder getDefaultFolder​(int folder)
                                         throws java.lang.Exception
        Description copied from interface: MetamergeConfig
        Returns the MetamergeFolder object for the default folder named by folder.
        Specified by:
        getDefaultFolder in interface MetamergeConfig
        Parameters:
        folder - The default folder constant
        Returns:
        The Folder object
        Throws:
        java.lang.Exception
      • lookupInFolder

        public java.lang.Object lookupInFolder​(java.lang.String folder,
                                               java.lang.Object name)
                                        throws java.lang.Exception
        Throws:
        java.lang.Exception
      • lookup

        public java.lang.Object lookup​(java.lang.Object name)
                                throws java.lang.Exception
        Description copied from interface: MetamergeConfig
        Searches this configuration for a named node.
        Specified by:
        lookup in interface MetamergeConfig
        Parameters:
        name - The name to lookup
        Returns:
        The configuration object found
        Throws:
        java.lang.Exception
      • list

        public java.util.Enumeration list​(java.lang.Object name)
                                   throws java.lang.Exception
        Description copied from interface: MetamergeConfig
        Returns an enumeration of the immediate children of this node
        Specified by:
        list in interface MetamergeConfig
        Parameters:
        name - The folder name to list
        Returns:
        Enumeration object of javax.naming.Binding objects with names and objects.
        Throws:
        java.lang.Exception
      • list

        public java.util.Enumeration list()
                                   throws java.lang.Exception
        Description copied from interface: MetamergeFolder
        Returns a list of javax.naming.Binding objects for each of this folders child entries. The Binding object contains the name of the object as well as the object itself.
        Specified by:
        list in interface MetamergeFolder
        Returns:
        Enumeration of Binding objects
        Throws:
        java.lang.Exception
      • getNames

        public java.lang.String[] getNames()
                                    throws java.lang.Exception
        Description copied from interface: MetamergeFolder
        This method returns an array of names contained in this folder.
        Specified by:
        getNames in interface MetamergeFolder
        Returns:
        The names value
        Throws:
        java.lang.Exception
      • unbind

        public void unbind​(java.lang.Object name)
                    throws java.lang.Exception
        Description copied from interface: MetamergeConfig
        Removes a named object from this configuration.
        Specified by:
        unbind in interface MetamergeConfig
        Parameters:
        name - The object name to remove
        Throws:
        java.lang.Exception
      • bind

        public void bind​(java.lang.Object name,
                         java.lang.Object obj)
                  throws java.lang.Exception
        Description copied from interface: MetamergeConfig
        Adds a new object to the configuration at the location specified by name
        Specified by:
        bind in interface MetamergeConfig
        Parameters:
        name - Name
        obj - Configuration Object
        Throws:
        java.lang.Exception
      • rebind

        public void rebind​(java.lang.Object name,
                           java.lang.Object obj)
                    throws java.lang.Exception
        Description copied from interface: MetamergeConfig
        Adds or replaces a new object to the configuration.
        Specified by:
        rebind in interface MetamergeConfig
        Parameters:
        name - Name
        obj - Configuration Object
        Throws:
        java.lang.Exception
      • rename

        public void rename​(java.lang.Object name,
                           java.lang.Object newname)
                    throws java.lang.Exception
        Description copied from interface: MetamergeConfig
        Renames an object. If new name is a simple name then location is unchanged, otherwise the object is moved.
        Specified by:
        rename in interface MetamergeConfig
        Parameters:
        name - Current Name
        newname - New name
        Throws:
        java.lang.Exception
      • addNameComponent

        public java.lang.Object addNameComponent​(java.lang.Object name,
                                                 java.lang.String component,
                                                 boolean prefix)
        Description copied from interface: MetamergeConfig
        Adds a name component to the NameComponent attribute of the MetamergeConfig object
        Specified by:
        addNameComponent in interface MetamergeConfig
        Parameters:
        name - Null or existing javax.naming.Name object
        component - The component to add to name
        prefix - If true, component is inserted at beginning of name
        Returns:
        The provided name or a new instance of javax.naming.Name
      • getVector

        public static java.util.Vector getVector​(BaseConfiguration base,
                                                 java.lang.Object key)
      • getTreeMap

        public static java.util.TreeMap getTreeMap​(BaseConfiguration base,
                                                   java.lang.Object key)
      • getAssemblyLine

        public AssemblyLineConfig getAssemblyLine​(java.lang.Object name)
                                           throws java.lang.Exception
        Description copied from interface: MetamergeConfig
        Returns the AssemblyLineConfig object for the named assemblyline. Name can either be a simple name or a fully qualified name. For simple names, the config driver will lookup the assemblyline in its default folder for assemblylines.
        Specified by:
        getAssemblyLine in interface MetamergeConfig
        Parameters:
        name - Name
        Returns:
        The configuration object
        Throws:
        java.lang.Exception
      • getSequence

        public SequenceConfig getSequence​(java.lang.Object name)
                                   throws java.lang.Exception
        Description copied from interface: MetamergeConfig
        Returns the SequenceConfig object for the named sequence. Name can either be a simple name or a fully qualified name.
        Specified by:
        getSequence in interface MetamergeConfig
        Parameters:
        name - The name of the sequence
        Returns:
        The configuration object, or null if no match is found
        Throws:
        java.lang.Exception
      • getConnector

        public ConnectorConfig getConnector​(java.lang.Object name)
                                     throws java.lang.Exception
        Description copied from interface: MetamergeConfig
        Returns the ConnectorConfig object for the named connector. Name can either be a simple name or a fully qualified name. For simple names, the config driver will lookup the connector in its default folder for connectors.
        Specified by:
        getConnector in interface MetamergeConfig
        Parameters:
        name - Name
        Returns:
        The configuration object
        Throws:
        java.lang.Exception
      • getParser

        public ParserConfig getParser​(java.lang.Object name)
                               throws java.lang.Exception
        Description copied from interface: MetamergeConfig
        Returns the ParserConfig object for the named parser. Name can either be a simple name or a fully qualified name. For simple names, the config driver will lookup the parser in its default folder for parsers.
        Specified by:
        getParser in interface MetamergeConfig
        Parameters:
        name - Name
        Returns:
        The configuration object
        Throws:
        java.lang.Exception
      • getScript

        public ScriptConfig getScript​(java.lang.Object name)
                               throws java.lang.Exception
        Description copied from interface: MetamergeConfig
        Returns the ScriptConfig object for the named script. Name can either be a simple name or a fully qualified name. For simple names, the config driver will lookup the script in its default folder for scripts.
        Specified by:
        getScript in interface MetamergeConfig
        Parameters:
        name - Name
        Returns:
        The configuration object
        Throws:
        java.lang.Exception
      • getFunction

        public FunctionConfig getFunction​(java.lang.Object name)
                                   throws java.lang.Exception
        Description copied from interface: MetamergeConfig
        Returns the FunctionConfig object for the named function. Name can either be a simple name or a fully qualified name. For simple names, the config driver will lookup the script in its default folder for functions.
        Specified by:
        getFunction in interface MetamergeConfig
        Parameters:
        name - Name
        Returns:
        The configuration object
        Throws:
        java.lang.Exception
      • getAttributeMap

        public AttributeMapConfig getAttributeMap​(java.lang.Object name)
                                           throws java.lang.Exception
        Description copied from interface: MetamergeConfig
        Returns the AttributeMapConfig object for the named map. Name can either be a simple name or a fully qualified name. For simple names, the config driver will lookup the map in its default folder for maps.
        Specified by:
        getAttributeMap in interface MetamergeConfig
        Parameters:
        name - Name
        Returns:
        The configuration object
        Throws:
        java.lang.Exception
      • getNamespace

        public NamespaceConfig getNamespace​(java.lang.Object name)
                                     throws java.lang.Exception
        Description copied from interface: MetamergeConfig
        Returns the NamespaceConfig object for the named namespace. Name can either be a simple name or a fully qualified name. For simple names, the config driver will lookup the namespace in its default folder for namespaces.
        Specified by:
        getNamespace in interface MetamergeConfig
        Parameters:
        name - Name
        Returns:
        The configuration object
        Throws:
        java.lang.Exception
      • newInstanceOf

        public BaseConfiguration newInstanceOf​(int type)
                                        throws java.lang.Exception
        Create new instance of object
        Specified by:
        newInstanceOf in interface MetamergeConfig
        Parameters:
        type - The object type to create
        Returns:
        The newly created object.
        Throws:
        java.lang.Exception
      • newInstanceOf

        public BaseConfiguration newInstanceOf​(java.lang.Object typeName)
                                        throws java.lang.Exception
        Description copied from interface: MetamergeConfig
        This method returns a new instance of the object type specified by typeName. Use the default folder names constants to denote the type. The new object is not added to the configuration.
        Specified by:
        newInstanceOf in interface MetamergeConfig
        Parameters:
        typeName - The object type to create.
        Returns:
        The newly created object.
        Throws:
        java.lang.Exception
      • newInstanceOf

        public <T extends BaseConfiguration> T newInstanceOf​(java.lang.Class<T> cls)
                                                      throws java.lang.Exception
        Description copied from interface: MetamergeConfig
        This method returns a new instance of the object type. Instead of using folder names, use interfaces to specify what you need. The new object is not added to the configuration.
        Specified by:
        newInstanceOf in interface MetamergeConfig
        Returns:
        The newly created instance.
        Throws:
        java.lang.Exception
      • toString

        public java.lang.String toString()
        Description copied from class: BaseConfigurationImpl
        Answers a string containing the name of the config.
        Overrides:
        toString in class BaseConfigurationImpl
        Returns:
        a printable representation of the name
      • getExternalProperties

        public ExternalPropertiesConfig getExternalProperties()
                                                       throws java.lang.Exception
        Returns the external properties delegator object for this configuration.
        Specified by:
        getExternalProperties in interface MetamergeConfig
        Returns:
        The ExternalPropertiesConfig value
        Throws:
        java.lang.Exception
      • getExternalProperties

        public ExternalPropertiesConfig getExternalProperties​(java.lang.Object name)
                                                       throws java.lang.Exception
        Returns the ExternalPropertiesConfig object for the named external properties object. Name can either be a simple name or a fully qualified name. For simple names, the config driver will lookup the object in the default folder for external properties.
        Specified by:
        getExternalProperties in interface MetamergeConfig
        Parameters:
        name - The external property object name
        Returns:
        The ExternalPropertiesConfig object
        Throws:
        java.lang.Exception
      • logmsg

        public void logmsg​(java.lang.String msg)
      • getDriverParameters

        public BaseConfiguration getDriverParameters()
                                              throws java.lang.Exception
        This method returns the driver parameters as a BaseConfiguration object.
        Specified by:
        getDriverParameters in interface MetamergeConfig
        Returns:
        The newly created object.
        Throws:
        java.lang.Exception
      • setDriverParameters

        public void setDriverParameters​(BaseConfiguration driverParams)
                                 throws java.lang.Exception
        This method sets the driver parameters from a BaseConfiguration object.
        Specified by:
        setDriverParameters in interface MetamergeConfig
        Parameters:
        driverParams - The driver parameters
        Throws:
        java.lang.Exception
      • getDriverParameter

        public java.lang.Object getDriverParameter​(java.lang.Object name)
                                            throws java.lang.Exception
        This method returns the value for a given driver parameter.
        Specified by:
        getDriverParameter in interface MetamergeConfig
        Parameters:
        name - The name of the driver parameter to retrieve.
        Returns:
        The driver parameter value
        Throws:
        java.lang.Exception
      • setDriverParameter

        public void setDriverParameter​(java.lang.Object name,
                                       java.lang.Object value)
                                throws java.lang.Exception
        This method sets a driver parameter.
        Specified by:
        setDriverParameter in interface MetamergeConfig
        Parameters:
        name - The driver parameter name
        value - The driver parameter value
        Throws:
        java.lang.Exception
      • setFileConfig

        public void setFileConfig​(FileConfig aFileConfig)
      • getFileConfig

        public FileConfig getFileConfig()
      • instantiateAllObjects

        public void instantiateAllObjects()
                                   throws java.lang.Exception
        This method iterates the entire configuration to create java objects from the config drivers underlying store. This is needed when all references to other namespaces must be resolved (system and others).
        Specified by:
        instantiateAllObjects in interface MetamergeConfig
        Throws:
        java.lang.Exception
      • instantiateAllObjects

        public void instantiateAllObjects​(MetamergeFolder folder)
                                   throws java.lang.Exception
        Throws:
        java.lang.Exception
      • getTDIProperties

        public TDIProperties getTDIProperties()
                                       throws java.lang.Exception
        This method returns the associated TDIProperties object
        Specified by:
        getTDIProperties in interface MetamergeConfig
        Throws:
        java.lang.Exception
      • getConfigVersion

        public java.lang.String getConfigVersion()
        Specified by:
        getConfigVersion in interface MetamergeConfig
        Returns:
        The version of the configuration. e.g. "6.1.1", "7.0", "7.1", etc.
      • getDirectory

        public java.lang.String getDirectory()
        Description copied from interface: MetamergeConfig
        Returns the directory this config is placed in. If nothing can be determined, returns "."
        Specified by:
        getDirectory in interface MetamergeConfig
        Returns:
        The directory this config is placed in.
      • setModTSEnabled

        public void setModTSEnabled​(boolean value)
        Description copied from interface: MetamergeConfig
        Sets the value of modTSEnabled For internal use.
        Specified by:
        setModTSEnabled in interface MetamergeConfig
        Parameters:
        value - - If true, allows time stamps to be automatically modified
      • isModTSEnabled

        public boolean isModTSEnabled()
        Description copied from interface: MetamergeConfig
        Returns the value of modTSEnabled For internal use.
        Specified by:
        isModTSEnabled in interface MetamergeConfig
        Returns:
        true if time stamps are currently allowed to be automatically modified