当前位置: 首页>>代码示例>>Java>>正文


Java Domain.setId方法代码示例

本文整理汇总了Java中org.pentaho.metadata.model.Domain.setId方法的典型用法代码示例。如果您正苦于以下问题:Java Domain.setId方法的具体用法?Java Domain.setId怎么用?Java Domain.setId使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在org.pentaho.metadata.model.Domain的用法示例。


在下文中一共展示了Domain.setId方法的11个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: testComplexJoinsInXmi

import org.pentaho.metadata.model.Domain; //导入方法依赖的package包/类
@Test
public void testComplexJoinsInXmi() throws Exception {

  // This unit test loads an XMI domain containing
  // a complex join, and also executes a basic query
  // verifying that the complex join is resolved.

  Domain domain = parser.parseXmi( getClass().getResourceAsStream( "/samples/complex_join.xmi" ) );
  domain.setId( "test domain" );
  assertTrue( domain.getLogicalModels().get( 0 ).getLogicalRelationships().get( 0 ).isComplex() );
  assertEquals( "[BT_ORDERS_ORDERS.BC_ORDERS_ORDERNUMBER]=[BT_ORDERFACT_ORDERFACT.BC_ORDERFACT_ORDERNUMBER]",
      domain.getLogicalModels().get( 0 ).getLogicalRelationships().get( 0 ).getComplexJoin() );

  String mql =
      "<mql>" + "<domain_type>relational</domain_type>" + "<domain_id>test domain</domain_id>"
          + "<model_id>BV_MODEL_1</model_id>" + "<model_name>Model 1</model_name>" + "<options>"
          + "  <disable_distinct>false</disable_distinct>" + "</options>" + "<selections>" + "  <selection>"
          + "    <view>BC_ORDERS</view>" + "    <column>BC_ORDERS_STATUS</column>"
          + "    <aggregation>none</aggregation>" + "  </selection>" + "  <selection>"
          + "    <view>BC_ORDERFACT</view>" + "    <column>BC_ORDERFACT_PRODUCTCODE</column>"
          + "    <aggregation>none</aggregation>" + "  </selection>" + "</selections>" + "<constraints/>"
          + "<orders/>" + "</mql>";

  InMemoryMetadataDomainRepository repo = new InMemoryMetadataDomainRepository();
  repo.storeDomain( domain, false );
  QueryXmlHelper helper = new QueryXmlHelper();
  Query query = helper.fromXML( repo, mql );

  SqlGenerator generator = new SqlGenerator();
  DatabaseMeta databaseMeta = new DatabaseMeta( "", "ORACLE", "Native", "", "", "", "", "" ); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$
  MappedQuery queryObj = generator.generateSql( query, "en_US", repo, databaseMeta );
  // TestHelper.printOutJava(queryObj.getQuery());
  TestHelper
      .assertEqualsIgnoreWhitespaces( "SELECT DISTINCT \n" + "          BT_ORDERS_ORDERS.STATUS AS COL0\n"
      + "         ,BT_ORDERFACT_ORDERFACT.PRODUCTCODE AS COL1\n" + "FROM \n"
      + "          ORDERFACT BT_ORDERFACT_ORDERFACT\n" + "         ,ORDERS BT_ORDERS_ORDERS\n" + "WHERE \n"
          + "          (  BT_ORDERS_ORDERS.ORDERNUMBER  =  BT_ORDERFACT_ORDERFACT.ORDERNUMBER  )\n", queryObj
          .getQuery() );

}
 
开发者ID:pentaho,项目名称:pentaho-metadata,代码行数:41,代码来源:XmiParserIT.java

示例2: testMqlDateParams

