Author: cziegeler
Date: Tue May 29 09:29:10 2012
New Revision: 1343621
URL: http://svn.apache.org/viewvc?rev=1343621&view=rev
Log:
SLING-2396 : Add new resource provider interfaces (WiP)
Removed:
sling/whiteboard/SLING-2396/resourceresolver/src/test/java/org/apache/sling/jcr/resource/internal/JcrResourceResolverTest.java
Modified:
sling/whiteboard/SLING-2396/resourceresolver/pom.xml
sling/whiteboard/SLING-2396/resourceresolver/src/test/java/org/apache/sling/resourceresolver/impl/helper/ResourceProviderEntryTest.java
Modified: sling/whiteboard/SLING-2396/resourceresolver/pom.xml
URL:
http://svn.apache.org/viewvc/sling/whiteboard/SLING-2396/resourceresolver/pom.xml?rev=1343621&r1=1343620&r2=1343621&view=diff
==============================================================================
--- sling/whiteboard/SLING-2396/resourceresolver/pom.xml (original)
+++ sling/whiteboard/SLING-2396/resourceresolver/pom.xml Tue May 29 09:29:10
2012
@@ -159,5 +159,11 @@
<version>1.4</version>
<scope>test</scope>
</dependency>
+ <dependency>
+ <groupId>org.apache.felix</groupId>
+ <artifactId>org.apache.felix.framework</artifactId>
+ <version>3.0.8</version>
+ <scope>test</scope>
+ </dependency>
</dependencies>
</project>
Modified:
sling/whiteboard/SLING-2396/resourceresolver/src/test/java/org/apache/sling/resourceresolver/impl/helper/ResourceProviderEntryTest.java
URL:
http://svn.apache.org/viewvc/sling/whiteboard/SLING-2396/resourceresolver/src/test/java/org/apache/sling/resourceresolver/impl/helper/ResourceProviderEntryTest.java?rev=1343621&r1=1343620&r2=1343621&view=diff
==============================================================================
---
sling/whiteboard/SLING-2396/resourceresolver/src/test/java/org/apache/sling/resourceresolver/impl/helper/ResourceProviderEntryTest.java
(original)
+++
sling/whiteboard/SLING-2396/resourceresolver/src/test/java/org/apache/sling/resourceresolver/impl/helper/ResourceProviderEntryTest.java
Tue May 29 09:29:10 2012
@@ -20,6 +20,7 @@ package org.apache.sling.resourceresolve
import java.util.Arrays;
import java.util.Collections;
+import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
@@ -32,6 +33,7 @@ import org.apache.sling.api.resource.Res
import org.apache.sling.api.resource.ResourceMetadata;
import org.apache.sling.api.resource.ResourceProvider;
import org.apache.sling.api.resource.ResourceResolver;
+import org.osgi.framework.Constants;
public class ResourceProviderEntryTest extends TestCase {
@@ -44,7 +46,9 @@ public class ResourceProviderEntryTest e
super.setUp();
rootProvider = new TestResourceProvider("/");
- root = new ResourceProviderEntry("/", new ResourceProvider[]{
rootProvider});
+ final Map<String, Object> props = new HashMap<String, Object>();
+ props.put(Constants.SERVICE_ID, "the.root");
+ root = new ResourceProviderEntry("/", new WrappedResourceProvider[]{
new WrappedResourceProvider(rootProvider, props)});
}
@Override
@@ -53,29 +57,31 @@ public class ResourceProviderEntryTest e
}
public void testRootProvider() {
- assertNull(root.getResource(null, "relpath"));
- assertEquals(root, root.getResource(null, "/"));
- assertEquals(root, root.getResource(null, "/rootel"));
- assertEquals(root, root.getResource(null, "/rootel/child"));
- assertEquals(root, root.getResource(null,
"/apps/sling/sample/html.js"));
- assertEquals(root, root.getResource(null,
+ assertNull(root.getResource(null, null, "relpath"));
+ assertEquals(root, root.getResource(null, null, "/"));
+ assertEquals(root, root.getResource(null, null, "/rootel"));
+ assertEquals(root, root.getResource(null, null, "/rootel/child"));
+ assertEquals(root, root.getResource(null, null,
"/apps/sling/sample/html.js"));
+ assertEquals(root, root.getResource(null, null,
"/apps/sling/microsling/html.js"));
}
public void testAdd1Provider() {
String firstPath = "/rootel";
ResourceProvider first = new TestResourceProvider(firstPath);
- root.addResourceProvider(firstPath, first, null);
+ final Map<String, Object> firstProps = new HashMap<String, Object>();
+ firstProps.put(Constants.SERVICE_ID, "first");
+ root.addResourceProvider(firstPath, new WrappedResourceProvider(first,
firstProps));
- assertEquals(root, root.getResource(null, "/"));
- assertEquals(first, root.getResource(null, "/rootel"));
- assertEquals(first, root.getResource(null, "/rootel/html.js"));
- assertEquals(first, root.getResource(null, "/rootel/child"));
- assertEquals(first, root.getResource(null, "/rootel/child/html.js"));
- assertEquals(rootProvider, root.getResource(null,
+ assertEquals(root, root.getResource(null, null, "/"));
+ assertEquals(first, root.getResource(null, null, "/rootel"));
+ assertEquals(first, root.getResource(null, null, "/rootel/html.js"));
+ assertEquals(first, root.getResource(null, null, "/rootel/child"));
+ assertEquals(first, root.getResource(null, null,
"/rootel/child/html.js"));
+ assertEquals(rootProvider, root.getResource(null, null,
"/apps/sling/sample/html.js"));
- assertEquals(rootProvider, root.getResource(null,
+ assertEquals(rootProvider, root.getResource(null, null,
"/apps/sling/microsling/html.js"));
}
@@ -87,21 +93,26 @@ public class ResourceProviderEntryTest e
ResourceProvider first = new TestResourceProvider(firstPath);
ResourceProvider second = new TestResourceProvider(secondPath);
ResourceProvider third = new TestResourceProvider(thirdPath);
-
- root.addResourceProvider(firstPath, first, null);
- root.addResourceProvider(secondPath, second, null);
- root.addResourceProvider(thirdPath, third, null);
-
-
-
- assertEquals(rootProvider, root.getResource(null, "/"));
- assertEquals(first, root.getResource(null, "/rootel"));
- assertEquals(first, root.getResource(null, "/rootel/html.js"));
- assertEquals(second, root.getResource(null, "/rootel/child"));
- assertEquals(second, root.getResource(null, "/rootel/child/html.js"));
+ final Map<String, Object> firstProps = new HashMap<String, Object>();
+ firstProps.put(Constants.SERVICE_ID, "first");
+ final Map<String, Object> secondProps = new HashMap<String, Object>();
+ secondProps.put(Constants.SERVICE_ID, "second");
+ final Map<String, Object> thirdProps = new HashMap<String, Object>();
+ thirdProps.put(Constants.SERVICE_ID, "third");
+
+ root.addResourceProvider(firstPath, new WrappedResourceProvider(first,
firstProps));
+ root.addResourceProvider(secondPath, new
WrappedResourceProvider(second, secondProps));
+ root.addResourceProvider(thirdPath, new WrappedResourceProvider(third,
thirdProps));
+
+
+ assertEquals(rootProvider, root.getResource(null, null, "/"));
+ assertEquals(first, root.getResource(null, null, "/rootel"));
+ assertEquals(first, root.getResource(null, null, "/rootel/html.js"));
+ assertEquals(second, root.getResource(null, null, "/rootel/child"));
+ assertEquals(second, root.getResource(null, null,
"/rootel/child/html.js"));
assertEquals(third,
- root.getResource(null, "/apps/sling/sample/html.js"));
- Resource resource = root.getResource(null,
+ root.getResource(null, null, "/apps/sling/sample/html.js"));
+ Resource resource = root.getResource(null, null,
"/apps/sling/microsling/html.js");
assertEquals(rootProvider, resource);
}
@@ -114,19 +125,25 @@ public class ResourceProviderEntryTest e
ResourceProvider first = new TestResourceProvider(firstPath);
ResourceProvider second = new TestResourceProvider(secondPath);
ResourceProvider third = new TestResourceProvider(thirdPath);
-
- root.addResourceProvider(thirdPath, third, null);
- root.addResourceProvider(secondPath, second, null);
- root.addResourceProvider(firstPath, first, null);
-
- assertEquals(rootProvider, root.getResource(null, "/"));
- assertEquals(first, root.getResource(null, "/rootel"));
- assertEquals(first, root.getResource(null, "/rootel/html.js"));
- assertEquals(second, root.getResource(null, "/rootel/child"));
- assertEquals(second, root.getResource(null, "/rootel/child/html.js"));
+ final Map<String, Object> firstProps = new HashMap<String, Object>();
+ firstProps.put(Constants.SERVICE_ID, "first");
+ final Map<String, Object> secondProps = new HashMap<String, Object>();
+ secondProps.put(Constants.SERVICE_ID, "second");
+ final Map<String, Object> thirdProps = new HashMap<String, Object>();
+ thirdProps.put(Constants.SERVICE_ID, "third");
+
+ root.addResourceProvider(firstPath, new WrappedResourceProvider(first,
firstProps));
+ root.addResourceProvider(secondPath, new
WrappedResourceProvider(second, secondProps));
+ root.addResourceProvider(thirdPath, new WrappedResourceProvider(third,
thirdProps));
+
+ assertEquals(rootProvider, root.getResource(null, null, "/"));
+ assertEquals(first, root.getResource(null, null, "/rootel"));
+ assertEquals(first, root.getResource(null, null, "/rootel/html.js"));
+ assertEquals(second, root.getResource(null, null, "/rootel/child"));
+ assertEquals(second, root.getResource(null, null,
"/rootel/child/html.js"));
assertEquals(third,
- root.getResource(null, "/apps/sling/sample/html.js"));
- Resource resource = root.getResource(null,
+ root.getResource(null, null, "/apps/sling/sample/html.js"));
+ Resource resource = root.getResource(null, null,
"/apps/sling/microsling/html.js");
assertEquals(rootProvider, resource);
}
@@ -139,27 +156,33 @@ public class ResourceProviderEntryTest e
ResourceProvider first = new TestResourceProvider(firstPath);
ResourceProvider second = new TestResourceProvider(secondPath);
ResourceProvider third = new TestResourceProvider(thirdPath);
-
- root.addResourceProvider(firstPath, first, null);
- root.addResourceProvider(secondPath, second, null);
- root.addResourceProvider(thirdPath, third, null);
-
- assertEquals(rootProvider, root.getResource(null, "/"));
- assertEquals(first, root.getResource(null, "/rootel/html.js"));
- assertEquals(second, root.getResource(null, "/rootel/child/html.js"));
-
- root.removeResourceProvider(firstPath, first, null);
-
- assertEquals(rootProvider, root.getResource(null, "/"));
- assertEquals(rootProvider, root.getResource(null,
"/rootel/sddsf/sdfsdf/html.js"));
- assertEquals(rootProvider, root.getResource(null, "/rootel/html.js"));
- assertEquals(second, root.getResource(null, "/rootel/child/html.js"));
-
- root.addResourceProvider(firstPath, first, null);
-
- assertEquals(rootProvider, root.getResource(null, "/"));
- assertEquals(first, root.getResource(null, "/rootel/html.js"));
- assertEquals(second, root.getResource(null, "/rootel/child/html.js"));
+ final Map<String, Object> firstProps = new HashMap<String, Object>();
+ firstProps.put(Constants.SERVICE_ID, "first");
+ final Map<String, Object> secondProps = new HashMap<String, Object>();
+ secondProps.put(Constants.SERVICE_ID, "second");
+ final Map<String, Object> thirdProps = new HashMap<String, Object>();
+ thirdProps.put(Constants.SERVICE_ID, "third");
+
+ root.addResourceProvider(firstPath, new WrappedResourceProvider(first,
firstProps));
+ root.addResourceProvider(secondPath, new
WrappedResourceProvider(second, secondProps));
+ root.addResourceProvider(thirdPath, new WrappedResourceProvider(third,
thirdProps));
+
+ assertEquals(rootProvider, root.getResource(null, null, "/"));
+ assertEquals(first, root.getResource(null, null, "/rootel/html.js"));
+ assertEquals(second, root.getResource(null, null,
"/rootel/child/html.js"));
+
+ root.removeResourceProvider(firstPath, new
WrappedResourceProvider(first, firstProps));
+
+ assertEquals(rootProvider, root.getResource(null, null, "/"));
+ assertEquals(rootProvider, root.getResource(null, null,
"/rootel/sddsf/sdfsdf/html.js"));
+ assertEquals(rootProvider, root.getResource(null, null,
"/rootel/html.js"));
+ assertEquals(second, root.getResource(null, null,
"/rootel/child/html.js"));
+
+ root.addResourceProvider(firstPath, new WrappedResourceProvider(first,
firstProps));
+
+ assertEquals(rootProvider, root.getResource(null, null, "/"));
+ assertEquals(first, root.getResource(null, null, "/rootel/html.js"));
+ assertEquals(second, root.getResource(null, null,
"/rootel/child/html.js"));
}
protected void assertEquals(ResourceProvider resProvider, Resource res) {
@@ -168,8 +191,8 @@ public class ResourceProviderEntryTest e
protected void assertEquals(ResourceProviderEntry resProviderEntry,
Resource res) {
- ResourceProvider[] resourceProviders =
resProviderEntry.getResourceProviders();
- for ( ResourceProvider rp : resourceProviders ) {
+ AbstractWrappedResourceProvider[] resourceProviders =
resProviderEntry.getResourceProviders();
+ for ( AbstractWrappedResourceProvider rp : resourceProviders ) {
if ( rp.equals(res.getResourceResolver())) {
return;
}