我正在使用Java围绕Pentaho数据集成的功能构建一个宁静的API。
我已经实现了多个端点,例如创建存储库的能力 包含作业和转换,运行作业和转换,显示作业和转换的图像,显示存储库中的数据库连接,以及更多。
我正在尝试构建一个端点,以允许更改数据源,例如主机名,数据库名称等。但是在保存新的连接详细信息时遇到了一个问题。 / p>
这是我的一段代码。我仅出于测试目的对值进行了硬编码。 我遍历包含DatabaseMeta的数组列表,然后更改字段的值。
for(DatabaseMeta meta: databaseMeta) {
meta.setHostName(“test_host”) ;
meta.setDBPort(“test_port”);
meta.setDBName(“test_database”);
repositoryService.updateDataSource(databaseMeta);
}
updateDatasource()方法只调用repository.save()(它是org.pentaho.di.repository包的一部分)并传入DatabaseMeta。
执行此方法时,它将在存储库中创建一个.kdb文件(具有上面设置的值),并向端点发出GET请求,将从新文件返回连接详细信息。 但是,我只想覆盖现有转换连接中的值,然后在GET请求中返回它们。 有什么方法可以实现? 任何帮助将不胜感激。
谢谢。