Program: 122417
Project: 122417
Buggy source:
@Override public List<ExportFileResource> getExportResources(ExportFileResource[] process,String... codeOptions) throws ProcessorException {
  for (int i=0; i < process.length; i++) {
    ProcessItem processItem=(ProcessItem)process[i].getItem();
    String libPath=calculateLibraryPathFromDirectory(process[i].getDirectoryName());
    String standardJars=libPath + PATH_SEPARATOR + SYSTEMROUTINE_JAR+ ProcessorUtilities.TEMP_JAVA_CLASSPATH_SEPARATOR+ libPath+ PATH_SEPARATOR+ USERROUTINE_JAR+ ProcessorUtilities.TEMP_JAVA_CLASSPATH_SEPARATOR+ "String_Node_Str";
    ProcessorUtilities.setExportConfig("String_Node_Str",standardJars,libPath);
    IProcess jobProcess=null;
    if (!isOptionChoosed(ExportChoice.doNotCompileCode)) {
      jobProcess=generateJobFiles(processItem,contextName,statisticPort != IProcessor.NO_STATISTICS,tracePort != IProcessor.NO_TRACES,isOptionChoosed(ExportChoice.applyToChildren));
    }
    List<URL> resources=new ArrayList<URL>();
    resources.addAll(getLauncher(isOptionChoosed(ExportChoice.needLauncher),isOptionChoosed(ExportChoice.setParameterValues),isOptionChoosed(ExportChoice.needContext),jobProcess,processItem,escapeSpace(contextName),escapeSpace(launcher),statisticPort,tracePort,codeOptions));
    addJobItem(process,processItem,isOptionChoosed(ExportChoice.needJobItem),process[i]);
    resources.addAll(getJobScripts(processItem,isOptionChoosed(ExportChoice.needJobScript)));
    resources.addAll(getProperties(processItem,contextName));
    addContextScripts(process[i],isOptionChoosed(ExportChoice.needContext));
    boolean needChildren=true;
    List<URL> childrenList=addChildrenResources(process,processItem,needChildren,process[i],exportChoice);
    resources.addAll(childrenList);
    process[i].addResources(resources);
  }
  List<ExportFileResource> list=new ArrayList<ExportFileResource>(Arrays.asList(process));
  ExportFileResource rootResource=new ExportFileResource(null,LIBRARY_FOLDER_NAME);
  ExportFileResource spagicResource=new ExportFileResource(null,"String_Node_Str");
  list.add(rootResource);
  list.add(spagicResource);
  List<URL> systemRoutineList=getSystemRoutine(process,isOptionChoosed(ExportChoice.needSystemRoutine));
  rootResource.addResources(systemRoutineList);
  List<URL> userRoutineList=getUserRoutine(process,isOptionChoosed(ExportChoice.needUserRoutine));
  rootResource.addResources(userRoutineList);
  List<URL> talendLibraries=getExternalLibraries(isOptionChoosed(ExportChoice.needTalendLibraries),process);
  rootResource.addResources(talendLibraries);
  return list;
}

Fixed version (ground truth):
@Override public List<ExportFileResource> getExportResources(ExportFileResource[] process,String... codeOptions) throws ProcessorException {
  for (int i=0; i < process.length; i++) {
    ProcessItem processItem=(ProcessItem)process[i].getItem();
    String libPath=calculateLibraryPathFromDirectory(process[i].getDirectoryName());
    String standardJars=libPath + PATH_SEPARATOR + SYSTEMROUTINE_JAR+ ProcessorUtilities.TEMP_JAVA_CLASSPATH_SEPARATOR+ libPath+ PATH_SEPARATOR+ USERROUTINE_JAR+ ProcessorUtilities.TEMP_JAVA_CLASSPATH_SEPARATOR+ "String_Node_Str";
    ProcessorUtilities.setExportConfig("String_Node_Str",standardJars,libPath);
    IProcess jobProcess=null;
    if (!isOptionChoosed(ExportChoice.doNotCompileCode)) {
      jobProcess=generateJobFiles(processItem,contextName,statisticPort != IProcessor.NO_STATISTICS,tracePort != IProcessor.NO_TRACES,isOptionChoosed(ExportChoice.applyToChildren));
    }
    List<URL> resources=new ArrayList<URL>();
    resources.addAll(getLauncher(isOptionChoosed(ExportChoice.needLauncher),isOptionChoosed(ExportChoice.setParameterValues),isOptionChoosed(ExportChoice.needContext),jobProcess,processItem,escapeSpace(contextName),escapeSpace(launcher),statisticPort,tracePort,codeOptions));
    addJobItem(process,processItem,isOptionChoosed(ExportChoice.needJobItem),process[i]);
    resources.addAll(getJobScripts(processItem,isOptionChoosed(ExportChoice.needJobScript)));
    resources.addAll(getProperties(processItem,contextName));
    addContextScripts(process[i],isOptionChoosed(ExportChoice.needContext));
    boolean needChildren=true;
    List<URL> childrenList=addChildrenResources(process,processItem,needChildren,process[i],exportChoice);
    resources.addAll(childrenList);
    process[i].addResources(resources);
  }
  List<ExportFileResource> list=new ArrayList<ExportFileResource>(Arrays.asList(process));
  ExportFileResource rootResource=new ExportFileResource(null,LIBRARY_FOLDER_NAME);
  ExportFileResource spagicResource=new ExportFileResource(null,"String_Node_Str");
  list.add(rootResource);
  list.add(spagicResource);
  List<URL> systemRoutineList=getSystemRoutine(process);
  rootResource.addResources(systemRoutineList);
  List<URL> userRoutineList=getUserRoutine(process);
  rootResource.addResources(userRoutineList);
  List<URL> talendLibraries=getExternalLibraries(isOptionChoosed(ExportChoice.needTalendLibraries),process);
  rootResource.addResources(talendLibraries);
  return list;
}