Package com.mycompany

Source Code of com.mycompany.TResourceFactory

package com.mycompany;

import com.bradmcevoy.common.Path;
import com.bradmcevoy.http.Resource;
import com.bradmcevoy.http.ResourceFactory;


public class TResourceFactory implements ResourceFactory {

    private static org.apache.log4j.Logger log = org.apache.log4j.Logger.getLogger(TResourceFactory.class);
   
    public static final TFolderResource ROOT = new TFolderResource((TFolderResource)null,"localhost:80/webdav");
   
    static {       
        String user = "Mufasa";
        //String password = "Circle Of Life";
        String password = "pwd";

//        ROOT.setSecure(user,password);

        TFolderResource folder;
        TResource file;
        file = new TTextResource(ROOT,"index.html","Hi there");
        folder = new TFolderResource(ROOT,"folder1");
        file = new TTextResource(folder,"index.html","i am a web page in folder1");
        folder = new TFolderResource(ROOT,"folder2");
        new TFolderResource(folder,"folder2a");
        folder = new TFolderResource(ROOT,"folder3");
        TFolderResource fSpecial = new TFolderResource(ROOT,"special chars");
        TFolderResource fSpecialSub = new TFolderResource(ROOT,"folder with ampersand &");
        new TFolderResource(fSpecial,"folder with percentage %");
        new TFolderResource(fSpecial,"folder with speci�l chars"); // contains ae character
        file = new TTextResource(folder,"index.html","i am a web page");
        file = new TTextResource(folder,"stuff.html","");
        folder = new TFolderResource(folder,"subfolder1");
        file = new TTextResource(folder,"index.html","");
        folder = new TFolderResource(ROOT,"secure");

        folder.setSecure(user,password);
        file = new TTextResource(folder,"index.html","");
    }
   
   
    public Resource getResource(String host, String url) {
        log.debug("getResource: url: " + url );
        Path path = Path.path(url);
        Resource r = find(path);
        log.debug("_found: " + r);
        return r;
    }

    private TResource find(Path path) {
        if( isRoot(path) ) return ROOT;
        TResource r = find(path.getParent());
        if( r == null ) return null;
        if( r instanceof TFolderResource ) {
            TFolderResource folder = (TFolderResource)r;
            for( Resource rChild : folder.getChildren() ) {
                TResource r2 = (TResource) rChild;
                if( r2.getName().equals(path.getName())) {
                    return r2;
                } else {
//                    log.debug( "IS NOT: " + r2.getName() + " - " + path.getName());
                }
            }
        }
        log.debug("not found: " + path);
        return null;
    }

    public String getSupportedLevels() {
        //return "1,2";
        return "1";
    }

    private boolean isRoot( Path path ) {
        if( path == null ) return true;
        return ( path.getParent() == null || path.getParent().isRoot());
    }

}
TOP

Related Classes of com.mycompany.TResourceFactory

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.