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");
}
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;
}
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;
}
Aggregations