Class InstallationProcessor


  • public class InstallationProcessor
    extends java.lang.Object
    The InstallationProcessor class implements operations specified in the installation descriptor. This class also allows generating the default Vinci Service descriptor for the specified component.
    See Also:
    InstallationDescriptor
    • Constructor Summary

      Constructors 
      Constructor Description
      InstallationProcessor​(java.lang.String mainRootPath, java.util.Hashtable<java.lang.String,​java.lang.String> installationTable)
      Constructs an instance of the InstallationProcessor class, using given main component root path and a table of installed delegate components.
      InstallationProcessor​(java.lang.String mainRootPath, java.util.Hashtable<java.lang.String,​java.lang.String> installationTable, InstallationController controller)
      Similar to previous constructor, but sets a given InstallationController object as the requestor.
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      protected static java.lang.String componentIdRootRegExp​(java.lang.String componentId, java.lang.String suffix)
      Builds $component_id$<suffix> regular expression string for a given component ID and a given 'suffix' string.
      protected static void findAndReplacePath​(InstallationDescriptor.ActionInfo action)
      Performs a specified 'find_and_replace_path' installation action.
      static void generateVSDescriptor​(InstallationDescriptor insdObject, java.io.File mainRootDir)
      Generates default Vinci Service descriptor for a specified component, and puts it to a specified location.
      static java.io.InputStream generateVSDescriptorAsStream​(InstallationDescriptor insdObject)
      Generates default Vinci Service descriptor for a specified component, and returns the content of the descriptor as a stream (for Eclipse plug-in).
      protected static java.lang.String generateVSDescriptorContent​(InstallationDescriptor insdObject)
      Generates the default Vinci Service descriptor content for a specified component.
      InstallationDescriptor getInstallationDescriptor()  
      protected void initSubstitutionTables​(java.lang.String mainRootPath)
      Initializes two Hashtable objects that are used to substitute $dlg_comp_id$root macros in URL and absolute path expressions.
      void process()
      Starts processing installation instructions from the specified installation descriptor.
      protected static java.lang.String substituteCompIdRootInString​(java.lang.String source, java.lang.String compId, java.lang.String compRootPath)
      Substitutes '$dlg_comp_id$root_url' and '$dlg_comp_id$root' macros in a given string for a given delegate component.
      protected static java.lang.String substituteMainRootInString​(java.lang.String source, java.lang.String mainRootPath)
      Substitutes '$main_root_url' and '$main_root' macros in a given string.
      protected void substituteStringVariablesInAction​(java.util.Properties params)
      Substitutes two $main_root as well as two $comp_id$root macros in a given 'action' Properties object values.
      protected void substituteStringVariablesInFiles​(java.io.File dir)
      Substitutes two $main_root as well as three $comp_id$root macros in all files in a given directory, including its sub-directories.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • VS_DESCRIPTOR_PATH

        public static final java.lang.String VS_DESCRIPTOR_PATH
        See Also:
        Constant Field Values
      • MAIN_ROOT_REGEX

        protected static final java.lang.String MAIN_ROOT_REGEX
        See Also:
        Constant Field Values
      • MAIN_ROOT_REL_REGEX

        protected static final java.lang.String MAIN_ROOT_REL_REGEX
        See Also:
        Constant Field Values
      • MAIN_ROOT_URL_REGEX

        protected static final java.lang.String MAIN_ROOT_URL_REGEX
        See Also:
        Constant Field Values
      • DELEGATE_ROOT_PREFIX_REGEX

        protected static final java.lang.String DELEGATE_ROOT_PREFIX_REGEX
        See Also:
        Constant Field Values
      • DELEGATE_ROOT_SUFFIX_REGEX

        protected static final java.lang.String DELEGATE_ROOT_SUFFIX_REGEX
        See Also:
        Constant Field Values
      • DELEGATE_ROOT_REL_SUFFIX_REGEX

        protected static final java.lang.String DELEGATE_ROOT_REL_SUFFIX_REGEX
        See Also:
        Constant Field Values
      • DELEGATE_ROOT_URL_SUFFIX_REGEX

        protected static final java.lang.String DELEGATE_ROOT_URL_SUFFIX_REGEX
        See Also:
        Constant Field Values
    • Constructor Detail

      • InstallationProcessor

        public InstallationProcessor​(java.lang.String mainRootPath,
                                     java.util.Hashtable<java.lang.String,​java.lang.String> installationTable)
        Constructs an instance of the InstallationProcessor class, using given main component root path and a table of installed delegate components.
        Parameters:
        mainRootPath - The given main component root path.
        installationTable - The given table of installed delegate components.
      • InstallationProcessor

        public InstallationProcessor​(java.lang.String mainRootPath,
                                     java.util.Hashtable<java.lang.String,​java.lang.String> installationTable,
                                     InstallationController controller)
        Similar to previous constructor, but sets a given InstallationController object as the requestor.
        Parameters:
        mainRootPath - The given main component root path.
        installationTable - The given table of installed delegate components.
        controller - The given InstallationController requestor.
    • Method Detail

      • componentIdRootRegExp

        protected static java.lang.String componentIdRootRegExp​(java.lang.String componentId,
                                                                java.lang.String suffix)
        Builds $component_id$<suffix> regular expression string for a given component ID and a given 'suffix' string. Valid 'suffix' strings are InstallationDescriptor.DELEGATE_ROOT_SUFFIX_REGEX for absolute path, InstallationDescriptor.DELEGATE_ROOT_REL_SUFFIX_REGEX for relative path, InstallationDescriptor.DELEGATE_ROOT_URL_SUFFIX_REGEX for URL.
        Parameters:
        componentId - The given component ID.
        suffix - a suffix to be added to the component ID Valid 'suffix' strings are InstallationDescriptor.DELEGATE_ROOT_SUFFIX_REGEX for absolute path, InstallationDescriptor.DELEGATE_ROOT_REL_SUFFIX_REGEX for relative path, InstallationDescriptor.DELEGATE_ROOT_URL_SUFFIX_REGEX for URL.
        Returns:
        The $component_id$root regular expression string.
      • generateVSDescriptor

        public static void generateVSDescriptor​(InstallationDescriptor insdObject,
                                                java.io.File mainRootDir)
                                         throws java.io.IOException
        Generates default Vinci Service descriptor for a specified component, and puts it to a specified location.
        Parameters:
        insdObject - The given installation descriptor of the component.
        mainRootDir - The given root directory of the component.
        Throws:
        java.io.IOException - if any I/O exception occurred.
      • generateVSDescriptorAsStream

        public static java.io.InputStream generateVSDescriptorAsStream​(InstallationDescriptor insdObject)
                                                                throws java.io.IOException
        Generates default Vinci Service descriptor for a specified component, and returns the content of the descriptor as a stream (for Eclipse plug-in).
        Parameters:
        insdObject - The given installation descriptor of the component.
        Returns:
        The stream that contains the default Vinci Service descriptor for the specified component.
        Throws:
        java.io.IOException - if any I/O exception occurred.
      • generateVSDescriptorContent

        protected static java.lang.String generateVSDescriptorContent​(InstallationDescriptor insdObject)
        Generates the default Vinci Service descriptor content for a specified component.
        Parameters:
        insdObject - The given installation descriptor of the component.
        Returns:
        The content of the default Vinci Service descriptor for the specified component.
      • findAndReplacePath

        protected static void findAndReplacePath​(InstallationDescriptor.ActionInfo action)
                                          throws java.io.IOException
        Performs a specified 'find_and_replace_path' installation action.
        Parameters:
        action - The given 'find_and_replace_path' installation action.
        Throws:
        java.io.IOException - if any I/O exception occurred.
      • substituteCompIdRootInString

        protected static java.lang.String substituteCompIdRootInString​(java.lang.String source,
                                                                       java.lang.String compId,
                                                                       java.lang.String compRootPath)
        Substitutes '$dlg_comp_id$root_url' and '$dlg_comp_id$root' macros in a given string for a given delegate component.
        Parameters:
        source - The given source string.
        compId - The given component ID.
        compRootPath - The given component root directory path.
        Returns:
        The result string with all the 'delegate' macros substituted and all '\' characters replaced with '/' characters.
      • substituteMainRootInString

        protected static java.lang.String substituteMainRootInString​(java.lang.String source,
                                                                     java.lang.String mainRootPath)
        Substitutes '$main_root_url' and '$main_root' macros in a given string.
        Parameters:
        source - The given source string.
        mainRootPath - The given main component root directory path.
        Returns:
        The result string with all the 'main' macros substituted and all '\' characters replaced with '/' characters.
      • getInstallationDescriptor

        public InstallationDescriptor getInstallationDescriptor()
        Returns:
        The modified InstallationDescriptor object, if the processing completed, null otherwise.
      • initSubstitutionTables

        protected void initSubstitutionTables​(java.lang.String mainRootPath)
        Initializes two Hashtable objects that are used to substitute $dlg_comp_id$root macros in URL and absolute path expressions.
        Parameters:
        mainRootPath - The given main component root directory path.
      • process

        public void process()
                     throws java.io.IOException
        Starts processing installation instructions from the specified installation descriptor.
        Throws:
        java.io.IOException - if any I/O exception occurred.
      • substituteStringVariablesInAction

        protected void substituteStringVariablesInAction​(java.util.Properties params)
        Substitutes two $main_root as well as two $comp_id$root macros in a given 'action' Properties object values.
        Parameters:
        params - The given Properties object.
      • substituteStringVariablesInFiles

        protected void substituteStringVariablesInFiles​(java.io.File dir)
                                                 throws java.io.IOException
        Substitutes two $main_root as well as three $comp_id$root macros in all files in a given directory, including its sub-directories.
        Parameters:
        dir - The given directory.
        Throws:
        java.io.IOException - if any I/O exception occurred.