List of usage examples for org.apache.commons.vfs FileObject getName
public FileName getName();
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 !"; }