Example usage for org.apache.commons.vfs FileType FOLDER

List of usage examples for org.apache.commons.vfs FileType FOLDER

Introduction

In this page you can find the example usage for org.apache.commons.vfs FileType FOLDER.

Prototype

FileType FOLDER

To view the source code for org.apache.commons.vfs FileType FOLDER.

Click Source Link

Document

A folder.

Usage

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>&gt;copy&lt;</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");
}