Example #1
0
  /**
   * Returns the rom data type in string.
   *
   * @param dataSourceId the id of the data source
   * @param dataSetId the ide of the data set
   * @param column the rom data set parameter
   * @param setHandleParams params defined in data set handle
   * @return the rom data type in string
   */
  private String getROMDataType(String dataSourceId, String dataSetId, OdaResultSetColumn column) {
    String name = column.getNativeName();
    Integer position = column.getPosition();
    Integer nativeDataType = column.getNativeDataType();

    OdaResultSetColumnHandle tmpParam =
        findOdaResultSetColumn(setDefinedResults.iterator(), name, position, nativeDataType);

    if (tmpParam == null)
      return AdapterUtil.convertNativeTypeToROMDataType(
          dataSourceId, dataSetId, column.getNativeDataType().intValue(), null);

    Integer tmpPosition = tmpParam.getPosition();
    if (tmpPosition == null)
      return AdapterUtil.convertNativeTypeToROMDataType(
          dataSourceId, dataSetId, column.getNativeDataType().intValue(), null);

    if (!tmpPosition.equals(column.getPosition()))
      return AdapterUtil.convertNativeTypeToROMDataType(
          dataSourceId, dataSetId, column.getNativeDataType().intValue(), null);

    Integer tmpNativeCodeType = tmpParam.getNativeDataType();
    if (tmpNativeCodeType == null || tmpNativeCodeType.equals(column.getNativeDataType()))
      return tmpParam.getDataType();

    String oldDataType = tmpParam.getDataType();
    return AdapterUtil.convertNativeTypeToROMDataType(
        dataSourceId, dataSetId, column.getNativeDataType().intValue(), oldDataType);
  }