import org.pentaho.metadata.model.Domain; //导入方法依赖的package包/类
@Test
public void testMqlDateParams() throws Exception {
  Domain steelWheelsDomain = new XmiParser().parseXmi( getClass().getResourceAsStream( "/steel-wheels.xmi" ) );

  String mql =
      "<?xml version=\"1.0\" encoding=\"UTF-8\"?>" + "<mql>" + "<domain_id>Steel-Wheels</domain_id>"
          + "<model_id>BV_ORDERS</model_id>" + "<options>" + "<disable_distinct>false</disable_distinct>"
          + "</options>" + "<parameters>" + "<parameter defaultValue=\"2004-01-01\" name=\"date\" type=\"STRING\"/>"
          + "</parameters>" + "<selections>" + "<selection>" + "<view>BC_CUSTOMER_W_TER_</view>"
          + "<column>BC_CUSTOMER_W_TER_CUSTOMERNUMBER</column>" + "<aggregation>NONE</aggregation>" + "</selection>"
          + "<selection>" + "<view>CAT_ORDERS</view>" + "<column>BC_ORDERS_ORDERDATE</column>"
          + "<aggregation>NONE</aggregation>" + "</selection>" + "</selections>" + "<constraints>" + "<constraint>"
          + "<operator/>" + "<condition>[CAT_ORDERS.BC_ORDERS_ORDERDATE] "
          + "&gt;DATEVALUE([param:date])</condition>" + "</constraint>" + "</constraints>" + "<orders/>" + "</mql>";

  QueryXmlHelper helper = new QueryXmlHelper();
  InMemoryMetadataDomainRepository repo = new InMemoryMetadataDomainRepository();
  steelWheelsDomain.setId( "Steel-Wheels" );

  repo.storeDomain( steelWheelsDomain, false );
  Query query = helper.fromXML( repo, mql );

  DatabaseMeta databaseMeta = new DatabaseMeta( "", "ORACLE", "Native", "", "", "", "", "" ); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$

  SqlGenerator generator = new SqlGenerator();
  MappedQuery mappedQuery = generator.generateSql( query, "en_US", repo, databaseMeta );

  TestHelper.assertEqualsIgnoreWhitespaces( "SELECT DISTINCT \n"
      + "          BT_CUSTOMER_W_TER_CUSTOMER_W01.CUSTOMERNUMBER AS COL0\n"
      + "         ,BT_ORDERS_ORDERS.ORDERDATE AS COL1\n" + "FROM \n"
      + "          CUSTOMER_W_TER BT_CUSTOMER_W_TER_CUSTOMER_W01\n" + "         ,ORDERS BT_ORDERS_ORDERS\n"
      + "WHERE \n"
      + "          ( BT_ORDERS_ORDERS.CUSTOMERNUMBER = BT_CUSTOMER_W_TER_CUSTOMER_W01.CUSTOMERNUMBER )\n"
      + "      AND \n" + "        (\n" + "          (\n"
      + "              BT_ORDERS_ORDERS.ORDERDATE  > TO_DATE('2004-01-01','YYYY-MM-DD')\n" + "          )\n"
      + "        )\n", mappedQuery.getQuery() );
}
 
开发者ID:pentaho,项目名称:pentaho-metadata,代码行数:38,代码来源:SqlOpenFormulaIT.java

示例3: generatePhysicalMetadataModel

import org.pentaho.metadata.model.Domain; //导入方法依赖的package包/类
public Domain generatePhysicalMetadataModel() throws KettleException {
  
  // First do some checking and lookups...
  //
  String targetDatabaseName = ConceptUtil.getString(logicalDomain, DefaultIDs.DOMAIN_TARGET_DATABASE);
  if (Const.isEmpty(targetDatabaseName)) {
    throw new KettleException("Please specify a target database!");
  }
  DatabaseMeta targetDatabaseMeta = DatabaseMeta.findDatabase(databases, targetDatabaseName);
  if (targetDatabaseMeta==null) {
    throw new KettleException("Target database with name '"+targetDatabaseName+"' can't be found!");
  }

  // Now start creation of a new domain with physical underpinning.
  //
  Domain domain = new Domain();
  
  // Copy the domain information...
  //
  domain.setId( createId("DOMAIN", null, domain) );
  domain.setName(logicalDomain.getName());
  domain.setDescription(logicalDomain.getDescription());
  
  // Now copy all the models...
  //
  for (LogicalModel logicalModel : logicalDomain.getLogicalModels()) {
    // Copy model information...
    //
    LogicalModel model = new LogicalModel();
    model.setId( createId("MODEL", domain, model));
    model.setName(logicalModel.getName());
    model.setDescription(logicalModel.getDescription());
    
    // Create a physical model...
    //
    SqlPhysicalModel sqlModel = new SqlPhysicalModel();
    sqlModel.setDatasource(createSqlDataSource(targetDatabaseMeta));
    model.setPhysicalModel(sqlModel);
    
    for (LogicalTable logicalTable : logicalModel.getLogicalTables()) {
      LogicalTable table = new LogicalTable();
      table.setId( createId("LOGICAL_TABLE", logicalModel, logicalTable) );
      table.setName(logicalTable.getName());
      table.setDescription(logicalTable.getDescription());
      
      String targetTable = ConceptUtil.getString(logicalTable, DefaultIDs.LOGICAL_TABLE_PHYSICAL_TABLE_NAME);
      
      SqlPhysicalTable sqlTable = new SqlPhysicalTable(sqlModel);
      table.setPhysicalTable(sqlTable);
      
      // Copy name & description from physical level...
      //
      sqlTable.setId( createId("PHYSICAL_TABLE", logicalModel, logicalTable));
      sqlTable.setName(logicalTable.getName());
      sqlTable.setDescription(logicalTable.getDescription());
      sqlTable.setTableType(ConceptUtil.getTableType(logicalTable));
      sqlTable.setTargetSchema(targetDatabaseMeta.getPreferredSchemaName());
      sqlTable.setTargetTable(targetTable);
      
      
    }
  }
  
  return domain;
}
 
