Program: 49364
Project: 49364
Buggy source:
/** 
 * Migrates product data. Must be called per-org.
 * @param orgid The id of the owner/organization for which to migrate product data
 */
@SuppressWarnings("String_Node_Str") private void migrateProductData(String orgid) throws DatabaseException, SQLException {
  Map<String,String> contentCache=new HashMap<String,String>();
  this.logger.info("String_Node_Str" + orgid);
  ResultSet productids=this.executeQuery("String_Node_Str" + "String_Node_Str" + "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str",orgid,orgid,orgid);
  while (productids.next()) {
    String productid=productids.getString(1);
    String productuuid=this.generateUUID();
    this.logger.info(String.format("String_Node_Str",orgid,productid,productuuid));
    this.executeUpdate("String_Node_Str" + "String_Node_Str" + "String_Node_Str",productuuid,orgid,productid,productid);
    this.executeUpdate("String_Node_Str" + "String_Node_Str" + "String_Node_Str",productuuid,productid);
    this.executeUpdate("String_Node_Str" + "String_Node_Str" + "String_Node_Str",productuuid,productid);
    ResultSet attributes=this.executeQuery("String_Node_Str" + "String_Node_Str",productid);
    while (attributes.next()) {
      this.executeUpdate("String_Node_Str" + "String_Node_Str" + "String_Node_Str",this.generateUUID(),attributes.getDate(2),attributes.getDate(3),attributes.getString(4),attributes.getString(5),productuuid);
    }
    attributes.close();
    ResultSet certificates=this.executeQuery("String_Node_Str" + "String_Node_Str",productid);
    while (certificates.next()) {
      this.executeUpdate("String_Node_Str" + "String_Node_Str" + "String_Node_Str",this.generateUUID(),certificates.getDate(2),certificates.getDate(3),certificates.getBytes(4),certificates.getBytes(5),productuuid);
    }
    certificates.close();
    this.executeUpdate("String_Node_Str" + "String_Node_Str" + "String_Node_Str",productuuid,productid);
    this.executeUpdate("String_Node_Str" + "String_Node_Str" + "String_Node_Str",productuuid,productid,orgid);
    this.executeUpdate("String_Node_Str" + "String_Node_Str" + "String_Node_Str",productuuid,productid,orgid);
    ResultSet contentids=this.executeQuery("String_Node_Str",productid);
    while (contentids.next()) {
      String contentid=contentids.getString(1);
      String contentuuid=contentCache.get(contentid);
      if (contentuuid == null) {
        contentuuid=this.generateUUID();
        contentCache.put(contentid,contentuuid);
        this.executeUpdate("String_Node_Str" + "String_Node_Str" + "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str",contentuuid,orgid,contentid);
        this.executeUpdate("String_Node_Str" + "String_Node_Str" + "String_Node_Str"+ "String_Node_Str",contentuuid,contentid);
        ResultSet content=this.executeQuery("String_Node_Str" + "String_Node_Str",contentid);
        while (content.next()) {
          this.executeUpdate("String_Node_Str" + "String_Node_Str" + "String_Node_Str",this.generateUUID(),content.getDate(2),content.getDate(3),contentuuid,content.getBoolean(5),content.getString(6));
        }
        content.close();
      }
      this.executeUpdate("String_Node_Str" + "String_Node_Str" + "String_Node_Str",productuuid,contentuuid,productid,contentid);
    }
    contentids.close();
  }
  productids.close();
}

Fixed version (ground truth):
/** 
 * Migrates product data. Must be called per-org.
 * @param orgid The id of the owner/organization for which to migrate product data
 */
@SuppressWarnings("String_Node_Str") private void migrateProductData(String orgid) throws DatabaseException, SQLException {
  Map<String,String> contentCache=new HashMap<String,String>();
  this.logger.info("String_Node_Str" + orgid);
  ResultSet productids=this.executeQuery("String_Node_Str" + "String_Node_Str" + "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str",orgid,orgid,orgid);
  while (productids.next()) {
    String productid=productids.getString(1);
    String productuuid=Util.generateDbUUID();
    this.logger.info(String.format("String_Node_Str",orgid,productid,productuuid));
    this.executeUpdate("String_Node_Str" + "String_Node_Str" + "String_Node_Str",productuuid,orgid,productid,productid);
    this.executeUpdate("String_Node_Str" + "String_Node_Str" + "String_Node_Str",productuuid,productid);
    this.executeUpdate("String_Node_Str" + "String_Node_Str" + "String_Node_Str",productuuid,productid);
    ResultSet attributes=this.executeQuery("String_Node_Str" + "String_Node_Str",productid);
    while (attributes.next()) {
      this.executeUpdate("String_Node_Str" + "String_Node_Str" + "String_Node_Str",Util.generateDbUUID(),attributes.getDate(2),attributes.getDate(3),attributes.getString(4),attributes.getString(5),productuuid);
    }
    attributes.close();
    ResultSet certificates=this.executeQuery("String_Node_Str" + "String_Node_Str",productid);
    while (certificates.next()) {
      this.executeUpdate("String_Node_Str" + "String_Node_Str" + "String_Node_Str",Util.generateDbUUID(),certificates.getDate(2),certificates.getDate(3),certificates.getBytes(4),certificates.getBytes(5),productuuid);
    }
    certificates.close();
    this.executeUpdate("String_Node_Str" + "String_Node_Str" + "String_Node_Str",productuuid,productid);
    this.executeUpdate("String_Node_Str" + "String_Node_Str" + "String_Node_Str",productuuid,productid,orgid);
    this.executeUpdate("String_Node_Str" + "String_Node_Str" + "String_Node_Str",productuuid,productid,orgid);
    ResultSet contentids=this.executeQuery("String_Node_Str",productid);
    while (contentids.next()) {
      String contentid=contentids.getString(1);
      String contentuuid=contentCache.get(contentid);
      if (contentuuid == null) {
        contentuuid=Util.generateDbUUID();
        contentCache.put(contentid,contentuuid);
        this.executeUpdate("String_Node_Str" + "String_Node_Str" + "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str",contentuuid,orgid,contentid);
        this.executeUpdate("String_Node_Str" + "String_Node_Str" + "String_Node_Str"+ "String_Node_Str",contentuuid,contentid);
        ResultSet content=this.executeQuery("String_Node_Str" + "String_Node_Str",contentid);
        while (content.next()) {
          this.executeUpdate("String_Node_Str" + "String_Node_Str" + "String_Node_Str",Util.generateDbUUID(),content.getDate(2),content.getDate(3),contentuuid,content.getBoolean(5),content.getString(6));
        }
        content.close();
      }
      this.executeUpdate("String_Node_Str" + "String_Node_Str" + "String_Node_Str",productuuid,contentuuid,productid,contentid);
    }
    contentids.close();
  }
  productids.close();
}