Думаю, это требование справедливо:
Загрузите файл данных csv и файл .ktr в папку PUC. .Ktr должен иметь возможность читать загруженный CSV-файл, когда он выполняется из PUC.
Представьте себе простого пользователя с файлом csv. Сможет ли он загрузить файл csv на хост Linux с помощью wincsp, filezilla или другого инструмента ftp ??
Нам нужно предоставить нашему пользователю простую функцию загрузки, поэтому после нескольких часов исследования (исходный код pentaho) без единой строчки документации Pentaho я нашел этот тест:
https://github.com/pentaho/pentaho-platform/blob/master/extensions/src/test/java/org/pentaho/platform/plugin/services/importer/PlatformImporterTest.java, который показал мне, что где-то должен существовать список mimetype.
Итак, после поиска нескольких слов во всей папке pentaho с помощью команды grep я нашел этот файл:
/my_apps/pentaho-server-ce-7.1.0.0-12/pentaho-server/pentaho-solutions/system/ImportHandlerMimeTypeDefinitions.xml
С некоторой интуицией я добавил этот xml
<ImportHandler class="org.pentaho.platform.plugin.services.importer.RepositoryFileImportFileHandler">
<MimeTypeDefinitions>
<MimeTypeDefinition mimeType="text/plain" >
<extension>csv</extension>
</MimeTypeDefinition>
</MimeTypeDefinitions>
</ImportHandler>
Внизу файла:
<tns:ImportHandlerMimeTypeDefinitions xmlns:tns="http://www.pentaho.com/schema/" .....
<ImportHandler ../>
<ImportHandler ../>
<!-- PUT CSV CONFIG HERE -->
</tns:ImportHandlerMimeTypeDefinitions>
Наконец, я перезапустил свой сервер pentaho-server-ce-7.1.0.0-12 и смог загрузить свой CSV-файл, выполнив следующие действия:
- перейдите по адресу http://localhost:8080/pentaho
- нажмите и просмотрите файлы
- выберите какую-нибудь папку
- нажмите кнопку загрузки (правая сторона)
- выберите csv и ок
Ожидается чтение этого CSV-файла из ktr ...
надеюсь, это поможет
person
JRichardsz
schedule
15.01.2018