@Bindable public void done() { if ( selectedFields.length != 1 ) { return; } AvailableField field = (AvailableField) selectedFields[0]; ColumnBackedNode cnode = workspace.createColumnBackedNode( field, workspace.getCurrentModelerPerspective() ); LogicalColumn lCol = cnode.getLogicalColumn(); if ( ColumnBackedNode.COLUMN_TYPE_SOURCE.equals( columnType ) ) { node.setLogicalColumn( lCol ); } else if ( ColumnBackedNode.COLUMN_TYPE_ORDINAL.equals( columnType ) ) { node.setLogicalOrdinalColumn( lCol ); } else if ( ColumnBackedNode.COLUMN_TYPE_CAPTION.equals( columnType ) ) { node.setLogicalCaptionColumn( lCol ); } workspace.setDirty( true ); dialog.hide(); }
public MemberPropertyMetaData createMemberPropertyForParentWithNode( LevelMetaData parent, ColumnBackedNode obj ) { MemberPropertyMetaData memberProp = new MemberPropertyMetaData( parent, obj.getName() ); memberProp.setParent( parent ); memberProp.setLogicalColumn( obj.getLogicalColumn() ); return memberProp; }
public void clearColumn( String columnType ) { Object selectedTreeItem = getSelectedTreeItem(); if ( selectedTreeItem == null ) { return; } ColumnBackedNode selectedColumnBackedNode = (ColumnBackedNode) selectedTreeItem; if ( ColumnBackedNode.COLUMN_TYPE_ORDINAL.equals( columnType ) ) { selectedColumnBackedNode.setLogicalOrdinalColumn( null ); } else if ( ColumnBackedNode.COLUMN_TYPE_CAPTION.equals( columnType ) ) { selectedColumnBackedNode.setLogicalCaptionColumn( null ); } }
protected void removeLogicalColumnFromParentTable( ColumnBackedNode node ) { LogicalColumn lCol = node.getLogicalColumn(); if ( lCol != null && lCol.getLogicalTable() != null ) { LogicalTable lTab = lCol.getLogicalTable(); lTab.getLogicalColumns().remove( lCol ); } }
public HierarchyMetaData createHierarchyForParentWithNode( DimensionMetaData parent, ColumnBackedNode obj ) { HierarchyMetaData hier = new HierarchyMetaData( obj.getName() ); hier.setParent( parent ); hier.setExpanded( true ); if ( obj != null ) { LevelMetaData level = createLevelForParentWithNode( hier, obj ); hier.add( level ); } return hier; }
public void changeColumn( String columnType ) { Object selectedTreeItem = getSelectedTreeItem(); if ( selectedTreeItem == null ) { return; } ColumnBackedNode selectedColumnBackedNode = (ColumnBackedNode) selectedTreeItem; // only restrict to a table if this node needs to & the node has siblings that might conflict when changing the // parent IPhysicalTable restrictedPhysicalTable = selectedColumnBackedNode.getTableRestriction(); if ( restrictedPhysicalTable == null ) { colController.show( workspace, selectedColumnBackedNode, columnType ); return; } AvailableTable restrictToTable = null; AvailableItemCollection availableTables = workspace.getAvailableTables(); String name = restrictedPhysicalTable.getName( getWorkspaceHelper().getLocale() ); restrictToTable = availableTables.findAvailableTable( name ); colController.show( workspace, selectedColumnBackedNode, columnType, restrictToTable ); }
node.setLogicalColumn( lCol ); return node;
public MeasureMetaData createMeasureForNode( AvailableField selectedField ) { MeasureMetaData meta = new MeasureMetaData( selectedField.getName(), "", selectedField.getDisplayName(), workspaceHelper.getLocale() ); //$NON-NLS-1$ ColumnBackedNode node = createColumnBackedNode( selectedField, ModelerPerspective.ANALYSIS ); meta.setLogicalColumn( node.getLogicalColumn() ); return meta; }
public DimensionMetaData createDimensionFromNode( ColumnBackedNode obj ) { DimensionMetaData dimension = new DimensionMetaData( obj.getName() ); dimension.setExpanded( true ); HierarchyMetaData hierarchy = createHierarchyForParentWithNode( dimension, obj ); hierarchy.setParent( dimension ); hierarchy.setExpanded( true ); dimension.add( hierarchy ); return dimension; }
public LevelMetaData createLevelForParentWithNode( HierarchyMetaData parent, ColumnBackedNode obj ) { LevelMetaData level = new LevelMetaData( parent, obj.getName() ); level.setParent( parent ); level.setLogicalColumn( obj.getLogicalColumn() ); return level; }
public FieldMetaData createFieldForParentWithNode( CategoryMetaData parent, AvailableField selectedField ) { FieldMetaData field = new FieldMetaData( parent, selectedField.getName(), "", selectedField.getDisplayName(), workspaceHelper .getLocale() ); //$NON-NLS-1$ ColumnBackedNode node = createColumnBackedNode( selectedField, ModelerPerspective.REPORTING ); field.setLogicalColumn( node.getLogicalColumn() ); field.setFieldTypeDesc( node.getLogicalColumn().getDataType().getName() ); switch ( node.getLogicalColumn().getDataType() ) { case DATE: field.setFormatstring( DataFormatHolder.DATE_FORMATS ); break; case NUMERIC: field.setFormatstring( DataFormatHolder.NUMBER_FORMATS ); break; case STRING: field.setFormatstring( DataFormatHolder.CONVERSION_FORMATS ); break; case BOOLEAN: case URL: case BINARY: case UNKNOWN: case IMAGE: default: break; } field.setFormat( "" ); return field; }
ColumnBackedNode node = (ColumnBackedNode) data; level = getWorkspace().createLevelForParentWithNode( this, node ); level.setName( node.getName() ); } else { return null;
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; }
private void setLocationMemberProperties( ModelerWorkspace workspace, AvailableTable table, LevelMetaData locationLevel, int latColIndex, int lonColIndex ) { // if it is a LocationField we need to make sure the lat & long columns get // added as logical columns to the model. AvailableField latField = table.findFieldByPhysicalColumn( table.getPhysicalTable().getPhysicalColumns().get( latColIndex ) ); AvailableField lonField = table.findFieldByPhysicalColumn( table.getPhysicalTable().getPhysicalColumns().get( lonColIndex ) ); ColumnBackedNode tmp = workspace.createColumnBackedNode( latField, ModelerPerspective.ANALYSIS ); tmp.getLogicalColumn().setName( new LocalizedString( workspace.getWorkspaceHelper().getLocale(), LATITUDE ) ); MemberPropertyMetaData memberProp = workspace.createMemberPropertyForParentWithNode( locationLevel, tmp ); memberProp.setName( LATITUDE ); locationLevel.add( memberProp ); tmp = workspace.createColumnBackedNode( lonField, ModelerPerspective.ANALYSIS ); tmp.getLogicalColumn().setName( new LocalizedString( workspace.getWorkspaceHelper().getLocale(), LONGITUDE ) ); memberProp = workspace.createMemberPropertyForParentWithNode( locationLevel, tmp ); memberProp.setName( LONGITUDE ); locationLevel.add( memberProp ); } }
@Override public boolean acceptsDrop( Object obj ) { boolean isSupportedType = false; isSupportedType = ( obj instanceof AvailableField || obj instanceof LevelMetaData || obj instanceof MeasureMetaData || obj instanceof MemberPropertyMetaData ); // get the columns of children, make sure the potential drop object is backed by the same table if ( isSupportedType ) { if ( size() == 0 ) { // no children to compare tables with, accept the drop return true; } LevelMetaData level = this.get( 0 ); if ( level.getLogicalColumn() == null ) { return false; // make them fix the broken column first } String myTableId = level.getLogicalColumn().getPhysicalColumn().getPhysicalTable().getId(); if ( obj instanceof AvailableField ) { AvailableField field = (AvailableField) obj; return myTableId.equals( field.getPhysicalColumn().getPhysicalTable().getId() ); } else if ( obj instanceof ColumnBackedNode ) { // this will take care of both Levels & Measures ColumnBackedNode field = (ColumnBackedNode) obj; return myTableId.equals( field.getLogicalColumn().getPhysicalColumn().getPhysicalTable().getId() ); } } return false; }
tmp.getLogicalColumn().setName( new LocalizedString( workspace.getWorkspaceHelper().getLocale(), LATITUDE ) ); MemberPropertyMetaData memberProp = tmp.getLogicalColumn().setName( new LocalizedString( workspace.getWorkspaceHelper().getLocale(), LONGITUDE ) ); memberProp = workspace.createMemberPropertyForParentWithNode( existingLevel, tmp );
measure.getLogicalColumn().getPhysicalColumn().getPhysicalTable().getId() ) ) { measure.setLogicalColumn( createColumnBackedNode( f, currentModelerPerspective ).getLogicalColumn() ); found = true; break inner; lm.setLogicalColumn( createColumnBackedNode( f, currentModelerPerspective ).getLogicalColumn() ); found = true; break inner;