Author: reto
Date: Fri Mar 30 14:44:28 2012
New Revision: 1307450

URL: http://svn.apache.org/viewvc?rev=1307450&view=rev
Log:
connecting vfolders to facets, and encountering problems with milton

Added:
    incubator/stanbol/branches/ontonet-showcase/featured-vfolders/
      - copied from r1306832, 
incubator/stanbol/branches/ontonet-showcase/webdav/
    
incubator/stanbol/branches/ontonet-showcase/featured-vfolders/src/main/java/org/apache/stanbol/
      - copied from r1306875, 
incubator/stanbol/branches/ontonet-showcase/webdav/src/main/java/org/apache/stanbol/
    
incubator/stanbol/branches/ontonet-showcase/featured-vfolders/src/main/java/org/apache/stanbol/contenthub/
    
incubator/stanbol/branches/ontonet-showcase/featured-vfolders/src/main/java/org/apache/stanbol/contenthub/vfolders/
    
incubator/stanbol/branches/ontonet-showcase/featured-vfolders/src/main/java/org/apache/stanbol/contenthub/vfolders/RootResource.java
    
incubator/stanbol/branches/ontonet-showcase/featured-vfolders/src/main/resources/OSGI-INF/metatype/metatype.properties
      - copied unchanged from r1306954, 
incubator/stanbol/branches/ontonet-showcase/webdav/src/main/resources/OSGI-INF/metatype/metatype.properties
    
incubator/stanbol/branches/ontonet-showcase/webdav/src/main/java/org/apache/stanbol/webdav/resources/SimpleResourceFactory.java
   (contents, props changed)
      - copied, changed from r1306875, 
incubator/stanbol/branches/ontonet-showcase/webdav/src/main/java/org/apache/stanbol/webdav/resources/SlingResourceFactory.java
Removed:
    
incubator/stanbol/branches/ontonet-showcase/featured-vfolders/src/main/java/org/apache/sling/whiteboard/fmeschbe/miltondav/impl/AbstractMiltonDavServlet.java
    
incubator/stanbol/branches/ontonet-showcase/featured-vfolders/src/main/java/org/apache/sling/whiteboard/fmeschbe/miltondav/impl/MiltonDavServlet.java
    
incubator/stanbol/branches/ontonet-showcase/featured-vfolders/src/main/java/org/apache/sling/whiteboard/fmeschbe/miltondav/impl/MiltonDavSlingServlet.java
    
incubator/stanbol/branches/ontonet-showcase/featured-vfolders/src/main/java/org/apache/sling/whiteboard/fmeschbe/miltondav/impl/SlingAuthenticationHandler.java
    
incubator/stanbol/branches/ontonet-showcase/featured-vfolders/src/main/java/org/apache/sling/whiteboard/fmeschbe/miltondav/impl/SlingResponseHandler.java
    
incubator/stanbol/branches/ontonet-showcase/featured-vfolders/src/main/java/org/apache/sling/whiteboard/fmeschbe/miltondav/impl/resources/
    
incubator/stanbol/branches/ontonet-showcase/featured-vfolders/src/main/java/org/apache/stanbol/webdav/AbstractMiltonDavServlet.java
    
incubator/stanbol/branches/ontonet-showcase/featured-vfolders/src/main/java/org/apache/stanbol/webdav/MiltonDavServlet.java
    
incubator/stanbol/branches/ontonet-showcase/featured-vfolders/src/main/java/org/apache/stanbol/webdav/MiltonDavSlingServlet.java
    
incubator/stanbol/branches/ontonet-showcase/featured-vfolders/src/main/java/org/apache/stanbol/webdav/SlingAuthenticationHandler.java
    
incubator/stanbol/branches/ontonet-showcase/featured-vfolders/src/main/java/org/apache/stanbol/webdav/SlingResponseHandler.java
    
incubator/stanbol/branches/ontonet-showcase/featured-vfolders/src/main/java/org/apache/stanbol/webdav/resources/
    
incubator/stanbol/branches/ontonet-showcase/webdav/src/main/java/org/apache/stanbol/webdav/resources/SlingResourceFactory.java
Modified:
    incubator/stanbol/branches/ontonet-showcase/featured-vfolders/pom.xml
    incubator/stanbol/branches/ontonet-showcase/webdav/pom.xml
    
