Example usage for org.apache.commons.vfs FileObject exists

List of usage examples for org.apache.commons.vfs FileObject exists

Introduction

In this page you can find the example usage for org.apache.commons.vfs FileObject exists.

Prototype

public boolean exists() throws FileSystemException;

Source Link

Document

Determines if this file exists.

Usage

From source file:com.pongasoft.kiwidoc.builder.KiwidocBuilder.java

/**
 * Builds the kiwidoc for the given library
 *
 * @param library (optional, <code>null</code> ok) dependencies
 * @return the model builder//w w  w.  j a va2s.c o  m
 * @throws BuilderException when there is a problem indexing
 */
public LibraryModelBuilder buildKiwidoc(Library library) throws IOException, BuilderException {
    Set<BuiltFrom> builtFrom = EnumSet.noneOf(BuiltFrom.class);
    Manifest manifest = null;

    LibraryModelBuilder libFromByteCode = null;

    // if we have the library itself (jar file)
    if (library.classes != null) {
        builtFrom.add(BuiltFrom.BYTECODE);

        // manifest
        FileObject manifestResource = library.classes.resolveFile("META-INF/MANIFEST.MF");
        if (manifestResource.exists()) {
            manifest = new Manifest();
            InputStream is = manifestResource.getContent().getInputStream();
            try {
                manifest.read(new BufferedInputStream(is));
            } finally {
                is.close();
            }
        }

        // byte code
        libFromByteCode = new LibraryModelBuilder(library.libraryVersionResource);
        new ByteCodeParser().parseClasses(libFromByteCode, library.classes);
    }

    LibraryModelBuilder libFromSource = null;
    // if we have the source code
    if (library.sources != null) {
        try {
            libFromSource = new LibraryModelBuilder(library.libraryVersionResource);
            if (libFromByteCode != null)
                libFromSource.setJdkVersion(libFromByteCode.getJdkVersion());
            else
                libFromSource.setJdkVersion(library.jdkVersion);

            int sourceCount = new SourceCodeParser().parseSources(libFromSource, library.sources,
                    library.overviewFilename, library.publicOnly ? library.javadoc : null, library.classpath);

            if (sourceCount == 0) {
                libFromSource = null;
                log.warn("No sources found in " + library.sources);
            } else {
                builtFrom.add(BuiltFrom.SOURCE);
            }
        } catch (IOException e) {
            throw e;
        } catch (Throwable th) {
            throw new BuilderException(th);
        }
    }

    // compute which version to use (source code wins if available)
    LibraryModelBuilder lib = new LibraryModelBuilder(library.libraryVersionResource);

    if (libFromByteCode != null) {
        lib = libFromByteCode;
    }

    if (libFromSource != null) {
        lib = libFromSource;
    }

    log.info("Processed source|bytecode: " + (libFromSource == null ? "N/A" : libFromSource.getClassCount())
            + " | " + (libFromByteCode == null ? "N/A" : libFromByteCode.getClassCount()));

    // TODO MED YP: use byte code for resolving unresolved types during javadoc processing  

    // if we have the original javadoc (used for determining exported classes)
    if (library.javadoc != null) {
        builtFrom.add(BuiltFrom.JAVADOC);

        for (PackageModelBuilder packageModelBuilder : lib.getAllPackages()) {
            for (ClassModelBuilder classModelBuilder : packageModelBuilder.getAllClasses()) {
                String javadocFile = classModelBuilder.getFqcn();
                javadocFile = javadocFile.replace('.', '/');
                javadocFile = javadocFile.replace('$', '.'); // for inner classes
                javadocFile += ".html";

                try {
                    classModelBuilder.setExportedClass(
                            library.javadoc.resolveFile(javadocFile, NameScope.DESCENDENT).exists());
                } catch (FileSystemException e) {
                    log.warn("Error while setting exported class on " + javadocFile + " ["
                            + classModelBuilder.getFqcn() + "]", e);
                }
            }
        }
    }

    // dependencies
    lib.setDependencies(library.dependencies);

    // manifest
    lib.setManifest(manifest);

    // built from
    lib.addBuiltFrom(builtFrom);

    return lib;
}

From source file:com.panet.imeta.job.entries.deletefile.JobEntryDeleteFile.java

