Как удалить папку, используя модифицированный JavaScript в Pentaho?
-
27-09-2019 - |
Вопрос
Я пытаюсь удалить папку, использующую модифицированный JavaScript в Пентахо, однако delete
Ключевое слово зарезервировано Compiler PDI (он используется для удаления переменной из памяти).
Вот что я делаю:
var source = new java.io.File("some path");
var files = source.list();
for (var i=0; i<files.length; i++) {
deleteFile(oldpath + "/" + filename); // empty folder from files, works okey
}
source.delete();
И я получаю ошибку компиляции из пентахо.
Я попробовал deletefile в папку, но, по-видимому, deletefile не может удалить папку.
Любые предложения Как преодолеть использование зарезервированного слова?
Решение
Для вашей проблемы 2 решения:
1.: ЧЕМ ЛУЧШЕ:
Создайте работу, импортируйте текущее преобразование в работу. В преобразовании установите имя папки как переменная, в работе используйте переменную в Удалить папки шаг.
2: Чем легче:
Используйте отражение в модифицированном этапе значений сценариев Java (проверено в ложке 4.0.1):
var source = new java.io.File("D:\\testdel");
var fileClass = source.getClass();
var delMethod = fileClass.getMethod("delete", null);
delMethod.invoke(source, null);