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:org.josso.tooling.gshell.install.installer.WasceInstaller.java

@Override
public void performAdditionalTasks(FileObject libsDir) throws InstallException {
    try {//from   w  ww .j a  va 2  s .c o m
        // undeploy wasce tomcat6 module if exists
        FileObject tomcatModule = targetDir.resolveFile("repository/org/apache/geronimo/configs/tomcat6");
        if (tomcatModule.exists()) {
            getPrinter().printMsg("Undeploying tomcat6 module");
            int status = undeploy("tomcat6");
            if (status == 0) {
                getPrinter().printOkStatus("Undeploy tomcat6 module", "Successful");
            } else {
                getPrinter().printErrStatus("Undeploy tomcat6 module", "Error");
                throw new InstallException("Error undeploying tomcat6 module!!!");
            }
        }

        // undeploy old josso wasce agent if exists
        FileObject jossoWasceAgentModule = targetDir.resolveFile("repository/org/josso/josso-wasce-agent");
        if (jossoWasceAgentModule.exists()) {
            getPrinter().printMsg("Undeploying old josso wasce agent");
            int status = undeploy("josso-wasce-agent");
            if (status == 0) {
                getPrinter().printOkStatus("Undeploy josso wasce agent", "Successful");
            } else {
                getPrinter().printErrStatus("Undeploy josso wasce agent", "Error");
                throw new InstallException("Error undeploying josso wasce agent!!!");
            }
        }

        // install jars to wasce repository
        try {
            getPrinter().printMsg("Installing new jars to WASCE repository");
            FileObject wasceRepo = targetDir.resolveFile("repository");
            FileObject wasceRepoFolder = libsDir.resolveFile("repository");
            wasceRepo.copyFrom(wasceRepoFolder, Selectors.SELECT_ALL);
            getPrinter().printOkStatus("Install new jars", "Successful");
        } catch (FileSystemException e) {
            getPrinter().printErrStatus("Install new jars", "Error");
            throw new InstallException("Error copying jars to wasce repository!!!");
        }

        // deploy josso wasce agent
        getPrinter().printMsg("Deploying josso wasce agent");
        FileObject jossoWasceCarFile = null;
        FileObject[] agentBins = libsDir.getChildren();
        for (int i = 0; i < agentBins.length; i++) {
            FileObject agentBin = agentBins[i];
            if (agentBin.getName().getBaseName().startsWith("josso-wasce")) {
                jossoWasceCarFile = agentBin;
                break;
            }
        }
        if (jossoWasceCarFile == null) {
            throw new InstallException("Josso wasce agent car file doesn't exist!!!");
        }
        int status = installPlugin(jossoWasceCarFile);
        if (status == 0) {
            getPrinter().printOkStatus("Install josso wasce agent", "Successful");
        } else {
            getPrinter().printErrStatus("Install josso wasce agent", "Error");
            throw new InstallException("Error installing josso wasce agent!!!");
        }

        // start stopped services
        getPrinter().printMsg("Starting tomcat related services");
        status = startTomcatRelatedServices();
        if (status == 0) {
            getPrinter().printOkStatus("Start tomcat related services", "Successful");
        } else {
            getPrinter().printErrStatus("Start tomcat related services", "Error");
            throw new InstallException("Error starting tomcat related services!!!");
        }
    } catch (IOException e) {
        throw new InstallException(e.getMessage(), e);
    }
}

From source file:org.josso.tooling.gshell.install.installer.WeblogicInstaller.java