开发者ID:jjeb,项目名称:kettle-trunk,代码行数:66,代码来源:MetadataGenerator.java

示例4: open

import org.pentaho.metadata.model.Domain; //导入方法依赖的package包/类
public boolean open(Node transNode, String fname, boolean importfile) {
  Spoon spoon = ((Spoon)SpoonFactory.getInstance());
  try {
    File f = new File( fname );
    reportName = f.getName();
    reportName = reportName.substring(0, reportName.indexOf(".xanalyzer")); //$NON-NLS-1$
    FileInputStream in = new FileInputStream( f );
    StringBuilder sb = new StringBuilder();
    byte b[] = new byte[2048];
    int n = in.read(b);
    while( n != -1 ) {
      sb.append( new String(b, 0, n) );
      n = in.read(b);
    }
    
    Document doc = DocumentHelper.parseText(sb.toString());
    Dom4jXPath xpath = new Dom4jXPath( "//@catalog"); //$NON-NLS-1$
    Dom4jXPath xpath2 = new Dom4jXPath( "//@cube"); //$NON-NLS-1$
    HashMap map = new HashMap();
    map.put( "pho", "http://www.pentaho.com"); //$NON-NLS-1$ //$NON-NLS-2$
    xpath.setNamespaceContext( new SimpleNamespaceContext( map));
    xpath2.setNamespaceContext( new SimpleNamespaceContext( map));
    org.dom4j.Node node = (org.dom4j.Node) xpath.selectSingleNode( doc);
    org.dom4j.Node node2 = (org.dom4j.Node) xpath2.selectSingleNode( doc);

    String modelFileName = node.getText();
    String modelId = node2.getText();            
    
    SwtXulLoader theXulLoader = new SwtXulLoader();
    theXulLoader.registerClassLoader(getClass().getClassLoader());
    AnalyzerVisualizationController theController = new AnalyzerVisualizationController(spoon.tabfolder.getSwtTabset(), this, modelFileName, modelId, f.toString(), f.getName());
    theController.setDirty(false);
  	XulDomContainer theXulContainer = theXulLoader.loadXul(WEB_VISUALIZATION, new PDIMessages(IVisualization.class));
	theXulContainer.addEventHandler(theController);
	Composite theMainBox = (Composite) theXulContainer.getDocumentRoot().getElementById("mainVBox").getManagedObject(); //$NON-NLS-1$
	SwtXulRunner theRunner = new SwtXulRunner();
	theRunner.addContainer(theXulContainer);
	theRunner.initialize();

	ModelerWorkspace model = new ModelerWorkspace(new SpoonModelerWorkspaceHelper(), SpoonModelerWorkspaceHelper.initGeoContext());
   XmiParser parser = new XmiParser();
   FileInputStream inputStream = new FileInputStream(new File(modelFileName));
   Domain domain = parser.parseXmi(inputStream);
   inputStream.close();
   if(model.getDomain() != null) {
      LogicalModel logical = model.getLogicalModel(ModelerPerspective.ANALYSIS);
      Object property = logical.getProperty("source_type"); //$NON-NLS-1$
      if( property != null ) {
        IModelerSource theSource = ModelerSourceFactory.generateSource(property.toString());
        theSource.initialize(domain);
        model.setModelSource(theSource);
      }
    }
    if (domain.getId() == null) {
      domain.setId(modelId);
    }
   model.setDomain(domain);
   model.setModelName(domain.getId());
   model.setFileName(modelFileName); 
   model.setTemporary(false);
   theController.setModel(model);
   theXulContainer.addEventHandler(theController);
	
    createTabForBrowser(theMainBox, theController, model);

    // flush the cache before opening an analyzer visualization
    flushAnalyzerCache();
    theController.openReport(fname);
    
    String fullPath = f.getAbsolutePath();
    spoon.getProperties().addLastFile("Analyzer", fullPath, null, false, null); //$NON-NLS-1$
    spoon.addMenuLast();
  } catch (Throwable e) {
    throw new RuntimeException(e);
  }    return true;
}
 