incubator/stanbol/branches/ontonet-showcase/webdav/src/main/java/org/apache/stanbol/webdav/AbstractMiltonDavServlet.java
    
incubator/stanbol/branches/ontonet-showcase/webdav/src/main/java/org/apache/stanbol/webdav/MiltonDavServlet.java
    
incubator/stanbol/branches/ontonet-showcase/webdav/src/main/java/org/apache/stanbol/webdav/resources/RootResource.java

Modified: incubator/stanbol/branches/ontonet-showcase/featured-vfolders/pom.xml
URL: 
http://svn.apache.org/viewvc/incubator/stanbol/branches/ontonet-showcase/featured-vfolders/pom.xml?rev=1307450&r1=1306832&r2=1307450&view=diff
==============================================================================
--- incubator/stanbol/branches/ontonet-showcase/featured-vfolders/pom.xml 
(original)
+++ incubator/stanbol/branches/ontonet-showcase/featured-vfolders/pom.xml Fri 
Mar 30 14:44:28 2012
@@ -1,127 +1,107 @@
 <?xml version="1.0" encoding="ISO-8859-1"?>
-<!--
-    Licensed to the Apache Software Foundation (ASF) under one
-    or more contributor license agreements.  See the NOTICE file
-    distributed with this work for additional information
-    regarding copyright ownership.  The ASF licenses this file
-    to you under the Apache License, Version 2.0 (the
-    "License"); you may not use this file except in compliance
-    with the License.  You may obtain a copy of the License at
-    
-    http://www.apache.org/licenses/LICENSE-2.0
-    
-    Unless required by applicable law or agreed to in writing,
-    software distributed under the License is distributed on an
-    "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-    KIND, either express or implied.  See the License for the
-    specific language governing permissions and limitations
-    under the License.
--->
-<project xmlns="http://maven.apache.org/POM/4.0.0"; 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; 
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
http://maven.apache.org/maven-v4_0_0.xsd";>
-
-    <modelVersion>4.0.0</modelVersion>
-    <parent>
-        <groupId>org.apache.stanbol</groupId>
-       <artifactId>stanbol-parent</artifactId>
-       <version>0.9.0-incubating-SNAPSHOT</version>
-    </parent>
-
-    <artifactId>org.apache.stanbol.wedav</artifactId>
-    <packaging>bundle</packaging>
-    <version>0.1.0-SNAPSHOT</version>
-
-    <name>Milton WebDAV based webdav Provider</name>
-    <description>
-      Bundle to expose the Reosurce Tree as a WebDAV filesystem using the 
Milton
-      server side WebDAV library. Original version vopied from 
http://svn.apache.org/repos/asf/sling/whiteboard/fmeschbe/miltondav
+<!-- Licensed to the Apache Software Foundation (ASF) under one or more 
contributor 
+       license agreements. See the NOTICE file distributed with this work for 
additional 
+       information regarding copyright ownership. The ASF licenses this file 
to 
+       you under the Apache License, Version 2.0 (the "License"); you may not 
use 
+       this file except in compliance with the License. You may obtain a copy 
of 
+       the License at http://www.apache.org/licenses/LICENSE-2.0 Unless 
required 
+       by applicable law or agreed to in writing, software distributed under 
the 
+       License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR 
CONDITIONS 
+       OF ANY KIND, either express or implied. See the License for the 
specific 
+       language governing permissions and limitations under the License. -->
+<project xmlns="http://maven.apache.org/POM/4.0.0"; 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
+       xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
http://maven.apache.org/maven-v4_0_0.xsd";>
+
+       <modelVersion>4.0.0</modelVersion>
+       <parent>
+               <groupId>org.apache.stanbol</groupId>
+               <artifactId>stanbol-parent</artifactId>
+               <version>0.9.0-incubating-SNAPSHOT</version>
+       </parent>
+
+       <artifactId>org.apache.stanbol.contenthub.vfolders</artifactId>
+       <packaging>bundle</packaging>
+       <version>0.1.0-SNAPSHOT</version>
+
+       <name>VFolders provider based on featured saerch</name>
+       <description>
     </description>
 
 
