List of usage examples for org.apache.commons.vfs FileType FOLDER
FileType FOLDER
To view the source code for org.apache.commons.vfs FileType FOLDER.
Click Source Link
From source file:org.bibalex.gallery.model.BAGGalleryAbstract.java
public List<String> getAllFolders() throws BAGException { String albumsFolderUrlStr = this.galleryRoot; if (CONFIG_URL_ORDER_RESALBUM.equals(this.configUrlOrder)) { albumsFolderUrlStr = URLPathStrUtils.appendParts(albumsFolderUrlStr, EnumResolutions.thumb.toString()); } else {//from ww w .j a v a 2 s . co m throw new UnsupportedOperationException("TODO"); } return BAGStorage.listChildren(albumsFolderUrlStr, FileType.FOLDER); // public List<BAGThumbnail> getAllFolders() throws BAGException { // // ArrayList<BAGThumbnail> result = new ArrayList<BAGThumbnail>(); // for (String albumName : BAGStorage.listChildren(albumsFolderUrlStr, FileType.FOLDER)) { // String albumThumbsUrlStr = this.getResolutionBaseURLStr(albumName, // EnumResolutions.thumb); // String firstThumbUrlStr = BAGStorage.listChildren(albumThumbsUrlStr, FileType.FILE).get(0); // // String firstThumbLocalUrl = this.getThumbLocalUrl(albumName, FilenameUtils // .removeExtension(firstThumbUrlStr)); // // result.add(new BAGThumbnail(albumName, albumName, firstThumbLocalUrl)); // } // return result; }
From source file:org.bibalex.gallery.storage.BAGStorage.java
protected static List<String> listChildrenApacheHttpd(String dirUrlStr, FileType childrenType, DefaultHttpClient httpclient) throws BAGException { ArrayList<String> result = new ArrayList<String>(); HttpGet httpReq = new HttpGet(dirUrlStr); try {/*from w w w. j a va2 s. com*/ HttpResponse response = httpclient.execute(httpReq); if (response.getStatusLine().getStatusCode() / 100 != 2) { throw new BAGException("Connection error: " + response.getStatusLine().toString()); } // Get hold of the response entity HttpEntity entity = response.getEntity(); // If the response does not enclose an entity, there is no need // to bother about connection release if ((entity != null)) { entity = new BufferedHttpEntity(entity); if (entity.getContentType().getValue().startsWith("text/html")) { SAXBuilder saxBuilder = new SAXBuilder(); saxBuilder.setFeature("http://xml.org/sax/features/validation", false); saxBuilder.setFeature("http://xml.org/sax/features/namespaces", true); saxBuilder.setFeature("http://xml.org/sax/features/namespace-prefixes", true); String htmlresponse = EntityUtils.toString(entity); String xmlResponse = light_html2xml.Html2Xml(htmlresponse); Document doc = saxBuilder.build(new StringReader(xmlResponse)); XPath hrefXP = XPath.newInstance("//a/@href"); for (Object obj : hrefXP.selectNodes(doc)) { Attribute attr = (Attribute) obj; String name = attr.getValue(); if (name.startsWith("/")) { // parent dir continue; } else if (name.endsWith("/")) { if (childrenType.equals(FileType.FOLDER) || childrenType.equals(FileType.FILE_OR_FOLDER)) { result.add(name.substring(0, name.length() - 1)); } } else { if (childrenType.equals(FileType.FILE) || childrenType.equals(FileType.FILE_OR_FOLDER)) { result.add(name); } } } } } return result; } catch (IOException ex) { // In case of an IOException the connection will be released // back to the connection manager automatically throw new BAGException(ex); } catch (RuntimeException ex) { // In case of an unexpected exception you may want to abort // the HTTP request in order to shut down the underlying // connection and release it back to the connection manager. httpReq.abort(); throw ex; } catch (JDOMException e) { throw new BAGException(e); } finally { // connection closing is left for the caller to reuse connections } }
From source file:org.codehaus.mojo.unix.core.CopyDirectoryOperation.java
public void perform(FileCollector fileCollector) throws IOException { Pattern pattern = this.pattern.isSome() ? Pattern.compile(this.pattern.some()._1()) : null; IncludeExcludeFileSelector selector = IncludeExcludeFileSelector.build(from.getName()) .addStringIncludes(includes).addStringExcludes(excludes).create(); List<FileObject> files = new ArrayList<FileObject>(); from.findFiles(selector, true, files); for (FileObject f : files) { if (f.getName().getBaseName().equals("")) { continue; }/* w w w .j a v a2s . c o m*/ String relativeName = from.getName().getRelativeName(f.getName()); // Transform the path if the pattern is set. The input path will always have a leading slash // to make it possible to write more natural expressions. // With this one can write "/server-1.0.0/(.*)" => $1 if (pattern != null) { String path = relativePath(relativeName).asAbsolutePath("/"); relativeName = pattern.matcher(path).replaceAll(this.pattern.some()._2()); } if (f.getType() == FileType.FILE) { fileCollector.addFile(f, AssemblyOperationUtil.fromFileObject(to.add(relativeName), f, fileAttributes)); } else if (f.getType() == FileType.FOLDER) { fileCollector.addDirectory( AssemblyOperationUtil.dirFromFileObject(to.add(relativeName), f, directoryAttributes)); } } }
From source file:org.codehaus.mojo.unix.core.OperationTest.java
/** * Based on the <code>>copy<</code> operation that is in the jetty IT. *//*ww w .ja va 2 s . c om*/ public void testCopyOnACompleteDirectoryStructure() throws Exception { assertEquals(FileType.FOLDER, files.files.getType()); MockControl control = MockControl.createControl(FileCollector.class); FileCollector fileCollector = (FileCollector) control.getMock(); fileCollector.addFile(files.optJettyBinExtraApp, objects.optJettyBinExtraApp); control.setMatcher(new FileObjectMatcher()); control.setReturnValue(fileCollector); fileCollector.addFile(files.optJettyReadmeUnix, objects.optJettyReadmeUnix); control.setReturnValue(fileCollector); fileCollector.addFile(files.optJettyBashProfile, objects.optJettyBashProfile); control.setReturnValue(fileCollector); control.expectAndReturn(fileCollector.addDirectory(objects.optJettyBin), fileCollector); control.expectAndReturn(fileCollector.addDirectory(objects.optJetty), fileCollector); control.expectAndReturn(fileCollector.addDirectory(objects.opt), fileCollector); control.expectAndReturn(fileCollector.addDirectory(objects.base), fileCollector); control.replay(); new CopyDirectoryOperation(files.files, RelativePath.BASE, null, null, Option.<P2<String, String>>none(), fileAttributes, directoryAttributes).perform(fileCollector); control.verify(); }
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);/* ww w. java 2 s . c om*/ 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.efaps.webdav4vfs.handler.AbstractCopyMoveBaseHandler.java
/** * Handle a COPY or MOVE request.// w ww.j a va 2 s .c om * * @param _request HTTP servlet request * @param _response HTTP servlet response * @throws IOException if there is an error executing this request */ @Override public void service(final HttpServletRequest _request, final HttpServletResponse _response) throws IOException { boolean overwrite = getOverwrite(_request); FileObject object = VFSBackend.resolveFile(_request.getPathInfo()); FileObject targetObject = getDestination(_request); try { final LockManager lockManager = LockManager.getInstance(); LockManager.EvaluationResult evaluation = lockManager.evaluateCondition(targetObject, getIf(_request)); if (!evaluation.result) { _response.sendError(HttpServletResponse.SC_PRECONDITION_FAILED); return; } if ("MOVE".equals(_request.getMethod())) { evaluation = lockManager.evaluateCondition(object, getIf(_request)); if (!evaluation.result) { _response.sendError(HttpServletResponse.SC_PRECONDITION_FAILED); return; } } } catch (LockException e) { _response.sendError(SC_LOCKED); return; } catch (ParseException e) { _response.sendError(HttpServletResponse.SC_PRECONDITION_FAILED); return; } if (null == targetObject) { _response.sendError(HttpServletResponse.SC_BAD_REQUEST); return; } if (object.equals(targetObject)) { _response.sendError(HttpServletResponse.SC_FORBIDDEN); return; } if (targetObject.exists()) { if (!overwrite) { _response.sendError(HttpServletResponse.SC_PRECONDITION_FAILED); return; } _response.setStatus(HttpServletResponse.SC_NO_CONTENT); } else { FileObject targetParent = targetObject.getParent(); if (!targetParent.exists() || !FileType.FOLDER.equals(targetParent.getType())) { _response.sendError(HttpServletResponse.SC_CONFLICT); } _response.setStatus(HttpServletResponse.SC_CREATED); } // delegate the actual execution to a sub class this.copyOrMove(object, targetObject, getDepth(_request)); }
From source file:org.efaps.webdav4vfs.handler.GetHandler.java
@Override() public void service(final HttpServletRequest _request, final HttpServletResponse _response) throws IOException { FileObject object = VFSBackend.resolveFile(_request.getPathInfo()); if (object.exists()) { if (FileType.FOLDER.equals(object.getType())) { _response.sendError(HttpServletResponse.SC_FORBIDDEN); return; }/*from ww w .jav a 2 s . c o m*/ setHeader(_response, object.getContent()); final InputStream is = object.getContent().getInputStream(); final OutputStream os = _response.getOutputStream(); IOUtils.copyLarge(is, os); is.close(); } else { _response.sendError(HttpServletResponse.SC_NOT_FOUND); } }
From source file:org.efaps.webdav4vfs.handler.HeadHandler.java
@Override() public void service(final HttpServletRequest _request, final HttpServletResponse _response) throws IOException { FileObject object = VFSBackend.resolveFile(_request.getPathInfo()); if (object.exists()) { if (FileType.FOLDER.equals(object.getType())) { _response.sendError(HttpServletResponse.SC_FORBIDDEN); } else {/*from w w w .j a v a 2s .c o m*/ setHeader(_response, object.getContent()); } } else { _response.sendError(HttpServletResponse.SC_NOT_FOUND); } }
From source file:org.efaps.webdav4vfs.handler.MkColHandler.java
@Override public void service(HttpServletRequest request, HttpServletResponse response) throws IOException { BufferedReader bufferedReader = request.getReader(); String line = bufferedReader.readLine(); if (line != null) { response.sendError(HttpServletResponse.SC_UNSUPPORTED_MEDIA_TYPE); return;/* w w w .java 2 s .co m*/ } FileObject object = VFSBackend.resolveFile(request.getPathInfo()); try { if (!LockManager.getInstance().evaluateCondition(object, getIf(request)).result) { response.sendError(HttpServletResponse.SC_PRECONDITION_FAILED); return; } } catch (LockException e) { response.sendError(SC_LOCKED); return; } catch (ParseException e) { response.sendError(HttpServletResponse.SC_PRECONDITION_FAILED); return; } if (object.exists()) { response.sendError(HttpServletResponse.SC_METHOD_NOT_ALLOWED); return; } if (!object.getParent().exists() || !FileType.FOLDER.equals(object.getParent().getType())) { response.sendError(HttpServletResponse.SC_CONFLICT); return; } try { object.createFolder(); response.setStatus(HttpServletResponse.SC_CREATED); } catch (FileSystemException e) { response.sendError(HttpServletResponse.SC_FORBIDDEN); } }
From source file:org.efaps.webdav4vfs.handler.OptionsHandler.java
@Override public void service(HttpServletRequest request, HttpServletResponse response) throws IOException { response.setHeader("DAV", "1, 2"); String path = request.getPathInfo(); StringBuffer options = new StringBuffer(); FileObject object = VFSBackend.resolveFile(path); if (object.exists()) { options.append("OPTIONS, GET, HEAD, POST, DELETE, TRACE, COPY, MOVE, LOCK, UNLOCK, PROPFIND"); if (FileType.FOLDER.equals(object.getType())) { options.append(", PUT"); }// w w w.j av a 2 s . c o m } else { options.append("OPTIONS, MKCOL, PUT, LOCK"); } response.setHeader("Allow", options.toString()); // see: http://www-128.ibm.com/developerworks/rational/library/2089.html response.setHeader("MS-Author-Via", "DAV"); }