开发者ID:pentaho,项目名称:pdi-agile-bi-plugin,代码行数:77,代码来源:AnalyzerVisualization.java

示例5: generateDomain

import org.pentaho.metadata.model.Domain; //导入方法依赖的package包/类
public Domain generateDomain( final ImportStrategy importStrategy ) throws PentahoMetadataException {
  Domain domain = new Domain();
  domain.setId( modelName );

  List<LocaleType> locales = new ArrayList<LocaleType>();
  locales.add( new LocaleType( "en_US", "English (US)" ) ); //$NON-NLS-1$ //$NON-NLS-2$
  domain.setLocales( locales );

  SqlPhysicalModel physicalModel = new SqlPhysicalModel();
  physicalModel.setId( databaseMeta.getName() );
  physicalModel.setDatasource( ThinModelConverter.convertFromLegacy( databaseMeta ) );

  Database database = database();

  try {
    // Add the database connection to the empty schema...
    //
    domain.addPhysicalModel( physicalModel );

    // Also add a model with the same name as the model name...
    //
    String bmID = Util.getLogicalModelIdPrefix() + "_" + modelName.replaceAll( " ", "_" ).toUpperCase(); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
    LogicalModel logicalModel = new LogicalModel();
    logicalModel.setId( bmID );
    domain.addLogicalModel( logicalModel );

    // Connect to the database...
    //
    database.connect();

    // clear the cache
    DBCache.getInstance().clear( databaseMeta.getName() );

    for ( int i = 0; i < tableNames.length; i++ ) {
      SchemaTable schemaTable = tableNames[i];

      // Import the specified tables and turn them into PhysicalTable
      // objects...
      //
      SqlPhysicalTable physicalTable =
          PhysicalTableImporter.importTableDefinition( database, schemaTable.getSchemaName(), schemaTable
          .getTableName(), locale, importStrategy );
      physicalModel.addPhysicalTable( physicalTable );

      // At the same time, we will create a business table and add that to the
      // business model...
      //
      LogicalTable businessTable = createBusinessTable( physicalTable, locale );
      logicalModel.addLogicalTable( businessTable );
    }
  } catch ( Exception e ) {
    // For the unexpected stuff, just throw the exception upstairs.
    //
    throw new PentahoMetadataException( e );
  } finally {
    // Make sure to close the connection
    //
    database.disconnect();
  }

  return domain;
}
 
开发者ID:pentaho,项目名称:pentaho-metadata,代码行数:63,代码来源:AutoModeler.java

示例6: testXmlReadingWriting

import org.pentaho.metadata.model.Domain; //导入方法依赖的package包/类
/**
 * this test generates an advanced mqlquery, generates xml, re-reads the xml and then compares the sql of both to
 * verify the serialization / deserialization code works.
 */
