public boolean equals( Object obj ) { AliasedPathLogicalTable apbt = (AliasedPathLogicalTable) obj; return apbt.alias.equals( alias ) && apbt.table.equals( table ); }
public boolean contains( LogicalRelationship rel ) { if ( rel == null ) { return false; } for ( int i = 0; i < size(); i++ ) { LogicalRelationship check = getRelationship( i ); LogicalTable from = check.getFromTable(); LogicalTable to = check.getToTable(); if ( ( rel.getFromTable().equals( from ) && rel.getToTable().equals( to ) ) || ( rel.getFromTable().equals( to ) && rel.getToTable().equals( from ) ) ) { return true; } } return false; }
/** * @param businessTable * The table to calculate the number of neighbours for. * @param selectedTables * The list of selected business tables. * @return The number of neighbours in a list of selected tables using the relationships defined in this business * Model. */ private static int getNrNeighbours( LogicalModel model, LogicalTable businessTable, List<LogicalTable> selectedTables ) { int nr = 0; for ( LogicalRelationship relationship : model.getLogicalRelationships() ) { if ( relationship.isUsingTable( businessTable ) ) { // See if one of the selected tables is also using this relationship. // If so, we have a neighbour in the selected tables. // boolean found = false; for ( int s = 0; s < selectedTables.size() && !found; s++ ) { LogicalTable selectedTable = selectedTables.get( s ); if ( relationship.isUsingTable( selectedTable ) && !businessTable.equals( selectedTable ) ) { nr++; } } } } return nr; }
if ( check.equals( businessTable ) ) { found = true;
private LogicalColumn findPrimaryKeyFor( LogicalModel model, LogicalTable factTable, LogicalTable dimTable ) { LogicalRelationship ship = model.findRelationshipUsing( dimTable, factTable ); if ( ship == null ) { throw new IllegalStateException( "Unable to find a primary key for table: " + dimTable.getId() ); } if ( ship.getFromTable().equals( dimTable ) ) { return ship.getFromColumn(); } else { return ship.getToColumn(); } }
@Override public void validate() { valid = true; validationMessages.clear(); // check name if ( name == null || "".equals( name ) ) { validationMessages .add( ModelerMessagesHolder.getMessages().getString( getValidationMessageKey( "MISSING_NAME" ) ) ); valid = false; } if ( logicalColumn == null ) { validationMessages.add( ModelerMessagesHolder.getMessages().getString( getValidationMessageKey( "MISSING_BACKING_COLUMN" ), getName() ) ); valid = false; } else { LogicalTable logicalTable = logicalColumn.getLogicalTable(); if ( logicalOrdinalColumn != null && !logicalOrdinalColumn.getLogicalTable().equals( logicalTable ) ) { validationMessages.add( ModelerMessagesHolder.getMessages().getString( getValidationMessageKey( "INVALID_TABLE_FOR_ORDINAL_COLUMN" ), getName() ) ); } if ( logicalCaptionColumn != null && !logicalCaptionColumn.getLogicalTable().equals( logicalTable ) ) { validationMessages.add( ModelerMessagesHolder.getMessages().getString( getValidationMessageKey( "INVALID_TABLE_FOR_CAPTION_COLUMN" ), getName() ) ); } } }
LogicalRelationship relationshipMeta = businessModel.findRelationshipUsing( dimTable, cubeTable ); if ( !dimTable.equals( cubeTable ) || relationshipMeta != null ) { if ( relationshipMeta != null ) { LogicalColumn keyColumn; if ( relationshipMeta.getFromTable().equals( dimTable ) ) { keyColumn = relationshipMeta.getToColumn(); } else {