List of usage examples for org.apache.commons.vfs FileObject findFiles
public FileObject[] findFiles(FileSelector selector) throws FileSystemException;
From source file:com.newatlanta.appengine.junit.vfs.gae.GaeFolderTestCase.java
private static void assertSubFolders(FileObject testFolder, String[] subFolderNames) throws Exception { FileName rootName = testFolder.getFileSystem().getRootName(); FileObject[] subFolders = testFolder.findFiles(Selectors.EXCLUDE_SELF); assertEquals(subFolders.length, subFolderNames.length); for (int i = 0; i < subFolders.length; i++) { FileObject subObject = subFolders[i]; assertTrue(subObject.getName().getPath().endsWith(subFolderNames[i])); assertFolder(subObject);/* w w w.ja v a 2s .com*/ assertEquals(subObject.getParent(), i == subFolders.length - 1 ? testFolder : subFolders[i + 1]); assertTrue(rootName.isDescendent(subObject.getName())); assertTrue(subObject.getName().isAncestor(rootName)); } }
From source file:com.panet.imeta.core.fileinput.FileInputList.java
public static FileInputList createFileList(VariableSpace space, String[] fileName, String[] fileMask, String[] fileRequired, boolean[] includeSubdirs, FileTypeFilter[] fileTypeFilters) { FileInputList fileInputList = new FileInputList(); // Replace possible environment variables... final String realfile[] = space.environmentSubstitute(fileName); final String realmask[] = space.environmentSubstitute(fileMask); for (int i = 0; i < realfile.length; i++) { final String onefile = realfile[i]; final String onemask = realmask[i]; final boolean onerequired = YES.equalsIgnoreCase(fileRequired[i]); final boolean subdirs = includeSubdirs[i]; final FileTypeFilter filter = ((fileTypeFilters == null || fileTypeFilters[i] == null) ? FileTypeFilter.ONLY_FILES : fileTypeFilters[i]);/* www .j ava 2 s .com*/ if (Const.isEmpty(onefile)) continue; // // If a wildcard is set we search for files // if (!Const.isEmpty(onemask)) { try { // Find all file names that match the wildcard in this directory // FileObject directoryFileObject = KettleVFS.getFileObject(onefile); if (directoryFileObject != null && directoryFileObject.getType() == FileType.FOLDER) // it's a directory { FileObject[] fileObjects = directoryFileObject.findFiles(new AllFileSelector() { public boolean traverseDescendents(FileSelectInfo info) { return info.getDepth() == 0 || subdirs; } public boolean includeFile(FileSelectInfo info) { // Never return the parent directory of a file list. if (info.getDepth() == 0) { return false; } FileObject fileObject = info.getFile(); try { if (fileObject != null && filter.isFileTypeAllowed(fileObject.getType())) { String name = fileObject.getName().getBaseName(); boolean matches = Pattern.matches(onemask, name); /* if (matches) { System.out.println("File match: URI: "+info.getFile()+", name="+name+", depth="+info.getDepth()); } */ return matches; } return false; } catch (FileSystemException ex) { // Upon error don't process the file. return false; } } }); if (fileObjects != null) { for (int j = 0; j < fileObjects.length; j++) { if (fileObjects[j].exists()) fileInputList.addFile(fileObjects[j]); } } if (Const.isEmpty(fileObjects)) { if (onerequired) fileInputList.addNonAccessibleFile(directoryFileObject); } // Sort the list: quicksort, only for regular files fileInputList.sortFiles(); } else { FileObject[] children = directoryFileObject.getChildren(); for (int j = 0; j < children.length; j++) { // See if the wildcard (regexp) matches... String name = children[j].getName().getBaseName(); if (Pattern.matches(onemask, name)) fileInputList.addFile(children[j]); } // We don't sort here, keep the order of the files in the archive. } } catch (Exception e) { LogWriter.getInstance().logError("FileInputList", Const.getStackTracker(e)); } } else // A normal file... { try { FileObject fileObject = KettleVFS.getFileObject(onefile); if (fileObject.exists()) { if (fileObject.isReadable()) { fileInputList.addFile(fileObject); } else { if (onerequired) fileInputList.addNonAccessibleFile(fileObject); } } else { if (onerequired) fileInputList.addNonExistantFile(fileObject); } } catch (Exception e) { LogWriter.getInstance().logError("FileInputList", Const.getStackTracker(e)); } } } return fileInputList; }
From source file:com.panet.imeta.core.fileinput.FileInputList.java
public static FileInputList createFolderList(VariableSpace space, String[] folderName, String[] folderRequired) { FileInputList fileInputList = new FileInputList(); // Replace possible environment variables... final String realfolder[] = space.environmentSubstitute(folderName); for (int i = 0; i < realfolder.length; i++) { final String onefile = realfolder[i]; final boolean onerequired = YES.equalsIgnoreCase(folderRequired[i]); final boolean subdirs = true; final FileTypeFilter filter = FileTypeFilter.ONLY_FOLDERS; if (Const.isEmpty(onefile)) continue; FileObject directoryFileObject = null; try {/*from w w w . jav a 2s . c o m*/ // Find all folder names in this directory // directoryFileObject = KettleVFS.getFileObject(onefile); if (directoryFileObject != null && directoryFileObject.getType() == FileType.FOLDER) // it's a directory { FileObject[] fileObjects = directoryFileObject.findFiles(new AllFileSelector() { public boolean traverseDescendents(FileSelectInfo info) { return info.getDepth() == 0 || subdirs; } public boolean includeFile(FileSelectInfo info) { // Never return the parent directory of a file list. if (info.getDepth() == 0) { return false; } FileObject fileObject = info.getFile(); try { if (fileObject != null && filter.isFileTypeAllowed(fileObject.getType())) { return true; } return false; } catch (FileSystemException ex) { // Upon error don't process the file. return false; } } }); if (fileObjects != null) { for (int j = 0; j < fileObjects.length; j++) { if (fileObjects[j].exists()) fileInputList.addFile(fileObjects[j]); } } if (Const.isEmpty(fileObjects)) { if (onerequired) fileInputList.addNonAccessibleFile(directoryFileObject); } // Sort the list: quicksort, only for regular files fileInputList.sortFiles(); } else { if (onerequired && !directoryFileObject.exists()) fileInputList.addNonExistantFile(directoryFileObject); } } catch (Exception e) { LogWriter.getInstance().logError("FileInputList", Const.getStackTracker(e)); } finally { try { if (directoryFileObject != null) directoryFileObject.close(); directoryFileObject = null; } catch (Exception e) { } ; } } return fileInputList; }
From source file:com.pongasoft.kiwidoc.builder.bytecode.ByteCodeParser.java
public void parseClasses(LibraryModelBuilder library, FileObject classesResource) throws IOException { FileObject[] classes = classesResource.findFiles(ClassFileSelector.INSTANCE); // TODO MED YP: handle inner classes (classModelBuilder.addInnerClass...) if (classes != null) { for (FileObject classResource : classes) { ClassModelBuilder classModelBuilder; InputStream is = classResource.getContent().getInputStream(); try { ClassReader reader = new ClassReader(new BufferedInputStream(is)); KiwidocClassVisitor classParser = new KiwidocClassVisitor(); reader.accept(classParser, 0); classModelBuilder = classParser.getClassModel(); } finally { is.close();/* w w w. j av a 2s .co m*/ } library.addClass(classModelBuilder); } } }
From source file:com.thinkberg.moxo.vfs.s3.S3FileProviderTest.java
public void testGetDirectoryListing() throws FileSystemException { FileObject object = VFS.getManager().resolveFile(ROOT + "/Sites/Sites/images"); FileObject[] files = object.findFiles(new DepthFileSelector(1)); for (FileObject file : files) { System.out.println("Found file: " + file.getName().getPath()); }/*from www. ja va 2 s . c o m*/ assertEquals(4, files.length); }
From source file:com.pongasoft.kiwidoc.builder.RepositoryContentHandler.java
/** * Loads the content of the given resource. * * @param resource the resource to load// w w w. j a va2 s. c o m * @return the content as an object since it depends on which content is being read (ex: manifest, * library, packages, class) (never <code>null</code>) * @throws NoSuchContentException if the content does not exist * @throws StoreException if there is a problem reading the content. */ public RepositoryModel loadContent(RepositoryResource resource) throws NoSuchContentException, StoreException { if (resource == null) throw new NoSuchContentException(resource); Collection<LibraryVersionResource> lvc = new ArrayList<LibraryVersionResource>(); FileObject root = getResourceFile(resource); try { FileObject[] organisations = root.findFiles(_fileSelector); for (FileObject organisation : organisations) { if (organisation.getType() == FileType.FOLDER) { OrganisationResource organisationResource = new OrganisationResource( organisation.getName().getBaseName()); FileObject[] libraries = organisation.getChildren(); for (FileObject library : libraries) { LibraryResource libraryResource = new LibraryResource(organisationResource, library.getName().getBaseName()); FileObject[] libraryVersions = library.getChildren(); for (FileObject libraryVersion : libraryVersions) { lvc.add(new LibraryVersionResource(libraryResource, libraryVersion.getName().getBaseName())); } } } } } catch (FileSystemException e) { throw new StoreException(e); } return new RepositoryModel(lvc); }
From source file:com.newatlanta.appengine.junit.vfs.gae.GaeFolderTestCase.java
private void testFindFiles(FileObject rootObject) throws Exception { FileObject[] findFiles = rootObject.findFiles(Selectors.EXCLUDE_SELF); findFiles = rootObject.findFiles(Selectors.SELECT_ALL); findFiles = rootObject.findFiles(Selectors.SELECT_CHILDREN); findFiles = rootObject.findFiles(Selectors.SELECT_FILES); findFiles = rootObject.findFiles(Selectors.SELECT_FOLDERS); findFiles = rootObject.findFiles(Selectors.SELECT_SELF); findFiles = rootObject.findFiles(Selectors.SELECT_SELF_AND_CHILDREN); }
From source file:com.thinkberg.vfs.s3.tests.S3FileProviderTest.java
public void testFileSystemIsEmpty() throws FileSystemException { FileObject object = ROOT.resolveFile("/"); assertEquals(1, object.findFiles(ALL_FILE_SELECTOR).length); }
From source file:com.thinkberg.webdav.PropFindHandler.java
/** * Create a multistatus response by requesting all properties and writing a response for each * the found and the non-found properties * * @param object the context object the propfind request applies to * @param propEl the <prop> element containing the actual properties * @param baseUrl the base url of this server * @param depth a depth argument for how deep the find will go * @return an XML document that is the response * @throws FileSystemException if there was an error executing the propfind request *//* www .j ava 2 s . c o m*/ private Document getMultiStatusResponse(FileObject object, Element propEl, URL baseUrl, int depth) throws FileSystemException { Document propDoc = DocumentHelper.createDocument(); propDoc.setXMLEncoding("UTF-8"); Element multiStatus = propDoc.addElement(TAG_MULTISTATUS, NAMESPACE_DAV); FileObject[] children = object.findFiles(new DepthFileSelector(depth)); for (FileObject child : children) { Element responseEl = multiStatus.addElement(TAG_RESPONSE); try { URL url = new URL(baseUrl, URLEncoder.encode(child.getName().getPath(), "UTF-8")); responseEl.addElement(TAG_HREF).addText(url.toExternalForm()); } catch (Exception e) { LOG.error("can't set href in response", e); } DavResource resource = DavResourceFactory.getInstance().getDavResource(child); resource.getPropertyValues(responseEl, propEl); } return propDoc; }
From source file:com.thinkberg.moxo.dav.PropFindHandler.java
private Document getMultiStatusRespons(FileObject object, List<String> requestedProperties, URL baseUrl, int depth, boolean ignoreValues) throws FileSystemException { Document propDoc = DocumentHelper.createDocument(); propDoc.setXMLEncoding("UTF-8"); Element multiStatus = propDoc.addElement(TAG_MULTISTATUS, "DAV:"); FileObject[] children = object.findFiles(new DepthFileSelector(depth)); for (FileObject child : children) { Element responseEl = multiStatus.addElement(TAG_RESPONSE); try {/* w w w. j ava2 s.c om*/ URL url = new URL(baseUrl, URLEncoder.encode(child.getName().getPath(), "UTF-8")); log("!! " + url); responseEl.addElement(TAG_HREF).addText(url.toExternalForm()); } catch (Exception e) { e.printStackTrace(); } DavResource resource = DavResourceFactory.getInstance().getDavResource(child); resource.setIgnoreValues(ignoreValues); resource.serializeToXml(responseEl, requestedProperties); } return propDoc; }