java - Pentaho java api 工作

标签 java pentaho

我目前正在使用 Java API 连接到 Pentaho 存储库。我想知道如果特定的 Pentaho 文件属于作业或转换类型,我们是否有任何方法。 我使用的示例代码如下。如果您看到我正在手动创建 Jobmeta 或 Transmeta。 有没有API可以获取pentao作业类型。

Repository repository = new PentahoContext().initialize(repositoryName,
                       userName, password);

RepositoryDirectoryInterface directoryPublic = repository
                       .loadRepositoryDirectoryTree();

RepositoryDirectoryInterface directoryPublic1 = directoryPublic
                       .findDirectory(“/home");

JobMeta jobMeta = repository.loadJob(jobName, directoryPublic1, null,
                       null);

最佳答案

我认为您不能查询单个文件,但您可以使用 Repository.getJobAndTransformationObjects() 或 RepositoryDirectoryInterface.getRepositoryObjects() 返回指定目录中的对象列表。然后,您可以迭代该列表,查找具有该名称的对象,然后调用 getObjectType() 来查看它是否等于 RepositoryObjectType.TRANSFORMATION 或 RepositoryObjectType.JOB:

// pseudo-Java code 
repositoryObjects = repository.getJobAndTransformationObjects( directoryPublic1.getObjectId(), false );

for (RepositoryElementMetaInterface object : repositoryObjects) {
  if(object.getName().equals("myFile")) {
    if(object.getObjectType().equals(RepositoryObjectType.TRANSFORMATION) {
      TransMeta transMeta = repository.loadTransformation(...);
    }
    else if(object.getObjectType().equals(RepositoryObjectType.JOB) {
      JobMeta jobMeta = repository.loadJob(...);
    }
  }
}

关于java - Pentaho java api 工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31924227/

相关文章:

Pentaho水壶将月份数值转换为月份名称

java - 错误 :java: invalid flag: -release

java - 使用 java 9 编译 lambda 表达式时 Maven 构建失败

java - JUnit - 预期的异常消息正则表达式

java - JTreeTable DnD 疯狂闪烁的下降光标

Pentaho 中的授权

java - 如何从与类不在同一文件夹中的文件创建 URL

testing - 从 pentaho pdi 中的输入表捕获执行的 sql

java - 带设定长度的正则表达式

pentaho - 在 Pentaho 数据集成 Kettle 中重用不同数据的转换