Program: 118203
Project: 118203
Buggy source:
private static List<IElementParameter> getExtraOnDBParameters(IProcess process){
  ElementParameter param;
  List<IElementParameter> paramList=new ArrayList<IElementParameter>();
  IPreferenceStore preferenceStore=DesignerPlugin.getDefault().getPreferenceStore();
  String languagePrefix=LanguageManager.getCurrentLanguage().toString() + "String_Node_Str";
  int languageType=0;
  if (LanguageManager.getCurrentLanguage().equals(ECodeLanguage.JAVA)) {
    languageType=1;
  }
  final String onDBCondition=JobSettingsConstants.getExtraParameterName(EParameterName.FROM_DATABASE_FLAG.getName()) + "String_Node_Str";
  final String dbCondition=JobSettingsConstants.addBrackets(CONTEXTLOAD_CONDITION) + "String_Node_Str" + JobSettingsConstants.addBrackets(onDBCondition);
  ElementParameter parentPropertyType=new ElementParameter(process);
  parentPropertyType.setName(JobSettingsConstants.getExtraParameterName(EParameterName.PROPERTY_TYPE.getName()));
  parentPropertyType.setDisplayName(EParameterName.PROPERTY_TYPE.getDisplayName());
  parentPropertyType.setValue("String_Node_Str");
  parentPropertyType.setCategory(EComponentCategory.EXTRA);
  parentPropertyType.setFieldType(EParameterFieldType.PROPERTY_TYPE);
  parentPropertyType.setRepositoryValue(ERepositoryCategoryType.DATABASE.getName());
  parentPropertyType.setNumRow(41);
  parentPropertyType.setShowIf(dbCondition);
  parentPropertyType.setGroup(IMPLICIT_GROUP);
  paramList.add(parentPropertyType);
  param=new ElementParameter(process);
  param.setName(EParameterName.PROPERTY_TYPE.getName());
  param.setDisplayName(EParameterName.PROPERTY_TYPE.getDisplayName());
  param.setListItemsDisplayName(new String[]{EmfComponent.TEXT_BUILTIN,EmfComponent.TEXT_REPOSITORY});
  param.setListItemsDisplayCodeName(new String[]{EmfComponent.BUILTIN,EmfComponent.REPOSITORY});
  param.setListItemsValue(new String[]{EmfComponent.BUILTIN,EmfComponent.REPOSITORY});
  param.setValue(EmfComponent.BUILTIN);
  param.setCategory(EComponentCategory.EXTRA);
  param.setFieldType(EParameterFieldType.TECHNICAL);
  param.setRepositoryValue(ERepositoryCategoryType.DATABASE.getName());
  param.setNumRow(41);
  param.setShowIf(dbCondition);
  param.setGroup(IMPLICIT_GROUP);
  param.setParentParameter(parentPropertyType);
  param=new ElementParameter(process);
  param.setName(EParameterName.REPOSITORY_PROPERTY_TYPE.getName());
  param.setDisplayName(EParameterName.REPOSITORY_PROPERTY_TYPE.getDisplayName());
  param.setListItemsDisplayName(new String[]{});
  param.setListItemsValue(new String[]{});
  param.setCategory(EComponentCategory.EXTRA);
  param.setFieldType(EParameterFieldType.TECHNICAL);
  param.setShow(false);
  param.setRequired(true);
  param.setNumRow(41);
  param.setGroup(IMPLICIT_GROUP);
  param.setParentParameter(parentPropertyType);
  final String dbTypeName=JobSettingsConstants.getExtraParameterName(EParameterName.DB_TYPE.getName());
  param=new ElementParameter(process);
  param.setName(dbTypeName);
  param.setDisplayName(EParameterName.DB_TYPE.getDisplayName());
  param.setFieldType(EParameterFieldType.CLOSED_LIST);
  param.setCategory(EComponentCategory.EXTRA);
  param.setListItemsDisplayName(StatsAndLogsConstants.DISPLAY_DBNAMES[languageType]);
  param.setListItemsValue(JobSettingsConstants.DB_INPUT_COMPONENTS[languageType]);
  param.setListRepositoryItems(StatsAndLogsConstants.REPOSITORY_ITEMS[languageType]);
  param.setListItemsDisplayCodeName(StatsAndLogsConstants.CODE_LIST[languageType]);
  param.setValue("String_Node_Str");
  param.setNumRow(42);
  param.setRepositoryValue("String_Node_Str");
  param.setRequired(true);
  param.setShowIf(dbCondition);
  param.setGroup(IMPLICIT_GROUP);
  paramList.add(param);
  final String dbVersionName=JobSettingsConstants.getExtraParameterName(EParameterName.DB_VERSION.getName());
  if (process.getElementParameter(dbVersionName) == null) {
    param=new ElementParameter(process);
    param.setName(dbVersionName);
    param.setValue(StatsAndLogsConstants.DB_VERSION_DRIVER[1]);
    param.setDisplayName(EParameterName.DB_VERSION.getDisplayName());
    param.setFieldType(EParameterFieldType.CLOSED_LIST);
    param.setCategory(EComponentCategory.EXTRA);
    param.setListItemsDisplayName(StatsAndLogsConstants.DB_VERSION_DISPLAY);
    param.setListItemsValue(StatsAndLogsConstants.DB_VERSION_DRIVER);
    param.setListItemsDisplayCodeName(StatsAndLogsConstants.DB_VERSION_CODE);
    param.setNumRow(42);
    param.setRepositoryValue("String_Node_Str");
    param.setRequired(true);
    param.setShowIf(dbCondition + "String_Node_Str" + dbTypeName+ "String_Node_Str"+ dbTypeName+ "String_Node_Str"+ dbTypeName+ "String_Node_Str"+ dbTypeName+ "String_Node_Str");
    param.setGroup(IMPLICIT_GROUP);
    paramList.add(param);
  }
  param=new ElementParameter(process);
  param.setName(JobSettingsConstants.getExtraParameterName(EParameterName.URL.getName()));
  param.setValue(StatsAndLogsManager.addQuotes(preferenceStore.getString(languagePrefix + EParameterName.URL.getName())));
  param.setDisplayName(EParameterName.URL.getDisplayName());
  param.setFieldType(EParameterFieldType.TEXT);
  param.setCategory(EComponentCategory.EXTRA);
  param.setNumRow(43);
  param.setRepositoryValue("String_Node_Str");
  String dbCon=dbTypeName + "String_Node_Str";
  param.setShowIf(JobSettingsConstants.addBrackets(dbCon) + "String_Node_Str" + dbCondition);
  param.setGroup(IMPLICIT_GROUP);
  paramList.add(param);
  List<ModuleNeeded> moduleNeededList=ModulesNeededProvider.getModulesNeeded();
  Set<String> moduleNameList=new TreeSet<String>();
  Set<String> moduleValueList=new TreeSet<String>();
  for (  ModuleNeeded module : moduleNeededList) {
    String moduleName=module.getModuleName();
    if (moduleName != null) {
      moduleNameList.add(moduleName);
      moduleValueList.add(TalendTextUtils.addQuotes(moduleName));
    }
  }
  Comparator<String> comprarator=new IgnoreCaseComparator();
  String[] moduleNameArray=moduleNameList.toArray(new String[0]);
  String[] moduleValueArray=moduleValueList.toArray(new String[0]);
  Arrays.sort(moduleNameArray,comprarator);
  Arrays.sort(moduleValueArray,comprarator);
  ElementParameter childParam=new ElementParameter(process);
  childParam.setName("String_Node_Str");
  childParam.setDisplayName("String_Node_Str");
  childParam.setFieldType(EParameterFieldType.MODULE_LIST);
  childParam.setListItemsDisplayName(moduleNameArray);
  childParam.setListItemsValue(moduleValueArray);
  param=new ElementParameter(process);
  param.setName(JobSettingsConstants.getExtraParameterName(EParameterName.DRIVER_JAR.getName()));
  param.setDisplayName(EParameterName.DRIVER_JAR.getDisplayName());
  param.setFieldType(EParameterFieldType.TABLE);
  param.setListItemsDisplayCodeName(new String[]{"String_Node_Str"});
  param.setListItemsDisplayName(new String[]{"String_Node_Str"});
  param.setListItemsValue(new ElementParameter[]{childParam});
  param.setValue(new ArrayList<Map<String,Object>>());
  param.setCategory(EComponentCategory.EXTRA);
  param.setNumRow(44);
  param.setRepositoryValue("String_Node_Str");
  dbCon=dbTypeName + "String_Node_Str";
  param.setShowIf(JobSettingsConstants.addBrackets(dbCon) + "String_Node_Str" + dbCondition);
  param.setGroup(IMPLICIT_GROUP);
  paramList.add(param);
  param=new ElementParameter(process);
  param.setName(JobSettingsConstants.getExtraParameterName(EParameterName.DRIVER_CLASS.getName()));
  param.setValue(StatsAndLogsManager.addQuotes(preferenceStore.getString(languagePrefix + EParameterName.DRIVER_CLASS.getName())));
  param.setDisplayName(EParameterName.DRIVER_CLASS.getDisplayName());
  param.setFieldType(EParameterFieldType.TEXT);
  param.setCategory(EComponentCategory.EXTRA);
  param.setNumRow(45);
  param.setRepositoryValue("String_Node_Str");
  dbCon=dbTypeName + "String_Node_Str";
  param.setShowIf(JobSettingsConstants.addBrackets(dbCon) + "String_Node_Str" + dbCondition);
  param.setGroup(IMPLICIT_GROUP);
  paramList.add(param);
  param=new ElementParameter(process);
  param.setName(JobSettingsConstants.getExtraParameterName(EParameterName.HOST.getName()));
  param.setValue(StatsAndLogsManager.addQuotes("String_Node_Str"));
  param.setDisplayName(EParameterName.HOST.getDisplayName());
  param.setFieldType(EParameterFieldType.TEXT);
  param.setCategory(EComponentCategory.EXTRA);
  param.setNumRow(46);
  param.setRepositoryValue("String_Node_Str");
  dbCon=dbTypeName + "String_Node_Str" + "String_Node_Str"+ dbTypeName+ "String_Node_Str"+ "String_Node_Str"+ dbTypeName+ "String_Node_Str"+ "String_Node_Str"+ dbTypeName+ "String_Node_Str"+ "String_Node_Str"+ dbTypeName+ "String_Node_Str";
  param.setShowIf(JobSettingsConstants.addBrackets(dbCon) + "String_Node_Str" + dbCondition);
  param.setGroup(IMPLICIT_GROUP);
  paramList.add(param);
  param=new ElementParameter(process);
  param.setName(JobSettingsConstants.getExtraParameterName(EParameterName.PORT.getName()));
  param.setValue(StatsAndLogsManager.addQuotes("String_Node_Str"));
  param.setDisplayName(EParameterName.PORT.getDisplayName());
  param.setFieldType(EParameterFieldType.TEXT);
  param.setCategory(EComponentCategory.EXTRA);
  param.setNumRow(46);
  param.setRepositoryValue("String_Node_Str");
  dbCon=dbTypeName + "String_Node_Str" + "String_Node_Str"+ dbTypeName+ "String_Node_Str"+ "String_Node_Str"+ dbTypeName+ "String_Node_Str"+ "String_Node_Str"+ dbTypeName+ "String_Node_Str"+ "String_Node_Str"+ dbTypeName+ "String_Node_Str"+ "String_Node_Str"+ dbTypeName+ "String_Node_Str";
  param.setShowIf(JobSettingsConstants.addBrackets(dbCon) + "String_Node_Str" + dbCondition);
  param.setGroup(IMPLICIT_GROUP);
  paramList.add(param);
  param=new ElementParameter(process);
  param.setName(JobSettingsConstants.getExtraParameterName(EParameterName.DBNAME.getName()));
  param.setValue(StatsAndLogsManager.addQuotes("String_Node_Str"));
  param.setDisplayName(EParameterName.DBNAME.getDisplayName());
  param.setFieldType(EParameterFieldType.TEXT);
  param.setCategory(EComponentCategory.EXTRA);
  param.setNumRow(47);
  param.setRepositoryValue("String_Node_Str");
  dbCon=dbTypeName + "String_Node_Str" + "String_Node_Str"+ dbTypeName+ "String_Node_Str"+ "String_Node_Str"+ dbTypeName+ "String_Node_Str"+ "String_Node_Str"+ dbTypeName+ "String_Node_Str"+ "String_Node_Str"+ dbTypeName+ "String_Node_Str";
  param.setShowIf(JobSettingsConstants.addBrackets(dbCon) + "String_Node_Str" + dbCondition);
  param.setGroup(IMPLICIT_GROUP);
  paramList.add(param);
  param=new ElementParameter(process);
  param.setName(JobSettingsConstants.getExtraParameterName(EParameterName.LOCAL_SERVICE_NAME.getName()));
  param.setValue(StatsAndLogsManager.addQuotes("String_Node_Str"));
  param.setDisplayName(EParameterName.LOCAL_SERVICE_NAME.getDisplayName());
  param.setFieldType(EParameterFieldType.TEXT);
  param.setCategory(EComponentCategory.EXTRA);
  param.setNumRow(47);
  param.setRepositoryValue("String_Node_Str");
  dbCon=dbTypeName + "String_Node_Str";
  param.setShowIf(JobSettingsConstants.addBrackets(dbCon) + "String_Node_Str" + dbCondition);
  param.setGroup(IMPLICIT_GROUP);
  paramList.add(param);
  if (LanguageManager.getCurrentLanguage().equals(ECodeLanguage.JAVA)) {
    param=new ElementParameter(process);
    param.setName(JobSettingsConstants.getExtraParameterName(EParameterName.PROPERTIES.getName()));
    param.setValue(StatsAndLogsManager.addQuotes("String_Node_Str"));
    param.setDisplayName(EParameterName.PROPERTIES.getDisplayName());
    param.setFieldType(EParameterFieldType.TEXT);
    param.setCategory(EComponentCategory.EXTRA);
    param.setNumRow(47);
    param.setRepositoryValue("String_Node_Str");
    dbCon=dbTypeName + "String_Node_Str" + "String_Node_Str"+ dbTypeName+ "String_Node_Str"+ "String_Node_Str"+ dbTypeName+ "String_Node_Str"+ "String_Node_Str"+ dbTypeName+ "String_Node_Str"+ "String_Node_Str"+ dbTypeName+ "String_Node_Str"+ "String_Node_Str"+ dbTypeName+ "String_Node_Str";
    param.setShowIf(JobSettingsConstants.addBrackets(dbCon) + "String_Node_Str" + dbCondition);
    param.setGroup(IMPLICIT_GROUP);
    paramList.add(param);
  }
  param=new ElementParameter(process);
  param.setName(JobSettingsConstants.getExtraParameterName(EParameterName.SCHEMA_DB.getName()));
  param.setValue(StatsAndLogsManager.addQuotes("String_Node_Str"));
  param.setDisplayName(EParameterName.SCHEMA_DB.getDisplayName());
  param.setFieldType(EParameterFieldType.TEXT);
  param.setCategory(EComponentCategory.EXTRA);
  param.setNumRow(47);
  param.setRepositoryValue("String_Node_Str");
  final String schemaCondition=JobSettingsConstants.addBrackets(dbTypeName + "String_Node_Str" + dbTypeName+ "String_Node_Str"+ dbTypeName+ "String_Node_Str"+ dbTypeName+ "String_Node_Str"+ dbTypeName+ "String_Node_Str"+ dbTypeName+ "String_Node_Str"+ dbTypeName+ "String_Node_Str"+ dbTypeName+ "String_Node_Str");
  param.setShowIf(schemaCondition + "String_Node_Str" + dbCondition);
  param.setGroup(IMPLICIT_GROUP);
  paramList.add(param);
  param=new ElementParameter(process);
  param.setName(JobSettingsConstants.getExtraParameterName(EParameterName.USER.getName()));
  param.setValue(StatsAndLogsManager.addQuotes("String_Node_Str"));
  param.setDisplayName(EParameterName.USER.getDisplayName());
  param.setFieldType(EParameterFieldType.TEXT);
  param.setCategory(EComponentCategory.EXTRA);
  param.setNumRow(48);
  param.setRequired(true);
  param.setRepositoryValue("String_Node_Str");
  dbCon=dbTypeName + "String_Node_Str";
  param.setShowIf(JobSettingsConstants.addBrackets(dbCon) + "String_Node_Str" + dbCondition);
  param.setGroup(IMPLICIT_GROUP);
  paramList.add(param);
  param=new ElementParameter(process);
  param.setName(JobSettingsConstants.getExtraParameterName(EParameterName.PASS.getName()));
  param.setValue(StatsAndLogsManager.addQuotes("String_Node_Str"));
  param.setDisplayName(EParameterName.PASS.getDisplayName());
  param.setFieldType(EParameterFieldType.PASSWORD);
  param.setCategory(EComponentCategory.EXTRA);
  param.setNumRow(48);
  param.setRequired(true);
  param.setRepositoryValue("String_Node_Str");
  dbCon=dbTypeName + "String_Node_Str";
  param.setShowIf(JobSettingsConstants.addBrackets(dbCon) + "String_Node_Str" + dbCondition);
  param.setGroup(IMPLICIT_GROUP);
  paramList.add(param);
  param=new ElementParameter(process);
  param.setName(JobSettingsConstants.getExtraParameterName(EParameterName.DBFILE.getName()));
  param.setValue(StatsAndLogsManager.addQuotes("String_Node_Str"));
  param.setDisplayName(EParameterName.DBFILE.getDisplayName());
  param.setFieldType(EParameterFieldType.FILE);
  param.setCategory(EComponentCategory.EXTRA);
  param.setNumRow(49);
  param.setRepositoryValue("String_Node_Str");
  dbCon=dbTypeName + "String_Node_Str" + "String_Node_Str"+ dbTypeName+ "String_Node_Str"+ "String_Node_Str"+ dbTypeName+ "String_Node_Str";
  param.setShowIf(JobSettingsConstants.addBrackets(dbCon) + "String_Node_Str" + dbCondition);
  param.setGroup(IMPLICIT_GROUP);
  paramList.add(param);
  param=new ElementParameter(process);
  param.setName(JobSettingsConstants.getExtraParameterName(EParameterName.DBTABLE.getName()));
  param.setValue(StatsAndLogsManager.addQuotes("String_Node_Str"));
  param.setDisplayName(EParameterName.DBTABLE.getDisplayName());
  param.setFieldType(EParameterFieldType.DBTABLE);
  param.setCategory(EComponentCategory.EXTRA);
  param.setNumRow(50);
  param.setShowIf(dbCondition);
  param.setGroup(IMPLICIT_GROUP);
  paramList.add(param);
  param=new ElementParameter(process);
  param.setName(JobSettingsConstants.getExtraParameterName(EParameterName.QUERY_CONDITION.getName()));
  param.setValue(QUOTE + QUOTE);
  param.setDisplayName(EParameterName.QUERY_CONDITION.getDisplayName());
  param.setFieldType(EParameterFieldType.TEXT);
  param.setCategory(EComponentCategory.EXTRA);
  param.setNumRow(51);
  param.setShowIf(dbCondition);
  param.setGroup(IMPLICIT_GROUP);
  paramList.add(param);
  for (  IElementParameter currentParam : paramList) {
    if (currentParam.getRepositoryValue() != null) {
      currentParam.setRepositoryProperty(parentPropertyType.getName());
    }
  }
  return paramList;
}

