This is an automated email from the ASF dual-hosted git repository.

rombert pushed a commit to annotated tag 
org.apache.sling.resourcecollection-1.0.0
in repository 
https://gitbox.apache.org/repos/asf/sling-org-apache-sling-resourcecollection.git

commit 5a127e97093e5ace8bc8389bc92b9ac554283a08
Author: Carsten Ziegeler <[email protected]>
AuthorDate: Mon May 6 18:35:43 2013 +0000

    SLING-2853 :  Add ResourceCollection to Sling  - use resource resolver mock
    
    git-svn-id: 
https://svn.apache.org/repos/asf/sling/trunk/contrib/extensions/collection@1479668
 13f79535-47bb-0310-9956-ffa450edef68
---
 pom.xml                                            |   6 +
 .../impl/ResourceCollectionImplTest.java           | 116 +++++-----
 .../resource/collection/test/MockResource.java     | 105 ---------
 .../collection/test/MockResourceResolver.java      | 249 ---------------------
 4 files changed, 71 insertions(+), 405 deletions(-)

diff --git a/pom.xml b/pom.xml
index 9184268..c873525 100755
--- a/pom.xml
+++ b/pom.xml
@@ -143,5 +143,11 @@
             <artifactId>servlet-api</artifactId>
             <scope>test</scope>
         </dependency>
+         <dependency>
+            <groupId>org.apache.sling</groupId>
+            
<artifactId>org.apache.sling.testing.resourceresolver-mock</artifactId>
+            <version>0.1.0</version>
+            <scope>test</scope>
+        </dependency>
     </dependencies>
 </project>
diff --git 
a/src/test/java/org/apache/sling/resource/collection/impl/ResourceCollectionImplTest.java
 
b/src/test/java/org/apache/sling/resource/collection/impl/ResourceCollectionImplTest.java
index 90435f0..d722c3a 100755
--- 
a/src/test/java/org/apache/sling/resource/collection/impl/ResourceCollectionImplTest.java
+++ 
b/src/test/java/org/apache/sling/resource/collection/impl/ResourceCollectionImplTest.java
@@ -18,6 +18,7 @@
  */
 package org.apache.sling.resource.collection.impl;
 
+import java.util.Collections;
 import java.util.HashMap;
 import java.util.Iterator;
 import java.util.Map;
@@ -30,8 +31,7 @@ import org.apache.sling.api.resource.ValueMap;
 import org.apache.sling.jcr.resource.JcrResourceConstants;
 import org.apache.sling.resource.collection.ResourceCollection;
 import org.apache.sling.resource.collection.ResourceCollectionManager;
-import org.apache.sling.resource.collection.test.MockResource;
-import org.apache.sling.resource.collection.test.MockResourceResolver;
+import org.apache.sling.testing.resourceresolver.MockResourceResolverFactory;
 import org.junit.Before;
 import org.junit.Test;
 
