Comment supprimer un dossier modifié en utilisant Javascript dans Pentaho?

StackOverflow https://stackoverflow.com/questions/3850269

  •  27-09-2019
  •  | 
  •  

Question

Je tente de supprimer un dossier en utilisant Javascript modifié dans Pentaho, mais le mot-clé delete est réservé par le compilateur IPD (il est utilisé pour supprimer une variable de la mémoire).

Voici ce que je fais:

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();

Et je reçois une erreur de compilation de Pentaho.

J'ai essayé deleteFile sur le dossier, mais apparemment deleteFile ne peux pas supprimer un dossier.

Toutes les suggestions comment surmonter l'utilisation d'un mot réservé?

Était-ce utile?

La solution

Il y a 2 solutions pour votre problème:

1 .: Mieux:

Créer un emploi, importez votre transformation en cours dans le travail. Dans la transformation définir le nom du dossier en tant que variable , dans l'utilisation du travail de la variable dans l'étape de dossiers de suppression.

2 .: Le plus facile:

Utiliser la réflexion dans l'étape Java Script valeur modifiée (testé dans une cuillère 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);
scroll top