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 ) ) ); }
nvp = getKeyValuePairs( rel, "CWM:TaggedValue", "tag", "value" ); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ LogicalRelationship relation = new LogicalRelationship(); String type = nvp.get( "RELATIONSHIP_TYPE" ); //$NON-NLS-1$ RelationshipType reltype = RelationshipType.values()[RelationshipMeta.getType( type )];
model.addLogicalRelationship( new LogicalRelationship( model, leftTable, rightTable, leftColumn, rightColumn ) );
LogicalRelationship logicalRelationship = new LogicalRelationship(); logicalRelationship.setRelationshipType( RelationshipType._1_1 ); logicalRelationship.setFromTable( fromTable );
@Deprecated public List<LogicalRelationship> generateLogicalRelationships( List<JoinRelationshipModel> joins ) { String locale = LocalizedString.DEFAULT_LOCALE; List<LogicalRelationship> logicalRelationships = new ArrayList<LogicalRelationship>(); for ( JoinRelationshipModel join : joins ) { LogicalTable fromTable = new LogicalTable(); fromTable.setName( new LocalizedString( locale, join.getLeftKeyFieldModel().getParentTable().getName() ) ); LogicalTable toTable = new LogicalTable(); toTable.setName( new LocalizedString( locale, join.getRightKeyFieldModel().getParentTable().getName() ) ); LogicalColumn fromColumn = new LogicalColumn(); fromColumn.setName( new LocalizedString( locale, join.getLeftKeyFieldModel().getName() ) ); LogicalColumn toColumn = new LogicalColumn(); toColumn.setName( new LocalizedString( locale, join.getRightKeyFieldModel().getName() ) ); LogicalRelationship logicalRelationship = new LogicalRelationship(); logicalRelationship.setFromTable( fromTable ); logicalRelationship.setToTable( toTable ); logicalRelationship.setFromColumn( fromColumn ); logicalRelationship.setToColumn( toColumn ); logicalRelationships.add( logicalRelationship ); } return logicalRelationships; }
private static LogicalRelationship duplicateRelationshipForOlap( LogicalRelationship rel, LogicalModel olapModel ) { LogicalTable olapFromTable = findCorrespondingOlapTable( rel.getFromTable(), olapModel ); LogicalTable olapToTable = findCorrespondingOlapTable( rel.getToTable(), olapModel ); LogicalColumn olapFromCol = findCorrespondingOlapColumn( rel.getFromColumn(), olapModel ); LogicalColumn olapToCol = findCorrespondingOlapColumn( rel.getToColumn(), olapModel ); LogicalRelationship olapRel = new LogicalRelationship( olapModel, olapFromTable, olapToTable, olapFromCol, olapToCol ); olapRel.setComplex( rel.isComplex() ); olapRel.setRelationshipType( rel.getRelationshipType() ); olapRel.setJoinOrderKey( rel.getJoinOrderKey() ); olapRel.setComplexJoin( rel.getComplexJoin() ); olapRel.setRelationshipDescription( rel.getRelationshipDescription() ); return olapRel; }
LogicalRelationship logical = new LogicalRelationship(); logical.setComplex( rel.isComplex() ); logical.setComplexJoin( rel.getComplexJoin() );