@Override
public void validatePlatform() throws InstallException {

    this.wlVersionStr = getTargetPlatform().getVersion().startsWith("9.2") ? "92" : "10"; // Only 9.2 and 10 supported!

    super.validatePlatform();

    try {/*from   w w w  .j  a  v a2s .  co  m*/
        boolean valid = true;

        if (!targetLibDir.exists() || !targetLibDir.getType().getName().equals(FileType.FOLDER.getName())) {
            getPrinter().printErrStatus("Target conf",
                    "folder does not exist or is not a directory:" + targetLibDir.getName().getFriendlyURI());
            valid = false;
        }

        FileObject weblogicJar = targetDir.resolveFile("server/lib/weblogic.jar");
        if (weblogicJar == null || !weblogicJar.exists()
                || !weblogicJar.getType().getName().equals(FileType.FILE.getName())) {
            valid = false;
            getPrinter().printErrStatus("WeblogicHome", "Cannot find weblogic");
        } else {
            getPrinter().printOkStatus("WeblogicHome");
        }

        // Validate domain

        String weblogicDomain = getProperty("weblogicDomain");
        FileObject weblogicDomainDir = targetDir.resolveFile(weblogicDomain);
        if (weblogicDomainDir == null || !weblogicDomainDir.exists()
                || !weblogicDomainDir.getType().getName().equals(FileType.FOLDER.getName())) {
            valid = false;
            getPrinter().printErrStatus("WeblogicDomain",
                    "Cannot find domain " + weblogicDomainDir.getName().getFriendlyURI());
        } else {
            getPrinter().printOkStatus("WeblogicDomain", weblogicDomainDir.getName().getFriendlyURI());
        }

        // TODO : Validate Version ?

        if (!valid)
            throw new InstallException(
                    "Target does not seem a " + getTargetPlatform().getDescription() + " install.");

    } catch (IOException e) {
        getPrinter().printErrStatus("WeblogicHome", e.getMessage());
        throw new InstallException(e.getMessage(), e);
    }
}

From source file:org.josso.tooling.gshell.install.installer.WeblogicInstaller.java

