Program: 89676
Project: 89676
Buggy source:
/** 
 * @see DomainDAO#getDomainHarvestInfo(String)
 */
public List<DomainHarvestInfo> getDomainHarvestInfo(String domainName){
  ArgumentNotValid.checkNotNullOrEmpty(domainName,"String_Node_Str");
  Connection c=HarvestDBConnection.get();
  PreparedStatement s=null;
  final ArrayList<DomainHarvestInfo> domainHarvestInfos=new ArrayList<DomainHarvestInfo>();
  try {
    s=c.prepareStatement("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"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str");
    s.setString(1,domainName);
    ResultSet res=s.executeQuery();
    while (res.next()) {
      final int jobID=res.getInt(1);
      final String harvestName=res.getString(2);
      final int harvestID=res.getInt(3);
      final int harvestNum=res.getInt(4);
      final String configName=res.getString(5);
      final Date startDate=DBUtils.getDateMaybeNull(res,6);
      final Date endDate=DBUtils.getDateMaybeNull(res,7);
      final long objectCount=res.getLong(8);
      final long byteCount=res.getLong(9);
      final StopReason reason=StopReason.getStopReason(res.getInt(10));
      domainHarvestInfos.add(new DomainHarvestInfo(domainName,jobID,harvestName,harvestID,harvestNum,configName,startDate,endDate,byteCount,objectCount,reason));
    }
    return domainHarvestInfos;
  }
 catch (  SQLException e) {
    String message="String_Node_Str" + domainName + "String_Node_Str"+ ExceptionUtils.getSQLExceptionCause(e);
    log.warn(message,e);
    throw new IOFailure(message,e);
  }
 finally {
    HarvestDBConnection.release(c);
  }
}

Fixed version (ground truth):
/** 
 * @see DomainDAO#getDomainHarvestInfo(String)
 */
@Override public List<DomainHarvestInfo> getDomainHarvestInfo(String domainName){
  ArgumentNotValid.checkNotNullOrEmpty(domainName,"String_Node_Str");
  Connection c=HarvestDBConnection.get();
  PreparedStatement s=null;
  final ArrayList<DomainHarvestInfo> domainHarvestInfos=new ArrayList<DomainHarvestInfo>();
  try {
    s=c.prepareStatement("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"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str");
    s.setString(1,domainName);
    ResultSet res=s.executeQuery();
    while (res.next()) {
      final int jobID=res.getInt(1);
      final String harvestName=res.getString(2);
      final int harvestID=res.getInt(3);
      final int harvestNum=res.getInt(4);
      final String configName=res.getString(5);
      final Date startDate=DBUtils.getDateMaybeNull(res,6);
      final Date endDate=DBUtils.getDateMaybeNull(res,7);
      final long objectCount=res.getLong(8);
      final long byteCount=res.getLong(9);
      final StopReason reason=StopReason.getStopReason(res.getInt(10));
      domainHarvestInfos.add(new DomainHarvestInfo(domainName,jobID,harvestName,harvestID,harvestNum,configName,startDate,endDate,byteCount,objectCount,reason));
    }
    return domainHarvestInfos;
  }
 catch (  SQLException e) {
    String message="String_Node_Str" + domainName + "String_Node_Str"+ ExceptionUtils.getSQLExceptionCause(e);
    log.warn(message,e);
    throw new IOFailure(message,e);
  }
 finally {
    HarvestDBConnection.release(c);
  }
}