@@ -41,151 +41,165 @@ public class ResourceCollectionImplTest {
 
        @Before
        public void setUp() throws Exception {
-               resResolver = new MockResourceResolver();
+               resResolver = new 
MockResourceResolverFactory().getAdministrativeResourceResolver(null);
                rcm = new ResourceCollectionManagerImpl(resResolver);
-               // need a root resource
-               new MockResource(resResolver, "/", "type");
        }
-       
+
        @Test
        public void testAddResource() throws Exception {
-                       
+
         final ResourceCollection collection = 
rcm.createCollection(resResolver.getResource("/"), "test1");
-        collection.add(new MockResource(resResolver, "/res1", "type"));
-        final Resource resource = new MockResource(resResolver, "/res2", 
"type");
+        final Resource res1 = resResolver.create(resResolver.getResource("/"), 
"res1",
+                
Collections.singletonMap(ResourceResolver.PROPERTY_RESOURCE_TYPE, 
(Object)"type"));
+        collection.add(res1);
+        final Resource resource = 
resResolver.create(resResolver.getResource("/"), "res2",
+                
Collections.singletonMap(ResourceResolver.PROPERTY_RESOURCE_TYPE, 
(Object)"type"));
         collection.add(resource);
-        
+
         Assert.assertEquals(true, collection.contains(resource));
         Assert.assertEquals(true, collection.contains(resource));
         Assert.assertNotNull(resResolver.getResource("/test1"));
         Assert.assertEquals(ResourceCollection.RESOURCE_TYPE, 
resResolver.getResource("/test1").getResourceType());
        }
-       
+
        @Test
        public void testCreateCollection() throws Exception {
         final ResourceCollection collection = 
rcm.createCollection(resResolver.getResource("/"), "test1");
-        collection.add(new MockResource(resResolver, "/res1", "type"), null);
-        final Resource resource = new MockResource(resResolver, "/res2", 
"type");
+        final Resource res1 = resResolver.create(resResolver.getResource("/"), 
"res1",
+                
Collections.singletonMap(ResourceResolver.PROPERTY_RESOURCE_TYPE, 
(Object)"type"));
+        collection.add(res1, null);
+        final Resource resource = 
resResolver.create(resResolver.getResource("/"), "res2",
+                
Collections.singletonMap(ResourceResolver.PROPERTY_RESOURCE_TYPE, 
(Object)"type"));
         collection.add(resource, null);
-        
+
         Assert.assertEquals(true, collection.contains(resource));
         Assert.assertNotNull(resResolver.getResource("/test1"));
         Assert.assertEquals(ResourceCollection.RESOURCE_TYPE, 
resResolver.getResource("/test1").getResourceType());
        }
-       
+
        @Test
        public void testGetCollection() throws Exception {
         ResourceCollection collection = 
rcm.createCollection(resResolver.getResource("/"), "test1");
-        collection.add(new MockResource(resResolver, "/res1", "type"), null);
-        final Resource resource = new MockResource(resResolver, "/res2", 
"type");
+        final Resource res1 = resResolver.create(resResolver.getResource("/"), 
"res1",
+                
Collections.singletonMap(ResourceResolver.PROPERTY_RESOURCE_TYPE, 
(Object)"type"));
+        collection.add(res1, null);
+        final Resource resource = 
resResolver.create(resResolver.getResource("/"), "res2",
+                
Collections.singletonMap(ResourceResolver.PROPERTY_RESOURCE_TYPE, 
(Object)"type"));
         collection.add(resource, null);
-        
+
         collection = 
rcm.getCollection(resResolver.getResource(collection.getPath()));
-        
+
         Assert.assertEquals(true, collection.contains(resource));
         Assert.assertNotNull(resResolver.getResource("/test1"));
         Assert.assertEquals(ResourceCollection.RESOURCE_TYPE, 
resResolver.getResource("/test1").getResourceType());
        }
-       
+
        @Test
        public void testListCollection() throws Exception {
         final ResourceCollection collection = 
rcm.createCollection(resResolver.getResource("/"), "collection1");
-        collection.add(new MockResource(resResolver, "/res1", "type"), null);
-        final Resource resource = new MockResource(resResolver, "/res2", 
"type");
-        
+        final Resource res1 = resResolver.create(resResolver.getResource("/"), 
"res1",
+                
Collections.singletonMap(ResourceResolver.PROPERTY_RESOURCE_TYPE, 
(Object)"type"));
+        collection.add(res1, null);
+        final Resource resource = 
resResolver.create(resResolver.getResource("/"), "res2",
+                
Collections.singletonMap(ResourceResolver.PROPERTY_RESOURCE_TYPE, 
(Object)"type"));
+
         collection.add(resource, null);
         Assert.assertEquals(true, collection.contains(resource));
-        
+
         final Iterator<Resource> resources = collection.getResources();
         int numOfRes = 0;
         while (resources.hasNext()) {
                resources.next();
                numOfRes ++;
         }
-        
+
         Assert.assertEquals(2, numOfRes);
        }
-       
+
        @Test
        public void testCreateCollectionWithProperties() throws Exception {
                final Map<String, Object> props = new HashMap<String, Object>();
                props.put(JcrResourceConstants.SLING_RESOURCE_TYPE_PROPERTY, 
"some/type");
                props.put("creator", "slingdev");
-        
+
         final ResourceCollection collection = 
rcm.createCollection(resResolver.getResource("/"), "collection3", props);
-        final Resource resource = new MockResource(resResolver, "/res1", 
"type");
+        final Resource resource = 
resResolver.create(resResolver.getResource("/"), "res1",
+                
Collections.singletonMap(ResourceResolver.PROPERTY_RESOURCE_TYPE, 
(Object)"type"));
         collection.add(resource, null);
-        
+
         final Resource collectionRes = resResolver.getResource("/collection3");
         Assert.assertNotNull(collectionRes);
-        
+
         Assert.assertEquals(true, collection.contains(resource));
         Assert.assertEquals(ResourceCollection.RESOURCE_TYPE, 
collectionRes.getResourceSuperType());
-        
+
         ValueMap vm = collectionRes.adaptTo(ValueMap.class);
-        
+
         Assert.assertEquals("slingdev", vm.get("creator", ""));
        }
-       
+
        @Test
        public void testAddResourceWithProperties() throws Exception {
                final Map<String, Object> props = new HashMap<String, Object>();
                props.put("creator", "slingdev");
-        
+
         final ResourceCollection collection = 
rcm.createCollection(resResolver.getResource("/"), "collection3");
-        
-        final Resource resource = new MockResource(resResolver, "/res1", 
"type");
+
+        final Resource resource = 
resResolver.create(resResolver.getResource("/"), "res1",
+                
Collections.singletonMap(ResourceResolver.PROPERTY_RESOURCE_TYPE, 
(Object)"type"));
         collection.add(resource, props);
-        
+
         final Resource collectionRes = resResolver.getResource("/collection3");
         Assert.assertNotNull(collectionRes);
-        
+
         Assert.assertEquals(true, collection.contains(resource));
-        
+
         ValueMap vm = collection.getProperties(resource);
-        
+
         if (vm != null) {
                Assert.assertEquals("slingdev", vm.get("creator", ""));
         } else {
                Assert.fail("no resource entry in collection");
         }
        }
-       
+
        @Test
        public void testOrdering() throws Exception {
         final ResourceCollection collection = 
rcm.createCollection(resResolver.getResource("/"), "test1");
         String[] resPaths = {"/res1", "/res2"};
-        final Resource resource = new MockResource(resResolver, resPaths[0], 
"type");
-        
+        final Resource resource = 
resResolver.create(resResolver.getResource("/"), resPaths[0].substring(1),
+                
Collections.singletonMap(ResourceResolver.PROPERTY_RESOURCE_TYPE, 
(Object)"type"));
+
         collection.add(resource, null);
-        final Resource resource2 = new MockResource(resResolver, resPaths[1], 
"type");
+        final Resource resource2 = 
resResolver.create(resResolver.getResource("/"), resPaths[1].substring(1),
+                
Collections.singletonMap(ResourceResolver.PROPERTY_RESOURCE_TYPE, 
(Object)"type"));
         collection.add(resource2, null);
-        
+
         Assert.assertEquals(true, collection.contains(resource2));
         Assert.assertNotNull(resResolver.getResource("/test1"));
         Assert.assertEquals(ResourceCollection.RESOURCE_TYPE, 
resResolver.getResource("/test1").getResourceType());
-        
+
         Iterator<Resource> resources = collection.getResources();
-        
+
         int numOfRes = 0;
         while (resources.hasNext()) {
                Resource entry = resources.next();
                Assert.assertEquals(resPaths[numOfRes], entry.getPath());
                numOfRes ++;
         }
-        
+
         //change the order
         collection.orderBefore(resource2, resource);
-        
+
         resources = collection.getResources();
-        
+
         numOfRes = 2;
         while (resources.hasNext()) {
                numOfRes --;
                Resource entry = resources.next();
                Assert.assertEquals(resPaths[numOfRes], entry.getPath());
         }
-        
+
         Assert.assertEquals(0, numOfRes);
        }
 }