public Result execute(Result previousResult, int nr, Repository rep, Job parentJob) {
    LogWriter log = LogWriter.getInstance();
    Result result = previousResult;
    result.setResult(false);/*  w ww  .  j  ava  2 s  . c  om*/

    if (filename != null) {
        String realFilename = getRealFilename();

        FileObject fileObject = null;
        try {
            fileObject = KettleVFS.getFileObject(realFilename);

            if (!fileObject.exists()) {
                if (isFailIfFileNotExists()) {
                    // File doesn't exist and fail flag is on.
                    result.setResult(false);
                    log.logError(toString(), Messages
                            .getString("JobEntryDeleteFile.ERROR_0004_File_Does_Not_Exist", realFilename)); //$NON-NLS-1$
                } else {
                    // File already deleted, no reason to try to delete it
                    result.setResult(true);
                    if (log.isBasic())
                        log.logBasic(toString(),
                                Messages.getString("JobEntryDeleteFile.File_Already_Deleted", realFilename)); //$NON-NLS-1$
                }
            } else {
                // Here gc() is explicitly called if e.g. createfile is used
                // in the same
                // job for the same file. The problem is that after creating
                // the file the
                // file object is not properly garbaged collected and thus
                // the file cannot
                // be deleted anymore. This is a known problem in the JVM.
                System.gc();

                boolean deleted = fileObject.delete();
                if (!deleted) {
                    log.logError(toString(), Messages
                            .getString("JobEntryDeleteFile.ERROR_0005_Could_Not_Delete_File", realFilename)); //$NON-NLS-1$
                    result.setResult(false);
                    result.setNrErrors(1);
                }
                if (log.isBasic())
                    log.logBasic(toString(),
                            Messages.getString("JobEntryDeleteFile.File_Deleted", realFilename)); //$NON-NLS-1$
                result.setResult(true);
            }
        } catch (IOException e) {
            log.logError(toString(), Messages.getString("JobEntryDeleteFile.ERROR_0006_Exception_Deleting_File", //$NON-NLS-1$
                    realFilename, e.getMessage()));
            result.setResult(false);
            result.setNrErrors(1);
        } finally {
            if (fileObject != null) {
                try {
                    fileObject.close();
                } catch (IOException ex) {
                }
                ;
            }
        }
    } else {
        log.logError(toString(), Messages.getString("JobEntryDeleteFile.ERROR_0007_No_Filename_Is_Defined")); //$NON-NLS-1$
    }

    return result;
}

From source file:com.thinkberg.vfs.s3.tests.S3FileProviderTest.java

public void testCopyShallowFolder() throws FileSystemException {
    FileObject origFolder = ROOT.resolveFile(FOLDER);
    origFolder.delete(ALL_FILE_SELECTOR);
    origFolder.createFolder();/*ww w .j av  a 2 s. c o  m*/

    origFolder.resolveFile("file.0").createFile();
    origFolder.resolveFile("file.1").createFile();
    origFolder.resolveFile("file.2").createFile();

    System.out.println(Arrays.asList(origFolder.getChildren()));
    assertEquals(3, origFolder.getChildren().length);

    FileObject destFolder = ROOT.resolveFile(FOLDER + "_dest");
    assertFalse(destFolder.exists());
    destFolder.copyFrom(origFolder, new DepthFileSelector(1));
    assertTrue(destFolder.exists());

    assertEquals(3, destFolder.getChildren().length);

    FileObject[] origFiles = origFolder.findFiles(new DepthFileSelector(1));
    FileObject[] destFiles = destFolder.findFiles(new DepthFileSelector(1));
    for (int i = 0; i < origFiles.length; i++) {
        assertEquals(origFiles[i].getName().getRelativeName(origFolder.getName()),
                destFiles[i].getName().getRelativeName(destFolder.getName()));
    }

    origFolder.delete(ALL_FILE_SELECTOR);
    destFolder.delete(ALL_FILE_SELECTOR);

    assertFalse(origFolder.exists());
    assertFalse(destFolder.exists());
}

From source file:com.thinkberg.vfs.s3.tests.S3FileProviderTest.java

public void testDeleteFolder() throws FileSystemException {
    FileObject object = ROOT.resolveFile(FOLDER);
    object.delete(ALL_FILE_SELECTOR);//  w w w  .j a  va2  s  .  c  o m
    assertFalse(object.exists());
}

From source file:com.thinkberg.vfs.s3.tests.S3FileProviderTest.java

public void testCopyFile() throws FileSystemException {
    FileObject srcObject = ROOT.resolveFile(FILE);
    srcObject.createFile();/* www . jav  a  2s .c om*/
    assertTrue("source object should exist", srcObject.exists());
    FileObject dstObject = ROOT.resolveFile(FILE + ".dst");
    assertFalse("destination should not exist", dstObject.exists());
    dstObject.copyFrom(srcObject, ALL_FILE_SELECTOR);
    assertTrue("destination should exist after copy", dstObject.exists());

    srcObject.delete();
    dstObject.delete();
}

From source file:functionalTests.multiprotocol.TestVFSProviderMultiProtocol.java

/**
 * Testing the File server deployment using multi-protocol
 * @throws Exception/*from w w  w.  j  a v a2 s . com*/
 */
