use of org.pentaho.di.plugins.fileopensave.providers.local.model.LocalDirectory in project pentaho-kettle by pentaho.
the class LocalFileProvider method getTree.
/**
* @return
*/
@Override
public Tree getTree() {
LocalTree localTree = new LocalTree(NAME);
List<LocalFile> rootFiles = new ArrayList<>();
ArrayList<Path> paths = new ArrayList<>();
if (Const.isRunningOnWebspoonMode()) {
Path kettleUserDataDirectoryPath = Paths.get(Const.getUserDataDirectory());
paths.add(kettleUserDataDirectoryPath);
} else {
FileSystems.getDefault().getRootDirectories().forEach(paths::add);
}
paths.forEach(path -> {
LocalDirectory localDirectory = new LocalDirectory();
localDirectory.setPath(path.toString());
localDirectory.setName(path.toString());
localDirectory.setRoot(NAME);
localDirectory.setHasChildren(true);
rootFiles.add(localDirectory);
});
localTree.setFiles(rootFiles);
return localTree;
}
use of org.pentaho.di.plugins.fileopensave.providers.local.model.LocalDirectory in project pentaho-kettle by pentaho.
the class LocalFileProvider method add.
/**
* @param folder
* @return
*/
@Override
public LocalFile add(LocalFile folder) throws FileException {
Path folderPath = Paths.get(folder.getPath());
if (folderPath.toFile().exists()) {
throw new FileExistsException();
}
try {
Path newPath = Files.createDirectories(Paths.get(folder.getPath()));
LocalDirectory localDirectory = new LocalDirectory();
localDirectory.setName(newPath.getFileName().toString());
localDirectory.setPath(newPath.getFileName().toString());
localDirectory.setDate(new Date(Files.getLastModifiedTime(newPath).toMillis()));
localDirectory.setRoot(NAME);
localDirectory.setCanAddChildren(true);
localDirectory.setCanEdit(true);
return localDirectory;
} catch (IOException e) {
return null;
}
}
Aggregations