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.rapleaf.ramhdfs.RamFileSystem.java

@Override
public FileStatus getFileStatus(Path f) throws IOException {
    FileObject fo = pathToFileObject(f);
    if (fo.exists()) {
        return new RamFileStatus(makeAbsolute(f), getDefaultBlockSize());
    } else {/*from  w w w  .  j  a  v a  2 s  .  c  o m*/
        throw new FileNotFoundException("File " + f + " does not exist.");
    }
}

From source file:com.panet.imeta.job.entries.filesexist.JobEntryFilesExist.java

public Result execute(Result previousResult, int nr, Repository rep, Job parentJob) {
    LogWriter log = LogWriter.getInstance();
    Result result = previousResult;
    result.setResult(false);//from   w  w w. ja va 2 s.c  o  m
    int missingfiles = 0;

    if (arguments != null) {
        for (int i = 0; i < arguments.length && !parentJob.isStopped(); i++) {
            FileObject file = null;

            try {
                String realFilefoldername = environmentSubstitute(arguments[i]);
                file = KettleVFS.getFileObject(realFilefoldername);

                if (file.exists() && file.isReadable()) {
                    if (log.isDetailed())
                        log.logDetailed(toString(),
                                Messages.getString("JobEntryFilesExist.File_Exists", realFilefoldername)); //$NON-NLS-1$
                } else {
                    missingfiles++;
                    result.setNrErrors(missingfiles);
                    if (log.isDetailed())
                        log.logDetailed(toString(), Messages.getString("JobEntryFilesExist.File_Does_Not_Exist", //$NON-NLS-1$
                                realFilefoldername));
                }

            } catch (IOException e) {
                missingfiles++;
                result.setNrErrors(missingfiles);
                log.logError(toString(),
                        Messages.getString("JobEntryFilesExist.ERROR_0004_IO_Exception", e.toString())); //$NON-NLS-1$
            } finally {
                if (file != null) {
                    try {
                        file.close();
                    } catch (IOException ex) {
                    }
                    ;
                }
            }
        }

    }

    if (missingfiles == 0)
        result.setResult(true);

    return result;
}

From source file:com.rapleaf.ramhdfs.RamFileSystem.java

@Override
public FileStatus[] listStatus(Path f) throws IOException {

    FileObject fo = pathToFileObject(f);

    if (!fo.exists()) {
        throw new FileNotFoundException("File " + f + " does not exist.");
    }//from   www  . ja  v  a  2s.  c  om
    if (isFile(fo)) {
        return new FileStatus[] { getFileStatus(f) };
    }

    FileObject[] children = pathToFileObject(f).getChildren();
    FileStatus[] results = new FileStatus[children.length];
    int j = 0;
    for (int i = 0; i < children.length; i++) {
        FileObject child = children[i];
        try {
            results[j] = getFileStatus(new Path(child.getName().getPath()));
            j++;
        } catch (FileNotFoundException e) {
            // ignore the files not found since the dir list may have have changed
            // since the names[] list was generated.
        }
    }
    if (j == results.length) {
        return results;
    }
    return Arrays.copyOf(results, j);
}

From source file:com.panet.imeta.trans.steps.processfiles.ProcessFiles.java

