public static Domain generateDomain( DatabaseMeta databaseMeta, String schemaName, String tableName, String datasourceName, boolean dualModelingMode ) throws ModelerException { return generateDomain( databaseMeta, schemaName, tableName, datasourceName, dualModelingMode, defaultImportStrategy ); }
/** * For testing */ TableModelerSource createTableModelerSource( DatabaseMeta database, String tableName, String schemaName, String datasourceName ) { return new TableModelerSource( database, tableName, schemaName, datasourceName ); }
public MultiTableModelerSource( DatabaseMeta databaseMeta, SchemaModel schemaModel, String datasourceName, List<String> selectedTables, GeoContext geoContext ) { this.datasourceName = datasourceName; this.databaseMeta = databaseMeta; this.schemaModel = schemaModel; this.selectedTables = selectedTables; this.generator = new ModelGenerator(); this.geoContext = geoContext; }
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; }
public Domain generateDomain( String connectionName, String tableName, String dbType, String query, String datasourceName ) throws Exception { try { DatabaseMeta database = new DatabaseMeta(); database.setDatabaseInterface( new MySQLDatabaseMeta() ); database.setDatabaseType( "mysql" ); database.setUsername( "root" ); database.setPassword( "" ); database.setAccessType( DatabaseMeta.TYPE_ACCESS_NATIVE ); database.setHostname( "localhost" ); database.setDBName( "hibernate" ); database.setDBPort( "3306" ); TableModelerSource source = new TableModelerSource( database, tableName, null ); Domain d = null; try { d = source.generateDomain(); } catch ( ModelerException e ) { e.printStackTrace(); // To change body of catch statement use File | Settings | File Templates. } return d; } catch ( Exception e ) { e.printStackTrace(); } return null; }
public Domain generateCSVDomain( ModelInfo modelInfo ) throws Exception { initKettle(); try { DatabaseMeta database = getDatabaseMeta(); final String tableName = modelInfo.getStageTableName(); final String datasourceName = modelInfo.getDatasourceName(); Column[] columns = toColumns( modelInfo.getColumns() ); PhysicalTableImporter.ImportStrategy importStrategy = new CsvDatasourceImportStrategy( columns ); TableModelerSource source = createTableModelerSource( database, tableName, null, datasourceName ); return source.generateDomain( importStrategy ); } catch ( Exception e ) { logger.error( e ); throw new Exception( e.getLocalizedMessage() ); } }
public IDatasourceSummary serializeJoins( MultiTableDatasourceDTO dto, IDatabaseConnection connection ) throws DatasourceServiceException { try { ModelerService modelerService = new ModelerService(); modelerService.initKettle(); DSWDatasourceServiceImpl datasourceService = new DSWDatasourceServiceImpl(); GeoContext geoContext = datasourceService.getGeoContext(); DatabaseMeta databaseMeta = this.getDatabaseMeta( connection ); MultiTableModelerSource multiTable = new MultiTableModelerSource( databaseMeta, dto.getSchemaModel(), dto.getDatasourceName(), dto.getSelectedTables(), geoContext ); Domain domain = multiTable.generateDomain( dto.isDoOlap() ); String modelState = serializeModelState( dto ); for ( LogicalModel lm : domain.getLogicalModels() ) { lm.setProperty( "datasourceModel", modelState ); lm.setProperty( "DatasourceType", "MULTI-TABLE-DS" ); // BISERVER-6450 - add security settings to the logical model applySecurity( lm ); } modelerService.serializeModels( domain, dto.getDatasourceName(), dto.isDoOlap() ); QueryDatasourceSummary summary = new QueryDatasourceSummary(); summary.setDomain( domain ); return summary; } catch ( Exception e ) { logger.error( "Error serializing joins", e ); throw new DatasourceServiceException( e ); } }
public Domain generateDomain() throws ModelerException { return generateDomain( false ); } }
public static void saveWorkspace( ModelerWorkspace aModel, String fileName ) throws ModelerException { try { String xmi = getMetadataXML( aModel ); // write the XMI to a tmp file // models was created earlier. try { save( xmi, fileName ); } catch ( IOException e ) { logger.info( BaseMessages.getString( ModelerWorkspace.class, "ModelerWorkspaceUtil.Populate.BadGenerateMetadata" ), e ); //$NON-NLS-1$ throw new ModelerException( BaseMessages.getString( ModelerWorkspace.class, "ModelerWorkspaceUtil.Populate.BadGenerateMetadata" ), e ); //$NON-NLS-1$ } } catch ( Exception e ) { logger.error( "error", e ); throw new ModelerException( e ); } }
public static void saveWorkspaceAsMondrianSchema( ModelerWorkspace aModel, String fileName, String locale ) throws ModelerException { try { String xml = getMondrianSchemaXml( aModel, locale ); if ( xml == null ) { return; } // write the XMI to a tmp file // models was created earlier. try { save( xml, fileName ); } catch ( IOException e ) { logger.info( BaseMessages.getString( ModelerWorkspace.class, "ModelerWorkspaceUtil.Populate.BadGenerateMetadata" ), e ); //$NON-NLS-1$ throw new ModelerException( BaseMessages.getString( ModelerWorkspace.class, "ModelerWorkspaceUtil.Populate.BadGenerateMetadata" ), e ); //$NON-NLS-1$ } } catch ( Exception e ) { logger.error( "error", e ); throw new ModelerException( e ); } }
private SchemaTable createSchemaTable( String table ) { String schemaName = ""; String tableName = table; if ( table.indexOf( "." ) > 0 ) { String[] pair = getSchemaTablePair( table ); schemaName = pair[0]; tableName = pair[1]; } return new SchemaTable( schemaName, tableName ); }
try { verifyTableExistsAndMayBeQuoted( databaseMeta, schemaName, tableName ); } catch ( ModelerException e ) { try { tableName = tableName.toLowerCase(); verifyTableExistsAndMayBeQuoted( databaseMeta, schemaName, tableName ); } catch ( ModelerException e2 ) { tableName = tableName.toUpperCase(); verifyTableExistsAndMayBeQuoted( databaseMeta, schemaName, tableName );
private DataProvider locateDataProvider( final List<DataProvider> dataProviders, final ModelerWorkspace workspace, final IMetaStore metaStore ) throws MetaStoreException, KettlePluginException, ModelerException { ModelAnnotationManager manager = new ModelAnnotationManager( true ); DatabaseMeta factDbMeta = ( (ISpoonModelerSource) workspace.getModelSource() ).getDatabaseMeta(); for ( DataProvider dataProvider : dataProviders ) { DatabaseMeta sharedDbMeta = manager.loadDatabaseMeta( dataProvider.getDatabaseMetaNameRef(), metaStore ); if ( sharedDbMeta != null && dbMetaEquals( factDbMeta, sharedDbMeta ) ) { return dataProvider; } } return null; }
/** * Use {@link ModelerService#generateCSVDomain(ModelInfo)} instead, * as ModelInfo object contains information about csv column names, * provided by user, that are not always the same as the names of columns, * stored in database. (see BISERVER-13026 for more info) * */ @Deprecated public Domain generateCSVDomain( String tableName, String datasourceName ) throws Exception { initKettle(); try { DatabaseMeta database = AgileHelper.getDatabaseMeta(); IModelerSource source = new TableModelerSource( database, tableName, null, datasourceName ); return source.generateDomain(); } catch ( Exception e ) { logger.error( e ); throw new Exception( e.getLocalizedMessage() ); } }
@Override public Domain generateDomain( boolean dualModelingMode ) throws ModelerException { return ModelerSourceUtil.generateDomain( databaseMeta, schemaName, tableName, datasourceName, dualModelingMode ); }
@Deprecated public Domain generateDomain( String connectionName, String tableName, String dbType, String query, String datasourceName ) throws Exception { initKettle(); try { DatabaseMeta database = AgileHelper.getDatabaseMeta(); IModelerSource source; if ( tableName != null ) { source = new TableModelerSource( database, tableName, null, datasourceName ); } else { source = new InlineSqlModelerSource( connectionName, dbType, query, datasourceName ); } return source.generateDomain(); } catch ( Exception e ) { logger.error( e ); throw new Exception( e.getLocalizedMessage() ); } }
public Domain generateDomain( final PhysicalTableImporter.ImportStrategy importStrategy ) throws ModelerException { return ModelerSourceUtil.generateDomain( databaseMeta, schemaName, tableName, datasourceName, true, importStrategy ); }
public static Domain generateDomain( DatabaseMeta databaseMeta, String schemaName, String tableName, String datasourceName ) throws ModelerException { return generateDomain( databaseMeta, schemaName, tableName, datasourceName, true ); }
public static Domain generateDomain( DatabaseMeta databaseMeta, String schemaName, String tableName ) throws ModelerException { return generateDomain( databaseMeta, schemaName, tableName, tableName, true ); }
public Domain generateDomain() throws ModelerException { return ModelerSourceUtil.generateDomain( databaseMeta, schemaName, tableName, datasourceName, true ); }