@Test
public void testXmlReadingWriting() throws Exception {
  LogicalModel model = getDefaultModel();
  Domain domain = new Domain();
  domain.setId( "test_domain" );
  domain.getLogicalModels().add( model );
  LogicalColumn bc1 = model.findLogicalColumn( "bc1" ); //$NON-NLS-1$
  LogicalColumn bce2 = model.findLogicalColumn( "bce2" ); //$NON-NLS-1$
  Category mainCat = model.findCategory( "cat_01" );
  DatabaseMeta databaseMeta = new DatabaseMeta( "", "ORACLE", "Native", "", "", "", "", "" ); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$
  Query myTest = new Query( domain, model );

  myTest.getSelections().add( new AliasedSelection( mainCat, bce2, null, "alias1" ) );
  myTest.getSelections().add( new AliasedSelection( mainCat, bc1, null, null ) );
  myTest.getSelections().add( new AliasedSelection( mainCat, bce2, null, null ) );

  // myTest.getOrders().add(new Order((new AliasedSelection(null, bc1, null, null), true);
  // myTest.getOrders().add(new Order((new AliasedSelection(null, bce2, null, "alias1"), true);

  myTest.getConstraints().add( new Constraint( CombinationType.OR, "[alias1.bce2] > 10" ) );

  // System.out.println(myTest.getXML().replaceAll(">", ">\n"));
  AdvancedQueryXmlHelper xmlhelper = new AdvancedQueryXmlHelper();
  String xml = xmlhelper.toXML( myTest );
  InMemoryMetadataDomainRepository repo = new InMemoryMetadataDomainRepository();
  repo.storeDomain( domain, false );
  Query myReadTest = xmlhelper.fromXML( repo, xml );

  Assert.assertEquals( new AdvancedSqlGenerator().generateSql( myTest, "en_US", null, databaseMeta ).getQuery(),
      new AdvancedSqlGenerator().generateSql( myReadTest, "en_US", null, databaseMeta ).getQuery() );

  xml =
      "<mql><domain_type>relational</domain_type><domain_id>test_domain</domain_id>"
          + "<model_id>model_01</model_id><model_name>Model 1</model_name>"
          + "<options><disable_distinct>false</disable_distinct></options>"
          + "<selections><selection><view>cat_01</view><column>bc1</column></selection>"
          + "<selection><alias>Alias1</alias><view>cat_01</view><column>bc1</column></selection></selections>"
          + "<constraints>   <constraint><operator/> <condition>[cat_01.bc1] =\"1539006\"</condition> </constraint> </constraints></mql>";
  Query myReadTest2 = xmlhelper.fromXML( repo, xml );

  TestHelper.assertEqualsIgnoreWhitespaces( "SELECT DISTINCT " + "   bt1.pc1 AS COL0," + "   bt1_Alias1.pc1 AS COL1 "
      + "FROM " + "   pt1 bt1," + "   pt1 bt1_Alias1 " + "WHERE" + "   ((bt1.pc1 = '1539006'))",
      new AdvancedSqlGenerator().generateSql( myReadTest2, "en_US", null, databaseMeta ).getQuery() );

  xml =
      "<mql>" + "  <domain_type>relational</domain_type>" + "  <domain_id>test_domain</domain_id>"
          + "  <model_id>model_01</model_id>" + "  <model_name>Model 1</model_name>" + "  <options>"
          + "    <disable_distinct>false</disable_distinct>" + "  </options>" + "  <selections>"
          + "    <selection><view>cat_01</view><column>bc1</column></selection>"
          + "    <selection><view>cat_01</view><column>bc2</column></selection>"
          + "    <selection><view>cat_01</view><column>bc3</column></selection>"
          + "    <selection><formula>[cat_01.bc1] * [cat_01.bc2]</formula></selection>"
          + "    <selection><formula>[cat_01.bc1] / [cat_01.bc2]</formula></selection>"
          + "    <selection><formula>[cat_01.bc1] + [cat_01.bc2]</formula></selection>"
          + "    <selection><formula>[cat_01.bc1] - [cat_01.bc2]</formula></selection>" + "  </selections>"
          + "  <constraints>"
          + "    <constraint><operator/> <condition>[cat_01.bc1] =\"1539006\"</condition> </constraint> "
          + "  </constraints>" + "</mql>";

  Query myReadTest3 = xmlhelper.fromXML( repo, xml );

  TestHelper.assertEqualsIgnoreWhitespaces( "SELECT DISTINCT " + "  bt1.pc1 AS COL0," + "  bt2.pc2 AS COL1,"
      + "  bt3.pc3 AS COL2," + "  bt1.pc1*bt2.pc2 AS COL3," + "  bt1.pc1/bt2.pc2 AS COL4,"
      + "  bt1.pc1+bt2.pc2 AS COL5," + "  bt1.pc1-bt2.pc2 AS COL6 " + "FROM " + "  pt1 bt1," + "  pt2 bt2,"
      + "  pt3 bt3 " + "WHERE" + "  (bt1.pc1 = bt2.pc2)" + "  AND (bt3.pc3 = bt2.pc2)"
      + "  AND ((bt1.pc1 = '1539006'))", new AdvancedSqlGenerator().generateSql( myReadTest3, "en_US", null,
      databaseMeta ).getQuery() );

}
 
开发者ID:pentaho,项目名称:pentaho-metadata,代码行数:74,代码来源:AdvancedQueryIT.java

示例7: testMqlDateParams_with_Date_object

