public static void duplicateRelationshipsForOlap( LogicalModel relationalModel, LogicalModel olapModel ) { if ( olapModel.getLogicalRelationships() != null ) { olapModel.getLogicalRelationships().clear(); } if ( relationalModel.getLogicalRelationships() != null ) { for ( LogicalRelationship rel : relationalModel.getLogicalRelationships() ) { olapModel.addLogicalRelationship( duplicateRelationshipForOlap( rel, olapModel ) ); } } }
private void moveDimensionToModel( final ModelerWorkspace dimensionWorkspace, final ModelerWorkspace factWorkspace, final String factKey, final String dimKey ) throws ModelerException { DimensionMetaData dimension = getLastDimension( dimensionWorkspace ); dimension.setName( getName() ); removeExistingDimension( factWorkspace ); factWorkspace.addDimension( dimension ); LogicalTable dimTable = dimensionWorkspace.getLogicalModel( ModelerPerspective.ANALYSIS ).getLogicalTables().get( 0 ); LogicalTable factTable = factWorkspace.getLogicalModel( ModelerPerspective.ANALYSIS ).getLogicalTables().get( 0 ); LogicalModel logicalModel = factWorkspace.getLogicalModel( ModelerPerspective.ANALYSIS ); logicalModel.addLogicalTable( dimTable ); @SuppressWarnings( "unchecked" ) List<SqlPhysicalTable> physicalTables = (List<SqlPhysicalTable>) factWorkspace.getDomain().getPhysicalModels().get( 0 ).getPhysicalTables(); physicalTables.add( (SqlPhysicalTable) dimTable.getPhysicalTable() ); logicalModel.addLogicalRelationship( new LogicalRelationship( logicalModel, factTable, dimTable, locateLogicalColumn( factWorkspace, factKey ), locateLogicalColumn( dimensionWorkspace, dimKey ) ) ); }
logicalModel.addLogicalRelationship( relation );
model.addLogicalRelationship( new LogicalRelationship( model, leftTable, rightTable, leftColumn, rightColumn ) );
logicalRelationship.setToTable( toTable ); logicalRelationship.setToColumn( toColumn ); logicalModel.addLogicalRelationship( logicalRelationship );