-    <build>
-        <plugins>
-            <plugin>
-                <groupId>org.apache.felix</groupId>
-                <artifactId>maven-scr-plugin</artifactId>
-            </plugin>
-            <plugin>
-                <groupId>org.apache.felix</groupId>
-                <artifactId>maven-bundle-plugin</artifactId>
-                <extensions>true</extensions>
-                <configuration>
-                    <instructions>
-                        <Import-Package>
-                            !org.springframework.*,
-                            !org.apache.xerces.*,
-                            !org.jaxen.*,
-                            !oracle.xml.*,
-                            *
-                        </Import-Package>
-                        <Embed-Transitive>true</Embed-Transitive>
-                        <Embed-Dependency>
-                            milton-api,
-                            milton-servlet,
-                            mime-util,
-                            jdom,
-                            commons-codec,
-                            commons-beanutils
-                        </Embed-Dependency>
-                    </instructions>
-                </configuration>
-            </plugin>
-        </plugins>
-    </build>
-    <dependencies>
-        <dependency>
-            <groupId>org.osgi</groupId>
-            <artifactId>org.osgi.core</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.osgi</groupId>
-            <artifactId>org.osgi.compendium</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>javax.servlet</groupId>
-            <artifactId>servlet-api</artifactId>
-        </dependency>   
-        <dependency>
-            <groupId>org.apache.felix</groupId>
-            <artifactId>org.apache.felix.scr.annotations</artifactId>
-            <version>1.6.0</version>
-            <scope>provided</scope>
-        </dependency>
-        
-        <!--  Milton WebDAV support libraries -->
-        <dependency>
-            <groupId>com.ettrema</groupId>
-            <artifactId>milton-api</artifactId>
-            <version>1.7.1</version>
-            <scope>provided</scope>
-        </dependency>
-        <dependency>
-            <groupId>com.ettrema</groupId>
-            <artifactId>milton-servlet</artifactId>
-            <version>1.7.1</version>
-            <scope>provided</scope>
-            <exclusions>
-                <exclusion>
-                    <groupId>javax.servlet</groupId>
-                    <artifactId>servlet-api</artifactId>
-                </exclusion>
-            </exclusions>
-        </dependency>
-        <dependency>
-            <groupId>org.slf4j</groupId>
-            <artifactId>slf4j-api</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>junit</groupId>
-            <artifactId>junit</artifactId>
-        </dependency>
-    </dependencies>
-    <repositories>
-        <repository>
-            <id>milton</id>
-            <url>http://www.ettrema.com/maven2</url>
-        </repository>
-    </repositories>
+       <build>
+               <plugins>
+                       <plugin>
+                               <groupId>org.apache.felix</groupId>
+                               <artifactId>maven-scr-plugin</artifactId>
+                       </plugin>
+                       <plugin>
+                               <groupId>org.apache.felix</groupId>
+                               <artifactId>maven-bundle-plugin</artifactId>
+                               <extensions>true</extensions>
+                       </plugin>
+               </plugins>
+       </build>
+       <dependencies>
+               <dependency>
+                       <groupId>org.osgi</groupId>
+                       <artifactId>org.osgi.core</artifactId>
+               </dependency>
+               <dependency>
+                       <groupId>org.osgi</groupId>
+                       <artifactId>org.osgi.compendium</artifactId>
+               </dependency>
+               <dependency>
+                       <groupId>javax.servlet</groupId>
+                       <artifactId>servlet-api</artifactId>
+               </dependency>
+               <dependency>
+                       <groupId>org.apache.stanbol</groupId>
+                       
<artifactId>org.apache.stanbol.contenthub.servicesapi</artifactId>
+               </dependency>
+               <dependency>
+                       <groupId>org.apache.stanbol</groupId>
+                       <artifactId>org.apache.stanbol.wedav</artifactId>
+                       <version>0.1.0-SNAPSHOT</version>
+               </dependency>
+               <dependency>
+                       <groupId>org.apache.felix</groupId>
+                       
<artifactId>org.apache.felix.scr.annotations</artifactId>
+                       <version>1.6.0</version>
+                       <scope>provided</scope>
+               </dependency>
+
+               <!-- Milton WebDAV support libraries -->
+               <dependency>
+                       <groupId>com.ettrema</groupId>
+                       <artifactId>milton-api</artifactId>
+                       <version>1.7.1</version>
+                       <scope>provided</scope>
+               </dependency>
+               <dependency>
+                       <groupId>com.ettrema</groupId>
+                       <artifactId>milton-servlet</artifactId>
+                       <version>1.7.1</version>
+                       <scope>provided</scope>
+                       <exclusions>
+                               <exclusion>
+                                       <groupId>javax.servlet</groupId>
+                                       <artifactId>servlet-api</artifactId>
+                               </exclusion>
+                       </exclusions>
+               </dependency>
+               <dependency>
+                       <groupId>org.slf4j</groupId>
+                       <artifactId>slf4j-api</artifactId>
+               </dependency>
+               <dependency>
+                       <groupId>junit</groupId>
+                       <artifactId>junit</artifactId>
+               </dependency>
+       </dependencies>
+       <repositories>
+               <repository>
+                       <id>milton</id>
+                       <url>http://www.ettrema.com/maven2</url>
+               </repository>
+       </repositories>
 </project>

