Program: 133727
Project: 133727
Buggy source:
/** 
 * <!-- begin-UML-doc --> <p> This operation fills the data dictionary for the JobLaunchAction based on the contents of the Form. </p> <!-- end-UML-doc -->
 * @return <p>The status of the operation. It will only equal FormStatus.ReadyToProcess or FormStatus.InfoError and should cause the calling operation to fail if the latter is returned. </p>
 * @generated "UML to Java (com.ibm.xtools.transform.uml2.java5.internal.UML2JavaTransform)"
 */
private FormStatus fillActionDataMap(){
  String filename=null, hostname=null;
  String installDir="String_Node_Str";
  IResource fileResource=null;
  String os="String_Node_Str", accountCode="String_Node_Str";
  DataComponent fileData=null, parallelData=null;
  Entry fileEntry=null, mpiEntry=null;
  int numProcs=1, numTBBThreads=1;
  fileData=(DataComponent)form.getComponent(JobLauncherForm.filesId);
  parallelData=(DataComponent)form.getComponent(JobLauncherForm.parallelId);
  if (fileData == null) {
    return FormStatus.InfoError;
  }
  actionDataMap=new Hashtable<String,String>();
  fileData=(DataComponent)form.getComponent(1);
  for (  String entryName : inputFileNameMap.keySet()) {
    fileEntry=fileData.retrieveEntry(entryName);
    if (fileEntry != null) {
      fileResource=project.findMember(fileEntry.getValue());
      if (fileResource == null || !fileResource.exists()) {
        System.out.println("String_Node_Str" + filename);
        System.out.println("String_Node_Str" + fileEntry.getAllowedValues());
        return FormStatus.InfoError;
      }
      filename=fileResource.getLocation().toOSString();
      actionDataMap.put(inputFileNameMap.get(entryName).varName,filename);
    }
 else {
      System.out.println("String_Node_Str" + entryName);
    }
  }
  ArrayList<Integer> selectedRowIds=hostsTable.getSelectedRows();
  int selectedRowId=1;
  selectedRowId=0;
  if (selectedRowIds != null) {
    selectedRowId=selectedRowIds.get(0);
  }
  ArrayList<Entry> hostEntries=hostsTable.getRow(selectedRowId);
  hostname=hostEntries.get(0).getValue();
  os=hostEntries.get(1).getValue();
  installDir=hostEntries.get(2).getValue();
  if (parallelData != null) {
    mpiEntry=parallelData.retrieveEntry("String_Node_Str");
    if (mpiEntry != null) {
      numProcs=Math.max(numProcs,Integer.parseInt(mpiEntry.getValue()));
    }
    Entry tbbThreadsEntry=parallelData.retrieveEntry("String_Node_Str");
    if (tbbThreadsEntry != null) {
      numTBBThreads=Math.max(numTBBThreads,Integer.parseInt(tbbThreadsEntry.getValue()));
    }
    Entry accountEntry=parallelData.retrieveEntry("String_Node_Str");
    accountCode=accountEntry.getValue();
  }
  actionDataMap.put("String_Node_Str",executableCommandName);
  actionDataMap.put("String_Node_Str",String.valueOf(uploadInput));
  if (appendInput && !executableCommandName.contains("String_Node_Str")) {
    actionDataMap.put("String_Node_Str","String_Node_Str");
  }
 else {
    actionDataMap.put("String_Node_Str","String_Node_Str");
  }
  actionDataMap.put("String_Node_Str",installDir);
  actionDataMap.put("String_Node_Str",hostname);
  actionDataMap.put("String_Node_Str",os);
  actionDataMap.put("String_Node_Str",accountCode);
  actionDataMap.put("String_Node_Str",String.valueOf(numProcs));
  actionDataMap.put("String_Node_Str",String.valueOf(numTBBThreads));
  if (remoteDownloadDir != null) {
    actionDataMap.put("String_Node_Str",remoteDownloadDir);
  }
  if (debuggingEnabled) {
    System.out.println("String_Node_Str" + "String_Node_Str" + actionDataMap);
  }
  return FormStatus.ReadyToProcess;
}

