Program: 76466
Project: 76466
Buggy source:
/** 
 * Converts an ODA data type code to the Java class of its corresponding Data Engine ODI data type. <br><br> <b>ODA Data Type -> ODI Type Class</b><br> <i>Integer -> java.lang.Integer<br> Double -> java.lang.Double<br> Character -> java.lang.String<br> Decimal -> java.math.BigDecimal<br> Date -> java.util.Date<br> Time -> java.sql.Time<br> Timestamp -> java.sql.Timestamp<br> Blob -> java.sql.Blob<br> Clob -> java.sql.Clob<br> Boolean -> java.lang.Boolean<br></i>
 * @param odaDataTypeCode   an ODA data type code
 * @return  the ODI type class that corresponds with the specified ODA data type
 * @throws BirtException if the specified ODA data type is not a supported type
 */
public static Class toOdiTypeClass(int odaDataTypeCode) throws BirtException {
  if (odaDataTypeCode != Types.CHAR && odaDataTypeCode != Types.INTEGER && odaDataTypeCode != Types.DOUBLE && odaDataTypeCode != Types.DECIMAL && odaDataTypeCode != Types.DATE && odaDataTypeCode != Types.TIME && odaDataTypeCode != Types.TIMESTAMP && odaDataTypeCode != Types.BLOB && odaDataTypeCode != Types.CLOB && odaDataTypeCode != Types.BOOLEAN && odaDataTypeCode != Types.NULL) {
    throw new CoreException(ResourceConstants.INVALID_TYPE);
  }
  Class fieldClass=null;
switch (odaDataTypeCode) {
case Types.CHAR:
    fieldClass=String.class;
  break;
case Types.INTEGER:
fieldClass=Integer.class;
break;
case Types.DOUBLE:
fieldClass=Double.class;
break;
case Types.DECIMAL:
fieldClass=BigDecimal.class;
break;
case Types.DATE:
fieldClass=Date.class;
break;
case Types.TIME:
fieldClass=Time.class;
break;
case Types.TIMESTAMP:
fieldClass=Timestamp.class;
break;
case Types.BLOB:
fieldClass=Blob.class;
break;
case Types.CLOB:
fieldClass=Clob.class;
break;
case Types.BOOLEAN:
fieldClass=Boolean.class;
break;
case Types.NULL:
fieldClass=null;
break;
}
return fieldClass;
}

Fixed version (ground truth):
/** 
 * Converts an ODA data type code to the Java class of its corresponding Data Engine ODI data type. <br><br> <b>ODA Data Type -> ODI Type Class</b><br> <i>Integer -> java.lang.Integer<br> Double -> java.lang.Double<br> Character -> java.lang.String<br> Decimal -> java.math.BigDecimal<br> Date -> java.util.Date<br> Time -> java.sql.Time<br> Timestamp -> java.sql.Timestamp<br> Blob -> java.sql.Blob<br> Clob -> java.sql.Clob<br> Boolean -> java.lang.Boolean<br></i>
 * @param odaDataTypeCode   an ODA data type code
 * @return  the ODI type class that corresponds with the specified ODA data type
 * @throws BirtException if the specified ODA data type is not a supported type
 */
public static Class toOdiTypeClass(int odaDataTypeCode) throws BirtException {
  if (odaDataTypeCode != Types.CHAR && odaDataTypeCode != Types.INTEGER && odaDataTypeCode != Types.DOUBLE && odaDataTypeCode != Types.DECIMAL && odaDataTypeCode != Types.DATE && odaDataTypeCode != Types.TIME && odaDataTypeCode != Types.TIMESTAMP && odaDataTypeCode != Types.BLOB && odaDataTypeCode != Types.CLOB && odaDataTypeCode != Types.BOOLEAN && odaDataTypeCode != Types.NULL) {
    throw new CoreException(ResourceConstants.INVALID_TYPE);
  }
  Class fieldClass=null;
switch (odaDataTypeCode) {
case Types.CHAR:
    fieldClass=String.class;
  break;
case Types.INTEGER:
fieldClass=Integer.class;
break;
case Types.DOUBLE:
fieldClass=Double.class;
break;
case Types.DECIMAL:
fieldClass=BigDecimal.class;
break;
case Types.DATE:
fieldClass=java.sql.Date.class;
break;
case Types.TIME:
fieldClass=Time.class;
break;
case Types.TIMESTAMP:
fieldClass=Timestamp.class;
break;
case Types.BLOB:
fieldClass=Blob.class;
break;
case Types.CLOB:
fieldClass=Clob.class;
break;
case Types.BOOLEAN:
fieldClass=Boolean.class;
break;
case Types.NULL:
fieldClass=null;
break;
}
return fieldClass;
}