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

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

Introduction

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

Prototype

public FileName getName();

Source Link

Document

Returns the name of this file.

Usage

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

protected void installFiles(FileObject[] srcFiles, FileObject destDir, boolean replace) throws IOException {
    for (int i = 0; i < srcFiles.length; i++) {
        FileObject srcFile = srcFiles[i];
        installFile(srcFile, destDir, srcFile.getName().getBaseName(), replace);
    }/*  ww  w.  jav  a  2s  . c o  m*/
}

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

/**
 * Get local file path.//from   ww  w  .  j av a  2s.  c om
 * 
 * @param file file
 * @return local file path
 */
protected String getLocalFilePath(FileObject file) {
    FileName fileName = file.getName();
    String localPath = fileName.getPath();
    String rootFile = ((LocalFileName) fileName).getRootFile();
    if (rootFile != null) {
        localPath = rootFile + fileName.getPath();
    }
    return localPath;
}

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

@Override
public void performAdditionalTasks(FileObject libsDir) throws InstallException {
    try {//  ww w. ja v  a2  s . com
        // 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.WasceInstaller.java

@Override
public void installApplication(JOSSOArtifact artifact, boolean replace) throws InstallException {
    try {// w w  w . j  av  a 2  s .  com
        FileObject srcFile = getFileSystemManager().resolveFile(artifact.getLocation());

        // Is this the josso gateway or wasce partner application?
        String name = artifact.getBaseName();
        if (artifact.getType().equals("war")
                && (name.startsWith("josso-gateway-web") || name.startsWith("josso-partner-wasce"))) {
            int status = deployApplication(srcFile, replace);
            if (status != 0) {
                String srcFileName = srcFile.getName().getBaseName();
                printInstallErrStatus(srcFileName, "Error deploying " + getLocalFilePath(srcFile));
                throw new InstallException("Error deploying " + getLocalFilePath(srcFile));
            }
            return;
        }

        log.debug("Skipping partner application : " + srcFile.getName().getFriendlyURI());

    } 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 www. j a  v a 2  s  .c  o  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 install3rdPartyComponent(JOSSOArtifact artifact, boolean replace) throws InstallException {

    // Only use commons logging api (commonst-logging-api) and skip commons-logging
    if (artifact.getBaseName().startsWith("commons-logging-1")
            || artifact.getBaseName().startsWith("spring-2.0"))
        return;// w  w w . j  a v  a 2s  .c  o  m

    if (artifact.getBaseName().startsWith("slf4j"))
        return;

    if (artifact.getBaseName().startsWith("jcl-over-slf4j"))
        return;

    if (artifact.getBaseName().startsWith("logback"))
        return;

    try {
        FileObject srcFile = getFileSystemManager().resolveFile(artifact.getLocation());
        removeOldJar(srcFile.getName().getBaseName(), this.targetLibDir, true);
        installFile(srcFile, this.targetLibDir, replace);
    } catch (IOException e) {
        throw new InstallException(e.getMessage(), e);
    }
}

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

@Override
public void installApplication(JOSSOArtifact artifact, boolean replace) throws InstallException {
    try {//w  w  w .j a v a2s .  c om

        // If the war is already expanded, copy it with a new name.
        FileObject srcFile = getFileSystemManager().resolveFile(artifact.getLocation());

        // Is this the josso gateaway ?
        String name = artifact.getBaseName();
        boolean isFolder = srcFile.getType().equals(FileType.FOLDER);

        if (artifact.getType().equals("war") && name.startsWith("josso-gateway-web")) {
            // INSTALL GWY
            String newName = "josso.war";

            // Do we have to explode the war ?
            if (getTargetPlatform().isJOSSOWarExploded() && !isFolder) {
                installJar(srcFile, this.targetDeployDir, newName, true, replace);
            } else {
                installFile(srcFile, this.targetDeployDir, newName, replace);
            }
            return;
        }

        if (artifact.getType().equals("ear")
                && artifact.getBaseName().startsWith("josso-partner-wl" + wlVersionStr)) {
            installFile(srcFile, this.targetDeployDir, replace);
            return;
        }

        log.debug("Skipping partner application : " + srcFile.getName().getFriendlyURI());

    } catch (IOException e) {
        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 {//from w w w.  j a  va  2  s .  c  om

        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 a 2  s. co  m

    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 w  w  . j av a2  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 !";

}