@Override
public void installComponentFromSrc(JOSSOArtifact artifact, boolean replace) throws InstallException {

    try {//w  ww  . j a  v  a  2 s .  co  m

        if (!artifact.getBaseName().contains(this.wlVersionStr))
            return;

        // Prepare paths

        FileObject homeDir = getFileSystemManager().resolveFile(System.getProperty("josso-gsh.home"));
        FileObject srcDir = homeDir
                .resolveFile("dist/agents/src/josso-weblogic" + wlVersionStr + "-agent-mbeans-src");
        FileObject jossoLibDir = homeDir.resolveFile("dist/agents/bin");
        FileObject thrdPartyLibDir = jossoLibDir.resolveFile("3rdparty");

        FileObject descriptorFile = srcDir.resolveFile(
                "org/josso/wls" + wlVersionStr + "/agent/mbeans/JOSSOAuthenticatorProviderImpl.xml");
        FileObject mbeanFile = this.targetJOSSOMBeansDir
                .resolveFile("josso-weblogic" + wlVersionStr + "-agent-mbeans.jar");

        FileObject javaDir = getFileSystemManager().resolveFile(System.getProperty("java.home") + "/../");
        FileObject javaToolsFile = javaDir.resolveFile("lib/tools.jar");
        FileObject javaFile = javaDir.resolveFile("bin/java");

        getPrinter().printMsg("Using JAVA JDK at " + getLocalFilePath(javaDir));

        if (!javaDir.exists()) {
            getPrinter().printActionErrStatus("Generate", "WL MBeans Descriptors",
                    "JAVA JDK is required : " + getLocalFilePath(javaDir));
            throw new InstallException("JAVA JDK is required for WL : " + getLocalFilePath(javaDir));
        }

        if (!javaToolsFile.exists()) {
            getPrinter().printActionErrStatus("Generate", "WL MBeans Descriptors",
                    "JAVA JDK is required : " + getLocalFilePath(javaToolsFile));
            throw new InstallException("JAVA JDK is required for WL : " + getLocalFilePath(javaToolsFile));
        }

        if (!javaToolsFile.exists()) {
            getPrinter().printActionErrStatus("Generate", "WL MBeans Descriptors",
                    "JAVA JDK is required : " + getLocalFilePath(javaToolsFile));
            throw new InstallException("JAVA JDK is required for WL : " + getLocalFilePath(javaToolsFile));
        }

        // Java CMD and Class path :
        String javaCmd = getLocalFilePath(javaFile);

        String classpath = "";
        String pathSeparator = "";

        // JOSSO Jars
        for (FileObject child : jossoLibDir.getChildren()) {
            if (!child.getName().getBaseName().endsWith(".jar"))
                continue;

            classpath += pathSeparator + getLocalFilePath(child);
            pathSeparator = System.getProperty("path.separator");
        }

        // JOSSO 3rd party Jars
        for (FileObject child : thrdPartyLibDir.getChildren()) {
            if (!child.getName().getBaseName().endsWith(".jar"))
                continue;

            classpath += pathSeparator + getLocalFilePath(child);
            pathSeparator = System.getProperty("path.separator");
        }

        for (FileObject child : this.targetDir.resolveFile("server/lib").getChildren()) {
            if (!child.getName().getBaseName().endsWith(".jar"))
                continue;
            classpath += pathSeparator + getLocalFilePath(child);
            pathSeparator = System.getProperty("path.separator");
        }

        classpath += pathSeparator + getLocalFilePath(javaToolsFile);
        pathSeparator = System.getProperty("path.separator");

        for (FileObject child : javaDir.resolveFile("jre/lib").getChildren()) {
            classpath += pathSeparator + getLocalFilePath(child);
            pathSeparator = System.getProperty("path.separator");
        }

        //  ----------------------------------------------------------------
        // 1. Create the MBean Descriptor Files
        //  ----------------------------------------------------------------

        {
            /*
               <argument>-Dfiles=${basedir}/target/generated-sources</argument>
               <argument>-DMDF=${project.build.directory}/generated-sources/org/josso/wls92/agent/mbeans/JOSSOAuthenticatorProviderImpl.xml</argument>
               <argument>-DtargetNameSpace=urn:org:josso:wls92:agent:mbeans</argument>
               <argument>-DpreserveStubs=false</argument>
               <argument>-DcreateStubs=true</argument>
               <argument>-classpath</argument>
               <classpath/>
               <argument>weblogic.management.commo.WebLogicMBeanMaker</argument>
            */

            ProcessBuilder generateMBeanDescriptorProcessBuilder = new ProcessBuilder(javaCmd,
                    "-Dfiles=" + getLocalFilePath(srcDir), "-DMDF=" + getLocalFilePath(descriptorFile),
                    "-DtargetNameSpace=urn:org:josso:wls" + wlVersionStr + ":agent:mbeans",
                    "-DpreserveStubs=false", "-DcreateStubs=true", "-classpath", classpath,
                    "weblogic.management.commo.WebLogicMBeanMaker");

            log.info("Executing: " + generateMBeanDescriptorProcessBuilder.command());

            Process generateMBeanDescriptorProcess = generateMBeanDescriptorProcessBuilder.start();

            PumpStreamHandler generateMBeanHandler = new PumpStreamHandler(getPrinter().getIo().inputStream,
                    getPrinter().getIo().outputStream, getPrinter().getIo().errorStream);
            generateMBeanHandler.attach(generateMBeanDescriptorProcess);
            generateMBeanHandler.start();

            log.debug("Waiting for process to exit...");
            int statusDescr = generateMBeanDescriptorProcess.waitFor();

            log.info("Process exited w/status: " + statusDescr);

            generateMBeanHandler.stop();
            getPrinter().printActionOkStatus("Generate", "WL MBeans Descriptors", "");
        }

        //  ----------------------------------------------------------------
        // 2. Create the MBean JAR File
        //  ----------------------------------------------------------------
        {
            /*
            <argument>-Dfiles=${project.build.directory}/generated-sources</argument>
            <argument>-DMJF=${project.build.directory}/josso-weblogic92-agent-mbeans-${pom.version}.jar</argument>
            <argument>-DpreserveStubs=false</argument>
            <argument>-DcreateStubs=true</argument>
            <argument>-classpath</argument>
            <classpath/>
            <argument>weblogic.management.commo.WebLogicMBeanMaker</argument>
                    
            */

            ProcessBuilder generateMBeanJarProcessBuilder = new ProcessBuilder(javaCmd,
                    "-Dfiles=" + getLocalFilePath(srcDir), "-DMJF=" + getLocalFilePath(mbeanFile),
                    "-DpreserveStubs=false", "-DcreateStubs=true", "-classpath", classpath,
                    "weblogic.management.commo.WebLogicMBeanMaker");

            log.info("Executing: " + generateMBeanJarProcessBuilder.command());

            Process generateMBeanJarProcess = generateMBeanJarProcessBuilder.start();

            PumpStreamHandler generateMBeanJarHandler = new PumpStreamHandler(getPrinter().getIo().inputStream,
                    getPrinter().getIo().outputStream, getPrinter().getIo().errorStream);
            generateMBeanJarHandler.attach(generateMBeanJarProcess);
            generateMBeanJarHandler.start();

            log.debug("Waiting for process to exit...");
            int statusJar = generateMBeanJarProcess.waitFor();
            log.info("Process exited w/status: " + statusJar);

            generateMBeanJarHandler.stop();
            getPrinter().printActionOkStatus("Generate", "WL MBeans JAR", getLocalFilePath(mbeanFile));

        }
    } catch (Exception e) {
        getPrinter().printActionErrStatus("Generate", "WL MBeans", e.getMessage());
        throw new InstallException("Cannot generate WL MBeans Descriptors : " + e.getMessage(), e);
    }

    // 2. Create the MBean JAR File

    // 3. Install the file in the target platform

    // We need to create WL Mbeans using MBean Maker!

}