Fixed version (ground truth):
/** 
 * <!-- begin-UML-doc --> <p> This operation fills the data dictionary for the JobLaunchAction based on the contents of the Form. </p> <!-- end-UML-doc -->
 * @return <p>The status of the operation. It will only equal FormStatus.ReadyToProcess or FormStatus.InfoError and should cause the calling operation to fail if the latter is returned. </p>
 * @generated "UML to Java (com.ibm.xtools.transform.uml2.java5.internal.UML2JavaTransform)"
 */
private FormStatus fillActionDataMap(){
  String filename=null, hostname=null;
  String installDir="String_Node_Str";
  IResource fileResource=null;
  String os="String_Node_Str", accountCode="String_Node_Str";
  DataComponent fileData=null, parallelData=null;
  Entry fileEntry=null, mpiEntry=null;
  int numProcs=1, numTBBThreads=1;
  String projectSpace=project.getLocation().toOSString();
  fileData=(DataComponent)form.getComponent(JobLauncherForm.filesId);
  parallelData=(DataComponent)form.getComponent(JobLauncherForm.parallelId);
  if (fileData == null) {
    return FormStatus.InfoError;
  }
  actionDataMap=new Hashtable<String,String>();
  fileData=(DataComponent)form.getComponent(1);
  for (  String entryName : inputFileNameMap.keySet()) {
    fileEntry=fileData.retrieveEntry(entryName);
    if (fileEntry != null) {
      fileResource=project.findMember(fileEntry.getValue());
      if (fileResource == null || !fileResource.exists()) {
        System.out.println("String_Node_Str" + filename);
        System.out.println("String_Node_Str" + fileEntry.getAllowedValues());
        return FormStatus.InfoError;
      }
      filename=fileResource.getLocation().toOSString();
      actionDataMap.put(inputFileNameMap.get(entryName).varName,filename);
    }
 else {
      System.out.println("String_Node_Str" + entryName);
    }
  }
  ArrayList<Integer> selectedRowIds=hostsTable.getSelectedRows();
  int selectedRowId=1;
  selectedRowId=0;
  if (selectedRowIds != null) {
    selectedRowId=selectedRowIds.get(0);
  }
  ArrayList<Entry> hostEntries=hostsTable.getRow(selectedRowId);
  hostname=hostEntries.get(0).getValue();
  os=hostEntries.get(1).getValue();
  installDir=hostEntries.get(2).getValue();
  if (parallelData != null) {
    mpiEntry=parallelData.retrieveEntry("String_Node_Str");
    if (mpiEntry != null) {
      numProcs=Math.max(numProcs,Integer.parseInt(mpiEntry.getValue()));
    }
    Entry tbbThreadsEntry=parallelData.retrieveEntry("String_Node_Str");
    if (tbbThreadsEntry != null) {
      numTBBThreads=Math.max(numTBBThreads,Integer.parseInt(tbbThreadsEntry.getValue()));
    }
    Entry accountEntry=parallelData.retrieveEntry("String_Node_Str");
    accountCode=accountEntry.getValue();
  }
  actionDataMap.put("String_Node_Str",executableCommandName);
  actionDataMap.put("String_Node_Str",String.valueOf(uploadInput));
  if (appendInput && !executableCommandName.contains("String_Node_Str")) {
    actionDataMap.put("String_Node_Str","String_Node_Str");
  }
 else {
    actionDataMap.put("String_Node_Str","String_Node_Str");
  }
  actionDataMap.put("String_Node_Str",installDir);
  actionDataMap.put("String_Node_Str",hostname);
  actionDataMap.put("String_Node_Str",os);
  actionDataMap.put("String_Node_Str",accountCode);
  actionDataMap.put("String_Node_Str",projectSpace);
  actionDataMap.put("String_Node_Str",String.valueOf(numProcs));
  actionDataMap.put("String_Node_Str",String.valueOf(numTBBThreads));
  if (remoteDownloadDir != null) {
    actionDataMap.put("String_Node_Str",remoteDownloadDir);
  }
  if (debuggingEnabled) {
    System.out.println("String_Node_Str" + "String_Node_Str" + actionDataMap);
  }
  return FormStatus.ReadyToProcess;
}