Added: 
incubator/stanbol/branches/ontonet-showcase/featured-vfolders/src/main/java/org/apache/stanbol/contenthub/vfolders/RootResource.java
URL: 
http://svn.apache.org/viewvc/incubator/stanbol/branches/ontonet-showcase/featured-vfolders/src/main/java/org/apache/stanbol/contenthub/vfolders/RootResource.java?rev=1307450&view=auto
==============================================================================
--- 
incubator/stanbol/branches/ontonet-showcase/featured-vfolders/src/main/java/org/apache/stanbol/contenthub/vfolders/RootResource.java
 (added)
+++ 
incubator/stanbol/branches/ontonet-showcase/featured-vfolders/src/main/java/org/apache/stanbol/contenthub/vfolders/RootResource.java
 Fri Mar 30 14:44:28 2012
@@ -0,0 +1,103 @@
+package org.apache.stanbol.contenthub.vfolders;
+
+import java.io.UnsupportedEncodingException;
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
+
+import org.apache.felix.scr.annotations.Component;
+import org.apache.felix.scr.annotations.Reference;
+import org.apache.felix.scr.annotations.Service;
+import org.apache.stanbol.contenthub.servicesapi.search.SearchException;
+import org.apache.stanbol.contenthub.servicesapi.search.featured.FacetResult;
+import 
org.apache.stanbol.contenthub.servicesapi.search.featured.FeaturedSearch;
+import org.apache.stanbol.contenthub.servicesapi.search.featured.SearchResult;
+import org.apache.stanbol.webdav.resources.AbstractCollectionResource;
+import org.apache.stanbol.webdav.resources.SlingResource;
+
+import com.bradmcevoy.http.Auth;
+import com.bradmcevoy.http.CollectionResource;
+import com.bradmcevoy.http.PropFindableResource;
+import com.bradmcevoy.http.Request;
+import com.bradmcevoy.http.Request.Method;
+import com.bradmcevoy.http.Resource;
+import com.bradmcevoy.http.SimpleResource;
+
+
+@Component
+@Service(CollectionResource.class)
+public class RootResource extends AbstractCollectionResource implements 
PropFindableResource, CollectionResource {
+ 
+       private static final String FOLDERNAME = "root";
+ 
+       @Reference
+       FeaturedSearch featuredSearch;
+       
+       public String getUniqueId() {
+               return FOLDERNAME;
+       }
+ 
+       
+       public String getName() {
+               return FOLDERNAME;
+       }
+ 
+       
+       public Object authenticate(String user, String password) {
+               return "anonymous";
+       }
+ 
+       
+       public boolean authorise(Request request, Method method, Auth auth) {
+               return true;
+       }
+ 
+       
+       public String getRealm() {
+               return null;
+       }
+ 
+       
+       public Date getCreateDate() {
+               return new Date();
+       }
+ 
+       
+       public Date getModifiedDate() {
+               return new Date();
+       }
+ 
+       
+       public String checkRedirect(Request request) {
+               return null;
+       }
+ 
+       
+       public List<Resource> getChildren() {
+               try {
+                       SearchResult searchResult = featuredSearch.search("a*");
+                       List<FacetResult> facetResults = 
searchResult.getFacets();
+                       List<Resource> resources = new ArrayList<Resource>();
+                       for (FacetResult fr : facetResults) {
+                               final String name = 
fr.getFacetField().getName();
+                               System.out.println("name: "+name);
+                               resources.add(new FacetedResource(name) {});
+                       }
+                       resources.add(new FacetedResource("foo"));
+                       resources.add(new FacetedResource("foo2"));
+                       resources.add(new FacetedResource("foo3") {});
+                       resources.add(new FacetedResource2("bar") {});
+                       resources.add(new FacetedResource2("bar2"));
+                       //resources.add(new SlingResource());
+                       System.out.println("returning: "+resources);
+                       return resources;
+               } catch (SearchException e) {
+                       throw new RuntimeException(e);
+               }
+               
+       }
+ 
+       
+
+ 
+}

