use of org.pentaho.di.plugins.fileopensave.api.providers.File in project pentaho-kettle by pentaho.
the class FileController method delete.
public Result delete(List<File> files) {
try {
FileProvider<File> fileProvider = providerService.get(files.get(0).getProvider());
List<File> deletedFiles = fileProvider.delete(files);
for (File file : deletedFiles) {
fileCache.removeFile(fileProvider.getParent(file), file);
}
return Result.success("", deletedFiles);
} catch (InvalidFileProviderException | FileException e) {
return null;
}
}
use of org.pentaho.di.plugins.fileopensave.api.providers.File in project pentaho-kettle by pentaho.
the class FileController method add.
public Result add(File folder) {
try {
FileProvider<File> fileProvider = providerService.get(folder.getProvider());
File newFile = fileProvider.add(folder);
if (newFile != null) {
fileCache.addFile(fileProvider.getParent(folder), newFile);
return Result.success("", newFile);
} else {
return Result.error("Unable to create folder", folder);
}
} catch (FileExistsException fee) {
return Result.fileCollision("", folder);
} catch (FileException | InvalidFileProviderException fe) {
return Result.error("", folder);
}
}
use of org.pentaho.di.plugins.fileopensave.api.providers.File in project pentaho-kettle by pentaho.
the class FileController method copyFile.
public Result copyFile(File file, File destDir, String path, Boolean overwrite) {
try {
FileProvider<File> fileProvider = providerService.get(file.getProvider());
File newFile;
if (fileProvider.isSame(file, destDir)) {
newFile = fileProvider.copy(file, path, overwrite);
} else {
newFile = copyFileBetweenProviders(file, destDir, path, overwrite);
}
if (newFile != null) {
FileProvider newFileProvider = providerService.get(newFile.getProvider());
fileCache.addFile(newFileProvider.getParent(newFile), newFile);
return Result.success("Copy file complete", newFile);
}
} catch (InvalidFileProviderException | FileException e) {
return Result.error("Unable to copy file", file);
}
return Result.error("Unable to copy file", file);
}
use of org.pentaho.di.plugins.fileopensave.api.providers.File in project pentaho-kettle by pentaho.
the class FileControllerTest method testGetFilesCache.
@Test
public void testGetFilesCache() throws FileException {
TestDirectory testDirectory = new TestDirectory();
testDirectory.setPath("/");
List<File> files = fileController.getFiles(testDirectory, "", true);
Assert.assertEquals(8, files.size());
Assert.assertTrue(fileController.fileCache.containsKey(testDirectory));
Assert.assertEquals(8, fileController.fileCache.getFiles(testDirectory).size());
}
use of org.pentaho.di.plugins.fileopensave.api.providers.File in project pentaho-kettle by pentaho.
the class FileController method rename.
public Result rename(File file, String newPath, boolean overwrite) {
try {
FileProvider<File> fileProvider = providerService.get(file.getProvider());
File newFile = fileProvider.rename(file, newPath, overwrite);
if (newFile != null) {
fileCache.move(fileProvider.getParent(file), file, fileProvider.getParent(newFile), newFile);
}
return Result.success("", newFile);
} catch (InvalidFileProviderException | FileException e) {
return null;
}
}
Aggregations