List of usage examples for org.apache.commons.vfs2 FileType FOLDER
FileType FOLDER
To view the source code for org.apache.commons.vfs2 FileType FOLDER.
Click Source Link
From source file:org.cloudifysource.esc.installer.filetransfer.VfsFileTransfer.java
@Override public void copyFiles(final InstallationDetails details, final Set<String> excludedFiles, final List<File> additionalFiles, final long endTimeMillis) throws TimeoutException, InstallerException { logger.fine("Copying files to: " + host + " from local dir: " + localDir.getName().getPath() + " excluding " + excludedFiles.toString()); try {/* w ww. j a v a 2s. com*/ if (remoteDir.exists()) { FileType type = remoteDir.getType(); if (!type.equals(FileType.FOLDER)) { throw new InstallerException("The remote location: " + remoteDir.getName().getFriendlyURI() + " exists but is not a directory"); } if (deleteRemoteDirectoryContents) { logger.info("Deleting contents of remote directory: " + remoteDir.getName().getFriendlyURI()); remoteDir.delete(new FileDepthSelector(1, Integer.MAX_VALUE)); } FileObject[] children = remoteDir.getChildren(); if (children.length > 0) { throw new InstallerException( "The remote directory: " + remoteDir.getName().getFriendlyURI() + " is not empty"); } } remoteDir.copyFrom(localDir, new FileSelector() { @Override public boolean includeFile(final FileSelectInfo fileInfo) throws Exception { if (excludedFiles.contains(fileInfo.getFile().getName().getBaseName())) { logger.fine(fileInfo.getFile().getName().getBaseName() + " excluded"); return false; } final FileObject remoteFile = fileSystemManager.resolveFile(remoteDir, localDir.getName().getRelativeName(fileInfo.getFile().getName())); if (!remoteFile.exists()) { logger.fine(fileInfo.getFile().getName().getBaseName() + " missing on server"); return true; } if (fileInfo.getFile().getType() == FileType.FILE) { final long remoteSize = remoteFile.getContent().getSize(); final long localSize = fileInfo.getFile().getContent().getSize(); final boolean res = localSize != remoteSize; if (res) { logger.fine(fileInfo.getFile().getName().getBaseName() + " different on server"); } return res; } return false; } @Override public boolean traverseDescendents(final FileSelectInfo fileInfo) throws Exception { return true; } }); for (final File file : additionalFiles) { logger.fine("copying file: " + file.getAbsolutePath() + " to remote directory"); final FileObject fileObject = fileSystemManager.resolveFile("file:" + file.getAbsolutePath()); final FileObject remoteFile = remoteDir.resolveFile(file.getName()); remoteFile.copyFrom(fileObject, new AllFileSelector()); } logger.fine("Copying files to: " + host + " completed."); } catch (final FileSystemException e) { throw new InstallerException("Failed to copy files to remote host " + host + ": " + e.getMessage(), e); } checkTimeout(endTimeMillis); }
From source file:org.codehaus.mojo.vfs.internal.DefaultVfsDirectoryScanner.java
private boolean isDirectory(FileObject file) throws FileSystemException { if (FileType.FOLDER == file.getType()) { return true; }/* w w w . j a v a 2 s .c om*/ if (FileType.FILE_OR_FOLDER == file.getType()) { try { file.getChildren(); } catch (FileNotFolderException e) { return false; } return true; } return false; }
From source file:org.datacleaner.user.DataCleanerHome.java
private static boolean isUsable(FileObject candidate) throws FileSystemException { if (candidate != null) { if (candidate.exists() && candidate.getType() == FileType.FOLDER) { FileObject conf = candidate.resolveFile("conf.xml"); if (conf.exists() && conf.getType() == FileType.FILE) { return true; }/*from www. j a v a2s . c om*/ } } return false; }
From source file:org.datacleaner.user.upgrade.DataCleanerHomeUpgrader.java
private FileObject findUpgradeCandidate(FileObject target) throws FileSystemException { FileObject parentFolder = target.getParent(); List<FileObject> versionFolders = new ArrayList<>(); FileObject[] allFoldersInParent = parentFolder.findFiles(new FileDepthSelector(1, 1)); for (FileObject folderInParent : allFoldersInParent) { final String folderInParentName = folderInParent.getName().getBaseName(); if (folderInParent.getType().equals(FileType.FOLDER) && (!folderInParentName.equals(target.getName().getBaseName())) && (!candidateBlacklist.contains(folderInParentName))) { versionFolders.add(folderInParent); }//from w w w. j a va 2 s . co m } List<FileObject> validatedVersionFolders = validateVersionFolders(versionFolders); if (!validatedVersionFolders.isEmpty()) { List<String> versions = new ArrayList<>(); for (FileObject validatedVersionFolder : validatedVersionFolders) { String baseName = validatedVersionFolder.getName().getBaseName(); versions.add(baseName); } final Comparator<String> comp = new VersionComparator(); String latestVersion = Collections.max(versions, comp); FileObject latestVersionFolder = null; for (FileObject validatedVersionFolder : validatedVersionFolders) { if (validatedVersionFolder.getName().getBaseName().equals(latestVersion)) { latestVersionFolder = validatedVersionFolder; } } return latestVersionFolder; } else { return null; } }
From source file:org.datacleaner.util.VFSUtilsTest.java
public void test1VfsAssumptions() throws Exception { FileSystemManager manager = VFS.getManager(); FileObject baseFile = manager.getBaseFile(); assertTrue(baseFile == null || "core".equals(baseFile.getName().getBaseName())); File file = new File("src/main/java"); assertNotNull(manager.resolveFile(file.getAbsolutePath())); ((DefaultFileSystemManager) manager).setBaseFile(new File(".")); baseFile = manager.getBaseFile();/*w ww . ja va 2 s . co m*/ assertEquals("core", baseFile.getName().getBaseName()); FileObject javaFolder = manager.resolveFile("src/main/java"); assertTrue(javaFolder.getType() == FileType.FOLDER); FileObject rootFolder = manager.resolveFile("."); assertTrue(rootFolder.getType() == FileType.FOLDER); assertEquals("core", rootFolder.getName().getBaseName()); File javaFolderFile = VFSUtils.toFile(javaFolder); assertNotNull(javaFolderFile); assertTrue(javaFolderFile.exists()); assertTrue(javaFolderFile.isDirectory()); }
From source file:org.freedesktop.mime.DefaultMIMEService.java
public MIMEEntry getMimeTypeForFile(FileObject file, boolean useMagic) throws IOException { // Directories are always inode/directory try {//from ww w. ja v a 2 s. c o m if (file.getType().equals(FileType.FOLDER)) { return getEntryForMimeType("inode/directory"); } } catch (FileSystemException e) { throw new Error(e); } // First try matching using glob pattterns try { MIMEEntry mimeTypeForPattern = getMimeTypeForPattern(file.getName().getPath()); if (mimeTypeForPattern != null) { return mimeTypeForPattern; } } catch (MagicRequiredException mre) { Log.debug("Conflicting match, magic required"); // Try and get exact match using magic if (useMagic) { for (GlobEntry ge : mre.getAlternatives()) { MagicEntry me = magicService.getEntity(ge.getInternalName()); if (me == null) { Log.debug("NO Mime Entry for " + ge.getInternalName()); } if (me != null && me.match(file)) { MIMEEntry entity = getEntity(me.getInternalName()); if (entity != null) { Log.debug("Will use " + entity.getName()); return entity; } } } } // Return the first one we have a mime entry for for (GlobEntry ge : mre.getAlternatives()) { Log.debug("Trying " + ge.getInternalName()); MIMEEntry me = getEntity(ge.getInternalName()); if (me != null) { Log.debug("NO Mime Entry for " + ge.getInternalName()); } else { Log.debug("Will use " + me.getInternalName()); return me; } } } /* * If the glob matching fails or results in multiple conflicting * mimetypes, read the contents of the file and do magic sniffing on it. */ // // Log.warn("Slow magic search for " + file.getName()); // for (MagicEntry me : magicService.getAllEntities()) { // if (me.match(file)) { // return getEntity(me.getInternalName()); // } // } if (useMagic) { return checkForTextOrBinary(file); } else { return getEntity("application/octet-stream"); } }
From source file:org.fuin.vfs2.filter.DirectoryFileFilter.java
/** * Checks to see if the file is a directory. * /*from w ww. j a v a2 s. com*/ * @param fileInfo * the File to check * * @return {@code true} if the file is a directory */ @Override public boolean accept(final FileSelectInfo fileInfo) { try { return fileInfo.getFile().getType() == FileType.FOLDER; } catch (final FileSystemException ex) { throw new RuntimeException(ex); } }
From source file:org.fuin.vfs2.filter.EmptyFileFilter.java
/** * Checks to see if the file is empty. A non-existing file is also * considered empty.//from w w w.j a v a 2s . c om * * @param fileInfo * the file or directory to check * * @return {@code true} if the file or directory is <i>empty</i>, otherwise * {@code false}. */ @Override public boolean accept(final FileSelectInfo fileInfo) { final FileObject file = fileInfo.getFile(); try { if (!file.exists()) { return true; } if (file.getType() == FileType.FOLDER) { final FileObject[] files = file.getChildren(); return files == null || files.length == 0; } final FileContent content = file.getContent(); try { return content.getSize() == 0; } finally { content.close(); } } catch (final FileSystemException ex) { throw new RuntimeException(ex); } }
From source file:org.geoserver.backuprestore.utils.BackupUtils.java
/** * @param zos/*from w ww .j a v a2 s . c om*/ * @param sourceFile * @throws FileSystemException * @throws IOException */ private static void writeEntry(ZipOutputStream zos, FileObject sourceFile, String baseDir) throws FileSystemException, IOException { if (sourceFile.getType() == FileType.FOLDER) { // add entry/-ies. for (FileObject file : sourceFile.getChildren()) { writeEntry(zos, file, Paths.path(baseDir, sourceFile.getName().getBaseName())); } } else { String fileName = (baseDir != null ? Paths.path(baseDir, sourceFile.getName().getBaseName()) : sourceFile.getName().getBaseName()); ZipEntry zipEntry = new ZipEntry(fileName); InputStream is = sourceFile.getContent().getInputStream(); // Write to zip. byte[] buf = new byte[1024]; zos.putNextEntry(zipEntry); for (int readNum; (readNum = is.read(buf)) != -1;) { zos.write(buf, 0, readNum); } zos.closeEntry(); is.close(); } }
From source file:org.helios.ember.sftp.FileObjectWrapperCollection.java
/** * Creates a new FileObjectWrapperCollection /*from ww w . j a v a 2 s . c o m*/ * @param parent The parent folder * @param fileObjects The wrapped file objects to aggregate */ public FileObjectWrapperCollection(FileObject parent, FileObjectWrapper... fileObjects) { this.parentFolder = parent.getName().getPath(); this.root = parent.getFileSystem().getRootName().equals(parent.getName()); this.urlPrefix = parent.getFileSystem().getRootURI(); if (fileObjects != null) { for (FileObjectWrapper fileObject : fileObjects) { if (fileObject == null) continue; try { if (FileType.FILE.getName().equals(fileObject.getType())) { files.add(fileObject); totalSize += fileObject.getSize(); } else if (FileType.FOLDER.getName().equals(fileObject.getType())) { folders.add(fileObject); } } catch (Exception ex) { ex.printStackTrace(System.err); } } } }