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


Java Trans.prepareExecution方法代码示例

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


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

示例1: startTransformation

import org.pentaho.di.trans.Trans; //导入方法依赖的package包/类
protected void startTransformation( Repository repository, IMetaStore metaStore, final StreamingService service ) {
  try {

    TransMeta transMeta = StreamingConst.loadTransMeta( repository, metaStore, service );
    Trans trans = new Trans( transMeta );
    String carteObjectId = UUID.randomUUID().toString();
    trans.setContainerObjectId( carteObjectId );
    
    if (service.getLogLevel()!=null) {
      trans.setLogLevel(service.getLogLevel());
    }
    TransExecutionConfiguration transExecutionConfiguration = new TransExecutionConfiguration();
    TransConfiguration transConfiguration = new TransConfiguration( transMeta, transExecutionConfiguration );
    transformationMap.addTransformation( transMeta.getName(), carteObjectId, trans, transConfiguration );
    trans.prepareExecution( null );

    // Start the transformation

    trans.startThreads();
    
    // This transformation routinely never ends so we won't wait for it...
    
  } catch ( Exception e ) {
    throw new RuntimeException( "Unable to start transformation for streaming service '" + service.getName() + "'", e );
  }
}
 
开发者ID:mattcasters,项目名称:pentaho-pdi-streaming,代码行数:27,代码来源:ListStreamingServicesServlet.java

示例2: executeTrans

import org.pentaho.di.trans.Trans; //导入方法依赖的package包/类
protected void executeTrans(Trans trans) throws KettleException { 
   trans.prepareExecution(null);
   trans.startThreads();
   trans.waitUntilFinished();
}
 
开发者ID:yintaoxue,项目名称:read-open-source-code,代码行数:6,代码来源:ExecuteTransServlet.java

示例3: test

import org.pentaho.di.trans.Trans; //导入方法依赖的package包/类
/**
 * Runs the transformation with the below input parameters
 * @param inputData JSON string
 * @param ignoreMissingPath boolean
 * @param defaultPathLeafToNull boolean
 * @return Transformation Results
 */
private List<RowMetaAndData> test(String inputData, boolean ignoreMissingPath, boolean defaultPathLeafToNull)
        throws Exception {
    KettleEnvironment.init();

    // Create a new transformation
    TransMeta transMeta = new TransMeta();
    transMeta.setName("testFastJsonInput");
    PluginRegistry registry = PluginRegistry.getInstance();

    // Create Injector
    String injectorStepName = "injector step";
    StepMeta injectorStep = TestUtilities.createInjectorStep(injectorStepName, registry);
    transMeta.addStep(injectorStep);

    // Create a FastJsonInput step
    String fastJsonInputName = "FastJsonInput step";
    StepMeta fastJsonInputStep = createFastJsonInputStep(fastJsonInputName, registry, ignoreMissingPath,
            defaultPathLeafToNull);
    transMeta.addStep(fastJsonInputStep);

    // TransHopMeta between injector step and FastJsonInput
    TransHopMeta injector_hop_fjis = new TransHopMeta(injectorStep, fastJsonInputStep);
    transMeta.addTransHop(injector_hop_fjis);

    // Create a dummy step
    String dummyStepName = "dummy step";
    StepMeta dummyStep = TestUtilities.createDummyStep(dummyStepName, registry);
    transMeta.addStep(dummyStep);

    // TransHopMeta between FastJsonInput and Dummy
    TransHopMeta fjis_hop_dummy = new TransHopMeta(fastJsonInputStep, dummyStep);
    transMeta.addTransHop(fjis_hop_dummy);

    // Execute the transformation
    Trans trans = new Trans(transMeta);
    trans.prepareExecution(null);

    // Create a row collector and add it to the dummy step interface
    StepInterface si = trans.getStepInterface(dummyStepName, 0);
    RowStepCollector dummyRowCollector = new RowStepCollector();
    si.addRowListener(dummyRowCollector);

    // Create a row producer
    RowProducer rowProducer = trans.addRowProducer(injectorStepName, 0);
    trans.startThreads();

    // create the rows
    List<RowMetaAndData> inputList = createInputData(inputData);
    for (RowMetaAndData rowMetaAndData : inputList) {
        rowProducer.putRow(rowMetaAndData.getRowMeta(), rowMetaAndData.getData());
    }
    rowProducer.finished();

    trans.waitUntilFinished();

    return dummyRowCollector.getRowsWritten();
}
 