public boolean processRow(StepMetaInterface smi, StepDataInterface sdi) throws KettleException {
    meta = (ProcessFilesMeta) smi;//from  w ww .  java2  s. c o m
    data = (ProcessFilesData) sdi;

    Object[] r = getRow(); // Get row from input rowset & set row busy!
    if (r == null) // no more input to be expected...
    {
        setOutputDone();
        return false;
    }
    if (first) {
        first = false;
        // Check is source filename field is provided
        if (Const.isEmpty(meta.getDynamicSourceFileNameField())) {
            throw new KettleException(Messages.getString("ProcessFiles.Error.SourceFilenameFieldMissing"));
        }
        // Check is target filename field is provided
        if (meta.getOperationType() != ProcessFilesMeta.OPERATION_TYPE_DELETE
                && Const.isEmpty(meta.getDynamicTargetFileNameField())) {
            throw new KettleException(Messages.getString("ProcessFiles.Error.TargetFilenameFieldMissing"));
        }

        // cache the position of the source filename field         
        if (data.indexOfSourceFilename < 0) {
            data.indexOfSourceFilename = getInputRowMeta().indexOfValue(meta.getDynamicSourceFileNameField());
            if (data.indexOfSourceFilename < 0) {
                // The field is unreachable !
                throw new KettleException(Messages.getString("ProcessFiles.Exception.CouldnotFindField", //$NON-NLS-1$
                        meta.getDynamicSourceFileNameField())); //$NON-NLS-2$
            }
        }
        // cache the position of the source filename field         
        if (meta.getOperationType() != ProcessFilesMeta.OPERATION_TYPE_DELETE
                && data.indexOfTargetFilename < 0) {
            data.indexOfTargetFilename = getInputRowMeta().indexOfValue(meta.getDynamicTargetFileNameField());
            if (data.indexOfTargetFilename < 0) {
                // The field is unreachable !
                throw new KettleException(Messages.getString("ProcessFiles.Exception.CouldnotFindField", //$NON-NLS-1$
                        meta.getDynamicTargetFileNameField())); //$NON-NLS-2$
            }
        }

        if (meta.simulate) {
            if (log.isBasic())
                log.logBasic(toString(), Messages.getString("ProcessFiles.Log.SimulationModeON"));
        }
    } // End If first 
    try {
        // get source filename
        String sourceFilename = getInputRowMeta().getString(r, data.indexOfSourceFilename);

        if (Const.isEmpty(sourceFilename)) {
            log.logError(toString(), Messages.getString("ProcessFiles.Error.SourceFileEmpty"));
            throw new KettleException(Messages.getString("ProcessFiles.Error.SourceFileEmpty"));
        }
        data.sourceFile = KettleVFS.getFileObject(sourceFilename);
        boolean targetFileExists = false;

        if (!data.sourceFile.exists()) {
            log.logError(toString(),
                    Messages.getString("ProcessFiles.Error.SourceFileNotExist", sourceFilename));
            throw new KettleException(
                    Messages.getString("ProcessFiles.Error.SourceFileNotExist", sourceFilename));
        }
        if (data.sourceFile.getType() != FileType.FILE) {
            log.logError(toString(),
                    Messages.getString("ProcessFiles.Error.SourceFileNotFile", sourceFilename));
            throw new KettleException(
                    Messages.getString("ProcessFiles.Error.SourceFileNotFile", sourceFilename));
        }
        String targetFilename = null;
        if (meta.getOperationType() != ProcessFilesMeta.OPERATION_TYPE_DELETE) {
            // get value for target filename
            targetFilename = getInputRowMeta().getString(r, data.indexOfTargetFilename);

            if (Const.isEmpty(targetFilename)) {
                log.logError(toString(), Messages.getString("ProcessFiles.Error.TargetFileEmpty"));
                throw new KettleException(Messages.getString("ProcessFiles.Error.TargetFileEmpty"));
            }
            data.targetFile = KettleVFS.getFileObject(targetFilename);
            if (data.targetFile.exists()) {
                if (log.isDetailed())
                    log.logDetailed(toString(),
                            Messages.getString("ProcessFiles.Log.TargetFileExists", targetFilename));
            } else {
                // let's check parent folder
                FileObject parentFolder = data.targetFile.getParent();
                if (!parentFolder.exists()) {
                    if (!meta.isCreateParentFolder())
                        throw new KettleException(Messages.getString(
                                "ProcessFiles.Error.TargetParentFolderNotExists", parentFolder.toString()));
                    else
                        parentFolder.createFolder();
                }
                if (parentFolder != null)
                    parentFolder.close();
            }
        }

        switch (meta.getOperationType()) {
        case ProcessFilesMeta.OPERATION_TYPE_COPY:
            if (((meta.isOverwriteTargetFile() && targetFileExists) || !targetFileExists) && !meta.simulate)
                data.targetFile.copyFrom(data.sourceFile, new TextOneToOneFileSelector());
            if (log.isDetailed())
                log.logDetailed(toString(), Messages.getString("ProcessFiles.Log.SourceFileCopied",
                        sourceFilename, targetFilename));
            break;
        case ProcessFilesMeta.OPERATION_TYPE_MOVE:
            if (((meta.isOverwriteTargetFile() && targetFileExists) || !targetFileExists) && !meta.simulate)
                data.sourceFile.moveTo(KettleVFS.getFileObject(targetFilename));
            if (log.isDetailed())
                log.logDetailed(toString(),
                        Messages.getString("ProcessFiles.Log.SourceFileMoved", sourceFilename, targetFilename));
            break;
        case ProcessFilesMeta.OPERATION_TYPE_DELETE:
            if (!meta.simulate) {
                if (!data.sourceFile.delete())
                    throw new KettleException(Messages.getString("ProcessFiles.Error.CanNotDeleteFile",
                            data.sourceFile.toString()));
            }
            if (log.isDetailed())
                log.logDetailed(toString(),
                        Messages.getString("ProcessFiles.Log.SourceFileDeleted", sourceFilename));
            break;
        default:

            break;
        }

        // add filename to result filenames?
        if (meta.isaddTargetFileNametoResult()
                && meta.getOperationType() != ProcessFilesMeta.OPERATION_TYPE_DELETE
                && data.sourceFile.getType() == FileType.FILE) {
            // Add this to the result file names...
            ResultFile resultFile = new ResultFile(ResultFile.FILE_TYPE_GENERAL, data.targetFile,
                    getTransMeta().getName(), getStepname());
            resultFile.setComment(Messages.getString("ProcessFiles.Log.FileAddedResult"));
            addResultFile(resultFile);

            if (log.isDetailed())
                log.logDetailed(toString(),
                        Messages.getString("ProcessFiles.Log.FilenameAddResult", data.sourceFile.toString()));
        }

        putRow(getInputRowMeta(), r); // copy row to possible alternate rowset(s).

        if (checkFeedback(getLinesRead())) {
            if (log.isBasic())
                logBasic(Messages.getString("ProcessFiles.LineNumber") + getLinesRead()); //$NON-NLS-1$
        }
    } catch (Exception e) {
        boolean sendToErrorRow = false;
        String errorMessage = null;

        if (getStepMeta().isDoingErrorHandling()) {
            sendToErrorRow = true;
            errorMessage = e.toString();
        } else {
            logError(Messages.getString("ProcessFiles.ErrorInStepRunning") + e.getMessage()); //$NON-NLS-1$
            setErrors(1);
            stopAll();
            setOutputDone(); // signal end to receiver(s)
            return false;
        }
        if (sendToErrorRow) {
            // Simply add this row to the error row
            putError(getInputRowMeta(), r, 1, errorMessage, null, "ProcessFiles001");
        }
    }

    return true;
}