From source file:org.josso.tooling.gshell.install.test.VFSTest.java

@Test
public void testUnjarExploded() throws Exception {

    FileObject home = fsm.resolveFile(System.getProperty("java.home"));
    assert home.exists() : "JAVA_HOME folder not found ? " + home.getName().getFriendlyURI();

    FileObject target = fsm.resolveFile(new File(".").getAbsolutePath() + "/target");
    assert target.exists() : "target folder not found : " + target.getName().getFriendlyURI();

    FileObject targetFolder = target.resolveFile("unjar");
    targetFolder.createFolder();/*from  w  w w.j a v a2 s.com*/

    FileObject srcFile = home.resolveFile("./lib/rt.jar");
    assert srcFile.exists() : "File not found " + srcFile.getURL();

    log.info("JAR FILE    : " + srcFile.getName().getFriendlyURI());
    log.info("ROOT        : " + srcFile.getName().getRoot());
    log.info("ROOT URI    : " + srcFile.getName().getRootURI());
    log.info("PATH DECODED: " + srcFile.getName().getPathDecoded());
    log.info("ROOT DECODED: " + srcFile.getName().getRoot().getPathDecoded());
    log.info("PATH        : " + srcFile.getName().getPath());

    assert installer.installJar(srcFile, targetFolder, "rt.jar-exploded", true,
            true) : "Cannot unjar exploded !";

}

From source file:org.josso.tooling.gshell.install.test.VFSTest.java

@Test
public void testUnjar() throws Exception {

    FileObject home = fsm.resolveFile(System.getProperty("java.home"));
    assert home.exists() : "JAVA_HOME folder not found ? " + home.getName().getFriendlyURI();

    FileObject target = fsm.resolveFile(new File(".").getAbsolutePath() + "/target");
    assert target.exists() : "target folder not found : " + target.getName().getFriendlyURI();

    FileObject targetFolder = target.resolveFile("unjar");
    targetFolder.createFolder();//from w ww. j ava 2  s.c o m

    FileObject srcFile = home.resolveFile("./lib/rt.jar");
    assert srcFile.exists() : "File not found " + srcFile.getURL();

    assert installer.installJar(srcFile, targetFolder, "rt.jar", false, true) : "Cannot unjar !";

}

From source file:org.kalypso.simulation.grid.SimpleGridProcess.java

/**
 * @see org.kalypso.commons.process.IProcess#startProcess(java.io.OutputStream, java.io.OutputStream,
 *      java.io.InputStream, org.kalypso.contribs.java.lang.ICancelable)
 *///w w w .ja v a  2  s . co m
