Search in sources :

Example 1 with File

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;
    }
}
Also used : FileException(org.pentaho.di.plugins.fileopensave.api.providers.exception.FileException) File(org.pentaho.di.plugins.fileopensave.api.providers.File) InvalidFileProviderException(org.pentaho.di.plugins.fileopensave.api.providers.exception.InvalidFileProviderException)

Example 2 with File

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);
    }
}
Also used : FileException(org.pentaho.di.plugins.fileopensave.api.providers.exception.FileException) File(org.pentaho.di.plugins.fileopensave.api.providers.File) InvalidFileProviderException(org.pentaho.di.plugins.fileopensave.api.providers.exception.InvalidFileProviderException) FileExistsException(org.pentaho.di.plugins.fileopensave.api.providers.exception.FileExistsException)

Example 3 with File

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);
}
Also used : FileException(org.pentaho.di.plugins.fileopensave.api.providers.exception.FileException) FileProvider(org.pentaho.di.plugins.fileopensave.api.providers.FileProvider) File(org.pentaho.di.plugins.fileopensave.api.providers.File) InvalidFileProviderException(org.pentaho.di.plugins.fileopensave.api.providers.exception.InvalidFileProviderException)

Example 4 with 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());
}
Also used : TestDirectory(org.pentaho.di.plugins.fileopensave.providers.model.TestDirectory) TestFile(org.pentaho.di.plugins.fileopensave.providers.model.TestFile) File(org.pentaho.di.plugins.fileopensave.api.providers.File) Test(org.junit.Test)

Example 5 with File

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;
    }
}
Also used : FileException(org.pentaho.di.plugins.fileopensave.api.providers.exception.FileException) File(org.pentaho.di.plugins.fileopensave.api.providers.File) InvalidFileProviderException(org.pentaho.di.plugins.fileopensave.api.providers.exception.InvalidFileProviderException)

Aggregations

File (org.pentaho.di.plugins.fileopensave.api.providers.File)6 FileException (org.pentaho.di.plugins.fileopensave.api.providers.exception.FileException)5 InvalidFileProviderException (org.pentaho.di.plugins.fileopensave.api.providers.exception.InvalidFileProviderException)5 FileProvider (org.pentaho.di.plugins.fileopensave.api.providers.FileProvider)2 Test (org.junit.Test)1 FileExistsException (org.pentaho.di.plugins.fileopensave.api.providers.exception.FileExistsException)1 TestDirectory (org.pentaho.di.plugins.fileopensave.providers.model.TestDirectory)1 TestFile (org.pentaho.di.plugins.fileopensave.providers.model.TestFile)1