From source file:com.github.stephenc.javaisotools.iso9660.impl.CreateISOTest.java

@Test
public void canOpenFakeIso() throws Exception {
    final String contentString = "This is a text file, not an iso";
    // Output file
    File fakeIso = new File(workDir, "fake.iso");
    OutputStream os = new FileOutputStream(fakeIso);
    IOUtil.copy(contentString, os);// w w  w .j av a  2s  . com
    IOUtil.close(os);

    // Trying to open a fake iso
    FileSystemManager fsManager = VFS.getManager();
    FileObject fo = fsManager.resolveFile("iso:" + fakeIso.getPath() + "!/");
    assertFalse("The file '" + fakeIso.getName() + "' is not a valid iso file", fo.exists());
}

From source file:com.rapleaf.ramhdfs.RamFileSystem.java

@Override
public boolean mkdirs(Path f) throws IOException {
    if (f == null) {
        throw new IllegalArgumentException("mkdirs path arg is null");
    }//from w w  w.  jav a 2 s  . co  m
    Path parent = f.getParent();
    FileObject p2f = pathToFileObject(f);
    if (isDirectory(p2f)) {
        return true;
    }
    if (parent != null) {
        FileObject parent2f = pathToFileObject(parent);
        if (parent2f != null && parent2f.exists() && !isDirectory(parent2f)) {
            throw new FileAlreadyExistsException("Parent path is not a directory: " + parent);
        }
    }
    return (parent == null || mkdirs(parent)) && (createDirectory(p2f) || isDirectory(p2f));
}

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

public void testCopyFileWithAttribute() throws FileSystemException {
    if (!BUCKETID.startsWith("s3:")) {
        FileObject srcObject = ROOT.resolveFile(FILE);
        srcObject.createFile();/*from   w ww.  j a v  a  2s. co  m*/
        srcObject.getContent().setAttribute(ATTR_TESTKEY, ATTR_TESTVALUE);
        assertTrue("source object should exist", srcObject.exists());
        assertEquals("source object attribute missing", ATTR_TESTVALUE,
                srcObject.getContent().getAttribute(ATTR_TESTKEY));
        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());
        assertEquals("destination object attribute missing", ATTR_TESTVALUE,
                dstObject.getContent().getAttribute(ATTR_TESTKEY));

        srcObject.delete();
        dstObject.delete();
    } else {
        LogFactory.getLog(S3FileProviderTest.class)
                .info(String.format("ignoring property test for '%s'", ROOT));
    }
}