@Override
public int startProcess(final OutputStream stdOut, final OutputStream stdErr, final InputStream stdIn,
        final ICancelable cancelable) throws ProcessTimeoutException, IOException {
    // initialize simulation monitor if not set
    // final String friendlyURI = m_workingDir.getName().getFriendlyURI();
    // m_monitor = SubMonitor.convert( m_monitor, String.format(
    // "Running grid process for executable %s in directoy %s.", m_executable, friendlyURI ), 10 );

    /* configure and submit grid job */

    // logging output
    final String stdOutFileName = m_executable + ".out";
    final String stdErrFileName = m_executable + ".err";

    // for hannover
    final String queue = "dgitest";
    final String factory = "PBS";

    // for kaiserslautern
    // final String queue = "dgitest";
    // final String factory = "SGE"

    final FileObject executableFile = m_workingDir.resolveFile(m_executable);
    if (!executableFile.exists())
        throw new IOException("Executable does not exist!");

    // make file executable
    ((GsiFtpFileObject) executableFile).makeExecutable();

    final GSSCredential credential = getCredential();

    final GDIJobProperties props = new GDIJobProperties();

    props.addPreference("gdi.targethostname", m_targetHostName);
    props.addPreference("gdi.executable", "./" + m_executable);
    props.addPreference("gdi.arguments", m_commandLine);
    props.addPreference("gdi.environment", m_environment);

    final String sandboxName = m_workingDir.getName().getBaseName();
    props.addPreference("gdi.sandboxdir", sandboxName);

    props.addPreference("gdi.stdout", stdOutFileName);
    props.addPreference("gdi.stderr", stdErrFileName);
    props.addPreference("gdi.factory", factory);
    props.addPreference("gdi.queue", queue);
    props.addPreference("gdi.credential", credential);

    final GDIJob job = GDIJobFactory.createGDIJob(GDIJobFactory.defaultGDIJob);
    job.setProps(props);

    // m_monitor.subTask( String.format( "Submitting grid job to server %s.", m_targetHostName ) );

    final PrintWriter stdPrinter = new PrintWriter(stdOut);
    final PrintWriter errPrinter = new PrintWriter(stdErr);

    // on error iRetVal will be IStatus.ERROR (4)
    // if finished successfully, iRetVal will be IStatus.OK (0)
    int iRetVal = IStatus.ERROR;
    try {
        // register observer
        ((GDIObserverSubject) job).registerObserver(this);

        // submit job
        job.submit();

        final long startTime = System.currentTimeMillis();
        finished: while (!isCanceled(cancelable)) {
            if (m_timeout > 0) {
                final long currentTime = System.currentTimeMillis();
                final long processDuration = currentTime - startTime;
                if (processDuration > m_timeout) {
                    // job will be canceled in finish statement of try/catch block
                    throw new ProcessTimeoutException();
                }
            }
            switch (m_status) {
            case UNSUBMITTED:
            case STAGEIN:
            case STAGEOUT:
            case RUNNING:
                Thread.sleep(1000);
                break;
            case FINISHED:
                iRetVal = IStatus.OK;
            case FAILED:
                break finished;
            }
        }
    } catch (final InterruptedException e) {
        e.printStackTrace();
    } finally {
        IOUtils.closeQuietly(stdPrinter);
        IOUtils.closeQuietly(errPrinter);

        // clean up job in case of an error
        // this will have no effect if job has finished successfully
        if (job != null && job.getStatus() == GDIState.RUNNING) {
            job.cancelJob();
        }

        if (m_manager != null)
            m_manager.close();

        if (isCanceled(cancelable)) {
            errPrinter.println("Job has been canceled.");
            throw new OperationCanceledException();
        }
    }

    return iRetVal;
}

From source file:org.kalypso.simulation.grid.TestSimpleGridProcess.java

public void testGridProcess() throws Exception {
    final String processFactoryId = "org.kalypso.simulation.gridprocess";
    System.setProperty("GLOBUS_LOCATION", "d:/workspace3.4/org.globus.ws.core");
    final String sandboxRoot = "testRma";

    final FileSystemManagerWrapper manager = VFSUtilities.getNewManager();

    final String rmaName = "RMA10Sk_35";

    final IProcess process = KalypsoCommonsExtensions.createProcess(processFactoryId, sandboxRoot, rmaName);
    process.environment().put("OMP_NUM_THREADS", "4");

    final String sandboxDirectory = process.getSandboxDirectory();
    final FileObject workingDir = manager.resolveFile(sandboxDirectory);
    copyFileToWorking(manager, workingDir, rmaName);
    copyFileToWorking(manager, workingDir, "model.2d");
    copyFileToWorking(manager, workingDir, "control.r10");

    process.startProcess(System.out, System.err, null, null);

    final FileObject resultFile = workingDir.resolveFile("A0001.2d");
    if (!resultFile.exists())
        fail("Result was not created!");

    manager.close();// w w w. j ava  2s  .  co  m
}

From source file:org.openbi.kettle.plugins.avrooutput.AvroOutput.java

