Program: 24119
Project: 24119
Buggy source:
private void produceResource2(ResourceDefn resource,boolean isAbstract) throws Exception {
  File tmp=Utilities.createTempFile("String_Node_Str","String_Node_Str");
  String n=resource.getName().toLowerCase();
  String xml=xmls.get(n);
  TerminologyNotesGenerator tgen=new TerminologyNotesGenerator(new FileOutputStream(tmp),page);
  tgen.generate(resource.getRoot(),page.getDefinitions().getBindings());
  tgen.close();
  String tx=TextFile.fileToString(tmp.getAbsolutePath());
  DictHTMLGenerator dgen=new DictHTMLGenerator(new FileOutputStream(tmp),page);
  dgen.generate(resource.getRoot());
  dgen.close();
  String dict=TextFile.fileToString(tmp.getAbsolutePath());
  MappingsGenerator mgen=new MappingsGenerator(page.getDefinitions());
  mgen.generate(resource);
  String mappings=mgen.getMappings();
  String mappingsList=mgen.getMappingsList();
  SvgGenerator svg=new SvgGenerator(page);
  svg.generate(resource,page.getFolders().dstDir + n + "String_Node_Str");
  for (  ConformancePackage ap : resource.getConformancePackages())   produceConformancePackage(resource.getName(),ap);
  Profile profile=(Profile)ResourceUtilities.getById(profileFeed,ResourceType.Profile,resource.getName());
  for (  Example e : resource.getExamples()) {
    try {
      processExample(e,resource,profile);
    }
 catch (    Exception ex) {
      throw new Exception("String_Node_Str" + e.getFileTitle(),ex);
    }
  }
  try {
    processQuestionnaire(resource,profile);
  }
 catch (  Exception e) {
    page.log("String_Node_Str" + e.getMessage(),LogMessageType.Error);
  }
  String prefix=page.getBreadCrumbManager().getIndexPrefixForReference(resource.getName());
  SectionTracker st=new SectionTracker(prefix);
  st.start("String_Node_Str");
  page.getSectionTrackerCache().put(n,st);
  String template=isAbstract ? "String_Node_Str" : "String_Node_Str";
  String src=TextFile.fileToString(page.getFolders().srcDir + template + "String_Node_Str");
  src=insertSectionNumbers(page.processResourceIncludes(n,resource,xml,tx,dict,src,mappings,mappingsList,"String_Node_Str",n + "String_Node_Str"),st,n + "String_Node_Str");
  TextFile.stringToFile(src,page.getFolders().dstDir + n + "String_Node_Str");
  String pages=page.getIni().getStringProperty("String_Node_Str",n);
  if (!Utilities.noString(pages)) {
    for (    String p : pages.split("String_Node_Str")) {
      producePage(p,n);
    }
  }
  src=TextFile.fileToString(page.getFolders().srcDir + template + "String_Node_Str");
  TextFile.stringToFile(insertSectionNumbers(page.processResourceIncludes(n,resource,xml,tx,dict,src,mappings,mappingsList,"String_Node_Str",n + "String_Node_Str"),st,n + "String_Node_Str"),page.getFolders().dstDir + n + "String_Node_Str");
  page.getEpub().registerFile(n + "String_Node_Str","String_Node_Str" + resource.getName(),EPubManager.XHTML_TYPE);
  if (!isAbstract) {
    src=TextFile.fileToString(page.getFolders().srcDir + "String_Node_Str");
    TextFile.stringToFile(insertSectionNumbers(page.processResourceIncludes(n,resource,xml,tx,dict,src,mappings,mappingsList,"String_Node_Str",n + "String_Node_Str"),st,n + "String_Node_Str"),page.getFolders().dstDir + n + "String_Node_Str");
    page.getEpub().registerFile(n + "String_Node_Str","String_Node_Str" + resource.getName(),EPubManager.XHTML_TYPE);
    src=TextFile.fileToString(page.getFolders().srcDir + "String_Node_Str");
    TextFile.stringToFile(insertSectionNumbers(page.processResourceIncludes(n,resource,xml,tx,dict,src,mappings,mappingsList,"String_Node_Str",n + "String_Node_Str"),st,n + "String_Node_Str"),page.getFolders().dstDir + n + "String_Node_Str");
    page.getEpub().registerFile(n + "String_Node_Str","String_Node_Str" + resource.getName(),EPubManager.XHTML_TYPE);
    src=TextFile.fileToString(page.getFolders().srcDir + "String_Node_Str");
    TextFile.stringToFile(insertSectionNumbers(page.processResourceIncludes(n,resource,xml,tx,dict,src,mappings,mappingsList,"String_Node_Str",n + "String_Node_Str"),st,n + "String_Node_Str"),page.getFolders().dstDir + n + "String_Node_Str");
    page.getEpub().registerFile(n + "String_Node_Str","String_Node_Str" + resource.getName(),EPubManager.XHTML_TYPE);
    src=TextFile.fileToString(page.getFolders().srcDir + "String_Node_Str");
    TextFile.stringToFile(insertSectionNumbers(page.processResourceIncludes(n,resource,xml,tx,dict,src,mappings,mappingsList,"String_Node_Str",n + "String_Node_Str"),st,n + "String_Node_Str"),page.getFolders().dstDir + n + "String_Node_Str");
    page.getEpub().registerFile(n + "String_Node_Str","String_Node_Str" + resource.getName(),EPubManager.XHTML_TYPE);
  }
  if (!resource.getOperations().isEmpty()) {
    src=TextFile.fileToString(page.getFolders().srcDir + "String_Node_Str");
    TextFile.stringToFile(insertSectionNumbers(page.processResourceIncludes(n,resource,xml,tx,dict,src,mappings,mappingsList,"String_Node_Str",n + "String_Node_Str"),st,n + "String_Node_Str"),page.getFolders().dstDir + n + "String_Node_Str");
    page.getEpub().registerFile(n + "String_Node_Str","String_Node_Str" + resource.getName(),EPubManager.XHTML_TYPE);
    for (    Operation t : resource.getOperations().values()) {
      produceOperation(resource,t);
    }
    src=TextFile.fileToString(page.getFolders().srcDir + "String_Node_Str").replace("String_Node_Str","String_Node_Str");
    src=page.processResourceIncludes(n,resource,xml,tx,dict,src,mappings,mappingsList,"String_Node_Str",n + "String_Node_Str");
    cachePage(n + "String_Node_Str",src,"String_Node_Str" + resource.getName());
    src=TextFile.fileToString(page.getFolders().srcDir + "String_Node_Str").replace("String_Node_Str","String_Node_Str");
    src=page.processResourceIncludes(n,resource,xml,tx,dict,src,mappings,mappingsList,"String_Node_Str",n + "String_Node_Str");
    cachePage(n + "String_Node_Str",src,"String_Node_Str" + resource.getName());
  }
  tmp.delete();
  if (!isAbstract) {
    Profile p=generateProfile(resource,n,xml);
    if (!n.equals("String_Node_Str"))     generateQuestionnaire(n,p);
  }
}