@Test
public void testVFSProviderMP() throws Exception {

    logger.info("**************** Testing deploying dataspace server with protocol list : " + protocolsToTest);

    CentralPAPropertyRepository.PA_COMMUNICATION_PROTOCOL.setValue(protocolsToTest.get(0));
    String add_str = protocolsToTest.get(1);
    for (int i = 2; i < protocolsToTest.size(); i++) {
        add_str += "," + protocolsToTest.get(i);
    }
    CentralPAPropertyRepository.PA_COMMUNICATION_ADDITIONAL_PROTOCOLS.setValue(add_str);

    FileSystemServerDeployer deployer = new FileSystemServerDeployer("space name",
            SERVER_PATH.getAbsolutePath(), true);

    try {

        String[] urls = deployer.getVFSRootURLs();
        logger.info("Received urls :" + Arrays.asList(urls));
        Assert.assertEquals(
                "Number of urls of the FileSystemServerDeployer should match the number of protocols + the file protocol",
                protocolsToTest.size() + 1, urls.length);

        // check the file server uris

        URI receiveduri = new URI(urls[0]);
        Assert.assertEquals("protocol of first uri " + receiveduri + " should be file", "file",
                receiveduri.getScheme());

        for (int i = 1; i < urls.length; i++) {
            receiveduri = new URI(urls[i]);
            Assert.assertEquals("protocol of uri " + urls[i] + " should match the expected protocol",
                    "pap" + protocolsToTest.get(i - 1), receiveduri.getScheme());
        }

        // use the file server
        for (int i = 0; i < urls.length; i++) {
            File f = new File(System.getProperty("java.io.tmpdir"), "testfile_" + i);
            f.createNewFile();
            logger.info("Trying to use : " + urls[i]);
            FileObject source = fileSystemManager.resolveFile(f.toURI().toURL().toExternalForm());
            FileObject dest = fileSystemManager.resolveFile(urls[i] + "/" + f.getName());
            dest.copyFrom(source, Selectors.SELECT_SELF);
            Assert.assertTrue("Copy successful of " + source.getURL() + " to " + dest.getURL(), dest.exists());

        }

    } finally {
        deployer.terminate();
    }

}

From source file:com.thinkberg.vfs.s3.tests.S3FileProviderTest.java

public void testMoveShallowFolder() throws FileSystemException {
    FileObject origFolder = ROOT.resolveFile(FOLDER);
    origFolder.delete(ALL_FILE_SELECTOR);
    origFolder.createFolder();//  w  ww.jav a 2 s.  c  o  m

    origFolder.resolveFile("file.0").createFile();
    origFolder.resolveFile("file.1").createFile();
    origFolder.resolveFile("file.2").createFile();

    assertEquals(3, origFolder.getChildren().length);

    FileObject destFolder = ROOT.resolveFile(FOLDER + "_dest");
    destFolder.delete(ALL_FILE_SELECTOR);
    assertFalse(destFolder.exists());

    origFolder.moveTo(destFolder);
    assertFalse(origFolder.exists());
    assertTrue(destFolder.exists());

    assertEquals(3, destFolder.getChildren().length);

    destFolder.delete(ALL_FILE_SELECTOR);

    assertFalse(origFolder.exists());
    assertFalse(destFolder.exists());
}

From source file:com.panet.imeta.shared.SharedObjects.java

