Example #1
0
  /**
   * Remove old temp computed column metadatas from cache file and add new metadatas.
   *
   * @throws DataException
   */
  private void processResultClass() throws DataException {
    List metadataList = new ArrayList();
    this.realColumnCount = 0;

    ResultFieldMetadata metadata = null;
    int i = 0;
    for (i = 0; i < rsMeta.getFieldCount(); i++) {
      if (!isTempComputedColumn(rsMeta.getFieldName(i + 1))) {
        metadata =
            new ResultFieldMetadata(
                0,
                rsMeta.getFieldName(i + 1),
                rsMeta.getFieldLabel(i + 1),
                rsMeta.getFieldValueClass(i + 1),
                rsMeta.getFieldNativeTypeName(i + 1),
                rsMeta.isCustomField(i + 1),
                rsMeta.getAnalysisType(i + 1),
                rsMeta.getAnalysisColumn(i + 1),
                rsMeta.isIndexColumn(i + 1),
                rsMeta.isCompressedColumn(i + 1));
        metadata.setAlias(rsMeta.getFieldAlias(i + 1));
        metadataList.add(metadata);
        realColumnCount++;
      }
    }

    ComputedColumn tempComputedColumn = null;
    for (i = 0; i < addedTempComputedColumn.size(); i++) {
      tempComputedColumn = (ComputedColumn) (addedTempComputedColumn.get(i));
      metadata =
          new ResultFieldMetadata(
              0,
              tempComputedColumn.getName(),
              null,
              DataType.getClass(tempComputedColumn.getDataType()),
              null,
              true,
              -1);
      metadataList.add(metadata);
    }

    rsMeta = new ResultClass(metadataList);
  }