private LogicalColumn findBusinessColumn( LogicalTable logicalTable, String columnName ) { for ( LogicalColumn logicalColumn : logicalTable.getLogicalColumns() ) { if ( columnName.equals( ( (SqlPhysicalColumn) logicalColumn.getPhysicalColumn() ).getTargetColumn() ) ) { return logicalColumn; } } return null; }
/** * finds a logical column within the model. * * @param columnId the column to find * @return a logical column object. */ public LogicalColumn findLogicalColumn( String columnId ) { for ( LogicalTable table : getLogicalTables() ) { for ( LogicalColumn column : table.getLogicalColumns() ) { if ( columnId.equals( column.getId() ) ) { return column; } } } return null; }
public LogicalColumn findLogicalColumn( String id ) { LogicalColumn col = null; for ( LogicalColumn c : getLogicalModel( currentModelerPerspective ).getLogicalTables().get( 0 ) .getLogicalColumns() ) { if ( c.getName( workspaceHelper.getLocale() ).equals( id ) ) { col = c; break; } } return col; }
protected void removeLogicalColumnFromParentTable( ColumnBackedNode node ) { LogicalColumn lCol = node.getLogicalColumn(); if ( lCol != null && lCol.getLogicalTable() != null ) { LogicalTable lTab = lCol.getLogicalTable(); lTab.getLogicalColumns().remove( lCol ); } }
tbliter.remove(); } else { Iterator<LogicalColumn> coliter = table.getLogicalColumns().iterator(); while ( coliter.hasNext() ) { LogicalColumn col = coliter.next();
protected static LogicalColumn findCorrespondingOlapColumn( LogicalColumn relationalColumn, LogicalModel olapModel ) { LogicalTable olapTable = findCorrespondingOlapTable( relationalColumn.getLogicalTable(), olapModel ); if ( olapTable != null ) { for ( LogicalColumn col : olapTable.getLogicalColumns() ) { if ( col.getPhysicalColumn().getId().equals( relationalColumn.getPhysicalColumn().getId() ) ) { return col; } } } return null; }
for ( LogicalColumn col : table.getLogicalColumns() ) { LocalizedString name = col.getName(); if ( name != null && contextName.equals( name.getString( locale ) ) ) { for ( LogicalColumn col : table.getLogicalColumns() ) { if ( contextName.equals( col.getProperty( SqlPhysicalColumn.TARGET_COLUMN ) ) ) { c = col;
protected LogicalColumn locateLogicalColumn( final ModelerWorkspace workspace, final String columnName ) { String locale = workspace.getWorkspaceHelper().getLocale(); LogicalModel logicalModel = workspace.getLogicalModel( ModelerPerspective.ANALYSIS ); logicalModel.getLogicalTables(); for ( LogicalTable logicalTable : logicalModel.getLogicalTables() ) { for ( LogicalColumn logicalColumn : logicalTable.getLogicalColumns() ) { if ( logicalColumn.getName( locale ).equalsIgnoreCase( columnName ) || logicalColumn.getName( locale ).equalsIgnoreCase( beautify( columnName ) ) ) { return logicalColumn; } } } return null; }
@Override public void clearTreeModel() { workspace.setRelationalModelIsChanging( true ); // remove all logical columns from existing logical tables for ( LogicalTable table : workspace.getLogicalModel( ModelerPerspective.REPORTING ).getLogicalTables() ) { table.getLogicalColumns().clear(); } workspace.getRelationalModel().getCategories().clear(); workspace.setRelationalModelIsChanging( false, true ); }
public LogicalColumn findLogicalColumn( IPhysicalColumn column, ModelerPerspective perspective ) { LogicalColumn col = null; IPhysicalTable physicalTable = column.getPhysicalTable(); LogicalModel logicalModel = this.getLogicalModel( perspective ); if ( logicalModel == null ) { return col; } for ( LogicalTable table : logicalModel.getLogicalTables() ) { if ( table.getPhysicalTable().getId().equals( physicalTable.getId() ) ) { if ( ( perspective == ModelerPerspective.ANALYSIS && table.getId().endsWith( BaseModelerWorkspaceHelper.OLAP_SUFFIX ) ) || ( perspective == ModelerPerspective.REPORTING && !table.getId().endsWith( BaseModelerWorkspaceHelper.OLAP_SUFFIX ) ) ) { for ( LogicalColumn lCol : table.getLogicalColumns() ) { if ( lCol.getPhysicalColumn().getId().equals( column.getId() ) ) { return lCol; } } } } } return col; }
private void addFieldsToTables( Domain domain, AbstractModelList<JoinTableModel> availableTables ) { String locale = LocalizedString.DEFAULT_LOCALE; Outter: for ( JoinTableModel table : availableTables ) { for ( LogicalTable tbl : domain.getLogicalModels().get( 0 ).getLogicalTables() ) { if ( tbl.getPhysicalTable().getProperty( "target_table" ).equals( table.getName() ) ) { for ( LogicalColumn col : tbl.getLogicalColumns() ) { JoinFieldModel field = new JoinFieldModel(); field.setName( col.getName( locale ) ); field.setParentTable( table ); table.getFields().add( field ); } continue Outter; } } } }
protected void populateCategories( ModelerWorkspace workspace ) { RelationalModelNode model = workspace.getRelationalModel(); LogicalModel logicalModel = workspace.getDomain().getLogicalModels().get( 0 ); logicalModel.getCategories().clear(); for ( CategoryMetaData catMeta : model.getCategories() ) { Category cat = new Category(); cat.setName( new LocalizedString( this.getLocale(), catMeta.getName() ) ); cat.setId( catMeta.getName() ); for ( FieldMetaData fieldMeta : catMeta ) { LogicalColumn lCol = fieldMeta.getLogicalColumn(); LogicalTable lTable = lCol.getLogicalTable(); if ( !lTable.getLogicalColumns().contains( lCol ) ) { lTable.addLogicalColumn( lCol ); } lCol.setName( new LocalizedString( locale, fieldMeta.getName() ) ); AggregationType type = fieldMeta.getDefaultAggregation(); lCol.setAggregationType( type ); setLogicalColumnFormat( fieldMeta.getFormat(), lCol ); Set<AggregationType> possibleAggs = new HashSet<AggregationType>(); possibleAggs.add( fieldMeta.getDefaultAggregation() ); possibleAggs.addAll( fieldMeta.getSelectedAggregations() ); lCol.setAggregationList( Arrays.<AggregationType>asList( possibleAggs .toArray( new AggregationType[possibleAggs.size()] ) ) ); cat.addLogicalColumn( lCol ); } logicalModel.addCategory( cat ); } }
protected void doInputWiring( Query query, TransMeta transMeta ) { // // CSV FILE LOCATION AND FIELDS // InlineEtlPhysicalModel physicalModel = (InlineEtlPhysicalModel) query.getLogicalModel().getPhysicalModel(); CsvInputMeta csvinput = (CsvInputMeta) getStepMeta( transMeta, "CSV file input" ).getStepMetaInterface(); //$NON-NLS-1$ // the file name might need to be translated to the correct location here if ( csvFileLoc != null ) { csvinput.setFilename( csvFileLoc + physicalModel.getFileLocation() ); } else { csvinput.setFilename( physicalModel.getFileLocation() ); } csvinput.setDelimiter( physicalModel.getDelimiter() ); csvinput.setEnclosure( physicalModel.getEnclosure() ); csvinput.setHeaderPresent( physicalModel.getHeaderPresent() ); // update fields LogicalTable table = query.getLogicalModel().getLogicalTables().get( 0 ); csvinput.allocate( table.getLogicalColumns().size() ); for ( int i = 0; i < csvinput.getInputFields().length; i++ ) { // Update csv input LogicalColumn col = table.getLogicalColumns().get( i ); csvinput.getInputFields()[i] = new TextFileInputField(); String fieldName = (String) col.getProperty( InlineEtlPhysicalColumn.FIELD_NAME ); if ( logger.isDebugEnabled() ) { logger.debug( "FROM CSV: " + fieldName ); //$NON-NLS-1$ } csvinput.getInputFields()[i].setName( fieldName ); csvinput.getInputFields()[i].setType( convertType( col.getDataType() ) ); } }
private void upConvertMeasuresAndDimensions() { if ( domain.getLogicalModels().size() == 1 ) { return; } LogicalModel model = domain.getLogicalModels().get( 1 ); // clean out the tables, we'll recreate the logical columns for ( LogicalTable table : model.getLogicalTables() ) { table.getLogicalColumns().clear(); } // set the dimension logical column references to the new olap columns for ( DimensionMetaData dim : getModel().getDimensions() ) { for ( HierarchyMetaData hier : dim ) { for ( LevelMetaData level : hier ) { // create new logical columns AvailableField field = new AvailableField( level.getLogicalColumn().getPhysicalColumn() ); ColumnBackedNode node = createColumnBackedNode( field, ModelerPerspective.ANALYSIS ); level.setLogicalColumn( node.getLogicalColumn() ); } } } // set the measure logical column references to the new olap columns for ( MeasureMetaData measure : getModel().getMeasures() ) { AvailableField field = new AvailableField( measure.getLogicalColumn().getPhysicalColumn() ); ColumnBackedNode node = createColumnBackedNode( field, ModelerPerspective.ANALYSIS ); measure.setLogicalColumn( node.getLogicalColumn() ); } // make sure the relationships are set too ModelerConversionUtil.duplicateRelationshipsForOlap( domain.getLogicalModels().get( 0 ), model ); return; }
fromTable = logicalTable; for ( LogicalColumn logicalColumn : fromTable.getLogicalColumns() ) { if ( logicalColumn.getPhysicalColumn().getProperty( "target_column" ).equals( joinModel.getLeftKeyFieldModel().getName() ) ) { toTable = logicalTable; for ( LogicalColumn logicalColumn : toTable.getLogicalColumns() ) { if ( logicalColumn.getPhysicalColumn().getProperty( "target_column" ).equals( joinModel.getRightKeyFieldModel().getName() ) ) {
table.getLogicalColumns().clear();
table.getLogicalColumns().clear();
table.getLogicalColumns().clear();
List<LogicalTable> logicalTables = workspace.getLogicalModel( ModelerPerspective.ANALYSIS ).getLogicalTables(); for ( LogicalTable logicalTable : logicalTables ) { List<LogicalColumn> logicalColumns = logicalTable.getLogicalColumns(); for ( LogicalColumn logicalColumn : logicalColumns ) { if ( columnMatches( workspace, resolveField( workspace ), logicalColumn )
colId = BaseModelerWorkspaceHelper.uniquify( colId, lTab.getLogicalColumns() ); lCol.setId( colId );