/** * Updates column hint values by given axis attributes. * * @param outputAttrs the latest axis attributes * @param cachedOutputAttrs the last(cached) axis attributes * @param newHint the column hint */ private static void updateColumnHintFromAxisAttrs( AxisAttributes axisAttributes, AxisAttributes cachedAxisAttributes, ColumnHint newHint) { if (axisAttributes == null) return; Object newValue = axisAttributes.getAxisType(); Object oldValue = cachedAxisAttributes == null ? null : cachedAxisAttributes.getAxisType(); if (!CompareUtil.isEquals(oldValue, newValue)) { newHint.setProperty( ColumnHint.ANALYSIS_MEMBER, convertAxisTypeToAnalysisType((AxisType) newValue)); } newValue = axisAttributes.isOnColumnLayout(); oldValue = cachedAxisAttributes == null ? null : cachedAxisAttributes.isOnColumnLayout(); if (!CompareUtil.isEquals(oldValue, newValue)) { newHint.setProperty(ColumnHint.ON_COLUMN_LAYOUT_MEMBER, newValue); } newValue = axisAttributes.getRelatedColumns(); oldValue = cachedAxisAttributes == null ? null : cachedAxisAttributes.getRelatedColumns(); if (!CompareUtil.isEquals(oldValue, newValue)) { String analysisColumnName = null; DataElementIdentifiers columns = ((ResultSubset) newValue).getColumnIdentifiers(); if (columns != null && !columns.getIdentifiers().isEmpty()) analysisColumnName = columns.getIdentifiers().get(0).getName(); newHint.setProperty(ColumnHint.ANALYSIS_COLUMN_MEMBER, analysisColumnName); } }
/* (non-Javadoc) * @see org.eclipse.datatools.connectivity.oda.design.ResultSubset#addColumnIdentifier(org.eclipse.datatools.connectivity.oda.design.DataElementIdentifier) * @generated NOT */ public void addColumnIdentifier(DataElementIdentifier columnIdentifier) { if (columnIdentifier == null) return; // nothing to add DataElementIdentifiers columns = getColumnIdentifiers(); if (columns == null) { columns = DesignFactory.eINSTANCE.createDataElementIdentifiers(); setColumnIdentifiers(columns); } columns.getIdentifiers().add(columnIdentifier); }