List of usage examples for org.apache.commons.vfs FileType FOLDER
FileType FOLDER
To view the source code for org.apache.commons.vfs FileType FOLDER.
Click Source Link
From source file:org.pentaho.platform.repository.solution.filebased.SolutionRepositoryVfsFileObject.java
public FileType getType() throws FileSystemException { return ((repositoryFile != null) && !repositoryFile.isFolder()) ? FileType.FILE : FileType.FOLDER; }
From source file:org.pentaho.reporting.libraries.pensol.VfsTest.java
public void testInitialLoading() throws FileSystemException { final FileObject nonExistent = VFS.getManager().resolveFile("test-solution://localhost/non-existent"); assertFalse(nonExistent.exists());/* w w w. j a v a 2 s .c o m*/ assertEquals(FileType.IMAGINARY, nonExistent.getType()); assertEquals("non-existent", nonExistent.getName().getBaseName()); final FileObject directory = VFS.getManager().resolveFile("test-solution://localhost/bi-developers"); assertTrue(directory.exists()); assertEquals(FileType.FOLDER, directory.getType()); assertEquals("bi-developers", directory.getName().getBaseName()); final FileObject file = VFS.getManager() .resolveFile("test-solution://localhost/bi-developers/analysis/query1.xaction"); assertTrue(file.exists()); assertEquals(FileType.FILE, file.getType()); assertEquals("query1.xaction", file.getName().getBaseName()); }
From source file:org.pentaho.s3.S3Test.java
private void printFileObject(FileObject fileObject, int depth) throws Exception { for (int i = 0; i < depth; i++) { System.out.print(" "); }/* w ww. j av a 2s . c o m*/ System.out.println(fileObject.getName().getBaseName()); if (fileObject.getType() == FileType.FOLDER) { FileObject[] children = fileObject.getChildren(); for (FileObject child : children) { printFileObject(child, depth + 1); } } }
From source file:org.pentaho.s3.S3TestIntegration.java
@Test public void doGetType() throws Exception { assertNotNull("FileSystemManager is null", fsManager); FileObject bucket = fsManager.resolveFile(buildS3URL("/mdamour_get_type_test")); // assertEquals(false, bucket.exists()); bucket.createFolder();//ww w .ja va 2s . co m assertEquals(true, bucket.exists()); FileObject s3FileOut = fsManager.resolveFile(buildS3URL("/mdamour_get_type_test/child01")); s3FileOut.createFile(); OutputStream out = s3FileOut.getContent().getOutputStream(); out.write(HELLO_S3_STR.getBytes()); out.close(); assertEquals("Is not a folder type", FileType.FOLDER, bucket.getType()); assertEquals("Is not a file type", FileType.FILE, s3FileOut.getType()); fsManager.closeFileSystem(bucket.getFileSystem()); assertEquals("Is not a folder type (after clearing cache)", FileType.FOLDER, fsManager.resolveFile(buildS3URL("/mdamour_get_type_test")).getType()); assertEquals("Is not a file type (after clearing cache)", FileType.FILE, fsManager.resolveFile(buildS3URL("/mdamour_get_type_test/child01")).getType()); bucket = fsManager.resolveFile(buildS3URL("/mdamour_get_type_test")); printFileObject(bucket, 0); bucket.delete(deleteFileSelector); assertEquals(false, bucket.exists()); }
From source file:org.pentaho.s3.vfs.S3FileNameParser.java
@Override public FileName parseUri(VfsComponentContext vfsComponentContext, FileName fileName, String s) throws FileSystemException { if (fileName == null) { s = encodeAccessKeys(s);/* w ww. ja va 2 s . c o m*/ } URLFileName name = (URLFileName) super.parseUri(vfsComponentContext, fileName, s); FileType type = name.getType(); /* There is a problem with parsing bucket uri which has not char "/" at the end. * In this case UrlParser parse URI and return filename with type file. * As S3 does not allow to store files without buckets - so bucket is always a folder */ if (FileType.FILE.equals(type) && name.getPath().split("/").length == 2) { type = FileType.FOLDER; } String user = name.getUserName(); String password = name.getPassword(); return new S3FileName(name.getScheme(), name.getHostName(), name.getPort(), getDefaultPort(), user, password, name.getPath(), type, name.getQueryString()); }
From source file:org.pentaho.s3.vfs.S3FileNameTest.java
@Before public void setup() { fileName = new S3FileName(SCHEME, HOST, PORT, PORT, awsAccessKey, awsSecretKey, "/", FileType.FOLDER, null); }
From source file:org.pentaho.s3.vfs.S3FileObject.java
protected FileType doGetType() throws Exception { S3Bucket bucket = null;// w ww . j a va 2 s . c om try { bucket = getS3Bucket(); } catch (Exception ex) { // ignored } if (getName().getPath().equals("") || getName().getPath().equals(DELIMITER) || getName().getPath().endsWith(DELIMITER)) { return FileType.FOLDER; } String s3Path = getBucketRelativeS3Path(); if (s3Path.isEmpty() && bucket != null) { return FileType.FOLDER; } if (!s3Path.endsWith(DELIMITER)) { s3Path = s3Path.concat(DELIMITER); } S3Object objectEndsWithDelimiter = null; try { objectEndsWithDelimiter = fileSystem.getS3Service().getObject(getS3BucketName(), s3Path); } catch (Exception e) { try { if (fileSystem.getS3Service().listObjects(getS3BucketName(), s3Path, null).length != 0) { return FileType.FOLDER; } } catch (S3ServiceException se) { // ignored } } if (objectEndsWithDelimiter != null) { return FileType.FOLDER; } S3Object object = null; try { object = getS3Object(false); } catch (Exception ex) { // ignored } if (bucket == null && object == null) { return FileType.IMAGINARY; } else if (bucket != null && object == null) { return FileType.FOLDER; } else if (object.getBucketName() != null && object.getLastModifiedDate() != null) { return FileType.FILE; } return FileType.IMAGINARY; }
From source file:org.pentaho.s3.vfs.S3FileObject.java
public boolean canRenameTo(FileObject newfile) { try {/* w w w. j a v a 2 s .c o m*/ // we cannot rename buckets if (getType().equals(FileType.FOLDER)) { return false; } } catch (Exception e) { //ignored } return super.canRenameTo(newfile); }
From source file:org.pentaho.s3.vfs.S3FileObject.java
public void doDelete() throws Exception { S3Object s3obj = getS3Object(false); bucket = getS3Bucket();/*from www .java2 s. c o m*/ if (s3obj == null) { // If the selected object is null, getName() will cause exception. if (bucket != null) { // Therefore, take care of the delete bucket case, first. fileSystem.getS3Service().deleteBucket(bucket); } return; } if (getName().getPath().equals("") || getName().getPath().equals(DELIMITER)) { return; } String key = s3obj.getKey(); FileType filetype = getName().getType(); if (filetype.equals(FileType.FILE)) { fileSystem.getS3Service().deleteObject(bucket, key); // Delete a file. } else if (filetype.equals(FileType.FOLDER)) { key = key + DELIMITER; // Delete a folder. fileSystem.getS3Service().deleteObject(bucket, key); // The folder will not get deleted if its key does not end with DELIMITER. } else { return; } ((S3FileObject) getParent()).folders.remove(getName().getBaseName()); s3ChildrenMap.remove(getS3BucketName()); }
From source file:org.pentaho.s3.vfs.S3FileObject.java
protected void doRename(FileObject newfile) throws Exception { if (getType().equals(FileType.FOLDER)) { throw new FileSystemException("vfs.provider/rename-not-supported.error"); }/*from ww w . j a v a2s . c om*/ S3Object s3Object = getS3Object(false); s3Object.setKey(newfile.getName().getBaseName()); fileSystem.getS3Service().renameObject(getS3BucketName(), getName().getBaseName(), s3Object); s3ChildrenMap.remove(getS3BucketName()); }