开发者ID:etdube,项目名称:pdi-fastjsoninput-plugin,代码行数:65,代码来源:FastJsonInputTest.java

示例4: testInjector

import org.pentaho.di.trans.Trans; //导入方法依赖的package包/类
/**
* Test case for injector step... also a show case on how
* to use injector.
*/
  public void testInjector() throws Exception
  {
      EnvUtil.environmentInit();

      //
      // Create a new transformation...
      //
      TransMeta transMeta = new TransMeta();
      transMeta.setName("injectortest");
  	
      StepLoader steploader = StepLoader.getInstance();            

      // 
      // create an injector step...
      //
      String injectorStepname = "injector step";
      InjectorMeta im = new InjectorMeta();
      
      // Set the information of the injector.
              
      String injectorPid = steploader.getStepPluginID(im);
      StepMeta injectorStep = new StepMeta(injectorPid, injectorStepname, (StepMetaInterface)im);
      transMeta.addStep(injectorStep);

      // 
      // Create a dummy step
      //
      String dummyStepname = "dummy step";            
      DummyTransMeta dm = new DummyTransMeta();

      String dummyPid = steploader.getStepPluginID(dm);
      StepMeta dummyStep = new StepMeta(dummyPid, dummyStepname, (StepMetaInterface)dm);
      transMeta.addStep(dummyStep);                              

      TransHopMeta hi = new TransHopMeta(injectorStep, dummyStep);
      transMeta.addTransHop(hi);
              
      // Now execute the transformation...
      Trans trans = new Trans(transMeta);

      trans.prepareExecution(null);
              
      StepInterface si = trans.getStepInterface(dummyStepname, 0);
      RowStepCollector rc = new RowStepCollector();
      si.addRowListener(rc);
      
      RowProducer rp = trans.addRowProducer(injectorStepname, 0);
      trans.startThreads();
      
      // add rows
      List<RowMetaAndData> inputList = createData();
      for (RowMetaAndData rm : inputList )
      {
      	rp.putRow(rm.getRowMeta(), rm.getData());
      }   
      rp.finished();

      trans.waitUntilFinished();   
      
      List<RowMetaAndData> resultRows = rc.getRowsWritten();
      checkRows(resultRows, inputList);
  }
 
开发者ID:icholy,项目名称:geokettle-2.0,代码行数:67,代码来源:InjectorTest.java

示例5: testCaseSensitiveNoPreviousSort

import org.pentaho.di.trans.Trans; //导入方法依赖的package包/类
public void testCaseSensitiveNoPreviousSort() throws Exception
{
    EnvUtil.environmentInit();

    //
    // Create a new transformation...
    //
    TransMeta transMeta = new TransMeta();
    transMeta.setName("uniquerowstest");
	
    StepLoader steploader = StepLoader.getInstance();            

    // 
    // create an injector step...
    //
    String injectorStepname = "injector step";
    InjectorMeta im = new InjectorMeta();
    
    // Set the information of the injector.                
    String injectorPid = steploader.getStepPluginID(im);
    StepMeta injectorStep = new StepMeta(injectorPid, injectorStepname, (StepMetaInterface)im);
    transMeta.addStep(injectorStep);

    // 
    // Create a unique rows step
    //
    String uniqueRowsStepname = "unique rows step";            
    UniqueRowsMeta urm = new UniqueRowsMeta();
    urm.setCompareFields(new String[] {"KEY"});
    urm.setCaseInsensitive(new boolean[] {false});

    String uniqueRowsStepPid = steploader.getStepPluginID(urm);
    StepMeta uniqueRowsStep = new StepMeta(uniqueRowsStepPid, uniqueRowsStepname, (StepMetaInterface)urm);
    transMeta.addStep(uniqueRowsStep);            

    transMeta.addTransHop(new TransHopMeta(injectorStep, uniqueRowsStep));        
    
    // 
    // Create a dummy step
    //
    String dummyStepname = "dummy step";            
    DummyTransMeta dm = new DummyTransMeta();

    String dummyPid = steploader.getStepPluginID(dm);
    StepMeta dummyStep = new StepMeta(dummyPid, dummyStepname, (StepMetaInterface)dm);
    transMeta.addStep(dummyStep);                              

    transMeta.addTransHop(new TransHopMeta(uniqueRowsStep, dummyStep));        
    
    // Now execute the transformation...
    Trans trans = new Trans(transMeta);

    trans.prepareExecution(null);
            
    StepInterface si = trans.getStepInterface(dummyStepname, 0);
    RowStepCollector dummyRc = new RowStepCollector();
    si.addRowListener(dummyRc);
    
    RowProducer rp = trans.addRowProducer(injectorStepname, 0);
    trans.startThreads();
    
    // add rows
    List<RowMetaAndData> inputList = createData();
    for ( RowMetaAndData rm : inputList )
    {
    	rp.putRow(rm.getRowMeta(), rm.getData());
    }   
    rp.finished();
 
    trans.waitUntilFinished();   
                                 
    List<RowMetaAndData> resultRows = dummyRc.getRowsWritten();
    checkRows(createResultDataCaseSensitiveNoPreviousSort(), resultRows);
}
 