public SharedObjects(String sharedObjectsFile) throws KettleXMLException {
    try {//from w w w  .  j  av  a2 s. co m
        this.filename = createFilename(sharedObjectsFile);
        this.objectsMap = new Hashtable<SharedEntry, SharedObjectInterface>();

        // Extra information
        FileObject file = KettleVFS.getFileObject(filename);

        // If we have a shared file, load the content, otherwise, just keep this one empty
        if (file.exists()) {
            LogWriter.getInstance().logDetailed(Messages.getString("SharedOjects.ReadingFile.Title"),
                    Messages.getString("SharedOjects.ReadingFile.Message", "" + file));
            Document document = XMLHandler.loadXMLFile(file);
            Node sharedObjectsNode = XMLHandler.getSubNode(document, XML_TAG);
            if (sharedObjectsNode != null) {
                List<SlaveServer> privateSlaveServers = new ArrayList<SlaveServer>();
                List<DatabaseMeta> privateDatabases = new ArrayList<DatabaseMeta>();

                NodeList childNodes = sharedObjectsNode.getChildNodes();
                // First load databases & slaves
                //
                for (int i = 0; i < childNodes.getLength(); i++) {
                    Node node = childNodes.item(i);
                    String nodeName = node.getNodeName();

                    SharedObjectInterface isShared = null;

                    if (nodeName.equals(DatabaseMeta.XML_TAG)) {
                        DatabaseMeta sharedDatabaseMeta = new DatabaseMeta(node);
                        isShared = sharedDatabaseMeta;
                        privateDatabases.add(sharedDatabaseMeta);
                    } else if (nodeName.equals(SlaveServer.XML_TAG)) {
                        SlaveServer sharedSlaveServer = new SlaveServer(node);
                        isShared = sharedSlaveServer;
                        privateSlaveServers.add(sharedSlaveServer);
                    }

                    if (isShared != null) {
                        isShared.setShared(true);
                        storeObject(isShared);
                    }
                }

                // Then load the other objects that might reference databases & slaves
                //
                for (int i = 0; i < childNodes.getLength(); i++) {
                    Node node = childNodes.item(i);
                    String nodeName = node.getNodeName();

                    SharedObjectInterface isShared = null;

                    if (nodeName.equals(StepMeta.XML_TAG)) {
                        StepMeta stepMeta = new StepMeta(node, privateDatabases, null);
                        stepMeta.setDraw(false); // don't draw it, keep it in the tree.
                        isShared = stepMeta;
                    } else if (nodeName.equals(PartitionSchema.XML_TAG)) {
                        isShared = new PartitionSchema(node);
                    } else if (nodeName.equals(ClusterSchema.XML_TAG)) {
                        isShared = new ClusterSchema(node, privateSlaveServers);
                    }

                    if (isShared != null) {
                        isShared.setShared(true);
                        storeObject(isShared);
                    }
                }
            }
        }
    } catch (Exception e) {
        throw new KettleXMLException(
                Messages.getString("SharedOjects.Readingfile.UnexpectedError", sharedObjectsFile), e);
    }
}

From source file:com.thinkberg.vfs.s3.tests.S3FileProviderTest.java

public void testMoveDeepFolder() throws FileSystemException {
    FileObject origFolder = ROOT.resolveFile(FOLDER);
    origFolder.delete(ALL_FILE_SELECTOR);
    origFolder.createFolder();/*from  w  w w  . jav  a2s  .c om*/

    origFolder.resolveFile("file.0").createFile();
    origFolder.resolveFile("file.1").createFile();
    origFolder.resolveFile("file.2").createFile();
    origFolder.resolveFile("subfolder").createFolder();
    origFolder.resolveFile("subfolder").resolveFile("subfile.0").createFile();
    origFolder.resolveFile("subfolder").resolveFile("subfile.1").createFile();
    origFolder.resolveFile("subfolder").resolveFile("subfile.2").createFile();

    FileObject[] origFiles = origFolder.findFiles(ALL_FILE_SELECTOR);
    assertEquals(8, origFiles.length);

    FileObject destFolder = ROOT.resolveFile(FOLDER + "_dest");
    destFolder.delete(ALL_FILE_SELECTOR);
    assertFalse(destFolder.exists());

    origFolder.moveTo(destFolder);
    assertFalse(origFolder.exists());
    assertTrue(destFolder.exists());

    FileObject[] destFiles = destFolder.findFiles(ALL_FILE_SELECTOR);
    assertEquals(8, destFiles.length);

    destFolder.delete(ALL_FILE_SELECTOR);

    assertFalse(origFolder.exists());
    assertFalse(destFolder.exists());
}

From source file:com.panet.imeta.trans.steps.propertyoutput.PropertyOutput.java

private void createParentFolder() throws KettleException {
    // Do we need to create parent folder ?
    if (meta.isCreateParentFolder()) {
        // Check for parent folder
        FileObject parentfolder = null;
        try {/*from w  w w.j  a v a 2 s  .c  o  m*/
            // Get parent folder
            parentfolder = KettleVFS.getFileObject(data.filename).getParent();
            if (!parentfolder.exists()) {
                if (log.isDetailed())
                    log.logDetailed(toString(), Messages.getString("PropertyOutput.Log.ParentFolderExists",
                            parentfolder.getName().toString()));
                parentfolder.createFolder();
                if (log.isDetailed())
                    log.logDetailed(toString(), Messages.getString(
                            "PropertyOutput.Log.CanNotCreateParentFolder", parentfolder.getName().toString()));
            }
        } catch (Exception e) {
            // The field is unreachable !
            logError(Messages.getString("PropertyOutput.Log.CanNotCreateParentFolder",
                    parentfolder.getName().toString()));
            throw new KettleException(Messages.getString("PropertyOutput.Log.CanNotCreateParentFolder",
                    parentfolder.getName().toString()));

        } finally {
            if (parentfolder != null) {
                try {
                    parentfolder.close();
                } catch (Exception ex) {
                }
                ;
            }
        }
    }
}