public static void printInstallationDescriptor()

in uimaj-core/src/main/java/org/apache/uima/pear/tools/InstallationDescriptorHandler.java [196:386]


  public static void printInstallationDescriptor(InstallationDescriptor insdObject,
          PrintWriter oWriter) throws IOException {
    String[] tagOrder = null;
    // ROOT - 0th level
    XMLUtil.printXMLTag(ROOT_TAG, oWriter, false, 0);
    oWriter.println();
    // OS specs - 1st level
    XMLUtil.printXMLTag(OS_TAG, oWriter, false, 1);
    oWriter.println();
    // 2nd level elements (multi-value properties) - NAME first
    tagOrder = new String[1];
    tagOrder[0] = NAME_TAG;
    if (insdObject.getOSSpecs().size() > 0)
      XMLUtil.printAllXMLElements(insdObject.getOSSpecs(),
              InstallationDescriptor.PROPERTY_DELIMITER, tagOrder, oWriter, 2);
    // OS specs end - 1st level
    XMLUtil.printXMLTag(OS_TAG, oWriter, true, 1);
    oWriter.println();
    // TOOLKITS specs - 1st level
    XMLUtil.printXMLTag(TOOLKITS_TAG, oWriter, false, 1);
    oWriter.println();
    // 2nd level elements (multi-value properties) - no order
    if (insdObject.getToolkitsSpecs().size() > 0)
      XMLUtil.printAllXMLElements(insdObject.getToolkitsSpecs(),
              InstallationDescriptor.PROPERTY_DELIMITER, null, oWriter, 2);
    // TOOLKITS specs end - 1st level
    XMLUtil.printXMLTag(TOOLKITS_TAG, oWriter, true, 1);
    oWriter.println();
    // UIMA_FRAMEWORK specs - 1st level
    XMLUtil.printXMLTag(UIMA_FRAMEWORK_TAG, oWriter, false, 1);
    oWriter.println();
    // 2nd level elements (multi-value properties) - no order
    if (insdObject.getFrameworkSpecs().size() > 0)
      XMLUtil.printAllXMLElements(insdObject.getFrameworkSpecs(),
              InstallationDescriptor.PROPERTY_DELIMITER, null, oWriter, 2);
    // UIMA_FRAMEWORK specs end - 1st level
    XMLUtil.printXMLTag(UIMA_FRAMEWORK_TAG, oWriter, true, 1);
    oWriter.println();
    // SUBMITTED_COMPONENT specs - 1st level
    XMLUtil.printXMLTag(SUBMITTED_COMPONENT_TAG, oWriter, false, 1);
    oWriter.println();
    if (insdObject.getMainComponentId() != null) {
      // 2nd level elements - ID, ...
      XMLUtil.printXMLElement(ID_TAG, insdObject.getMainComponentId(), oWriter, 2);
      oWriter.println();
      // NAME
      XMLUtil.printXMLElement(NAME_TAG, insdObject.getMainComponentName(), oWriter, 2);
      oWriter.println();
      // DESC
      XMLUtil.printXMLElement(DESC_TAG, insdObject.getMainComponentDesc(), oWriter, 2);
      oWriter.println();
      // DEPLOYMENT
      XMLUtil.printXMLElement(DEPLOYMENT_TAG, insdObject.getMainComponentDeployment(), oWriter, 2);
      oWriter.println();
      // SERVICE block
      InstallationDescriptor.ServiceInfo service = insdObject.getMainComponentService();
      if (service != null) {
        // SERVICE_COMMAND
        XMLUtil.printXMLElement(SERVICE_COMMAND_TAG, service.command, oWriter, 2);
        oWriter.println();
        // SERVICE_WORKING_DIR
        XMLUtil.printXMLElement(SERVICE_WORKING_DIR_TAG, service.workingDirPath, oWriter, 2);
        oWriter.println();
        // SERVICE_COMMAND_ARGS
        XMLUtil.printXMLTag(SERVICE_COMMAND_ARGS_TAG, oWriter, false, 2);
        oWriter.println();
        Iterator<ArgInfo> argList = service.getArgs().iterator();
        while (argList.hasNext()) {
          // ARGUMENT - 3rd level
          XMLUtil.printXMLTag(ARGUMENT_TAG, oWriter, false, 3);
          oWriter.println();
          InstallationDescriptor.ArgInfo arg = argList.next();
          // VALUE - 4th level elements
          XMLUtil.printXMLElement(VALUE_TAG, arg.value, oWriter, 4);
          oWriter.println();
          // COMMENTS
          XMLUtil.printXMLElement(COMMENTS_TAG, arg.comments, oWriter, 4);
          oWriter.println();
          // ARGUMENT end - 3rd level
          XMLUtil.printXMLTag(ARGUMENT_TAG, oWriter, true, 3);
          oWriter.println();
        }
        // SERVICE_COMMAND_ARGS end
        XMLUtil.printXMLTag(SERVICE_COMMAND_ARGS_TAG, oWriter, true, 2);
        oWriter.println();
      }
      // network component parameters block
      Set<String> netParamNames = insdObject.getMainComponentNetworkParamNames();
      if (netParamNames != null) {
        // NETWORK_PARAMETERS
        XMLUtil.printXMLTag(NETWORK_PARAMETERS_TAG, oWriter, false, 2);
        oWriter.println();
        Iterator<String> nameList = netParamNames.iterator();
        while (nameList.hasNext()) {
          String name = nameList.next();
          Properties attributes = insdObject.getMainComponentNetworkParam(name);
          XMLUtil.printXMLElement(name, attributes, null, oWriter, 3);
          oWriter.println();
        }
        // NETWORK_PARAMETERS end
        XMLUtil.printXMLTag(NETWORK_PARAMETERS_TAG, oWriter, true, 2);
        oWriter.println();
      }
      if (insdObject.getMainComponentProps().size() > 0)
        XMLUtil.printAllXMLElements(insdObject.getMainComponentProps(), oWriter, 2);
      String collIterDesc = insdObject.getMainCollIteratorDesc();
      String casInitDesc = insdObject.getMainCasInitializerDesc();
      if (collIterDesc != null || casInitDesc != null) {
        // COLLECTION_READER specs - 2nd level
        XMLUtil.printXMLTag(COLLECTION_READER_TAG, oWriter, false, 2);
        oWriter.println();
        // 3rd level elements
        if (collIterDesc != null) {
          XMLUtil.printXMLElement(COLLECTION_ITERATOR_DESC_TAG, collIterDesc, oWriter, 3);
          oWriter.println();
        }
        if (casInitDesc != null) {
          XMLUtil.printXMLElement(CAS_INITIALIZER_DESC_TAG, casInitDesc, oWriter, 3);
          oWriter.println();
        }
        // COLLECTION_READER specs end - 2nd level
        XMLUtil.printXMLTag(COLLECTION_READER_TAG, oWriter, true, 2);
        oWriter.println();
      }
      String casConsDesc = insdObject.getMainCasConsumerDesc();
      if (casConsDesc != null) {
        // CAS_CONSUMER specs - 2nd level
        XMLUtil.printXMLTag(CAS_CONSUMER_TAG, oWriter, false, 2);
        oWriter.println();
        // 3rd level elements
        XMLUtil.printXMLElement(DESC_TAG, casConsDesc, oWriter, 3);
        oWriter.println();
        // CAS_CONSUMER specs end - 2nd level
        XMLUtil.printXMLTag(CAS_CONSUMER_TAG, oWriter, true, 2);
        oWriter.println();
      }
    }
    // SUBMITTED_COMPONENT specs end - 1st level
    XMLUtil.printXMLTag(SUBMITTED_COMPONENT_TAG, oWriter, true, 1);
    oWriter.println();
    // INSTALLATION specs - 1st level
    XMLUtil.printXMLTag(INSTALLATION_TAG, oWriter, false, 1);
    oWriter.println();
    // delegate components, if specified
    Hashtable<String, ComponentInfo> dlgTable = insdObject.getDelegateComponents();
    Iterator<String> dlgList = dlgTable.keySet().iterator();
    while (dlgList.hasNext()) {
      // DELEGATE_COMPONENT specs - 2nd level
      XMLUtil.printXMLTag(DELEGATE_COMPONENT_TAG, oWriter, false, 2);
      oWriter.println();
      // 3rd level elements
      String dlgId = dlgList.next();
      InstallationDescriptor.ComponentInfo dlgInfo = dlgTable.get(dlgId);
      XMLUtil.printXMLElement(ID_TAG, dlgId, oWriter, 3);
      oWriter.println();
      XMLUtil.printXMLElement(NAME_TAG, dlgInfo.name, oWriter, 3);
      oWriter.println();
      // DELEGATE_COMPONENT specs end - 2nd level
      XMLUtil.printXMLTag(DELEGATE_COMPONENT_TAG, oWriter, true, 2);
      oWriter.println();
    }
    // installation actions, if specified
    Iterator<ActionInfo> actList = insdObject.getInstallationActions().iterator();
    while (actList.hasNext()) {
      ActionInfo actInfo = actList.next();
      // PROCESS specs - 2nd level
      XMLUtil.printXMLTag(PROCESS_TAG, oWriter, false, 2);
      oWriter.println();
      // 3rd level elements
      XMLUtil.printXMLElement(ACTION_TAG, actInfo.getName(), oWriter, 3);
      oWriter.println();
      // PARAMETERS specs - 3rd level
      XMLUtil.printXMLTag(PARAMETERS_TAG, oWriter, false, 3);
      oWriter.println();
      // 4th level elements - no order
      if (actInfo.params != null && actInfo.params.size() > 0)
        XMLUtil.printAllXMLElements(actInfo.params, oWriter, 4);
      // PARAMETERS specs end - 3rd level
      XMLUtil.printXMLTag(PARAMETERS_TAG, oWriter, true, 3);
      oWriter.println();
      // PROCESS specs end - 2nd level
      XMLUtil.printXMLTag(PROCESS_TAG, oWriter, true, 2);
      oWriter.println();
    }
    // INSTALLATION specs end - 1st level
    XMLUtil.printXMLTag(INSTALLATION_TAG, oWriter, true, 1);
    oWriter.println();
    // ROOT end - 0th level
    XMLUtil.printXMLTag(ROOT_TAG, oWriter, true, 0);
    oWriter.println();
  }