List of usage examples for org.apache.commons.vfs FileObject exists
public boolean exists() throws FileSystemException;
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 } } } }