private void createParentFolder(String filename) throws Exception {
    // Check for parent folder
    FileObject parentfolder = null;
    try {// w ww.  j av a  2 s.  co  m
        // Get parent folder
        parentfolder = getFileObject(filename).getParent();
        if (parentfolder.exists()) {
            if (isDetailed()) {
                logDetailed(BaseMessages.getString(PKG, "AvroOutput.Log.ParentFolderExist",
                        parentfolder.getName()));
            }
        } else {
            if (isDetailed()) {
                logDetailed(BaseMessages.getString(PKG, "AvroOutput.Log.ParentFolderNotExist",
                        parentfolder.getName()));
            }
            if (meta.getCreateParentFolder()) {
                parentfolder.createFolder();
                if (isDetailed()) {
                    logDetailed(BaseMessages.getString(PKG, "AvroOutput.Log.ParentFolderCreated",
                            parentfolder.getName()));
                }
            } else {
                throw new KettleException(BaseMessages.getString(PKG,
                        "AvroOutput.Log.ParentFolderNotExistCreateIt", parentfolder.getName(), filename));
            }
        }

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

From source file:org.openbi.kettle.plugins.parquetoutput.ParquetOutput.java

public void openNewFile(String baseFilename) throws KettleException {
    if (baseFilename == null) {
        throw new KettleFileException(BaseMessages.getString(PKG, "ParquetOutput.Exception.FileNameNotSet"));
    }//from w ww.j a  v  a 2s.com

    String filename = buildFilename(environmentSubstitute(baseFilename));

    try {
        // Check for parent folder creation only if the user asks for it
        //
        if (meta.isCreateParentFolder()) {
            createParentFolder(filename);
        }

        if (log.isDetailed()) {
            logDetailed("Opening output file in default encoding");
        }

        String compressionCodec = environmentSubstitute(meta.getCompressionCodec());

        if (Const.isEmpty(compressionCodec) || compressionCodec.equalsIgnoreCase("none")) {
            compressionCodec = "uncompressed";
        }

        CompressionCodecName compressionCodecName = CompressionCodecName.fromConf(compressionCodec);

        //Convert to bytes
        int blockSize = -1;

        blockSize = Const.toInt(environmentSubstitute(meta.getBlockSize()), -1) * 1024 * 1024;

        if (blockSize <= 0) {
            throw new KettleException("Error setting block size.  Must be greater than 0.");
        }

        int pageSize = Const.toInt(environmentSubstitute(meta.getPageSize()), -1) * 1024;

        if (pageSize <= 0) {
            throw new KettleException("Error setting page size.  Must be greater than 0.");
        }

        /* HadoopConfiguration hadoopConfiguration =
           HadoopConfigurationBootstrap.getHadoopConfigurationProvider().getActiveConfiguration();
         HadoopShim shim = hadoopConfiguration.getHadoopShim();
         Configuration conf = shim.createConfiguration();
                
         FileSystem fs = shim.getFileSystem( conf );
         Path path = fs.asPath( file.getName().getURI() );
         */

        FileObject file = KettleVFS.getFileObject(filename);

        //Path path = shim.getFileSystem( conf ).asPath( file.getName().getURI() );
        Path path = new Path(file.getName().getURI());

        if (meta.isCleanOutput() && file.exists()) {
            file.delete();
        }

        data.parquetWriters
                .add(new AvroParquetWriter(path, data.avroSchema, compressionCodecName, blockSize, pageSize));
        data.openFiles.add(baseFilename);

        if (log.isDetailed()) {
            logDetailed("Opened new file with name [" + filename + "]");
        }
    } catch (Exception e) {
        throw new KettleException("Error opening new file : " + e.toString(), e);
    }

    data.splitnr++;

    if (meta.isAddToResult()) {
        // Add this to the result file names...
        ResultFile resultFile = new ResultFile(ResultFile.FILE_TYPE_GENERAL,
                getFileObject(filename, getTransMeta()), getTransMeta().getName(), getStepname());
        resultFile.setComment(BaseMessages.getString(PKG, "AvroOutput.AddResultFile"));
        addResultFile(resultFile);
    }
}

From source file:org.openbi.kettle.plugins.parquetoutput.ParquetOutput.java

private void createParentFolder(String filename) throws Exception {
    // Check for parent folder
    FileObject parentfolder = null;
    FileObject schemaParentFolder = null;
    try {//w  w w  . j  a va  2  s  . c  o  m
        // Get parent folder
        parentfolder = getFileObject(filename).getParent();
        if (parentfolder.exists()) {
            if (isDetailed()) {
                logDetailed(BaseMessages.getString(PKG, "AvroOutput.Log.ParentFolderExist",
                        parentfolder.getName()));
            }
        } else {
            if (isDetailed()) {
                logDetailed(BaseMessages.getString(PKG, "AvroOutput.Log.ParentFolderNotExist",
                        parentfolder.getName()));
            }
            if (meta.isCreateParentFolder()) {
                parentfolder.createFolder();
                if (isDetailed()) {
                    logDetailed(BaseMessages.getString(PKG, "AvroOutput.Log.ParentFolderCreated",
                            parentfolder.getName()));
                }
            } else {
                throw new KettleException(BaseMessages.getString(PKG,
                        "AvroOutput.Log.ParentFolderNotExistCreateIt", parentfolder.getName(), filename));
            }
        }

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

    }
}