Search in sources :

Example 1 with OlapDimension

use of org.pentaho.metadata.model.olap.OlapDimension in project data-access by pentaho.

the class SerializeMultiTableServiceIT method testSerialize.

@Test
public void testSerialize() throws Exception {
    if (ModelerMessagesHolder.getMessages() == null) {
        ModelerMessagesHolder.setMessages(new SpoonModelerMessages());
    }
    try {
        KettleEnvironment.init();
        Props.init(Props.TYPE_PROPERTIES_EMPTY);
    } catch (Exception e) {
    // may already be initialized by another test
    }
    login("suzy", "", false);
    String solutionStorage = AgileHelper.getDatasourceSolutionStorage();
    String path = solutionStorage + RepositoryFile.SEPARATOR + "resources" + RepositoryFile.SEPARATOR + "metadata" + // $NON-NLS-1$  //$NON-NLS-2$
    RepositoryFile.SEPARATOR;
    String olapPath = null;
    IApplicationContext appContext = PentahoSystem.getApplicationContext();
    if (appContext != null) {
        path = PentahoSystem.getApplicationContext().getSolutionPath(path);
        olapPath = PentahoSystem.getApplicationContext().getSolutionPath(// $NON-NLS-1$  //$NON-NLS-2$
        "system" + RepositoryFile.SEPARATOR + "olap" + RepositoryFile.SEPARATOR);
    }
    // $NON-NLS-1$
    File olap1 = new File(olapPath + "datasources.xml");
    // $NON-NLS-1$
    File olap2 = new File(olapPath + "tmp_datasources.xml");
    FileUtils.copyFile(olap1, olap2);
    DatabaseMeta database = getDatabaseMeta();
    MultiTableModelerSource multiTable = new MultiTableModelerSource(database, getSchema(), database.getName(), Arrays.asList("CUSTOMERS", "PRODUCTS", "CUSTOMERNAME", "PRODUCTCODE"));
    Domain domain = multiTable.generateDomain();
    List<OlapDimension> olapDimensions = new ArrayList<OlapDimension>();
    OlapDimension dimension = new OlapDimension();
    // $NON-NLS-1$
    dimension.setName("test");
    dimension.setTimeDimension(false);
    olapDimensions.add(dimension);
    // $NON-NLS-1$
    domain.getLogicalModels().get(0).setProperty("olap_dimensions", olapDimensions);
    ModelerService service = new ModelerService();
    // $NON-NLS-1$
    service.serializeModels(domain, "test_file");
    Assert.assertEquals((String) domain.getLogicalModels().get(0).getProperty("MondrianCatalogRef"), "SampleData");
}
Also used : MultiTableModelerSource(org.pentaho.agilebi.modeler.util.MultiTableModelerSource) SpoonModelerMessages(org.pentaho.agilebi.modeler.util.SpoonModelerMessages) ArrayList(java.util.ArrayList) Matchers.anyString(org.mockito.Matchers.anyString) IApplicationContext(org.pentaho.platform.api.engine.IApplicationContext) Domain(org.pentaho.metadata.model.Domain) RepositoryFile(org.pentaho.platform.api.repository2.unified.RepositoryFile) File(java.io.File) DatabaseMeta(org.pentaho.di.core.database.DatabaseMeta) OlapDimension(org.pentaho.metadata.model.olap.OlapDimension) ModelerService(org.pentaho.platform.dataaccess.datasource.wizard.service.impl.ModelerService) UsernameNotFoundException(org.springframework.security.core.userdetails.UsernameNotFoundException) DatasourceMgmtServiceException(org.pentaho.platform.api.repository.datasource.DatasourceMgmtServiceException) DataAccessException(org.springframework.dao.DataAccessException) DuplicateDatasourceException(org.pentaho.platform.api.repository.datasource.DuplicateDatasourceException) NonExistingDatasourceException(org.pentaho.platform.api.repository.datasource.NonExistingDatasourceException) Test(org.junit.Test)

Example 2 with OlapDimension

use of org.pentaho.metadata.model.olap.OlapDimension in project data-access by pentaho.

the class SerializeServiceIT method generateModel.