From source file:com.panet.imeta.job.entries.folderisempty.JobEntryFolderIsEmpty.java

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

    filescount = 0;
    folderscount = 0;
    pattern = null;

    if (!Const.isEmpty(getWildcard()))
        pattern = Pattern.compile(getRealWildcard());

    if (foldername != null) {
        String realFoldername = getRealFoldername();
        FileObject FolderObject = null;
        try {
            FolderObject = KettleVFS.getFileObject(realFoldername);

            if (FolderObject.exists()) {
                //Check if it's a folder
                if (FolderObject.getType() == FileType.FOLDER) {
                    // File provided is a folder, so we can process ...
                    FolderObject.findFiles(new TextFileSelector(FolderObject.toString()));
                    if (log.isBasic())
                        log.logBasic("Total files", "We found : " + filescount + " file(s)");
                    if (filescount == 0) {
                        result.setResult(true);
                        result.setNrErrors(0);
                    }
                } else {
                    // Not a folder, fail
                    log.logError("Found files", "[" + realFoldername + "] is not a folder, failing.");
                }
            } else {
                //  No Folder found   
                if (log.isBasic())
                    log.logBasic(toString(), "we can not find [" + realFoldername + "] !");
            }
        } catch (IOException e) {
            log.logError(toString(),
                    "Could not create Folder [" + realFoldername + "], exception: " + e.getMessage());
            result.setResult(false);
            result.setNrErrors(1);
        } finally {
            if (FolderObject != null) {
                try {
                    FolderObject.close();
                } catch (IOException ex) {
                }
                ;
            }
        }
    } else {
        log.logError(toString(), "No Foldername is defined.");
    }

    return result;
}

From source file:com.thinkberg.moxo.dav.MkColHandler.java

public void service(HttpServletRequest request, HttpServletResponse response) throws IOException {
    if (request.getReader().readLine() != null) {
        response.sendError(HttpServletResponse.SC_UNSUPPORTED_MEDIA_TYPE);
        return;//from  ww  w.java 2s .c o m
    }

    FileObject object = getResourceManager().getFileObject(request.getPathInfo());

    try {
        LockManager.getInstance().checkCondition(object, getIf(request));
    } catch (LockException e) {
        if (e.getLocks() != null) {
            response.sendError(SC_LOCKED);
        } else {
            response.sendError(HttpServletResponse.SC_PRECONDITION_FAILED);
        }
        return;
    }

    if (object.exists()) {
        response.sendError(HttpServletResponse.SC_METHOD_NOT_ALLOWED);
        return;
    }

    if (!object.getParent().exists() || !FileType.FOLDER.equals(object.getParent().getType())) {
        response.sendError(HttpServletResponse.SC_CONFLICT);
        return;
    }

    try {
        object.createFolder();
        response.setStatus(HttpServletResponse.SC_CREATED);
    } catch (FileSystemException e) {
        response.sendError(HttpServletResponse.SC_FORBIDDEN);
    }
}

From source file:be.ibridge.kettle.job.entry.filecompare.JobEntryFileCompare.java

public Result execute(Result prev_result, int nr, Repository rep, Job parentJob) {
    LogWriter log = LogWriter.getInstance();
    Result result = new Result(nr);
    result.setResult(false);//from   ww w  .  j a  va 2 s .c  o  m

    String realFilename1 = getRealFilename1();
    String realFilename2 = getRealFilename2();

    FileObject file1 = null;
    FileObject file2 = null;
    try {
        if (filename1 != null && filename2 != null) {
            file1 = KettleVFS.getFileObject(realFilename1);
            file2 = KettleVFS.getFileObject(realFilename2);

            if (file1.exists() && file2.exists()) {
                if (equalFileContents(file1, file2)) {
                    result.setResult(true);
                } else {
                    result.setResult(false);
                }
            } else {
                if (!file1.exists())
                    log.logError(toString(), "File 1 [" + realFilename1 + "] does not exist.");
                if (!file2.exists())
                    log.logError(toString(), "File 2 [" + realFilename2 + "] does not exist.");
                result.setResult(false);
                result.setNrErrors(1);
            }
        } else {
            log.logError(toString(), "Need 2 filenames to compare file contents.");
        }
    } catch (Exception e) {
        result.setResult(false);
        result.setNrErrors(1);
        log.logError(toString(), "Error occurred while comparing file [" + realFilename2 + "] and file ["
                + realFilename2 + "]: " + e.getMessage());
    } finally {
        try {
            if (file1 != null)
                file1.close();

            if (file2 != null)
                file2.close();
        } catch (IOException e) {
        }
    }

    return result;
}