\ No newline at end of file
diff --git 
a/src/test/java/org/apache/sling/resource/collection/test/MockResource.java 
b/src/test/java/org/apache/sling/resource/collection/test/MockResource.java
deleted file mode 100755
index 74595d8..0000000
--- a/src/test/java/org/apache/sling/resource/collection/test/MockResource.java
+++ /dev/null
@@ -1,105 +0,0 @@
-/*
- * 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.
- */
-package org.apache.sling.resource.collection.test;
-
-import org.apache.sling.api.resource.ModifiableValueMap;
-import org.apache.sling.api.resource.ResourceResolver;
-import org.apache.sling.api.resource.SyntheticResource;
-import org.apache.sling.api.resource.ValueMap;
-import org.apache.sling.api.wrappers.ModifiableValueMapDecorator;
-import org.apache.sling.api.wrappers.ValueMapDecorator;
-
-import java.util.HashMap;
-import java.util.Map;
-
-public class MockResource extends SyntheticResource {
-
-    private String resourceType;
-    private String resourceSuperType;
-    private Map<String,Object> properties = new HashMap<String,Object>();
-
-    public MockResource(ResourceResolver resourceResolver, String path,
-            String resourceType) {
-        this(resourceResolver, path, resourceType, null);
-    }
-
-    public MockResource(ResourceResolver resourceResolver, String path,
-            String resourceType, String resourceSuperType) {
-        super(resourceResolver, path, resourceType);
-
-        ((MockResourceResolver)resourceResolver).addResource(this);
-        setResourceType(resourceType);
-        setResourceSuperType(resourceSuperType);
-    }
-
-    public void addProperty(String key, Object value){
-        this.properties.put(key,value);
-    }
-
-    public Map<String,Object> getProperties(){
-        return this.properties;
-    }
-
-    @Override
-    public String getResourceType() {
-        return resourceType;
-    }
-
-    public void setResourceType(String resourceType) {
-        this.resourceType = resourceType;
-    }
-
-    @Override
-    public String getResourceSuperType() {
-        return resourceSuperType;
-    }
-
-    public void setResourceSuperType(String resourceSuperType) {
-        this.resourceSuperType = resourceSuperType;
-    }
-
-    @SuppressWarnings("unchecked")
-    public <AdapterType> AdapterType adaptTo(Class<AdapterType> type) {
-        if (type == ValueMap.class) {
-            ValueMap map = new ValueMapDecorator(new HashMap<String, 
Object>());
-            if (resourceType != null) {
-                map.put("resourceType", resourceType);
-            }
-            if (resourceSuperType != null) {
-                map.put("resourceSuperType", resourceSuperType);
-            }
-            for (String key : this.properties.keySet()) {
-                map.put(key,this.properties.get(key));
-            }
-            return (AdapterType) map;
-        }
-        
-        if (type == ModifiableValueMap.class) {
-               ModifiableValueMap map = new 
ModifiableValueMapDecorator(this.properties);
-            if (resourceType != null) {
-                map.put("resourceType", resourceType);
-            }
-            if (resourceSuperType != null) {
-                map.put("resourceSuperType", resourceSuperType);
-            }
-            return (AdapterType) map;
-        }
-        throw new UnsupportedOperationException("AdaptTo " + 
type.getSimpleName() + " not implemented");
-    }
-}
diff --git 
a/src/test/java/org/apache/sling/resource/collection/test/MockResourceResolver.java
 