Modified: incubator/stanbol/branches/ontonet-showcase/webdav/pom.xml
URL: 
http://svn.apache.org/viewvc/incubator/stanbol/branches/ontonet-showcase/webdav/pom.xml?rev=1307450&r1=1307449&r2=1307450&view=diff
==============================================================================
--- incubator/stanbol/branches/ontonet-showcase/webdav/pom.xml (original)
+++ incubator/stanbol/branches/ontonet-showcase/webdav/pom.xml Fri Mar 30 
14:44:28 2012
@@ -65,6 +65,7 @@
                             commons-codec,
                             commons-beanutils
                         </Embed-Dependency>
+                        <Export-Package>com.bradmcevoy.http, 
com.bradmcevoy.http.*, org.apache.stanbol.*</Export-Package>
                     </instructions>
                 </configuration>
             </plugin>

Modified: 
incubator/stanbol/branches/ontonet-showcase/webdav/src/main/java/org/apache/stanbol/webdav/AbstractMiltonDavServlet.java
URL: 
http://svn.apache.org/viewvc/incubator/stanbol/branches/ontonet-showcase/webdav/src/main/java/org/apache/stanbol/webdav/AbstractMiltonDavServlet.java?rev=1307450&r1=1307449&r2=1307450&view=diff
==============================================================================
--- 
incubator/stanbol/branches/ontonet-showcase/webdav/src/main/java/org/apache/stanbol/webdav/AbstractMiltonDavServlet.java
 (original)
+++ 
incubator/stanbol/branches/ontonet-showcase/webdav/src/main/java/org/apache/stanbol/webdav/AbstractMiltonDavServlet.java
 Fri Mar 30 14:44:28 2012
@@ -18,8 +18,20 @@
  */
 package org.apache.stanbol.webdav;
 
+import java.util.ArrayList;
+import java.util.List;
+
+import javax.servlet.ServletConfig;
 import javax.servlet.ServletException;
 
+import org.apache.felix.scr.annotations.Component;
+import org.apache.felix.scr.annotations.Reference;
+import org.apache.stanbol.webdav.resources.SimpleResourceFactory;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import com.bradmcevoy.http.ApplicationConfig;
+import com.bradmcevoy.http.CollectionResource;
 import com.bradmcevoy.http.MiltonServlet;
 
 /**
@@ -40,21 +52,33 @@ import com.bradmcevoy.http.MiltonServlet
  * and to not create a memory hole. The base class unfortunately uses the 
static
  * <code>Class.forName(String)</code> which is well-known for this problem.
  */
