use of org.pentaho.di.plugins.fileopensave.api.providers.exception.FileException in project pentaho-kettle by pentaho.
the class VFSFileProvider method writeFile.
/**
* @param inputStream
* @param destDir
* @param path
* @param overwrite
* @return
* @throws FileException
*/
@Override
public VFSFile writeFile(InputStream inputStream, VFSFile destDir, String path, boolean overwrite) throws FileException {
FileObject fileObject = null;
try {
fileObject = KettleVFS.getFileObject(path, new Variables(), VFSHelper.getOpts(destDir.getPath(), destDir.getConnection()));
} catch (KettleException ke) {
throw new FileException();
}
if (fileObject != null) {
try (OutputStream outputStream = fileObject.getContent().getOutputStream()) {
IOUtils.copy(inputStream, outputStream);
outputStream.flush();
return VFSFile.create(destDir.getPath(), fileObject, destDir.getConnection(), destDir.getDomain());
} catch (IOException e) {
return null;
}
}
return null;
}
use of org.pentaho.di.plugins.fileopensave.api.providers.exception.FileException in project pentaho-kettle by pentaho.
the class RepositoryFileProvider method add.
@Override
public RepositoryFile add(RepositoryFile folder) throws FileException {
if (hasDupeFolder(folder.getParent(), folder.getName())) {
throw new FileExistsException();
}
try {
RepositoryDirectoryInterface repositoryDirectoryInterface = getRepository().createRepositoryDirectory(findDirectory(folder.getParent()), folder.getName());
RepositoryDirectory repositoryDirectory = new RepositoryDirectory();
repositoryDirectory.setName(repositoryDirectoryInterface.getName());
repositoryDirectory.setPath(repositoryDirectoryInterface.getPath());
repositoryDirectory.setObjectId(repositoryDirectoryInterface.getObjectId().getId());
repositoryDirectory.setParent(folder.getParent());
return RepositoryDirectory.build(folder.getPath(), repositoryDirectoryInterface);
} catch (Exception e) {
return null;
}
}
use of org.pentaho.di.plugins.fileopensave.api.providers.exception.FileException 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.exception.FileException 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.exception.FileException 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);
}
Aggregations