import org.pentaho.metadata.model.Domain; //导入方法依赖的package包/类
@Test
public void testMqlDateParams_with_Date_object() throws Exception {
  Domain steelWheelsDomain = new XmiParser().parseXmi( getClass().getResourceAsStream( "/steel-wheels.xmi" ) );

  String mql =
      "<?xml version=\"1.0\" encoding=\"UTF-8\"?>" + "<mql>" + "<domain_id>Steel-Wheels</domain_id>"
          + "<model_id>BV_ORDERS</model_id>" + "<options>" + "<disable_distinct>false</disable_distinct>"
          + "</options>" + "<parameters>" + "<parameter defaultValue=\"2004-01-01\" name=\"date\" type=\"STRING\"/>"
          + "</parameters>" + "<selections>" + "<selection>" + "<view>BC_CUSTOMER_W_TER_</view>"
          + "<column>BC_CUSTOMER_W_TER_CUSTOMERNUMBER</column>" + "<aggregation>NONE</aggregation>" + "</selection>"
          + "<selection>" + "<view>CAT_ORDERS</view>" + "<column>BC_ORDERS_ORDERDATE</column>"
          + "<aggregation>NONE</aggregation>" + "</selection>" + "</selections>" + "<constraints>" + "<constraint>"
          + "<operator/>" + "<condition>[CAT_ORDERS.BC_ORDERS_ORDERDATE] "
          + "&gt;DATEVALUE([param:date])</condition>" + "</constraint>" + "</constraints>" + "<orders/>" + "</mql>";

  QueryXmlHelper helper = new QueryXmlHelper();
  InMemoryMetadataDomainRepository repo = new InMemoryMetadataDomainRepository();
  steelWheelsDomain.setId( "Steel-Wheels" );

  repo.storeDomain( steelWheelsDomain, false );
  Query query = helper.fromXML( repo, mql );

  DatabaseMeta databaseMeta = new DatabaseMeta( "", "ORACLE", "Native", "", "", "", "", "" ); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$

  SqlGenerator generator = new SqlGenerator();
  Map<String, Object> parameters = new HashMap<String, Object>();
  Date now = new Date();
  parameters.put( "date", now );
  MappedQuery mappedQuery = generator.generateSql( query, "en_US", repo, databaseMeta, parameters, false );

  SimpleDateFormat sdf = new SimpleDateFormat( "yyyy-MM-dd" );
  String nowAsString = sdf.format( now );

  TestHelper.assertEqualsIgnoreWhitespaces( "SELECT DISTINCT \n"
      + "          BT_CUSTOMER_W_TER_CUSTOMER_W01.CUSTOMERNUMBER AS COL0\n"
      + "         ,BT_ORDERS_ORDERS.ORDERDATE AS COL1\n" + "FROM \n"
      + "          CUSTOMER_W_TER BT_CUSTOMER_W_TER_CUSTOMER_W01\n" + "         ,ORDERS BT_ORDERS_ORDERS\n"
      + "WHERE \n"
      + "          ( BT_ORDERS_ORDERS.CUSTOMERNUMBER = BT_CUSTOMER_W_TER_CUSTOMER_W01.CUSTOMERNUMBER )\n"
      + "      AND \n" + "        (\n" + "          (\n" + "              BT_ORDERS_ORDERS.ORDERDATE  > TO_DATE('"
      + nowAsString + "','YYYY-MM-DD')\n" + "          )\n" + "        )\n", mappedQuery.getQuery() );
}
 
开发者ID:pentaho,项目名称:pentaho-metadata,代码行数:43,代码来源:SqlOpenFormulaIT.java

示例8: testMqlConstraints