Fixed version (ground truth):
private static List<IElementParameter> getExtraOnDBParameters(IProcess process){
  ElementParameter param;
  List<IElementParameter> paramList=new ArrayList<IElementParameter>();
  IPreferenceStore preferenceStore=DesignerPlugin.getDefault().getPreferenceStore();
  String languagePrefix=LanguageManager.getCurrentLanguage().toString() + "String_Node_Str";
  int languageType=0;
  if (LanguageManager.getCurrentLanguage().equals(ECodeLanguage.JAVA)) {
    languageType=1;
  }
  final String onDBCondition=JobSettingsConstants.getExtraParameterName(EParameterName.FROM_DATABASE_FLAG.getName()) + "String_Node_Str";
  final String dbCondition=JobSettingsConstants.addBrackets(CONTEXTLOAD_CONDITION) + "String_Node_Str" + JobSettingsConstants.addBrackets(onDBCondition);
  ElementParameter parentPropertyType=new ElementParameter(process);
  parentPropertyType.setName(JobSettingsConstants.getExtraParameterName(EParameterName.PROPERTY_TYPE.getName()));
  parentPropertyType.setDisplayName(EParameterName.PROPERTY_TYPE.getDisplayName());
  parentPropertyType.setValue("String_Node_Str");
  parentPropertyType.setCategory(EComponentCategory.EXTRA);
  parentPropertyType.setFieldType(EParameterFieldType.PROPERTY_TYPE);
  parentPropertyType.setRepositoryValue(ERepositoryCategoryType.DATABASE.getName());
  parentPropertyType.setNumRow(41);
  parentPropertyType.setShowIf(dbCondition);
  parentPropertyType.setGroup(IMPLICIT_GROUP);
  paramList.add(parentPropertyType);
  param=new ElementParameter(process);
  param.setName(EParameterName.PROPERTY_TYPE.getName());
  param.setDisplayName(EParameterName.PROPERTY_TYPE.getDisplayName());
  param.setListItemsDisplayName(new String[]{EmfComponent.TEXT_BUILTIN,EmfComponent.TEXT_REPOSITORY});
  param.setListItemsDisplayCodeName(new String[]{EmfComponent.BUILTIN,EmfComponent.REPOSITORY});
  param.setListItemsValue(new String[]{EmfComponent.BUILTIN,EmfComponent.REPOSITORY});
  param.setValue(EmfComponent.BUILTIN);
  param.setCategory(EComponentCategory.EXTRA);
  param.setFieldType(EParameterFieldType.TECHNICAL);
  param.setRepositoryValue(ERepositoryCategoryType.DATABASE.getName());
  param.setNumRow(41);
  param.setShowIf(dbCondition);
  param.setGroup(IMPLICIT_GROUP);
  param.setParentParameter(parentPropertyType);
  param=new ElementParameter(process);
  param.setName(EParameterName.REPOSITORY_PROPERTY_TYPE.getName());
  param.setDisplayName(EParameterName.REPOSITORY_PROPERTY_TYPE.getDisplayName());
  param.setListItemsDisplayName(new String[]{});
  param.setListItemsValue(new String[]{});
  param.setCategory(EComponentCategory.EXTRA);
  param.setFieldType(EParameterFieldType.TECHNICAL);
  param.setShow(false);
  param.setRequired(true);
  param.setNumRow(41);
  param.setGroup(IMPLICIT_GROUP);
  param.setParentParameter(parentPropertyType);
  final String dbTypeName=JobSettingsConstants.getExtraParameterName(EParameterName.DB_TYPE.getName());
  param=new ElementParameter(process);
  param.setName(dbTypeName);
  param.setDisplayName(EParameterName.DB_TYPE.getDisplayName());
  param.setFieldType(EParameterFieldType.CLOSED_LIST);
  param.setCategory(EComponentCategory.EXTRA);
  param.setListItemsDisplayName(StatsAndLogsConstants.DISPLAY_DBNAMES[languageType]);
  param.setListItemsValue(JobSettingsConstants.DB_INPUT_COMPONENTS[languageType]);
  param.setListRepositoryItems(StatsAndLogsConstants.REPOSITORY_ITEMS[languageType]);
  param.setListItemsDisplayCodeName(StatsAndLogsConstants.CODE_LIST[languageType]);
  param.setValue("String_Node_Str");
  param.setNumRow(42);
  param.setRepositoryValue("String_Node_Str");
  param.setRequired(true);
  param.setShowIf(dbCondition);
  param.setGroup(IMPLICIT_GROUP);
  paramList.add(param);
  final String dbVersionName=JobSettingsConstants.getExtraParameterName(EParameterName.DB_VERSION.getName());
  if (process.getElementParameter(dbVersionName) == null) {
    param=new ElementParameter(process);
    param.setName(dbVersionName);
    param.setValue(StatsAndLogsConstants.DB_VERSION_DRIVER[1]);
    param.setDisplayName(EParameterName.DB_VERSION.getDisplayName());
    param.setFieldType(EParameterFieldType.CLOSED_LIST);
    param.setCategory(EComponentCategory.EXTRA);
    param.setListItemsDisplayName(StatsAndLogsConstants.DB_VERSION_DISPLAY);
    param.setListItemsValue(StatsAndLogsConstants.DB_VERSION_DRIVER);
    param.setListItemsDisplayCodeName(StatsAndLogsConstants.DB_VERSION_CODE);
    param.setNumRow(42);
    param.setRepositoryValue("String_Node_Str");
    param.setRequired(true);
    param.setShowIf(dbCondition + "String_Node_Str" + dbTypeName+ "String_Node_Str"+ dbTypeName+ "String_Node_Str"+ dbTypeName+ "String_Node_Str"+ dbTypeName+ "String_Node_Str"+ dbTypeName+ "String_Node_Str");
    param.setGroup(IMPLICIT_GROUP);
    paramList.add(param);
  }
  param=new ElementParameter(process);
  param.setName(JobSettingsConstants.getExtraParameterName(EParameterName.URL.getName()));
  param.setValue(StatsAndLogsManager.addQuotes(preferenceStore.getString(languagePrefix + EParameterName.URL.getName())));
  param.setDisplayName(EParameterName.URL.getDisplayName());
  param.setFieldType(EParameterFieldType.TEXT);
  param.setCategory(EComponentCategory.EXTRA);
  param.setNumRow(43);
  param.setRepositoryValue("String_Node_Str");
  String dbCon=dbTypeName + "String_Node_Str";
  param.setShowIf(JobSettingsConstants.addBrackets(dbCon) + "String_Node_Str" + dbCondition);
  param.setGroup(IMPLICIT_GROUP);
  paramList.add(param);
  List<ModuleNeeded> moduleNeededList=ModulesNeededProvider.getModulesNeeded();
  Set<String> moduleNameList=new TreeSet<String>();
  Set<String> moduleValueList=new TreeSet<String>();
  for (  ModuleNeeded module : moduleNeededList) {
    String moduleName=module.getModuleName();
    if (moduleName != null) {
      moduleNameList.add(moduleName);
      moduleValueList.add(TalendTextUtils.addQuotes(moduleName));
    }
  }
  Comparator<String> comprarator=new IgnoreCaseComparator();
  String[] moduleNameArray=moduleNameList.toArray(new String[0]);
  String[] moduleValueArray=moduleValueList.toArray(new String[0]);
  Arrays.sort(moduleNameArray,comprarator);
  Arrays.sort(moduleValueArray,comprarator);
  ElementParameter childParam=new ElementParameter(process);
  childParam.setName("String_Node_Str");
  childParam.setDisplayName("String_Node_Str");
  childParam.setFieldType(EParameterFieldType.MODULE_LIST);
  childParam.setListItemsDisplayName(moduleNameArray);
  childParam.setListItemsValue(moduleValueArray);
  param=new ElementParameter(process);
  param.setName(JobSettingsConstants.getExtraParameterName(EParameterName.DRIVER_JAR.getName()));
  param.setDisplayName(EParameterName.DRIVER_JAR.getDisplayName());
  param.setFieldType(EParameterFieldType.TABLE);
  param.setListItemsDisplayCodeName(new String[]{"String_Node_Str"});
  param.setListItemsDisplayName(new String[]{"String_Node_Str"});
  param.setListItemsValue(new ElementParameter[]{childParam});
  param.setValue(new ArrayList<Map<String,Object>>());
  param.setCategory(EComponentCategory.EXTRA);
  param.setNumRow(44);
  param.setRepositoryValue("String_Node_Str");
  dbCon=dbTypeName + "String_Node_Str";
  param.setShowIf(JobSettingsConstants.addBrackets(dbCon) + "String_Node_Str" + dbCondition);
  param.setGroup(IMPLICIT_GROUP);
  paramList.add(param);
  param=new ElementParameter(process);
  param.setName(JobSettingsConstants.getExtraParameterName(EParameterName.DRIVER_CLASS.getName()));
  param.setValue(StatsAndLogsManager.addQuotes(preferenceStore.getString(languagePrefix + EParameterName.DRIVER_CLASS.getName())));
  param.setDisplayName(EParameterName.DRIVER_CLASS.getDisplayName());
  param.setFieldType(EParameterFieldType.TEXT);
  param.setCategory(EComponentCategory.EXTRA);
  param.setNumRow(45);
  param.setRepositoryValue("String_Node_Str");
  dbCon=dbTypeName + "String_Node_Str";
  param.setShowIf(JobSettingsConstants.addBrackets(dbCon) + "String_Node_Str" + dbCondition);
  param.setGroup(IMPLICIT_GROUP);
  paramList.add(param);
  param=new ElementParameter(process);
  param.setName(JobSettingsConstants.getExtraParameterName(EParameterName.HOST.getName()));
  param.setValue(StatsAndLogsManager.addQuotes("String_Node_Str"));
  param.setDisplayName(EParameterName.HOST.getDisplayName());
  param.setFieldType(EParameterFieldType.TEXT);
  param.setCategory(EComponentCategory.EXTRA);
  param.setNumRow(46);
  param.setRepositoryValue("String_Node_Str");
  dbCon=dbTypeName + "String_Node_Str" + "String_Node_Str"+ dbTypeName+ "String_Node_Str"+ "String_Node_Str"+ dbTypeName+ "String_Node_Str"+ "String_Node_Str"+ dbTypeName+ "String_Node_Str"+ "String_Node_Str"+ dbTypeName+ "String_Node_Str";
  param.setShowIf(JobSettingsConstants.addBrackets(dbCon) + "String_Node_Str" + dbCondition);
  param.setGroup(IMPLICIT_GROUP);
  paramList.add(param);
  param=new ElementParameter(process);
  param.setName(JobSettingsConstants.getExtraParameterName(EParameterName.PORT.getName()));
  param.setValue(StatsAndLogsManager.addQuotes("String_Node_Str"));
  param.setDisplayName(EParameterName.PORT.getDisplayName());
  param.setFieldType(EParameterFieldType.TEXT);
  param.setCategory(EComponentCategory.EXTRA);
  param.setNumRow(46);
  param.setRepositoryValue("String_Node_Str");
  dbCon=dbTypeName + "String_Node_Str" + "String_Node_Str"+ dbTypeName+ "String_Node_Str"+ "String_Node_Str"+ dbTypeName+ "String_Node_Str"+ "String_Node_Str"+ dbTypeName+ "String_Node_Str"+ "String_Node_Str"+ dbTypeName+ "String_Node_Str"+ "String_Node_Str"+ dbTypeName+ "String_Node_Str";
  param.setShowIf(JobSettingsConstants.addBrackets(dbCon) + "String_Node_Str" + dbCondition);
  param.setGroup(IMPLICIT_GROUP);
  paramList.add(param);
  param=new ElementParameter(process);
  param.setName(JobSettingsConstants.getExtraParameterName(EParameterName.DBNAME.getName()));
  param.setValue(StatsAndLogsManager.addQuotes("String_Node_Str"));
  param.setDisplayName(EParameterName.DBNAME.getDisplayName());
  param.setFieldType(EParameterFieldType.TEXT);
  param.setCategory(EComponentCategory.EXTRA);
  param.setNumRow(47);
  param.setRepositoryValue("String_Node_Str");
  dbCon=dbTypeName + "String_Node_Str" + "String_Node_Str"+ dbTypeName+ "String_Node_Str"+ "String_Node_Str"+ dbTypeName+ "String_Node_Str"+ "String_Node_Str"+ dbTypeName+ "String_Node_Str"+ "String_Node_Str"+ dbTypeName+ "String_Node_Str";
  param.setShowIf(JobSettingsConstants.addBrackets(dbCon) + "String_Node_Str" + dbCondition);
  param.setGroup(IMPLICIT_GROUP);
  paramList.add(param);
  param=new ElementParameter(process);
  param.setName(JobSettingsConstants.getExtraParameterName(EParameterName.LOCAL_SERVICE_NAME.getName()));
  param.setValue(StatsAndLogsManager.addQuotes("String_Node_Str"));
  param.setDisplayName(EParameterName.LOCAL_SERVICE_NAME.getDisplayName());
  param.setFieldType(EParameterFieldType.TEXT);
  param.setCategory(EComponentCategory.EXTRA);
  param.setNumRow(47);
  param.setRepositoryValue("String_Node_Str");
  dbCon=dbTypeName + "String_Node_Str";
  param.setShowIf(JobSettingsConstants.addBrackets(dbCon) + "String_Node_Str" + dbCondition);
  param.setGroup(IMPLICIT_GROUP);
  paramList.add(param);
  if (LanguageManager.getCurrentLanguage().equals(ECodeLanguage.JAVA)) {
    param=new ElementParameter(process);
    param.setName(JobSettingsConstants.getExtraParameterName(EParameterName.PROPERTIES.getName()));
    param.setValue(StatsAndLogsManager.addQuotes("String_Node_Str"));
    param.setDisplayName(EParameterName.PROPERTIES.getDisplayName());
    param.setFieldType(EParameterFieldType.TEXT);
    param.setCategory(EComponentCategory.EXTRA);
    param.setNumRow(47);
    param.setRepositoryValue("String_Node_Str");
    dbCon=dbTypeName + "String_Node_Str" + "String_Node_Str"+ dbTypeName+ "String_Node_Str"+ "String_Node_Str"+ dbTypeName+ "String_Node_Str"+ "String_Node_Str"+ dbTypeName+ "String_Node_Str"+ "String_Node_Str"+ dbTypeName+ "String_Node_Str"+ "String_Node_Str"+ dbTypeName+ "String_Node_Str";
    param.setShowIf(JobSettingsConstants.addBrackets(dbCon) + "String_Node_Str" + dbCondition);
    param.setGroup(IMPLICIT_GROUP);
    paramList.add(param);
  }
  param=new ElementParameter(process);
  param.setName(JobSettingsConstants.getExtraParameterName(EParameterName.SCHEMA_DB.getName()));
  param.setValue(StatsAndLogsManager.addQuotes("String_Node_Str"));
  param.setDisplayName(EParameterName.SCHEMA_DB.getDisplayName());
  param.setFieldType(EParameterFieldType.TEXT);
  param.setCategory(EComponentCategory.EXTRA);
  param.setNumRow(47);
  param.setRepositoryValue("String_Node_Str");
  final String schemaCondition=JobSettingsConstants.addBrackets(dbTypeName + "String_Node_Str" + dbTypeName+ "String_Node_Str"+ dbTypeName+ "String_Node_Str"+ dbTypeName+ "String_Node_Str"+ dbTypeName+ "String_Node_Str"+ dbTypeName+ "String_Node_Str"+ dbTypeName+ "String_Node_Str"+ dbTypeName+ "String_Node_Str");
  param.setShowIf(schemaCondition + "String_Node_Str" + dbCondition);
  param.setGroup(IMPLICIT_GROUP);
  paramList.add(param);
  param=new ElementParameter(process);
  param.setName(JobSettingsConstants.getExtraParameterName(EParameterName.USER.getName()));
  param.setValue(StatsAndLogsManager.addQuotes("String_Node_Str"));
  param.setDisplayName(EParameterName.USER.getDisplayName());
  param.setFieldType(EParameterFieldType.TEXT);
  param.setCategory(EComponentCategory.EXTRA);
  param.setNumRow(48);
  param.setRequired(true);
  param.setRepositoryValue("String_Node_Str");
  dbCon=dbTypeName + "String_Node_Str";
  param.setShowIf(JobSettingsConstants.addBrackets(dbCon) + "String_Node_Str" + dbCondition);
  param.setGroup(IMPLICIT_GROUP);
  paramList.add(param);
  param=new ElementParameter(process);
  param.setName(JobSettingsConstants.getExtraParameterName(EParameterName.PASS.getName()));
  param.setValue(StatsAndLogsManager.addQuotes("String_Node_Str"));
  param.setDisplayName(EParameterName.PASS.getDisplayName());
  param.setFieldType(EParameterFieldType.PASSWORD);
  param.setCategory(EComponentCategory.EXTRA);
  param.setNumRow(48);
  param.setRequired(true);
  param.setRepositoryValue("String_Node_Str");
  dbCon=dbTypeName + "String_Node_Str";
  param.setShowIf(JobSettingsConstants.addBrackets(dbCon) + "String_Node_Str" + dbCondition);
  param.setGroup(IMPLICIT_GROUP);
  paramList.add(param);
  param=new ElementParameter(process);
  param.setName(JobSettingsConstants.getExtraParameterName(EParameterName.DBFILE.getName()));
  param.setValue(StatsAndLogsManager.addQuotes("String_Node_Str"));
  param.setDisplayName(EParameterName.DBFILE.getDisplayName());
  param.setFieldType(EParameterFieldType.FILE);
  param.setCategory(EComponentCategory.EXTRA);
  param.setNumRow(49);
  param.setRepositoryValue("String_Node_Str");
  dbCon=dbTypeName + "String_Node_Str" + "String_Node_Str"+ dbTypeName+ "String_Node_Str"+ "String_Node_Str"+ dbTypeName+ "String_Node_Str";
  param.setShowIf(JobSettingsConstants.addBrackets(dbCon) + "String_Node_Str" + dbCondition);
  param.setGroup(IMPLICIT_GROUP);
  paramList.add(param);
  param=new ElementParameter(process);
  param.setName(JobSettingsConstants.getExtraParameterName(EParameterName.DBTABLE.getName()));
  param.setValue(StatsAndLogsManager.addQuotes("String_Node_Str"));
  param.setDisplayName(EParameterName.DBTABLE.getDisplayName());
  param.setFieldType(EParameterFieldType.DBTABLE);
  param.setCategory(EComponentCategory.EXTRA);
  param.setNumRow(50);
  param.setShowIf(dbCondition);
  param.setGroup(IMPLICIT_GROUP);
  paramList.add(param);
  param=new ElementParameter(process);
  param.setName(JobSettingsConstants.getExtraParameterName(EParameterName.QUERY_CONDITION.getName()));
  param.setValue(QUOTE + QUOTE);
  param.setDisplayName(EParameterName.QUERY_CONDITION.getDisplayName());
  param.setFieldType(EParameterFieldType.TEXT);
  param.setCategory(EComponentCategory.EXTRA);
  param.setNumRow(51);
  param.setShowIf(dbCondition);
  param.setGroup(IMPLICIT_GROUP);
  paramList.add(param);
  for (  IElementParameter currentParam : paramList) {
    if (currentParam.getRepositoryValue() != null) {
      currentParam.setRepositoryProperty(parentPropertyType.getName());
    }
  }
  return paramList;
}