Package org.apache.uima.pear.tools

# Class InstallationProcessor

java.lang.Object
org.apache.uima.pear.tools.InstallationProcessor

public class InstallationProcessor extends 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`

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `protected static final String`
  `DELEGATE_ROOT_PREFIX_REGEX`
  `protected static final String`
  `DELEGATE_ROOT_REL_SUFFIX_REGEX`
  `protected static final String`
  `DELEGATE_ROOT_SUFFIX_REGEX`
  `protected static final String`
  `DELEGATE_ROOT_URL_SUFFIX_REGEX`
  `static final String`
  `INSD_FILE_PATH`
  `protected static final String`
  `MAIN_ROOT_REGEX`
  `protected static final String`
  `MAIN_ROOT_REL_REGEX`
  `protected static final String`
  `MAIN_ROOT_URL_REGEX`
  `static final String`
  `VS_DESCRIPTOR_PATH`

- ## Constructor Summary

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

- ## Method Summary

  Modifier and Type
  Method
  Description
  `protected static String`
  `componentIdRootRegExp(String componentId, 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, File mainRootDir)`
  Generates default Vinci Service descriptor for a specified component, and puts it to a specified location.
  `static 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 String`
  `generateVSDescriptorContent(InstallationDescriptor insdObject)`
  Generates the default Vinci Service descriptor content for a specified component.
  `InstallationDescriptor`
  `getInstallationDescriptor()`
  `protected void`
  `initSubstitutionTables(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 String`
  `substituteCompIdRootInString(String source, String compId, 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 String`
  `substituteMainRootInString(String source, String mainRootPath)`
  Substitutes '$main_root_url' and '$main_root' macros in a given string.
  `protected void`
  `substituteStringVariablesInAction(Properties params)`
  Substitutes two $main_root as well as two $comp_id$root macros in a given 'action' `Properties` object values.
  `protected void`
  `substituteStringVariablesInFiles(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 Details

  - ### INSD_FILE_PATH

    public static final String INSD_FILE_PATH
    See Also:
      - Constant Field Values

  - ### VS_DESCRIPTOR_PATH

    public static final String VS_DESCRIPTOR_PATH
    See Also:
      - Constant Field Values

  - ### MAIN_ROOT_REGEX

    protected static final String MAIN_ROOT_REGEX
    See Also:
      - Constant Field Values

  - ### MAIN_ROOT_REL_REGEX

    protected static final String MAIN_ROOT_REL_REGEX
    See Also:
      - Constant Field Values

  - ### MAIN_ROOT_URL_REGEX

    protected static final String MAIN_ROOT_URL_REGEX
    See Also:
      - Constant Field Values

  - ### DELEGATE_ROOT_PREFIX_REGEX

    protected static final String DELEGATE_ROOT_PREFIX_REGEX
    See Also:
      - Constant Field Values

  - ### DELEGATE_ROOT_SUFFIX_REGEX

    protected static final String DELEGATE_ROOT_SUFFIX_REGEX
    See Also:
      - Constant Field Values

  - ### DELEGATE_ROOT_REL_SUFFIX_REGEX

    protected static final String DELEGATE_ROOT_REL_SUFFIX_REGEX
    See Also:
      - Constant Field Values

  - ### DELEGATE_ROOT_URL_SUFFIX_REGEX

    protected static final String DELEGATE_ROOT_URL_SUFFIX_REGEX
    See Also:
      - Constant Field Values

- ## Constructor Details

  - ### InstallationProcessor

    public InstallationProcessor(String mainRootPath, Hashtable<String,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(String mainRootPath, Hashtable<String,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 Details

  - ### componentIdRootRegExp

    protected static String componentIdRootRegExp(String componentId, 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, File mainRootDir) throws 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:
      `IOException` - if any I/O exception occurred.

  - ### generateVSDescriptorAsStream

    public static InputStream generateVSDescriptorAsStream(InstallationDescriptor insdObject) throws 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:
      `IOException` - if any I/O exception occurred.

  - ### generateVSDescriptorContent

    protected static 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 IOException
    Performs a specified 'find_and_replace_path' installation action.
    Parameters:
      `action` - The given 'find_and_replace_path' installation action.
    Throws:
      `IOException` - if any I/O exception occurred.

  - ### substituteCompIdRootInString

    protected static String substituteCompIdRootInString(String source, String compId, 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 String substituteMainRootInString(String source, 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(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 IOException
    Starts processing installation instructions from the specified installation descriptor.
    Throws:
      `IOException` - if any I/O exception occurred.

  - ### substituteStringVariablesInAction

    protected void substituteStringVariablesInAction(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(File dir) throws 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:
      `IOException` - if any I/O exception occurred.