import org.pentaho.metadata.model.Domain; //导入方法依赖的package包/类
@Test
public void testMqlConstraints() throws Exception {
  Domain steelWheelsDomain = new XmiParser().parseXmi( getClass().getResourceAsStream( "/steel-wheels.xmi" ));

  String mql =
      "<?xml version=\"1.0\" encoding=\"UTF-8\"?>" + "<mql>" + "<domain_id>Steel-Wheels</domain_id>"
          + "<model_id>BV_ORDERS</model_id>" + "<options>" + "<disable_distinct>false</disable_distinct>"
          + "</options>" + "<selections>" + "<selection>" + "<view>BC_CUSTOMER_W_TER_</view>"
          + "<column>BC_CUSTOMER_W_TER_CUSTOMERNUMBER</column>" + "<aggregation>NONE</aggregation>" + "</selection>"
          + "<selection>" + "<view>CAT_ORDERS</view>" + "<column>BC_ORDERS_ORDERDATE</column>"
          + "<aggregation>NONE</aggregation>" + "</selection>" + "</selections>" + "<constraints>" + "<constraint>"
          + "<operator/>" + "<condition>[CAT_ORDERS.BC_ORDERS_ORDERDATE] "
          + "&gt;DATEVALUE(\"2009-12-12\")</condition>" + "</constraint>" + "<constraint>"
          + "<operator>AND NOT</operator>" + "<condition>[CAT_ORDERS.BC_ORDERS_ORDERDATE] "
          + "&lt;DATEVALUE(\"2009-12-13\")</condition>" + "</constraint>" + "</constraints>" + "<orders/>" + "</mql>";

  QueryXmlHelper helper = new QueryXmlHelper();
  InMemoryMetadataDomainRepository repo = new InMemoryMetadataDomainRepository();
  steelWheelsDomain.setId( "Steel-Wheels" );

  repo.storeDomain( steelWheelsDomain, false );
  Query query = helper.fromXML( repo, mql );

  DatabaseMeta databaseMeta = new DatabaseMeta( "", "ORACLE", "Native", "", "", "", "", "" ); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$

  SqlGenerator generator = new SqlGenerator();
  MappedQuery mappedQuery = generator.generateSql( query, "en_US", repo, databaseMeta );

  // TestHelper.printOutJava(mappedQuery.getQuery());

  TestHelper.assertEqualsIgnoreWhitespaces( "SELECT DISTINCT \n"
      + "          BT_CUSTOMER_W_TER_CUSTOMER_W01.CUSTOMERNUMBER AS COL0\n"
      + "         ,BT_ORDERS_ORDERS.ORDERDATE AS COL1\n" + "FROM \n"
      + "          CUSTOMER_W_TER BT_CUSTOMER_W_TER_CUSTOMER_W01\n" + "         ,ORDERS BT_ORDERS_ORDERS\n"
      + "WHERE \n"
      + "          ( BT_ORDERS_ORDERS.CUSTOMERNUMBER = BT_CUSTOMER_W_TER_CUSTOMER_W01.CUSTOMERNUMBER )\n"
      + "      AND \n" + "        (\n" + "          (\n"
      + "              BT_ORDERS_ORDERS.ORDERDATE  > TO_DATE('2009-12-12','YYYY-MM-DD')\n" + "          )\n"
      + "      AND NOT (\n" + "              BT_ORDERS_ORDERS.ORDERDATE  < TO_DATE('2009-12-13','YYYY-MM-DD')\n"
      + "          )\n" + "        )\n", mappedQuery.getQuery() );
}
 
开发者ID:pentaho,项目名称:pentaho-metadata,代码行数:42,代码来源:SqlOpenFormulaIT.java

示例9: getBasicDomain

import org.pentaho.metadata.model.Domain; //导入方法依赖的package包/类
public static Domain getBasicDomain() {

    String locale = LocaleHelper.getLocale().toString();

    SqlPhysicalModel model = new SqlPhysicalModel();
    SqlDataSource dataSource = new SqlDataSource();
    dataSource.setDatabaseName( "SampleData" );
    model.setDatasource( dataSource );
    SqlPhysicalTable table = new SqlPhysicalTable( model );
    table.setId( "PT1" );
    model.getPhysicalTables().add( table );
    table.setTargetTableType( TargetTableType.INLINE_SQL );
    table.setTargetTable( "select * from customers" );

    SqlPhysicalColumn column = new SqlPhysicalColumn( table );
    column.setId( "PC1" );
    column.setTargetColumn( "customername" );
    column.setName( new LocalizedString( locale, "Customer Name" ) );
    column.setDescription( new LocalizedString( locale, "Customer Name Desc" ) );
    column.setDataType( DataType.STRING );
    table.getPhysicalColumns().add( column );

    LogicalModel logicalModel = new LogicalModel();
    logicalModel.setId( "MODEL" );
    logicalModel.setName( new LocalizedString( locale, "My Model" ) );
    logicalModel.setDescription( new LocalizedString( locale, "A Description of the Model" ) );

    LogicalTable logicalTable = new LogicalTable();
    logicalTable.setId( "LT" );
    logicalTable.setPhysicalTable( table );
    logicalTable.setLogicalModel( logicalModel );

    logicalModel.getLogicalTables().add( logicalTable );

    LogicalColumn logicalColumn = new LogicalColumn();
    logicalColumn.setId( "LC_CUSTOMERNAME" );
    logicalColumn.setPhysicalColumn( column );
    logicalColumn.setLogicalTable( logicalTable );
    logicalTable.addLogicalColumn( logicalColumn );

    Category mainCategory = new Category( logicalModel );
    mainCategory.setId( "CATEGORY" );
    mainCategory.setName( new LocalizedString( locale, "Category" ) );
    mainCategory.addLogicalColumn( logicalColumn );

    logicalModel.getCategories().add( mainCategory );

    Domain domain = new Domain();
    domain.setId( "DOMAIN" );
    domain.addPhysicalModel( model );
    domain.addLogicalModel( logicalModel );

    return domain;
  }
 
开发者ID:pentaho,项目名称:pentaho-metadata,代码行数:55,代码来源:TestHelper.java

示例10: testConcurrency

