/** * searches the category for a specific column id. * * @param columnId * column to search for * * @return logical column object if found */ public LogicalColumn findLogicalColumn( String columnId ) { for ( LogicalColumn col : getLogicalColumns() ) { if ( columnId.equals( col.getId() ) ) { return col; } } return null; }
/** * finds a logical column within the model. * * @param columnId the column to find * @return a logical column object. */ public LogicalColumn findLogicalColumnInCategories( String columnId ) { for ( Category cat : getCategories() ) { for ( LogicalColumn column : cat.getLogicalColumns() ) { if ( columnId.equals( column.getId() ) ) { return column; } } } return null; }
catiter.remove(); } else { Iterator<LogicalColumn> coliter = category.getLogicalColumns().iterator(); while ( coliter.hasNext() ) { LogicalColumn col = coliter.next();
/** * Creates a lightweight, serializable category objects from a logical model category * * @param m * @param c * @return */ private Category createCategory( LogicalModel m, org.pentaho.metadata.model.Category c ) { // create a thin category object Category cat = new Category(); cat.setName( c.getName( getLocale() ) ); cat.setId( c.getId() ); List<Column> columns = new ArrayList<Column>(); for ( LogicalColumn col : c.getLogicalColumns() ) { columns.add( createColumn( m, col, c ) ); } cat.setColumns( columns.toArray( new Column[ columns.size() ] ) ); return cat; }
@Override public Object clone() { Category clone = new Category(); // shallow copies clone( clone ); clone.setParent( getParent() ); // deep copies clone.setLogicalColumns( new ArrayList<LogicalColumn>() ); for ( LogicalColumn col : getLogicalColumns() ) { clone.addLogicalColumn( col ); } return clone; } }
/** * This is a utility method that looks into an old domain for the same column ids, and then copies over the old * metadata into the new. * * @param oldDomain * @param newDomain */ public void copyOverMetadata( Domain oldDomain, Domain newDomain ) { Category category = newDomain.getLogicalModels().get( 0 ).getCategories().get( 0 ); LogicalModel oldModel = oldDomain.getLogicalModels().get( 0 ); for ( LogicalColumn column : category.getLogicalColumns() ) { LogicalColumn oldColumn = oldModel.findLogicalColumn( column.getId() ); if ( oldColumn != null ) { column.setDataType( oldColumn.getDataType() ); column.setName( oldColumn.getName() ); column.setAggregationList( oldColumn.getAggregationList() ); column.setAggregationType( oldColumn.getAggregationType() ); } } }
Element cOwnedElement = doc.createElement( "CWM:Namespace.ownedElement" ); //$NON-NLS-1$ extent.appendChild( cOwnedElement ); for ( LogicalColumn col : category.getLogicalColumns() ) { Element attribute = doc.createElement( "CWM:Attribute" ); //$NON-NLS-1$ attribute.setAttribute( "name", col.getId() ); //$NON-NLS-1$
BaseModelerWorkspaceHelper.getCleanCategoryName( cat.getName( workspaceHelper.getLocale() ), this, i++ ); CategoryMetaData catMeta = new CategoryMetaData( catName ); for ( LogicalColumn col : cat.getLogicalColumns() ) { LogicalTable table = col.getLogicalTable();
for ( LogicalColumn col : category.getLogicalColumns() ) { if ( col.getId().equals( column.getId() ) ) { view = category;
category.getLogicalColumns().add( logicalModel.findLogicalColumn( businessColumn.getId() ) );
BusinessCategory cat = new BusinessCategory(); convertConceptToLegacy( category, cat ); for ( LogicalColumn column : category.getLogicalColumns() ) { BusinessColumn col = model.findBusinessColumn( column.getId() ); cat.addBusinessColumn( col );
tableNode.addElement( "view_description" ).setText( category.getDescription( locale ) ); //$NON-NLS-1$ for ( LogicalColumn column : category.getLogicalColumns() ) { Boolean hidden = (Boolean) column.getProperty( "hidden" ); //$NON-NLS-1$ if ( hidden != null && hidden ) {