domain.setId( datasourceName ); ModelerWorkspaceHelper helper = new ModelerWorkspaceHelper( locale ); if ( selectedTables.size() == 1 ) { // single table mode helper.setAutoModelStrategy( new SimpleAutoModelStrategy( locale, geoContext ) ); } else if ( doOlap ) { helper.setAutoModelStrategy( new StarSchemaAutoModelStrategy( locale, geoContext ) ); } else { helper.setAutoModelStrategy( new MultiTableAutoModelStrategy( locale ) ); logicalModel.setDescription( new LocalizedString( locale, "This is the data model for " + datasourceName ) ); workspace.setModelName( datasourceName ); helper.autoModelRelationalFlat( workspace ); LogicalModel olapModel = null; helper.setAutoModelStrategy( new SimpleAutoModelStrategy( locale, geoContext ) ); } else { helper.setAutoModelStrategy( new StarSchemaAutoModelStrategy( locale, geoContext ) ); helper.autoModelFlat( workspace ); workspace.setModellingMode( ModelerMode.ANALYSIS_AND_REPORTING ); } else { helper.populateDomain( workspace );
private ModelerWorkspace autoModelSharedDimension( final ModelerWorkspace workspace, final DataProvider dataProvider ) throws MetaStoreException, KettlePluginException, ModelerException { DatabaseMeta dbMeta = ( (ISpoonModelerSource) workspace.getModelSource() ).getDatabaseMeta(); TableModelerSource source = new TableModelerSource( dbMeta, dataProvider.getTableName(), dataProvider.getSchemaName() ); Domain domain = source.generateDomain( new SharedDimensionImportStrategy( dataProvider ) ); ModelerWorkspace model = new ModelerWorkspace( new ModelerWorkspaceHelper( workspace.getWorkspaceHelper().getLocale() ), workspace.getGeoContext() ); model.setModelSource( source ); model.setDomain( domain ); model.getWorkspaceHelper().autoModelFlat( model ); return model; }
new ModelerWorkspace( new ModelerWorkspaceHelper( locale ), dswService.getGeoContext() ); workspace.setModelName( analysisDomainId ); workspace.setDomain( domain );