List of usage examples for org.apache.commons.vfs FileObject getName
public FileName getName();
From source file:com.panet.imeta.core.plugins.PluginLoader.java
/** * "Deploys" the plugin jar file./*ww w . ja va 2 s .c om*/ * * @param parent * @return * @throws FileSystemException */ private FileObject explodeJar(FileObject parent) throws FileSystemException { // By Alex, 7/13/07 // Since the JVM does not support nested jars and // URLClassLoaders, we have to hack it // see // http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4735639 // // We do so by exploding the jar, sort of like deploying it FileObject dest = VFS.getManager().resolveFile(Const.getKettleDirectory() + File.separator + WORK_DIR); dest.createFolder(); FileObject destFile = dest.resolveFile(parent.getName().getBaseName()); if (!destFile.exists()) destFile.createFolder(); else // delete children for (FileObject child : destFile.getChildren()) child.delete(new AllFileSelector()); // force VFS to treat it as a jar file explicitly with children, // etc. and copy destFile.copyFrom(!(parent instanceof JarFileObject) ? VFS.getManager().resolveFile(JAR + ":" + parent.getName().getURI()) : parent, new AllFileSelector()); return destFile; }
From source file:com.pongasoft.kiwidoc.builder.doclet.SourceCodeParser.java
/** * Parses the sources using a doclet. It is ok to provide a big number of files, since it will * automatically be split in chunks./*w w w. j a v a 2 s.c om*/ * * @param library the library to store the results * @param sources the sources * @return the number of processed files * @throws IOException if there is an issue reading the files */ public int parseSources(LibraryModelBuilder library, FileObject sources, String overviewFilename, FileObject javadoc, Collection<FileObject> dependencies) throws IOException, InternalException { DefaultFileSystemManager dfs = new DefaultFileSystemManager(); dfs.addProvider("file", new DefaultLocalFileProvider()); dfs.setReplicator(new DefaultFileReplicator(IOUtils.createTempDirectory("SourceCodeParser", ""))); dfs.init(); try { File localSources = dfs.getReplicator().replicateFile(sources, SourcesSelector.INSTANCE); sources = dfs.toFileObject(localSources); FileObject[] allSources = sources.findFiles(JavaSelector.INSTANCE); if (allSources == null || allSources.length == 0) return 0; List<String> sourcePath = new ArrayList<String>(); for (FileObject sourceFile : allSources) { // if(javadoc != null) // { // String name = sources.getName().getRelativeName(sourceFile.getName()); // name = name.substring(0, name.length() - JAVA_EXTENSION.length()); // name += HTML_EXTENSION; // if(javadoc.resolveFile(name, NameScope.DESCENDENT).exists()) // sourcePath.add(sourceFile.getName().getPath()); // } // else // { // sourcePath.add(sourceFile.getName().getPath()); // } sourcePath.add(sourceFile.getName().getPath()); } List<String> deps = new ArrayList<String>(); if (dependencies != null) { for (FileObject dependency : dependencies) { if (dependency.exists()) { File localDependency = dfs.getReplicator().replicateFile(dependency, DependenciesSelector.INSTANCE); deps.add(localDependency.getCanonicalPath()); } } } FileObject overviewFile = sources.resolveFile(overviewFilename, NameScope.CHILD); String overviewPath = null; if (overviewFile.exists()) overviewPath = overviewFile.getName().getPath(); parseSources(library, overviewPath, sourcePath, deps); return sourcePath.size(); } finally { dfs.close(); } }
From source file:com.panet.imeta.trans.step.errorhandling.AbstractFileErrorHandler.java
/** * returns the OutputWiter if exists. Otherwhise it will create a new one. * /*from ww w.j a v a 2 s . com*/ * @return * @throws KettleException */ Writer getWriter(Object source) throws KettleException { try { Writer outputStreamWriter = (Writer) writers.get(source); if (outputStreamWriter != null) return outputStreamWriter; FileObject file = getReplayFilename(destinationDirectory, processingFilename, dateString, fileExtension, source); ResultFile resultFile = new ResultFile(ResultFile.FILE_TYPE_GENERAL, file, baseStep.getTransMeta().getName(), baseStep.getStepname()); baseStep.addResultFile(resultFile); try { if (encoding == null) { outputStreamWriter = new OutputStreamWriter(KettleVFS.getOutputStream(file, false)); } else { outputStreamWriter = new OutputStreamWriter(KettleVFS.getOutputStream(file, false), encoding); } } catch (Exception e) { throw new KettleException(Messages .getString("AbstractFileErrorHandler.Exception.CouldNotCreateFileErrorHandlerForFile") //$NON-NLS-1$ + file.getName().getURI(), e); } writers.put(source, outputStreamWriter); return outputStreamWriter; } catch (IOException e) { throw new KettleException( Messages.getString("AbstractFileErrorHandler.Exception.CouldNotCreateFileErrorHandlerForFile"), e); } }
From source file:com.panet.imeta.trans.steps.mail.Mail.java
private void addAttachedFilePart(FileObject file) throws Exception { // create a data source MimeBodyPart files = new MimeBodyPart(); // create a data source URLDataSource fds = new URLDataSource(file.getURL()); // get a data Handler to manipulate this file type; files.setDataHandler(new DataHandler(fds)); // include the file in the data source files.setFileName(file.getName().getBaseName()); // add the part with the file in the BodyPart(); data.parts.addBodyPart(files);/*from ww w .j ava 2 s .c o m*/ if (log.isDetailed()) log.logDetailed(toString(), Messages.getString("Mail.Log.AttachedFile", fds.getName())); }
From source file:com.panet.imeta.trans.steps.mapping.MappingMeta.java
@Override public String exportResources(VariableSpace space, Map<String, ResourceDefinition> definitions, ResourceNamingInterface resourceNamingInterface) throws KettleException { try {//from w w w. jav a 2 s . c o m // Try to load the transformation from repository or file. // Modify this recursively too... // if (!Const.isEmpty(fileName)) { FileObject fileObject = KettleVFS.getFileObject(space.environmentSubstitute(fileName)); // NOTE: there is no need to clone this step because the caller is responsible for this. // // First load the mapping metadata... // TransMeta mappingTransMeta = loadMappingMeta(fileName, null, null, null, space); String newFilename = resourceNamingInterface.nameResource(fileObject.getName().getBaseName(), fileObject.getParent().getName().getPath(), "ktr"); mappingTransMeta.setFilename(newFilename); fileName = newFilename; // replace it BEFORE XML generation occurs! String xml = mappingTransMeta.getXML(); definitions.put(fileObject.getName().getPath(), new ResourceDefinition(newFilename, xml)); return newFilename; } else { return null; } } catch (Exception e) { throw new KettleException( Messages.getString("MappingMeta.Exception.UnableToLoadTransformation", fileName)); //$NON-NLS-1$ } }
From source file:com.thinkberg.vfs.s3.tests.S3FileProviderTest.java
public void testCopyShallowFolder() throws FileSystemException { FileObject origFolder = ROOT.resolveFile(FOLDER); origFolder.delete(ALL_FILE_SELECTOR); origFolder.createFolder();/*from ww w . j a v a 2 s .com*/ origFolder.resolveFile("file.0").createFile(); origFolder.resolveFile("file.1").createFile(); origFolder.resolveFile("file.2").createFile(); System.out.println(Arrays.asList(origFolder.getChildren())); assertEquals(3, origFolder.getChildren().length); FileObject destFolder = ROOT.resolveFile(FOLDER + "_dest"); assertFalse(destFolder.exists()); destFolder.copyFrom(origFolder, new DepthFileSelector(1)); assertTrue(destFolder.exists()); assertEquals(3, destFolder.getChildren().length); FileObject[] origFiles = origFolder.findFiles(new DepthFileSelector(1)); FileObject[] destFiles = destFolder.findFiles(new DepthFileSelector(1)); for (int i = 0; i < origFiles.length; i++) { assertEquals(origFiles[i].getName().getRelativeName(origFolder.getName()), destFiles[i].getName().getRelativeName(destFolder.getName())); } origFolder.delete(ALL_FILE_SELECTOR); destFolder.delete(ALL_FILE_SELECTOR); assertFalse(origFolder.exists()); assertFalse(destFolder.exists()); }
From source file:com.thinkberg.moxo.dav.PropPatchHandler.java
public void service(HttpServletRequest request, HttpServletResponse response) throws IOException { FileObject object = getResourceManager().getFileObject(request.getPathInfo()); try {// w ww .j a v a 2 s. c o m 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; } SAXReader saxReader = new SAXReader(); try { Document propDoc = saxReader.read(request.getInputStream()); // log(propDoc); response.setContentType("text/xml"); response.setCharacterEncoding("UTF-8"); response.setStatus(SC_MULTI_STATUS); if (object.exists()) { Document resultDoc = DocumentHelper.createDocument(); Element multiStatusResponse = resultDoc.addElement("multistatus", "DAV:"); Element responseEl = multiStatusResponse.addElement("response"); try { URL url = new URL(getBaseUrl(request), URLEncoder.encode(object.getName().getPath(), "UTF-8")); log("!! " + url); responseEl.addElement("href").addText(url.toExternalForm()); } catch (Exception e) { e.printStackTrace(); } Element propstatEl = responseEl.addElement("propstat"); Element propEl = propstatEl.addElement("prop"); Element propertyUpdateEl = propDoc.getRootElement(); for (Object elObject : propertyUpdateEl.elements()) { Element el = (Element) elObject; if ("set".equals(el.getName())) { for (Object propObject : el.elements()) { setProperty(propEl, object, (Element) propObject); } } else if ("remove".equals(el.getName())) { for (Object propObject : el.elements()) { removeProperty(propEl, object, (Element) propObject); } } } propstatEl.addElement("status").addText(DavResource.STATUS_403); // log(resultDoc); // write the actual response XMLWriter writer = new XMLWriter(response.getWriter(), OutputFormat.createCompactFormat()); writer.write(resultDoc); writer.flush(); writer.close(); } else { log("!! " + object.getName().getPath() + " NOT FOUND"); response.sendError(HttpServletResponse.SC_NOT_FOUND); } } catch (DocumentException e) { log("!! inavlid request: " + e.getMessage()); response.sendError(HttpServletResponse.SC_BAD_REQUEST); } }
From source file:com.panet.imeta.job.Job.java
public void setInternalKettleVariables(VariableSpace var) { if (jobMeta != null && jobMeta.getFilename() != null) // we have a // finename/* ww w . j av a 2 s . c o m*/ // that's // defined. { try { FileObject fileObject = KettleVFS.getFileObject(jobMeta.getFilename()); FileName fileName = fileObject.getName(); // The filename of the transformation var.setVariable(Const.INTERNAL_VARIABLE_JOB_FILENAME_NAME, fileName.getBaseName()); // The directory of the transformation FileName fileDir = fileName.getParent(); var.setVariable(Const.INTERNAL_VARIABLE_JOB_FILENAME_DIRECTORY, fileDir.getURI()); } catch (IOException e) { var.setVariable(Const.INTERNAL_VARIABLE_JOB_FILENAME_DIRECTORY, ""); var.setVariable(Const.INTERNAL_VARIABLE_JOB_FILENAME_NAME, ""); } } else { var.setVariable(Const.INTERNAL_VARIABLE_JOB_FILENAME_DIRECTORY, ""); //$NON-NLS-1$ var.setVariable(Const.INTERNAL_VARIABLE_JOB_FILENAME_NAME, ""); //$NON-NLS-1$ } // The name of the job var.setVariable(Const.INTERNAL_VARIABLE_JOB_NAME, Const.NVL(jobMeta.getName(), "")); //$NON-NLS-1$ // The name of the directory in the repository var.setVariable(Const.INTERNAL_VARIABLE_JOB_REPOSITORY_DIRECTORY, jobMeta.getDirectory() != null ? jobMeta.getDirectory().getPath() : ""); //$NON-NLS-1$ // Undefine the transformation specific variables var.setVariable(Const.INTERNAL_VARIABLE_TRANSFORMATION_FILENAME_DIRECTORY, null); var.setVariable(Const.INTERNAL_VARIABLE_TRANSFORMATION_FILENAME_NAME, null); var.setVariable(Const.INTERNAL_VARIABLE_TRANSFORMATION_FILENAME_DIRECTORY, null); var.setVariable(Const.INTERNAL_VARIABLE_TRANSFORMATION_FILENAME_NAME, null); var.setVariable(Const.INTERNAL_VARIABLE_TRANSFORMATION_NAME, null); var.setVariable(Const.INTERNAL_VARIABLE_TRANSFORMATION_REPOSITORY_DIRECTORY, null); }
From source file:com.panet.imeta.job.entries.zipfile.JobEntryZipFile.java
private boolean createParentFolder(String filename) { // Check for parent folder FileObject parentfolder = null; boolean result = false; LogWriter log = LogWriter.getInstance(); try {//from ww w.j a v a 2 s . co m // Get parent folder parentfolder = KettleVFS.getFileObject(filename).getParent(); if (!parentfolder.exists()) { if (log.isDetailed()) log.logDetailed(toString(), "Folder" + parentfolder.getName() + " does not exist !"); parentfolder.createFolder(); if (log.isDetailed()) log.logDetailed(toString(), "Folder was created."); } else { if (log.isDetailed()) log.logDetailed(toString(), "Folder" + parentfolder.getName() + " exist !"); } result = true; } catch (Exception e) { log.logError(toString(), "Couldn't created folder " + parentfolder.getName()); } finally { if (parentfolder != null) { try { parentfolder.close(); } catch (Exception ex) { } ; } } return result; }
From source file:egovframework.rte.fdl.filehandling.FilehandlingServiceTest.java
/** * ? ? , ? ?? ?? ?/*from w w w . j a v a 2 s . co m*/ * ? ? ? ? . * @throws Exception */ @Test public void testCaching() throws Exception { String testFolder = "d:/workspace/java/e-gov/eGovFramework/RTE/DEV/trunk/Foundation/egovframework.rte.fdl.filehandling/testfolder"; FileSystemManager manager = VFS.getManager(); FileObject scratchFolder = manager.resolveFile(testFolder); // testfolder ? ? scratchFolder.delete(Selectors.EXCLUDE_SELF); // ? Manager ? DefaultFileSystemManager fs = new DefaultFileSystemManager(); fs.setFilesCache(manager.getFilesCache()); // zip, jar, tgz, tar, tbz2, file if (!fs.hasProvider("file")) { fs.addProvider("file", new DefaultLocalFileProvider()); } fs.setCacheStrategy(CacheStrategy.ON_RESOLVE); fs.init(); // ? ? ? FileObject foBase2 = fs.resolveFile(testFolder); log.debug("## scratchFolder.getName().getPath() : " + scratchFolder.getName().getPath()); FileObject cachedFolder = foBase2.resolveFile(scratchFolder.getName().getPath()); // ?? ? FileObject[] fos = cachedFolder.getChildren(); assertFalse(contains(fos, "file1.txt")); // ?? scratchFolder.resolveFile("file1.txt").createFile(); // ? // BUT cachedFolder ? ?? ? fos = cachedFolder.getChildren(); assertFalse(contains(fos, "file1.txt")); // cachedFolder.refresh(); // ?? fos = cachedFolder.getChildren(); assertTrue(contains(fos, "file1.txt")); }