List of usage examples for org.apache.commons.vfs FileObject resolveFile
public FileObject resolveFile(String path) throws FileSystemException;
From source file:org.codehaus.mojo.unix.maven.deb.DebUnixPackage.java
public void packageToFile(File packageFile, ScriptUtil.Strategy strategy) throws Exception { FileObject fsRoot = fileCollector.getFsRoot(); FileObject debian = fsRoot.resolveFile("DEBIAN"); FileObject controlFilePath = debian.resolveFile("control"); debian.createFolder();/* www .j a v a 2 s . c o m*/ LineStreamUtil.toFile(controlFile.toList(), asFile(controlFilePath)); fileCollector.collect(); ScriptUtil.Result result = scriptUtil .createExecution(controlFile.packageName, "deb", getScripts(), asFile(debian), strategy).execute(); UnixUtil.chmodIf(result.preInstall, "0755"); UnixUtil.chmodIf(result.postInstall, "0755"); UnixUtil.chmodIf(result.preRemove, "0755"); UnixUtil.chmodIf(result.postRemove, "0755"); new Dpkg().setDebug(debug).setPackageRoot(asFile(fsRoot)).setDebFile(packageFile) .setUseFakeroot(useFakeroot).execute(); }
From source file:org.codehaus.mojo.unix.maven.deb.DebUnixPackageTest.java
public void testBasic() throws Exception { if (!Dpkg.available()) { return;//from w w w. j a va 2s . c om } DebPackagingFormat packagingFormat = (DebPackagingFormat) lookup(PackagingFormat.ROLE, "deb"); FileObject dpkgTest = VFS.getManager().resolveFile(getTestPath("target/deb-test")); FileObject packageRoot = dpkgTest.resolveFile("root"); File packageFile = VfsUtil.asFile(dpkgTest.resolveFile("file.deb")); PackageVersion version = packageVersion("1.0", "123", false, some("1")); PackageParameters parameters = packageParameters("mygroup", "myartifact", version, "id", "default-name", Option.<java.lang.String>none(), EMPTY, EMPTY).contact("Kurt Cobain").architecture("all"); List<String> nil = List.nil(); packagingFormat.start().parameters(parameters) .debParameters(Option.<String>none(), some("devel"), false, nil, nil, nil, nil, nil, nil) .debug(true).workingDirectory(packageRoot).packageToFile(packageFile, ScriptUtil.Strategy.SINGLE); assertTrue(packageFile.canRead()); }
From source file:org.codehaus.mojo.unix.maven.MojoHelper.java
public static Execution create(Map platforms, String platformType, Map formats, String formatType, SnapshotTransformation snapshotTransformation, MavenProjectWrapper project, boolean debug, boolean attachedMode, F<UnixPackage, UnixPackage> validateMojoSettingsAndApplyFormatSpecificSettingsToPackage, PackagingMojoParameters mojoParameters, final Log log) throws MojoFailureException, MojoExecutionException { MavenCommonLoggingLogFactory.setMavenLogger(log); PackagingFormat format = (PackagingFormat) formats.get(formatType); if (format == null) { throw new MojoFailureException("INTERNAL ERROR: could not find format: '" + formatType + "'."); }//from w w w. ja v a 2 s . com UnixPlatform platform = (UnixPlatform) platforms.get(platformType); if (platform == null) { throw new MojoFailureException("INTERNAL ERROR: could not find platform: '" + platformType + "'."); } // TODO: This is using a private Maven API that might change. Perhaps use some reflection magic here. String timestamp = snapshotTransformation.getDeploymentTimestamp(); FileObject buildDirectory; try { FileSystemManager fileSystemManager = VFS.getManager(); buildDirectory = fileSystemManager.resolveFile(project.buildDirectory.getAbsolutePath()); } catch (FileSystemException e) { throw new MojoExecutionException("Error while initializing Commons VFS", e); } PackageVersion version = PackageVersion.packageVersion(project.version, timestamp, project.artifact.isSnapshot(), mojoParameters.revision); List<P3<UnixPackage, Package, List<AssemblyOperation>>> packages = nil(); for (Package pakke : validatePackages(mojoParameters.packages, attachedMode)) { try { String name = "unix/root-" + formatType + pakke.classifier.map(dashString).orSome(""); FileObject packageRoot = buildDirectory.resolveFile(name); packageRoot.createFolder(); PackageParameters parameters = calculatePackageParameters(project, version, platform, mojoParameters, pakke); UnixPackage unixPackage = format.start().parameters(parameters).setVersion(version). // TODO: This should go away workingDirectory(packageRoot).debug(debug).basedir(project.basedir); // ----------------------------------------------------------------------- // Let the implementation add its metadata // ----------------------------------------------------------------------- unixPackage = validateMojoSettingsAndApplyFormatSpecificSettingsToPackage.f(unixPackage); // TODO: here the logic should be different if many packages are to be created. // Example: name should be taken from mojoParameters if there is only a single package, if not // it should come from the Pakke object. This should also be validated, at least for // name List<AssemblyOperation> assemblyOperations = createAssemblyOperations(project, parameters, unixPackage, project.basedir, buildDirectory, mojoParameters.assembly, pakke.assembly); // ----------------------------------------------------------------------- // Dump the execution // ----------------------------------------------------------------------- if (debug) { log.info("======================================================================="); log.info("Package parameters: " + parameters.id); log.info("Default file attributes: "); log.info(" File : " + parameters.defaultFileAttributes); log.info(" Directory : " + parameters.defaultDirectoryAttributes); log.info("Assembly operations: "); for (AssemblyOperation operation : assemblyOperations) { operation.streamTo(new AbstractLineStreamWriter() { protected void onLine(String line) { log.info(line); } }); } } packages = packages.cons(p(unixPackage, pakke, assemblyOperations)); } catch (UnknownArtifactException e) { Map map = new TreeMap<String, Artifact>(e.artifactMap); // TODO: Do not log here, throw a CouldNotFindArtifactException with the map as an argument log.warn("Could not find artifact:" + e.artifact); log.warn("Available artifacts:"); for (Object o : map.keySet()) { log.warn(o.toString()); } throw new MojoFailureException( "Unable to find artifact: '" + e.artifact + "'. See log for available artifacts."); } catch (MissingSettingException e) { String msg = "Missing required setting '" + e.getSetting() + "'"; if (!pakke.classifier.isNone()) { msg += ", for '" + pakke.classifier.some() + "'"; } msg += ", format '" + formatType + "'."; throw new MojoFailureException(msg); } catch (IOException e) { throw new MojoExecutionException( "Error creating package '" + pakke.classifier + "', format '" + formatType + "'.", e); } } return new Execution(packages, project, formatType, attachedMode); }
From source file:org.codehaus.mojo.unix.maven.rpm.RpmUnixPackageTest.java
public void testBasic() throws Exception { if (!Rpmbuild.available()) { return;/*from w ww. jav a 2 s.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.codehaus.mojo.unix.util.vfs.IncludeExcludeTest.java
public void testBasic() throws Exception { String myProjectPath = new TestUtil(this).getTestPath("src/test/resources/my-project"); FileSystemManager fsManager = VFS.getManager(); FileObject myProject = fsManager.resolveFile(myProjectPath); assertEquals(FileType.FOLDER, myProject.getType()); List<FileObject> selection = new ArrayList<FileObject>(); myProject.findFiles(IncludeExcludeFileSelector.build(myProject.getName()) .addInclude(new PathExpression("/src/main/unix/files/**")).addInclude(new PathExpression("*.java")) .addExclude(new PathExpression("**/huge-file")).filesOnly(). // noDefaultExcludes(). create(), true, selection);/*from w w w . ja v a 2 s . c o m*/ System.out.println("Included:"); for (FileObject fileObject : selection) { System.out.println(myProject.getName().getRelativeName(fileObject.getName())); } assertEquals(2, selection.size()); assertTrue(selection.contains(myProject.resolveFile("src/main/unix/files/opt/comp/myapp/etc/myapp.conf"))); assertTrue(selection.contains(myProject.resolveFile("Included.java"))); }
From source file:org.docx4all.ui.menu.FileMenu.java
@Action public void newFile() { Preferences prefs = Preferences.userNodeForPackage(getClass()); WordMLEditor editor = WordMLEditor.getInstance(WordMLEditor.class); FileObject fo = null; try {/* w w w . j av a2 s. c o m*/ //Prepare the new file name StringBuffer newFile = new StringBuffer(); newFile.append(editor.getUntitledFileName()); newFile.append(++_untitledFileNumber); newFile.append(".docx"); //put new file in same directory as last opened local file's. //if there isn't last opened local file, put it in the //swing file chooser's default directory. String lastFile = prefs.get(Constants.LAST_OPENED_LOCAL_FILE, Constants.EMPTY_STRING); if (lastFile.length() == 0) { fo = VFSUtils.getFileSystemManager() .toFileObject(FileSystemView.getFileSystemView().getDefaultDirectory()); } else { fo = VFSUtils.getFileSystemManager().resolveFile(lastFile).getParent(); } fo = fo.resolveFile(newFile.toString()); } catch (FileSystemException exc) { exc.printStackTrace(); ResourceMap rm = editor.getContext().getResourceMap(getClass()); String title = rm.getString(FileMenu.NEW_FILE_ACTION_NAME + ".Action.text"); String message = rm.getString(FileMenu.NEW_FILE_ACTION_NAME + ".Action.errorMessage"); editor.showMessageDialog(title, message, JOptionPane.INFORMATION_MESSAGE); return; } editor.createInternalFrame(fo); }
From source file:org.efaps.webdav4vfs.test.AbstractDavTestCase.java
@BeforeMethod() public void setUp() throws Exception { FileSystemManager fsm = VFS.getManager(); FileObject fsRoot = fsm.createVirtualFileSystem(fsm.resolveFile("ram:/")); this.aFile = fsRoot.resolveFile("/file.txt"); this.aFile.delete(); this.aFile.createFile(); this.aDirectory = fsRoot.resolveFile("/folder"); this.aDirectory.delete(); this.aDirectory.createFolder(); }
From source file:org.jahia.configuration.configurators.VFSConfigFile.java
public VFSConfigFile(FileObject parentFileObject, String path) throws FileSystemException { this.fileObject = parentFileObject.resolveFile(path); }
From source file:org.jboss.dashboard.ui.components.FileNavigationHandler.java
public CommandResponse actionUploadFile(CommandRequest request) throws IOException { if (uploadFileAllowed || getUserStatus().isRootUser()) { FileObject currentDir = getCurrentDir(); if (currentDir != null && currentDir.isWriteable()) { File file = (File) request.getFilesByParamName().get("file"); if (file != null) { String fileName = file.getName(); FileObject fileObject = currentDir.resolveFile(fileName); if (!fileObject.exists()) { fileObject.createFile(); OutputStream os = fileObject.getContent().getOutputStream(true); InputStream is = new BufferedInputStream(new FileInputStream(file)); IOUtils.copy(is, os); is.close();/* w ww.java 2s . c o m*/ os.close(); currentFilePath = fileObject.getName().getPath(); return getCommonResponse(request); } else { //TODO: Deal with errors } } } } //TODO: Deal with permission error return getCommonResponse(request); }
From source file:org.jclouds.vfs.provider.blobstore.test.BlobStoreProviderTestCase.java
private FileObject setUpTests(final FileSystemManager manager, String uri) throws FileSystemException, IOException { FileObject base = manager.resolveFile(uri); FileObject writeTests = base.resolveFile("write-tests"); FileObject readTests = base.resolveFile("read-tests"); if (base instanceof BlobStoreFileObject) { BlobStore blobStore = ((BlobStoreFileObject) base).getBlobStore(); String container = ((BlobStoreFileObject) base).getContainer(); blobStore.clearContainer(container); } else {/* w w w . ja v a 2 s. c om*/ writeTests.delete(new AllFileSelector()); readTests.delete(new AllFileSelector()); } writeTests.createFolder(); readTests.createFolder(); for (String name : new String[] { "file1.txt", "file%25.txt", "file space.txt" }) { writeFile(readTests, name, FILE1_CONTENT); } writeFile(readTests, "empty.txt", ""); FileObject dir = readTests.resolveFile("dir1"); dir.createFolder(); write3Files(dir); for (String subdirName : new String[] { "subdir1", "subdir2", "subdir3" }) { FileObject subdir = dir.resolveFile(subdirName); subdir.createFolder(); write3Files(subdir); } return base; }