protected void parseProcessEngine(Element element, List<ProcessEngineXml> parsedProcessEngines) {

    ProcessEngineXmlImpl processEngine = new ProcessEngineXmlImpl();

    // set name
    processEngine.setName(element.attribute(NAME));

    // set default
    String defaultValue = element.attribute(DEFAULT);
    if(defaultValue == null || defaultValue.isEmpty()) {
      processEngine.setDefault(false);
    } else {
      processEngine.setDefault(Boolean.parseBoolean(defaultValue));
    }

    Map<String, String> properties = new HashMap<String, String>();
    List<ProcessEnginePluginXml> plugins = new ArrayList<ProcessEnginePluginXml>();

    for (Element childElement : element.elements()) {
      if(CONFIGURATION.equals(childElement.getTagName())) {
        processEngine.setConfigurationClass(childElement.getText());

      } else if(DATASOURCE.equals(childElement.getTagName())) {
        processEngine.setDatasource(childElement.getText());

      } else if(JOB_ACQUISITION.equals(childElement.getTagName())) {
        processEngine.setJobAcquisitionName(childElement.getText());

      } else if(PROPERTIES.equals(childElement.getTagName())) {
        parseProperties(childElement, properties);

      } else if(PLUGINS.equals(childElement.getTagName())) {
        parseProcessEnginePlugins(childElement, plugins);

      }
    }

    // set collected properties
    processEngine.setProperties(properties);
    // set plugins
    processEngine.setPlugins(plugins);
    // add the process engine to the list of parsed engines.
    parsedProcessEngines.add(processEngine);

  }
protected void parseProcessEngine ( Element element , List < ProcessEngineXml > parsedProcessEngines ) { ProcessEngineXmlImpl processEngine = new ProcessEngineXmlImpl ( ) ; processEngine . setName ( element . attribute ( NAME ) ) ; String defaultValue = element . attribute ( DEFAULT ) ; if ( defaultValue == null || defaultValue . isEmpty ( ) ) { processEngine . setDefault ( false ) ; } else { processEngine . setDefault ( Boolean . parseBoolean ( defaultValue ) ) ; } Map < String , String > properties = new HashMap < String , String > ( ) ; List < ProcessEnginePluginXml > plugins = new ArrayList < ProcessEnginePluginXml > ( ) ; for ( Element childElement : element . elements ( ) ) { if ( CONFIGURATION . equals ( childElement . getTagName ( ) ) ) { processEngine . setConfigurationClass ( childElement . getText ( ) ) ; } else if ( DATASOURCE . equals ( childElement . getTagName ( ) ) ) { processEngine . setDatasource ( childElement . getText ( ) ) ; } else if ( JOB_ACQUISITION . equals ( childElement . getTagName ( ) ) ) { processEngine . setJobAcquisitionName ( childElement . getText ( ) ) ; } else if ( PROPERTIES . equals ( childElement . getTagName ( ) ) ) { parseProperties ( childElement , properties ) ; } else if ( PLUGINS . equals ( childElement . getTagName ( ) ) ) { parseProcessEnginePlugins ( childElement , plugins ) ; } } processEngine . setProperties ( properties ) ; processEngine . setPlugins ( plugins ) ; parsedProcessEngines . add ( processEngine ) ; }
parse a <code>&lt;process-engine .../&gt;</code> element and add it to the list of parsed elements