b/src/test/java/org/apache/sling/resource/collection/test/MockResourceResolver.java
deleted file mode 100755
index 741a657..0000000
--- 
a/src/test/java/org/apache/sling/resource/collection/test/MockResourceResolver.java
+++ /dev/null
@@ -1,249 +0,0 @@
-/*
- * 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.
- */
-package org.apache.sling.resource.collection.test;
-
-import java.util.Collection;
-import java.util.Iterator;
-import java.util.LinkedHashMap;
-import java.util.Map;
-import java.util.NoSuchElementException;
-
-import javax.servlet.http.HttpServletRequest;
-
-import org.apache.sling.api.resource.LoginException;
-import org.apache.sling.api.resource.PersistenceException;
-import org.apache.sling.api.resource.Resource;
-import org.apache.sling.api.resource.ResourceResolver;
-import org.apache.sling.jcr.resource.JcrResourceConstants;
-
-public class MockResourceResolver implements ResourceResolver {
-
-    private String[] searchPath;
-
-    private Map<String, Resource> resources = new LinkedHashMap<String, 
Resource>();
-
-    private Map<String, Collection<Resource>> children = new 
LinkedHashMap<String, Collection<Resource>>();
-
-    void addResource(Resource resource) {
-        this.resources.put(resource.getPath(), resource);
-    }
-
-    public void addChildren(Resource parent, Collection<Resource> children) {
-        this.children.put(parent.getPath(), children);
-    }
-
-    public Resource resolve(HttpServletRequest request) {
-        throw new UnsupportedOperationException("Not implemented");
-
-    }
-
-    public Resource resolve(String absPath) {
-        throw new UnsupportedOperationException("Not implemented");
-
-    }
-
-    public String map(String resourcePath) {
-        return resourcePath;   // a rather simplistic 1:1 map...
-
-    }
-
-    public Resource getResource(String path) {
-        return resources.get(path);
-    }
-
-    public Resource getResource(Resource base, String path) {
-        if (!path.startsWith("/")) {
-            path = base.getPath() + "/" + path;
-        }
-        return getResource(path);
-    }
-
-    public String[] getSearchPath() {
-        return searchPath.clone();
-
-    }
-
-    public Iterator<Resource> listChildren(final Resource parent) {
-        Collection<Resource> childCollection = children.get(parent.getPath());
-        if (childCollection != null) {
-            return childCollection.iterator();
-        }
-
-        return new Iterator<Resource>() {
-            final String parentPath = parent.getPath() + "/";
-
-            final Iterator<Resource> elements = resources.values().iterator();
-
-            Resource nextResource = seek();
-
-            public boolean hasNext() {
-                return nextResource != null;
-            }
-
-            public Resource next() {
-                if (!hasNext()) {
-                    throw new NoSuchElementException();
-                }
-
-                Resource result = nextResource;
-                nextResource = seek();
-                return result;
-            }
-
-            public void remove() {
-                throw new UnsupportedOperationException();
-            }
-
-            private Resource seek() {
-                while (elements.hasNext()) {
-                    Resource next = elements.next();
-                    String path = next.getPath();
-                    if (path.startsWith(parentPath)
-                        && path.indexOf('/', parentPath.length()) < 0) {
-                        return next;
-                    }
-                }
-                return null;
-            }
-        };
-    }
-
-    public Iterator<Resource> findResources(String query, String language) {
-        throw new UnsupportedOperationException("Not implemented");
-
-    }
-
-    public Iterator<Map<String, Object>> queryResources(String query,
-            String language) {
-        throw new UnsupportedOperationException("Not implemented");
-
-    }
-
-    public <AdapterType> AdapterType adaptTo(Class<AdapterType> type) {
-        throw new UnsupportedOperationException("Not implemented");
-
-    }
-
-    public void setSearchPath(String... searchPath) {
-        if (searchPath == null) {
-            this.searchPath = new String[0];
-        } else {
-            this.searchPath = new String[searchPath.length];
-            for (int i=0; i < searchPath.length; i++) {
-                String entry = searchPath[i];
-                if (!entry.endsWith("/")) {
-                    entry = entry.concat("/");
-                }
-                this.searchPath[i] = entry;
-            }
-        }
-    }
-
-    public String map(HttpServletRequest request, String resourcePath) {
-               return request.getContextPath() + resourcePath;
-    }
-
-    public Resource resolve(HttpServletRequest request, String absPath) {
-        throw new UnsupportedOperationException("Not implemented");
-    }
-
-    public void close() {
-        // nothing to do
-    }
-
-    public String getUserID() {
-        return null;
-    }
-
-    public boolean isLive() {
-        return true;
-    }
-
-    public ResourceResolver clone(Map<String, Object> authenticationInfo)
-    throws LoginException {
-        // TODO Auto-generated method stub
-        return null;
-    }
-
-    public Object getAttribute(String name) {
-        // TODO Auto-generated method stub
-        return null;
-    }
-
-    public Iterator<String> getAttributeNames() {
-        // TODO Auto-generated method stub
-        return null;
-    }
-
-       public void commit() throws PersistenceException {
-               // TODO Auto-generated method stub
-               
-       }
-
-       public Resource create(Resource arg0, String arg1, Map<String, Object> 
arg2)
-                       throws PersistenceException {
-               String superType = "SuperType";
-               String resType = "ResType";
-               
-               if (arg2 != null) {
-                       if 
(arg2.containsKey(JcrResourceConstants.SLING_RESOURCE_SUPER_TYPE_PROPERTY)) {
-                               superType = (String) 
arg2.remove(JcrResourceConstants.SLING_RESOURCE_SUPER_TYPE_PROPERTY);
-                       }
-                       
-                       if 
(arg2.containsKey(JcrResourceConstants.SLING_RESOURCE_TYPE_PROPERTY)) {
-                               resType = (String) 
arg2.remove(JcrResourceConstants.SLING_RESOURCE_TYPE_PROPERTY);
-                       }
-               }
-               
-               String resourcePath = arg0.getPath();
-               if (arg0.getPath().equals("/")) {
-                       resourcePath = resourcePath + arg1;
-               } else {
-                       resourcePath = resourcePath + "/" + arg1;
-               }
-               MockResource resource = new MockResource(this, resourcePath, 
resType, superType);
-               if (arg2 != null) {
-                       for (String key: arg2.keySet()) {
-                               resource.addProperty(key, arg2.get(key));
-                       }
-               }
-               this.resources.put(resource.getPath(), resource);
-               return resource;
-       }
-
-       public void delete(Resource arg0) throws PersistenceException {
-               // TODO Auto-generated method stub
-       }
-
-       public Iterable<Resource> getChildren(Resource arg0) {
-               // TODO Auto-generated method stub
-               return null;
-       }
-
-       public boolean hasChanges() {
-               // TODO Auto-generated method stub
-               return false;
-       }
-
-       public void revert() {
-               // TODO Auto-generated method stub
-               
-       }
-}
-

-- 
To stop receiving notification emails like this one, please contact
"[email protected]" <[email protected]>.

Reply via email to