org.apache.uima.pear.tools
Class InstallationProcessor

java.lang.Object
  extended by 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
protected static String DELEGATE_ROOT_PREFIX_REGEX
           
protected static String DELEGATE_ROOT_REL_SUFFIX_REGEX
           
protected static String DELEGATE_ROOT_SUFFIX_REGEX
           
protected static String DELEGATE_ROOT_URL_SUFFIX_REGEX
           
static String INSD_FILE_PATH
           
protected static String MAIN_ROOT_REGEX
           
protected static String MAIN_ROOT_REL_REGEX
           
protected static String MAIN_ROOT_URL_REGEX
           
static String VS_DESCRIPTOR_PATH
           
 
Constructor Summary
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
protected static String componentIdRootRegExp(String componentId, String suffix)
          Builds $component_id$ 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 Detail

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 Detail

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 Detail

componentIdRootRegExp

protected static String componentIdRootRegExp(String componentId,
                                              String suffix)
Builds $component_id$ 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.
Returns:
The $component_id$root reqular 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.


Copyright © 2010 The Apache Software Foundation. All Rights Reserved.