List of usage examples for org.apache.commons.vfs FileSystemManager createFileSystem
public FileObject createFileSystem(FileObject file) throws FileSystemException;
From source file:org.codehaus.mojo.unix.core.OperationTest.java
public void testExtractWithPattern() throws Exception { String archivePath = PlexusTestCase.getTestPath("src/test/resources/operation/extract.jar"); FileSystemManager fsManager = VFS.getManager(); FileObject archiveObject = fsManager.resolveFile(archivePath); assertEquals(FileType.FILE, archiveObject.getType()); FileObject archive = fsManager.createFileSystem(archiveObject); FileObject fooLicense = archive.getChild("foo-license.txt"); UnixFsObject.RegularFile fooLicenseUnixFile = fromFileObject(relativePath("licenses/foo-license.txt"), fooLicense, fileAttributes); FileObject barLicense = archive.getChild("mydir").getChild("bar-license.txt"); UnixFsObject.RegularFile barLicenseUnixFile = fromFileObject(relativePath("licenses/bar-license.txt"), barLicense, fileAttributes); MockControl control = MockControl.createControl(FileCollector.class); FileCollector fileCollector = (FileCollector) control.getMock(); control.expectAndReturn(fileCollector.addFile(barLicense, barLicenseUnixFile), fileCollector); control.expectAndReturn(fileCollector.addFile(fooLicense, fooLicenseUnixFile), fileCollector); control.replay();/*from www. j a v a 2 s. co m*/ new CopyDirectoryOperation(archive, relativePath("licenses"), asList("**/*license.txt"), null, some(p(".*/(.*license.*)", "$1")), fileAttributes, directoryAttributes).perform(fileCollector); control.verify(); }
From source file:org.codehaus.mojo.unix.maven.plugin.ExtractArtifact.java
public AssemblyOperation createOperation(FileObject basedir, FileAttributes defaultFileAttributes, FileAttributes defaultDirectoryAttributes) throws MojoFailureException, FileSystemException, UnknownArtifactException { File artifactFile = validateArtifact(artifact); FileSystemManager fsManager = VFS.getManager(); FileObject archiveObject = fsManager.resolveFile(artifactFile.getAbsolutePath()); FileObject archive = fsManager.createFileSystem(archiveObject); return createOperationInternal(archive, defaultFileAttributes, defaultDirectoryAttributes); }
From source file:org.codehaus.mojo.unix.maven.rpm.RpmUnixPackageTest.java
public void testBasic() throws Exception { if (!Rpmbuild.available()) { return;//w w w . j a v a 2s . c o m } String archivePath = getTestPath("src/test/resources/operation/extract.jar"); FileSystemManager fsManager = VFS.getManager(); FileObject pomXml = fsManager.resolveFile(getTestPath("pom.xml")); FileObject archiveObject = fsManager.resolveFile(archivePath); FileObject archive = fsManager.createFileSystem(archiveObject); FileObject fooLicense = archive.getChild("foo-license.txt"); FileObject barLicense = archive.getChild("mydir").getChild("bar-license.txt"); RpmPackagingFormat packagingFormat = (RpmPackagingFormat) lookup(PackagingFormat.ROLE, "rpm"); FileObject rpmTest = VFS.getManager().resolveFile(getTestPath("target/rpm-test")); FileObject packageRoot = rpmTest.resolveFile("root"); File packageFile = getTestFile("target/rpm-test/file.rpm"); PackageVersion version = packageVersion("1.0-1", "123", false, Option.<String>none()); PackageParameters parameters = packageParameters("mygroup", "myartifact", version, "id", "default-name", Option.<String>none(), EMPTY, EMPTY).contact("Kurt Cobain").architecture("all").name("Yo!") .license("BSD"); UnixPackage unixPackage = RpmPackagingFormat .cast(packagingFormat.start().parameters(parameters).workingDirectory(packageRoot)).group("Fun"); LocalDateTime now = new LocalDateTime(); Option<FileAttributes> none = Option.none(); unixPackage.addFile(pomXml, regularFile(relativePath("/pom.xml"), now, 0, none)) .addFile(fooLicense, regularFile(relativePath("/foo-license.txt"), now, 0, none)) .addFile(barLicense, regularFile(relativePath("/bar-license.txt"), now, 0, none)); unixPackage.debug(true).packageToFile(packageFile, ScriptUtil.Strategy.SINGLE); assertTrue(packageFile.canRead()); }
From source file:org.geoserver.importer.VFSWorker.java
/** * // w w w. j a va2 s . com * @param archiveFile * @param filter * * @return */ public List<String> listFiles(final File archiveFile, final FilenameFilter filter) { FileSystemManager fsManager; try { fsManager = VFS.getManager(); String absolutePath = resolveArchiveURI(archiveFile); FileObject resolvedFile = fsManager.resolveFile(absolutePath); FileSelector fileSelector = new FileSelector() { /** * @see org.apache.commons.vfs.FileSelector#traverseDescendents(org.apache.commons.vfs.FileSelectInfo) */ public boolean traverseDescendents(FileSelectInfo folderInfo) throws Exception { return true; } /** * @see org.apache.commons.vfs.FileSelector#includeFile(org.apache.commons.vfs.FileSelectInfo) */ public boolean includeFile(FileSelectInfo fileInfo) throws Exception { File folder = archiveFile.getParentFile(); String name = fileInfo.getFile().getName().getFriendlyURI(); return filter.accept(folder, name); } }; FileObject fileSystem; if (fsManager.canCreateFileSystem(resolvedFile)) { fileSystem = fsManager.createFileSystem(resolvedFile); } else { fileSystem = resolvedFile; } LOGGER.fine("Listing spatial data files archived in " + archiveFile.getName()); FileObject[] containedFiles = fileSystem.findFiles(fileSelector); List<String> names = new ArrayList<String>(containedFiles.length); for (FileObject fo : containedFiles) { // path relative to its filesystem (ie, to the archive file) String pathDecoded = fo.getName().getPathDecoded(); names.add(pathDecoded); } LOGGER.fine("Found " + names.size() + " spatial data files in " + archiveFile.getName() + ": " + names); return names; } catch (FileSystemException e) { e.printStackTrace(); } finally { // fsManager.closeFileSystem(fileSystem.getFileSystem()); } return Collections.emptyList(); }
From source file:org.geoserver.importer.VFSWorker.java
/** * Extracts the archive file {@code archiveFile} to {@code targetFolder}; both shall previously * exist.// ww w .java 2 s.c om */ public void extractTo(File archiveFile, File targetFolder) throws IOException { FileSystemManager manager = VFS.getManager(); String sourceURI = resolveArchiveURI(archiveFile); // String targetURI = resolveArchiveURI(targetFolder); FileObject source = manager.resolveFile(sourceURI); if (manager.canCreateFileSystem(source)) { source = manager.createFileSystem(source); } FileObject target = manager.createVirtualFileSystem(manager.resolveFile(targetFolder.getAbsolutePath())); FileSelector selector = new AllFileSelector() { @Override public boolean includeFile(FileSelectInfo fileInfo) { LOGGER.fine("Uncompressing " + fileInfo.getFile().getName().getFriendlyURI()); return true; } }; target.copyFrom(source, selector); }