import org.pentaho.metadata.model.Domain; //导入方法依赖的package包/类
@Test( timeout = 5000 )
public void testConcurrency() throws Exception {
  String domainIdPrefix = "id";
  int repoSize = 100;
  //init repo
  IMetadataDomainRepository repo = new InMemoryMetadataDomainRepository();
  for ( int i = 0; i < repoSize; i++ ) {
    Domain domain = new Domain();
    LocalizedString name = new LocalizedString();
    name.setString( "US", String.valueOf( i + 1 ) );
    domain.setId( domainIdPrefix + String.valueOf( i + 1 ) );
    domain.setName( name );
    repo.storeDomain( domain, false );
  }

  MQLEditorServiceDelegate service = new MQLEditorServiceDelegate( repo );

  int poolSize = repoSize / 2;
  ExecutorService executorService = Executors.newFixedThreadPool( poolSize );

  List<Future<Boolean>> results = new ArrayList<>();
  for ( int i = 0; i < poolSize; i++ ) {
    results.add( executorService.submit( new Callable<Boolean>() {
      public Boolean call() throws Exception {
        for ( int i = 0; i < repoSize; i++ ) {
          try {
            String id = domainIdPrefix + String.valueOf( i + 1 );
            service.getDomainByName( id );
            service.addThinDomain( id );
          } catch ( Exception e ) {
            return false;
          }
        }
        return true;
      }
    } ) );
  }
  for ( Future<Boolean> result : results ) {
    Assert.assertTrue( result.get() );
  }
  executorService.shutdown();
}
 
开发者ID:pentaho,项目名称:mql-editor,代码行数:43,代码来源:MQLEditorServiceDelegateTest.java

示例11: generatePhysicalMetadataModel

import org.pentaho.metadata.model.Domain; //导入方法依赖的package包/类
public Domain generatePhysicalMetadataModel() throws KettleException {

    // First do some checking and lookups...
    //
    String targetDatabaseName = ConceptUtil.getString(logicalDomain, DefaultIDs.DOMAIN_TARGET_DATABASE);
    if (Utils.isEmpty(targetDatabaseName)) {
      throw new KettleException("Please specify a target database!");
    }
    DatabaseMeta targetDatabaseMeta = DatabaseMeta.findDatabase(databases, targetDatabaseName);
    if (targetDatabaseMeta==null) {
      throw new KettleException("Target database with name '"+targetDatabaseName+"' can't be found!");
    }

    // Now start creation of a new domain with physical underpinning.
    //
    Domain domain = new Domain();

    // Copy the domain information...
    //
    domain.setId( createId("DOMAIN", null, domain) );
    domain.setName(logicalDomain.getName());
    domain.setDescription(logicalDomain.getDescription());

    // Now copy all the models...
    //
    for (LogicalModel logicalModel : logicalDomain.getLogicalModels()) {
      // Copy model information...
      //
      LogicalModel model = new LogicalModel();
      model.setId( createId("MODEL", domain, model));
      model.setName(logicalModel.getName());
      model.setDescription(logicalModel.getDescription());

      // Create a physical model...
      //
      SqlPhysicalModel sqlModel = new SqlPhysicalModel();
      sqlModel.setDatasource(createSqlDataSource(targetDatabaseMeta));
      model.setPhysicalModel(sqlModel);

      for (LogicalTable logicalTable : logicalModel.getLogicalTables()) {
        LogicalTable table = new LogicalTable();
        table.setId( createId("LOGICAL_TABLE", logicalModel, logicalTable) );
        table.setName(logicalTable.getName());
        table.setDescription(logicalTable.getDescription());

        String targetTable = ConceptUtil.getString(logicalTable, DefaultIDs.LOGICAL_TABLE_PHYSICAL_TABLE_NAME);

        SqlPhysicalTable sqlTable = new SqlPhysicalTable(sqlModel);
        table.setPhysicalTable(sqlTable);

        // Copy name & description from physical level...
        //
        sqlTable.setId( createId("PHYSICAL_TABLE", logicalModel, logicalTable));
        sqlTable.setName(logicalTable.getName());
        sqlTable.setDescription(logicalTable.getDescription());
        sqlTable.setTableType(ConceptUtil.getTableType(logicalTable));
        sqlTable.setTargetSchema(targetDatabaseMeta.getPreferredSchemaName());
        sqlTable.setTargetTable(targetTable);


      }
    }

    return domain;
  }
 
开发者ID:pentaho,项目名称:pentaho-kettle,代码行数:66,代码来源:MetadataGenerator.java


注:本文中的org.pentaho.metadata.model.Domain.setId方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。