开发者ID:icholy,项目名称:geokettle-2.0,代码行数:75,代码来源:UniqueRowsTest.java

示例6: testCaseInsensitiveNoPreviousSort

import org.pentaho.di.trans.Trans; //导入方法依赖的package包/类
public void testCaseInsensitiveNoPreviousSort() throws Exception
{
    EnvUtil.environmentInit();

    //
    // Create a new transformation...
    //
    TransMeta transMeta = new TransMeta();
    transMeta.setName("uniquerowstest");
    
    StepLoader steploader = StepLoader.getInstance();            

    // 
    // create an injector step...
    //
    String injectorStepname = "injector step";
    InjectorMeta im = new InjectorMeta();
    
    // Set the information of the injector.                
    String injectorPid = steploader.getStepPluginID(im);
    StepMeta injectorStep = new StepMeta(injectorPid, injectorStepname, (StepMetaInterface)im);
    transMeta.addStep(injectorStep);

    // 
    // Create a unique rows step
    //
    String uniqueRowsStepname = "unique rows step";            
    UniqueRowsMeta urm = new UniqueRowsMeta();
    urm.setCompareFields(new String[] {"KEY"});
    urm.setCaseInsensitive(new boolean[] {true});

    String uniqueRowsStepPid = steploader.getStepPluginID(urm);
    StepMeta uniqueRowsStep = new StepMeta(uniqueRowsStepPid, uniqueRowsStepname, (StepMetaInterface)urm);
    transMeta.addStep(uniqueRowsStep);            

    transMeta.addTransHop(new TransHopMeta(injectorStep, uniqueRowsStep));        
    
    // 
    // Create a dummy step
    //
    String dummyStepname = "dummy step";            
    DummyTransMeta dm = new DummyTransMeta();

    String dummyPid = steploader.getStepPluginID(dm);
    StepMeta dummyStep = new StepMeta(dummyPid, dummyStepname, (StepMetaInterface)dm);
    transMeta.addStep(dummyStep);                              

    transMeta.addTransHop(new TransHopMeta(uniqueRowsStep, dummyStep));        
    
    // Now execute the transformation...
    Trans trans = new Trans(transMeta);

    trans.prepareExecution(null);
            
    StepInterface si = trans.getStepInterface(dummyStepname, 0);
    RowStepCollector dummyRc = new RowStepCollector();
    si.addRowListener(dummyRc);
    
    RowProducer rp = trans.addRowProducer(injectorStepname, 0);
    trans.startThreads();
    
    // add rows
    List<RowMetaAndData> inputList = createData();
    for ( RowMetaAndData rm : inputList )
    {
        rp.putRow(rm.getRowMeta(), rm.getData());
    }   
    rp.finished();
 
    trans.waitUntilFinished();   
                                 
    List<RowMetaAndData> resultRows = dummyRc.getRowsWritten();
    checkRows(createResultDataCaseInsensitiveNoPreviousSort(), resultRows);
}
 
开发者ID:icholy,项目名称:geokettle-2.0,代码行数:75,代码来源:UniqueRowsTest.java

示例7: testRowGenerator

