Example usage for org.apache.commons.vfs FileType FOLDER

List of usage examples for org.apache.commons.vfs FileType FOLDER

Introduction

In this page you can find the example usage for org.apache.commons.vfs FileType FOLDER.

Prototype

FileType FOLDER

To view the source code for org.apache.commons.vfs FileType FOLDER.

Click Source Link

Document

A folder.

Usage

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());
}