Fixed version (ground truth):
private void produceResource2(ResourceDefn resource,boolean isAbstract) throws Exception {
  File tmp=Utilities.createTempFile("String_Node_Str","String_Node_Str");
  String n=resource.getName().toLowerCase();
  String xml=xmls.get(n);
  TerminologyNotesGenerator tgen=new TerminologyNotesGenerator(new FileOutputStream(tmp),page);
  tgen.generate(resource.getRoot(),page.getDefinitions().getBindings());
  tgen.close();
  String tx=TextFile.fileToString(tmp.getAbsolutePath());
  DictHTMLGenerator dgen=new DictHTMLGenerator(new FileOutputStream(tmp),page);
  dgen.generate(resource.getRoot());
  dgen.close();
  String dict=TextFile.fileToString(tmp.getAbsolutePath());
  MappingsGenerator mgen=new MappingsGenerator(page.getDefinitions());
  mgen.generate(resource);
  String mappings=mgen.getMappings();
  String mappingsList=mgen.getMappingsList();
  SvgGenerator svg=new SvgGenerator(page);
  svg.generate(resource,page.getFolders().dstDir + n + "String_Node_Str");
  for (  ConformancePackage ap : resource.getConformancePackages())   produceConformancePackage(resource.getName(),ap);
  Profile profile=(Profile)ResourceUtilities.getById(profileFeed,ResourceType.Profile,resource.getName());
  for (  Example e : resource.getExamples()) {
    try {
      processExample(e,resource.getName(),profile);
    }
 catch (    Exception ex) {
      throw new Exception("String_Node_Str" + e.getFileTitle(),ex);
    }
  }
  try {
    processQuestionnaire(resource,profile);
  }
 catch (  Exception e) {
    page.log("String_Node_Str" + e.getMessage(),LogMessageType.Error);
  }
  String prefix=page.getBreadCrumbManager().getIndexPrefixForReference(resource.getName());
  SectionTracker st=new SectionTracker(prefix);
  st.start("String_Node_Str");
  page.getSectionTrackerCache().put(n,st);
  String template=isAbstract ? "String_Node_Str" : "String_Node_Str";
  String src=TextFile.fileToString(page.getFolders().srcDir + template + "String_Node_Str");
  src=insertSectionNumbers(page.processResourceIncludes(n,resource,xml,tx,dict,src,mappings,mappingsList,"String_Node_Str",n + "String_Node_Str"),st,n + "String_Node_Str");
  TextFile.stringToFile(src,page.getFolders().dstDir + n + "String_Node_Str");
  String pages=page.getIni().getStringProperty("String_Node_Str",n);
  if (!Utilities.noString(pages)) {
    for (    String p : pages.split("String_Node_Str")) {
      producePage(p,n);
    }
  }
  src=TextFile.fileToString(page.getFolders().srcDir + template + "String_Node_Str");
  TextFile.stringToFile(insertSectionNumbers(page.processResourceIncludes(n,resource,xml,tx,dict,src,mappings,mappingsList,"String_Node_Str",n + "String_Node_Str"),st,n + "String_Node_Str"),page.getFolders().dstDir + n + "String_Node_Str");
  page.getEpub().registerFile(n + "String_Node_Str","String_Node_Str" + resource.getName(),EPubManager.XHTML_TYPE);
  if (!isAbstract) {
    src=TextFile.fileToString(page.getFolders().srcDir + "String_Node_Str");
    TextFile.stringToFile(insertSectionNumbers(page.processResourceIncludes(n,resource,xml,tx,dict,src,mappings,mappingsList,"String_Node_Str",n + "String_Node_Str"),st,n + "String_Node_Str"),page.getFolders().dstDir + n + "String_Node_Str");
    page.getEpub().registerFile(n + "String_Node_Str","String_Node_Str" + resource.getName(),EPubManager.XHTML_TYPE);
    src=TextFile.fileToString(page.getFolders().srcDir + "String_Node_Str");
    TextFile.stringToFile(insertSectionNumbers(page.processResourceIncludes(n,resource,xml,tx,dict,src,mappings,mappingsList,"String_Node_Str",n + "String_Node_Str"),st,n + "String_Node_Str"),page.getFolders().dstDir + n + "String_Node_Str");
    page.getEpub().registerFile(n + "String_Node_Str","String_Node_Str" + resource.getName(),EPubManager.XHTML_TYPE);
    src=TextFile.fileToString(page.getFolders().srcDir + "String_Node_Str");
    TextFile.stringToFile(insertSectionNumbers(page.processResourceIncludes(n,resource,xml,tx,dict,src,mappings,mappingsList,"String_Node_Str",n + "String_Node_Str"),st,n + "String_Node_Str"),page.getFolders().dstDir + n + "String_Node_Str");
    page.getEpub().registerFile(n + "String_Node_Str","String_Node_Str" + resource.getName(),EPubManager.XHTML_TYPE);
    src=TextFile.fileToString(page.getFolders().srcDir + "String_Node_Str");
    TextFile.stringToFile(insertSectionNumbers(page.processResourceIncludes(n,resource,xml,tx,dict,src,mappings,mappingsList,"String_Node_Str",n + "String_Node_Str"),st,n + "String_Node_Str"),page.getFolders().dstDir + n + "String_Node_Str");
    page.getEpub().registerFile(n + "String_Node_Str","String_Node_Str" + resource.getName(),EPubManager.XHTML_TYPE);
  }
  if (!resource.getOperations().isEmpty()) {
    src=TextFile.fileToString(page.getFolders().srcDir + "String_Node_Str");
    TextFile.stringToFile(insertSectionNumbers(page.processResourceIncludes(n,resource,xml,tx,dict,src,mappings,mappingsList,"String_Node_Str",n + "String_Node_Str"),st,n + "String_Node_Str"),page.getFolders().dstDir + n + "String_Node_Str");
    page.getEpub().registerFile(n + "String_Node_Str","String_Node_Str" + resource.getName(),EPubManager.XHTML_TYPE);
    for (    Operation t : resource.getOperations().values()) {
      produceOperation(resource,t);
    }
    src=TextFile.fileToString(page.getFolders().srcDir + "String_Node_Str").replace("String_Node_Str","String_Node_Str");
    src=page.processResourceIncludes(n,resource,xml,tx,dict,src,mappings,mappingsList,"String_Node_Str",n + "String_Node_Str");
    cachePage(n + "String_Node_Str",src,"String_Node_Str" + resource.getName());
    src=TextFile.fileToString(page.getFolders().srcDir + "String_Node_Str").replace("String_Node_Str","String_Node_Str");
    src=page.processResourceIncludes(n,resource,xml,tx,dict,src,mappings,mappingsList,"String_Node_Str",n + "String_Node_Str");
    cachePage(n + "String_Node_Str",src,"String_Node_Str" + resource.getName());
  }
  tmp.delete();
  if (!isAbstract) {
    Profile p=generateProfile(resource,n,xml);
    if (!n.equals("String_Node_Str"))     generateQuestionnaire(n,p);
  }
}