-public class AbstractMiltonDavServlet extends MiltonServlet {
+@Component(componentAbstract=true)
+public abstract class AbstractMiltonDavServlet extends MiltonServlet {
+       
+       private Logger log = LoggerFactory.getLogger( 
AbstractMiltonDavServlet.class );
+       
+       @Reference
+       private CollectionResource rootResource;
 
+       
+       @Override
+    public void init( ServletConfig config ) throws ServletException {
+        try {
+            //this.config = config;
+            init(new SimpleResourceFactory(rootResource), new 
SlingResponseHandler(), new ArrayList<String>());
+         } catch( ServletException ex ) {
+            log.error( "Exception starting milton servlet", ex );
+            throw ex;
+        } catch( Throwable ex ) {
+            log.error( "Exception starting milton servlet", ex );
+            throw new RuntimeException( ex );
+        }
+    }
+       
     @SuppressWarnings("unchecked")
     @Override
     protected <T> T instantiate(String className) throws ServletException {
-       //TODO have factories and handler be retrieved from service registry 
instead of
-       //getting class from classloader and instantiate
-        try {
-            Class<?> c = getClass().getClassLoader().loadClass(className);
-            T rf = (T) c.newInstance();
-            return rf;
-        } catch (Throwable ex) {
-            throw new ServletException("Failed to instantiate: " + className,
-                ex);
-        }
+       throw new RuntimeException("this should not be invoked");
     }
 
 }
\ No newline at end of file

Modified: 
incubator/stanbol/branches/ontonet-showcase/webdav/src/main/java/org/apache/stanbol/webdav/MiltonDavServlet.java
URL: 
http://svn.apache.org/viewvc/incubator/stanbol/branches/ontonet-showcase/webdav/src/main/java/org/apache/stanbol/webdav/MiltonDavServlet.java?rev=1307450&r1=1307449&r2=1307450&view=diff
==============================================================================
--- 
incubator/stanbol/branches/ontonet-showcase/webdav/src/main/java/org/apache/stanbol/webdav/MiltonDavServlet.java
 (original)
+++ 
incubator/stanbol/branches/ontonet-showcase/webdav/src/main/java/org/apache/stanbol/webdav/MiltonDavServlet.java
 Fri Mar 30 14:44:28 2012
@@ -33,13 +33,15 @@ import org.apache.felix.scr.annotations.
 import org.apache.felix.scr.annotations.Deactivate;
 import org.apache.felix.scr.annotations.Property;
 import org.apache.felix.scr.annotations.Reference;
-import org.apache.stanbol.webdav.resources.SlingResourceFactory;
+import org.apache.stanbol.webdav.resources.SimpleResourceFactory;
 import org.osgi.service.http.HttpContext;
 import org.osgi.service.http.HttpService;
 import org.osgi.service.http.NamespaceException;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+import com.bradmcevoy.http.CollectionResource;
+
 /**
  * The <code>MiltonDavServlet</code> is the {@link AbstractMiltonDavServlet}
  * extension registering with the OSGi Http Service. As such it implements an
@@ -55,6 +57,7 @@ import org.slf4j.LoggerFactory;
 @Component(metatype = true, name = 
"org.apache.sling.miltondav.impl.MiltonDavServlet", label = "%miltondav.name", 
description = "%miltondav.description")
 public class MiltonDavServlet extends AbstractMiltonDavServlet {
 
+       
     // default location at which the service is registered
     private static final String DEFAULT_PREFIX = "/vfolders";
 
@@ -130,7 +133,7 @@ public class MiltonDavServlet extends Ab
         }
 
         java.util.Properties props = new java.util.Properties();
-        props.put("resource.factory.class", SlingResourceFactory.NAME);
+        props.put("resource.factory.class", SimpleResourceFactory.NAME);
         props.put("authentication.handler.classes",
             SlingAuthenticationHandler.NAME);
         props.put("response.handler.class", SlingResponseHandler.NAME);

Modified: 
incubator/stanbol/branches/ontonet-showcase/webdav/src/main/java/org/apache/stanbol/webdav/resources/RootResource.java
URL: 
http://svn.apache.org/viewvc/incubator/stanbol/branches/ontonet-showcase/webdav/src/main/java/org/apache/stanbol/webdav/resources/RootResource.java?rev=1307450&r1=1307449&r2=1307450&view=diff
==============================================================================
--- 
incubator/stanbol/branches/ontonet-showcase/webdav/src/main/java/org/apache/stanbol/webdav/resources/RootResource.java
 (original)
+++ 
incubator/stanbol/branches/ontonet-showcase/webdav/src/main/java/org/apache/stanbol/webdav/resources/RootResource.java
 Fri Mar 30 14:44:28 2012
@@ -13,6 +13,7 @@ import com.bradmcevoy.http.Resource;
 
 public class RootResource implements PropFindableResource, CollectionResource {
  
+       
        private static final String FOLDERNAME = "root";
  
        

Copied: 
incubator/stanbol/branches/ontonet-showcase/webdav/src/main/java/org/apache/stanbol/webdav/resources/SimpleResourceFactory.java
 (from r1306875, 
incubator/stanbol/branches/ontonet-showcase/webdav/src/main/java/org/apache/stanbol/webdav/resources/SlingResourceFactory.java)
URL: 
http://svn.apache.org/viewvc/incubator/stanbol/branches/ontonet-showcase/webdav/src/main/java/org/apache/stanbol/webdav/resources/SimpleResourceFactory.java?p2=incubator/stanbol/branches/ontonet-showcase/webdav/src/main/java/org/apache/stanbol/webdav/resources/SimpleResourceFactory.java&p1=incubator/stanbol/branches/ontonet-showcase/webdav/src/main/java/org/apache/stanbol/webdav/resources/SlingResourceFactory.java&r1=1306875&r2=1307450&rev=1307450&view=diff
==============================================================================
--- 
incubator/stanbol/branches/ontonet-showcase/webdav/src/main/java/org/apache/stanbol/webdav/resources/SlingResourceFactory.java
 (original)
+++ 
incubator/stanbol/branches/ontonet-showcase/webdav/src/main/java/org/apache/stanbol/webdav/resources/SimpleResourceFactory.java
 Fri Mar 30 14:44:28 2012
@@ -19,25 +19,38 @@
 package org.apache.stanbol.webdav.resources;
 
 import com.bradmcevoy.common.Path;
+import com.bradmcevoy.http.CollectionResource;
 import com.bradmcevoy.http.Resource;
 import com.bradmcevoy.http.ResourceFactory;
+import com.bradmcevoy.http.exceptions.BadRequestException;
+import com.bradmcevoy.http.exceptions.NotAuthorizedException;
 
-public class SlingResourceFactory implements ResourceFactory {
-                
-       final public static String NAME = 
"org.apache.stanbol.webdav.resources.SlingResourceFactory"; 
//SlingResourceFactory.class.getName();
-       
-               public Resource getResource(String host, String strPath) {
-                       Path path = Path.path(strPath);
-                       //STRIP PRECEEDING PATH
-                       //TODO make this depend on what the dav servlet is 
actually configured to
-                       path = path.getStripFirst();
-                       if (path.isRoot()) {
-                               return new RootResource();
-                       } else if 
(path.getFirst().equals(SlingResource.getFilename())) {
-                               return new SlingResource();
-                       }
-        
-                       return null;
+public class SimpleResourceFactory implements ResourceFactory {
+
+       final public static String NAME = 
"org.apache.stanbol.webdav.resources.SlingResourceFactory"; // 
SlingResourceFactory.class.getName();
+       private CollectionResource rootResource;
+
+       public SimpleResourceFactory(CollectionResource rootResource) {
+               this.rootResource = rootResource;
+       }
+
+       public Resource getResource(String host, String strPath) throws 
NotAuthorizedException, BadRequestException {
+               Path path = Path.path(strPath);
+               return getResource(host, path);
+       }
+
+       public Resource getResource(String host, Path path) throws 
NotAuthorizedException, BadRequestException {        
+               // STRIP PRECEEDING PATH
+               // TODO make this depend on what the dav servlet is actually 
configured
+               // to
+               path = path.getStripFirst();
+               if (path.isRoot()) {
+                       return rootResource;
+               } else {
+                       CollectionResource parent = 
(CollectionResource)getResource(host, 
+                                       path.getParent());
+                       return parent.child(path.getName());
                }
-        
-       }
\ No newline at end of file
+       }
+
+}
\ No newline at end of file

Propchange: 
incubator/stanbol/branches/ontonet-showcase/webdav/src/main/java/org/apache/stanbol/webdav/resources/SimpleResourceFactory.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: 
incubator/stanbol/branches/ontonet-showcase/webdav/src/main/java/org/apache/stanbol/webdav/resources/SimpleResourceFactory.java
------------------------------------------------------------------------------
    svn:keywords = Author Date Id Revision Rev Url


Reply via email to