import org.pentaho.di.trans.Trans; //导入方法依赖的package包/类
/**
* Test case for Row Generator step.
*/
  public void testRowGenerator() throws Exception
  {
      EnvUtil.environmentInit();

      //
      // Create a new transformation...
      //
      TransMeta transMeta = new TransMeta();
      transMeta.setName("row generatortest");
  	
      StepLoader steploader = StepLoader.getInstance();            

      // 
      // create a row generator step...
      //
      String rowGeneratorStepname = "row generator step";
      RowGeneratorMeta rm = new RowGeneratorMeta();
      
      // Set the information of the row generator.                
      String rowGeneratorPid = steploader.getStepPluginID(rm);
      StepMeta rowGeneratorStep = new StepMeta(rowGeneratorPid, rowGeneratorStepname, (StepMetaInterface)rm);
      transMeta.addStep(rowGeneratorStep);
      
      //
      // Do the following specs 3 times.
      //
      String fieldName[]   = { "string", "boolean", "integer" };
      String type[]        = { "String", "Boolean", "Integer" };
      String value[]       = { "string_value", "true", "20"   };
      String fieldFormat[] = { "", "", ""  };
      String group[]       = { "", "", ""  };
      String decimal[]     = { "", "", ""  };
      int    intDummies[]  = { -1, -1, -1 };
              
      rm.setDefault();
      rm.setFieldName(fieldName);
      rm.setFieldType(type);
      rm.setValue(value);
      rm.setFieldLength(intDummies);
      rm.setFieldPrecision(intDummies);        
      rm.setRowLimit("3");
      rm.setFieldFormat(fieldFormat);
      rm.setGroup(group);
      rm.setDecimal(decimal);

      // 
      // Create a dummy step
      //
      String dummyStepname = "dummy step";            
      DummyTransMeta dm = new DummyTransMeta();

      String dummyPid = steploader.getStepPluginID(dm);
      StepMeta dummyStep = new StepMeta(dummyPid, dummyStepname, (StepMetaInterface)dm);
      transMeta.addStep(dummyStep);                              

      TransHopMeta hi = new TransHopMeta(rowGeneratorStep, dummyStep);
      transMeta.addTransHop(hi);
              
      // Now execute the transformation...
      Trans trans = new Trans(transMeta);

      trans.prepareExecution(null);
              
      StepInterface si = trans.getStepInterface(dummyStepname, 0);
      RowStepCollector rc = new RowStepCollector();
      si.addRowListener(rc);
      
      trans.startThreads();        
      trans.waitUntilFinished();   
      
      List<RowMetaAndData> checkList = createData();
      List<RowMetaAndData> resultRows = rc.getRowsWritten();
      checkRows(resultRows, checkList);
  }
 
开发者ID:icholy,项目名称:geokettle-2.0,代码行数:78,代码来源:RowGeneratorTest.java

示例8: runEngine

import org.pentaho.di.trans.Trans; //导入方法依赖的package包/类
public boolean runEngine(boolean printDescription) throws KettleException
  {
  	System.gc();
  	
      if (StepLoader.getInstance().getPluginList().size()==0) StepLoader.init();

      transMeta = new TransMeta(filename);
      transMeta.setVariable("NR_OF_ROWS", Long.toString(records));
      if (printDescription) printTransDescription();

      // Replace the TARGET database connection settings with the one provided
      if (targetDatabaseMeta!=null)
      {
          transMeta.addOrReplaceDatabase(targetDatabaseMeta);
      }
      
      // OK, now run this transFormation.
      Trans trans = new Trans(transMeta);
      
      try {
      	trans.prepareExecution(null);
      }
      catch (Exception e) {
      	LogWriter.getInstance().logError(trans.getName(), "Error preparing / initializing transformation", e);
      	return false;
}
      
      if (!Const.isEmpty(rowListenerStep))
      {
          BaseStep baseStep = trans.findRunThread(rowListenerStep);
          if (baseStep!=null)
          {
              baseStep.addRowListener(rowListener);
          }
      }
      
      long startTime = System.currentTimeMillis();
      
      trans.startThreads();
      
      trans.waitUntilFinished();
      
      long stopTime = System.currentTimeMillis();

      result = trans.getResult();
      
      runTime = (double)(stopTime - startTime) / 1000;
      speed = (double)records / (runTime);
      
      printStats("V3 results", records, runTime, speed);
      
      return true;
  }
 
开发者ID:icholy,项目名称:geokettle-2.0,代码行数:54,代码来源:TimedTransRunner.java


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