private Domain generateModel() {
    Domain domain = null;
    try {
        DatabaseMeta database = new DatabaseMeta();
        // database.setDatabaseInterface(new HypersonicDatabaseMeta());
        // $NON-NLS-1$
        database.setDatabaseType("Hypersonic");
        // database.setUsername("sa");//$NON-NLS-1$
        // database.setPassword("");//$NON-NLS-1$
        database.setAccessType(DatabaseMeta.TYPE_ACCESS_JNDI);
        // database.setHostname(".");
        // $NON-NLS-1$
        database.setDBName("SampleData");
        // database.setDBPort("9001");//$NON-NLS-1$
        // $NON-NLS-1$
        database.setName("SampleData");
        System.out.println(database.testConnection());
        // $NON-NLS-1$
        TableModelerSource source = new TableModelerSource(database, "ORDERS", null);
        domain = source.generateDomain();
        List<OlapDimension> olapDimensions = new ArrayList<OlapDimension>();
        OlapDimension dimension = new OlapDimension();
        // $NON-NLS-1$
        dimension.setName("test");
        dimension.setTimeDimension(false);
        olapDimensions.add(dimension);
        // $NON-NLS-1$
        domain.getLogicalModels().get(1).setProperty("olap_dimensions", olapDimensions);
    } catch (Exception e) {
        e.printStackTrace();
    }
    return domain;
}
Also used : TableModelerSource(org.pentaho.agilebi.modeler.util.TableModelerSource) ArrayList(java.util.ArrayList) Domain(org.pentaho.metadata.model.Domain) DatabaseMeta(org.pentaho.di.core.database.DatabaseMeta) OlapDimension(org.pentaho.metadata.model.olap.OlapDimension) UsernameNotFoundException(org.springframework.security.core.userdetails.UsernameNotFoundException) DatasourceMgmtServiceException(org.pentaho.platform.api.repository.datasource.DatasourceMgmtServiceException) DataAccessException(org.springframework.dao.DataAccessException) DuplicateDatasourceException(org.pentaho.platform.api.repository.datasource.DuplicateDatasourceException) NonExistingDatasourceException(org.pentaho.platform.api.repository.datasource.NonExistingDatasourceException)

Example 3 with OlapDimension

use of org.pentaho.metadata.model.olap.OlapDimension in project data-access by pentaho.

the class DatasourceResourceIT method generateModel.

private Domain generateModel() {
    Domain domain = null;
    try {
        DatabaseMeta database = new DatabaseMeta();
        // $NON-NLS-1$
        database.setDatabaseType("Hypersonic");
        database.setAccessType(DatabaseMeta.TYPE_ACCESS_JNDI);
        // $NON-NLS-1$
        database.setDBName("SampleData");
        // $NON-NLS-1$
        database.setName("SampleData");
        System.out.println(database.testConnection());
        // $NON-NLS-1$
        TableModelerSource source = new TableModelerSource(database, "ORDERS", null);
        domain = source.generateDomain();
        List<OlapDimension> olapDimensions = new ArrayList<OlapDimension>();
        OlapDimension dimension = new OlapDimension();
        // $NON-NLS-1$
        dimension.setName("test");
        dimension.setTimeDimension(false);
        olapDimensions.add(dimension);
        // $NON-NLS-1$
        domain.getLogicalModels().get(1).setProperty("olap_dimensions", olapDimensions);
    } catch (Exception e) {
        e.printStackTrace();
    }
    return domain;
}
Also used : TableModelerSource(org.pentaho.agilebi.modeler.util.TableModelerSource) ArrayList(java.util.ArrayList) Domain(org.pentaho.metadata.model.Domain) DatabaseMeta(org.pentaho.di.core.database.DatabaseMeta) OlapDimension(org.pentaho.metadata.model.olap.OlapDimension) UsernameNotFoundException(org.springframework.security.core.userdetails.UsernameNotFoundException) PlatformInitializationException(org.pentaho.platform.engine.core.system.boot.PlatformInitializationException) DatasourceMgmtServiceException(org.pentaho.platform.api.repository.datasource.DatasourceMgmtServiceException) PlatformImportException(org.pentaho.platform.plugin.services.importer.PlatformImportException) DataAccessException(org.springframework.dao.DataAccessException) DuplicateDatasourceException(org.pentaho.platform.api.repository.datasource.DuplicateDatasourceException) IOException(java.io.IOException) NonExistingDatasourceException(org.pentaho.platform.api.repository.datasource.NonExistingDatasourceException)

Aggregations

ArrayList (java.util.ArrayList)3 DatabaseMeta (org.pentaho.di.core.database.DatabaseMeta)3 Domain (org.pentaho.metadata.model.Domain)3 OlapDimension (org.pentaho.metadata.model.olap.OlapDimension)3 DatasourceMgmtServiceException (org.pentaho.platform.api.repository.datasource.DatasourceMgmtServiceException)3 DuplicateDatasourceException (org.pentaho.platform.api.repository.datasource.DuplicateDatasourceException)3 NonExistingDatasourceException (org.pentaho.platform.api.repository.datasource.NonExistingDatasourceException)3 DataAccessException (org.springframework.dao.DataAccessException)3 UsernameNotFoundException (org.springframework.security.core.userdetails.UsernameNotFoundException)3 TableModelerSource (org.pentaho.agilebi.modeler.util.TableModelerSource)2 File (java.io.File)1 IOException (java.io.IOException)1 Test (org.junit.Test)1 Matchers.anyString (org.mockito.Matchers.anyString)1 MultiTableModelerSource (org.pentaho.agilebi.modeler.util.MultiTableModelerSource)1 SpoonModelerMessages (org.pentaho.agilebi.modeler.util.SpoonModelerMessages)1 IApplicationContext (org.pentaho.platform.api.engine.IApplicationContext)1 RepositoryFile (org.pentaho.platform.api.repository2.unified.RepositoryFile)1 ModelerService (org.pentaho.platform.dataaccess.datasource.wizard.service.impl.ModelerService)1 PlatformInitializationException (org.pentaho.platform.engine.core.system.boot.PlatformInitializationException)1