Program: 81756
Project: 81756
Buggy source:
/** 
 * Get the information from the REST service of linking
 * @throws IOException
 * @see
 * @since 1.0
 */
private void getInfo() throws IOException {
  HttpSession session=ServletActionContext.getRequest().getSession();
  setState((int)session.getAttribute("String_Node_Str"));
  Locale locale=(Locale)session.getAttribute("String_Node_Str");
  if (locale == null) {
    locale=Locale.ROOT;
  }
  SimpleDateFormat dateFormatIn=new SimpleDateFormat("String_Node_Str");
  SimpleDateFormat dateFormatOut=new SimpleDateFormat("String_Node_Str",locale);
  int linkingJobId=(int)session.getAttribute("String_Node_Str");
  URL url=new URL("String_Node_Str" + linkingJobId);
  HttpURLConnection conn=(HttpURLConnection)url.openConnection();
  conn.setRequestMethod("String_Node_Str");
  conn.setRequestProperty("String_Node_Str","String_Node_Str");
  if (conn.getResponseCode() != 202) {
    logger.error(MessageCatalog._00015_HTTP_ERROR_CODE + conn.getResponseCode());
  }
  try {
    BufferedReader reader=new BufferedReader(new InputStreamReader(conn.getInputStream()));
    JSONParser parser=new JSONParser();
    JSONObject jsonObject=(JSONObject)parser.parse(reader);
    JSONArray subjobs=(JSONArray)jsonObject.get("String_Node_Str");
    Iterator i=subjobs.iterator();
    HashMap<String,String> datasets=new HashMap<String,String>();
    while (i.hasNext()) {
      JSONObject innerObj=(JSONObject)i.next();
      String name=(String)innerObj.get("String_Node_Str");
      Long numLinksDataset=(Long)innerObj.get("String_Node_Str");
      datasets.put(name,numLinksDataset.toString());
    }
    this.setDatasets(datasets);
    Long numLinks=(Long)jsonObject.get("String_Node_Str");
    setNumLinks(numLinks.toString());
    String startDate=(String)jsonObject.get("String_Node_Str");
    if (startDate != null) {
      this.setStartDate(dateFormatOut.format(dateFormatIn.parse(startDate)));
    }
    String endDate=(String)jsonObject.get("String_Node_Str");
    if (endDate != null) {
      this.setEndDate(dateFormatOut.format(dateFormatIn.parse(endDate)));
    }
    String status=(String)jsonObject.get("String_Node_Str");
    if (status.equals("String_Node_Str")) {
      setStatus(getText("String_Node_Str"));
    }
 else     if (status.equals("String_Node_Str")) {
      setStatus(getText("String_Node_Str"));
    }
 else     if (status.equals("String_Node_Str")) {
      if (state == 4) {
        session.setAttribute("String_Node_Str",5);
      }
 else {
        session.setAttribute("String_Node_Str",3);
      }
      setStatus(getText("String_Node_Str"));
      setState((int)session.getAttribute("String_Node_Str"));
    }
  }
 catch (  Exception e) {
    logger.error(MessageCatalog._00016_ERROR_READING_XML,e);
    conn.disconnect();
  }
  conn.disconnect();
}

Fixed version (ground truth):
/** 
 * Get the information from the REST service of linking
 * @throws IOException
 * @see
 * @since 1.0
 */
private void getInfo() throws IOException {
  HttpSession session=ServletActionContext.getRequest().getSession();
  setState((int)session.getAttribute("String_Node_Str"));
  Locale locale=(Locale)session.getAttribute("String_Node_Str");
  if (locale == null) {
    locale=Locale.ROOT;
  }
  SimpleDateFormat dateFormatIn=new SimpleDateFormat("String_Node_Str");
  SimpleDateFormat dateFormatOut=new SimpleDateFormat("String_Node_Str",locale);
  int linkingJobId=(int)session.getAttribute("String_Node_Str");
  URL url=new URL("String_Node_Str" + linkingJobId);
  HttpURLConnection conn=(HttpURLConnection)url.openConnection();
  conn.setRequestMethod("String_Node_Str");
  conn.setRequestProperty("String_Node_Str","String_Node_Str");
  if (conn.getResponseCode() != 202) {
    logger.error(MessageCatalog._00015_HTTP_ERROR_CODE + conn.getResponseCode());
  }
  try {
    BufferedReader reader=new BufferedReader(new InputStreamReader(conn.getInputStream()));
    JSONParser parser=new JSONParser();
    JSONObject jsonObject=(JSONObject)parser.parse(reader);
    JSONArray subjobs=(JSONArray)jsonObject.get("String_Node_Str");
    Iterator i=subjobs.iterator();
    HashMap<String,String> datasets=new HashMap<String,String>();
    while (i.hasNext()) {
      JSONObject innerObj=(JSONObject)i.next();
      String name=(String)innerObj.get("String_Node_Str");
      Long numLinksDataset=(Long)innerObj.get("String_Node_Str");
      datasets.put(name,numLinksDataset.toString());
    }
    this.setDatasets(datasets);
    Long numLinks=(Long)jsonObject.get("String_Node_Str");
    setNumLinks(numLinks.toString());
    String startDate=(String)jsonObject.get("String_Node_Str");
    if (startDate != null) {
      this.setStartDate(dateFormatOut.format(dateFormatIn.parse(startDate)));
    }
    String endDate=(String)jsonObject.get("String_Node_Str");
    if (endDate != null) {
      this.setEndDate(dateFormatOut.format(dateFormatIn.parse(endDate)));
    }
    String status=(String)jsonObject.get("String_Node_Str");
    if (status.equals("String_Node_Str")) {
      setStatus(getText("String_Node_Str"));
    }
 else     if (status.equals("String_Node_Str")) {
      setStatus(getText("String_Node_Str"));
    }
 else     if (status.equals("String_Node_Str")) {
      if (state == 4) {
        session.setAttribute("String_Node_Str",5);
      }
 else       if (state != 5) {
        session.setAttribute("String_Node_Str",3);
      }
      setStatus(getText("String_Node_Str"));
      setState((int)session.getAttribute("String_Node_Str"));
    }
  }
 catch (  Exception e) {
    logger.error(MessageCatalog._00016_ERROR_READING_XML,e);
    conn.disconnect();
  }
  conn.disconnect();
}