You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by cz...@apache.org on 2009/09/29 14:51:37 UTC

svn commit: r819910 - in /sling/trunk/bundles/jcr/resource: ./ src/main/java/org/apache/sling/jcr/resource/ src/main/java/org/apache/sling/jcr/resource/internal/ src/main/java/org/apache/sling/jcr/resource/internal/helper/jcr/ src/test/java/org/apache/...

Author: cziegeler
Date: Tue Sep 29 12:51:37 2009
New Revision: 819910

URL: http://svn.apache.org/viewvc?rev=819910&view=rev
Log:
SLING-1126 : Add dynamic class loader support.

Modified:
    sling/trunk/bundles/jcr/resource/pom.xml
    sling/trunk/bundles/jcr/resource/src/main/java/org/apache/sling/jcr/resource/JcrModifiablePropertyMap.java
    sling/trunk/bundles/jcr/resource/src/main/java/org/apache/sling/jcr/resource/internal/JcrModifiablePropertyMap.java
    sling/trunk/bundles/jcr/resource/src/main/java/org/apache/sling/jcr/resource/internal/JcrPropertyMap.java
    sling/trunk/bundles/jcr/resource/src/main/java/org/apache/sling/jcr/resource/internal/JcrResourceResolver2.java
    sling/trunk/bundles/jcr/resource/src/main/java/org/apache/sling/jcr/resource/internal/JcrResourceResolverFactoryImpl.java
    sling/trunk/bundles/jcr/resource/src/main/java/org/apache/sling/jcr/resource/internal/helper/jcr/JcrNodeResource.java
    sling/trunk/bundles/jcr/resource/src/main/java/org/apache/sling/jcr/resource/internal/helper/jcr/JcrNodeResourceIterator.java
    sling/trunk/bundles/jcr/resource/src/main/java/org/apache/sling/jcr/resource/internal/helper/jcr/JcrResourceProvider.java
    sling/trunk/bundles/jcr/resource/src/main/java/org/apache/sling/jcr/resource/internal/helper/jcr/JcrResourceProviderEntry.java
    sling/trunk/bundles/jcr/resource/src/test/java/org/apache/sling/jcr/resource/internal/helper/JcrNodeResourceIteratorTest.java
    sling/trunk/bundles/jcr/resource/src/test/java/org/apache/sling/jcr/resource/internal/helper/jcr/JcrNodeResourceTest.java
    sling/trunk/bundles/jcr/resource/src/test/java/org/apache/sling/jcr/resource/internal/helper/jcr/MockResourceResolver.java

Modified: sling/trunk/bundles/jcr/resource/pom.xml
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/jcr/resource/pom.xml?rev=819910&r1=819909&r2=819910&view=diff
==============================================================================
--- sling/trunk/bundles/jcr/resource/pom.xml (original)
+++ sling/trunk/bundles/jcr/resource/pom.xml Tue Sep 29 12:51:37 2009
@@ -22,7 +22,7 @@
     <parent>
         <groupId>org.apache.sling</groupId>
         <artifactId>sling</artifactId>
-        <version>6</version>
+        <version>7</version>
         <relativePath>../../../parent/pom.xml</relativePath>
     </parent>
 
@@ -82,10 +82,6 @@
                             SLING-INF/nodetypes/vanitypath.cnd,
                             SLING-INF/nodetypes/mapping.cnd
                         </Sling-Nodetypes>
-
-                        <_versionpolicy>
-                            $${version;===;${@}}
-                        </_versionpolicy>
                     </instructions>
                 </configuration>
             </plugin>
@@ -106,11 +102,11 @@
     </reporting>
     <dependencies>
         <dependency>
-            <groupId>org.apache.felix</groupId>
+            <groupId>org.osgi</groupId>
             <artifactId>org.osgi.core</artifactId>
         </dependency>
         <dependency>
-            <groupId>org.apache.felix</groupId>
+            <groupId>org.osgi</groupId>
             <artifactId>org.osgi.compendium</artifactId>
         </dependency>
         <dependency>
@@ -132,6 +128,11 @@
             <groupId>org.slf4j</groupId>
             <artifactId>slf4j-api</artifactId>
         </dependency>
+        <dependency>
+            <groupId>org.apache.sling</groupId>
+            <artifactId>org.apache.sling.commons.classloader</artifactId>
+            <version>0.9.0-SNAPSHOT</version>
+        </dependency>
         
         <!--
             VirtualURL BidiMap, to be removed once JcrResourceResolver

Modified: sling/trunk/bundles/jcr/resource/src/main/java/org/apache/sling/jcr/resource/JcrModifiablePropertyMap.java
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/jcr/resource/src/main/java/org/apache/sling/jcr/resource/JcrModifiablePropertyMap.java?rev=819910&r1=819909&r2=819910&view=diff
==============================================================================
--- sling/trunk/bundles/jcr/resource/src/main/java/org/apache/sling/jcr/resource/JcrModifiablePropertyMap.java (original)
+++ sling/trunk/bundles/jcr/resource/src/main/java/org/apache/sling/jcr/resource/JcrModifiablePropertyMap.java Tue Sep 29 12:51:37 2009
@@ -31,7 +31,16 @@
      * Constructor
      * @param node The underlying node.
      */
-    public JcrModifiablePropertyMap(Node node) {
+    public JcrModifiablePropertyMap(final Node node) {
         super(node);
     }
+
+    /**
+     * Constructor
+     * @param node The underlying node.
+     * @param dynamicCL Dynamic class loader for loading serialized objects.
+     */
+    public JcrModifiablePropertyMap(final Node node, final ClassLoader dynamicCL) {
+        super(node, dynamicCL);
+    }
 }

Modified: sling/trunk/bundles/jcr/resource/src/main/java/org/apache/sling/jcr/resource/internal/JcrModifiablePropertyMap.java
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/jcr/resource/src/main/java/org/apache/sling/jcr/resource/internal/JcrModifiablePropertyMap.java?rev=819910&r1=819909&r2=819910&view=diff
==============================================================================
--- sling/trunk/bundles/jcr/resource/src/main/java/org/apache/sling/jcr/resource/internal/JcrModifiablePropertyMap.java (original)
+++ sling/trunk/bundles/jcr/resource/src/main/java/org/apache/sling/jcr/resource/internal/JcrModifiablePropertyMap.java Tue Sep 29 12:51:37 2009
@@ -41,8 +41,12 @@
     /** Set of removed and changed properties. */
     private Set<String> changedProperties;
 
-    public JcrModifiablePropertyMap(Node node) {
-        super(node);
+    public JcrModifiablePropertyMap(final Node node) {
+        this(node, null);
+    }
+
+    public JcrModifiablePropertyMap(final Node node, final ClassLoader dynamicCL) {
+        super(node, dynamicCL);
     }
 
     // ---------- Map

Modified: sling/trunk/bundles/jcr/resource/src/main/java/org/apache/sling/jcr/resource/internal/JcrPropertyMap.java
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/jcr/resource/src/main/java/org/apache/sling/jcr/resource/internal/JcrPropertyMap.java?rev=819910&r1=819909&r2=819910&view=diff
==============================================================================
--- sling/trunk/bundles/jcr/resource/src/main/java/org/apache/sling/jcr/resource/internal/JcrPropertyMap.java (original)
+++ sling/trunk/bundles/jcr/resource/src/main/java/org/apache/sling/jcr/resource/internal/JcrPropertyMap.java Tue Sep 29 12:51:37 2009
@@ -70,15 +70,26 @@
     /** Has the node been read completly? */
     boolean fullyRead;
 
+    private final ClassLoader dynamicClassLoader;
+
     /**
      * Constructor
      * @param node The underlying node.
      */
     public JcrPropertyMap(final Node node) {
+        this(node, null);
+    }
+
+    /**
+     * Constructor
+     * @param node The underlying node.
+     */
+    public JcrPropertyMap(final Node node, final ClassLoader dynamicCL) {
         this.node = node;
         this.cache = new LinkedHashMap<String, CacheEntry>();
         this.valueCache = new LinkedHashMap<String, Object>();
         this.fullyRead = false;
+        this.dynamicClassLoader = dynamicCL;
     }
 
     /**
@@ -400,7 +411,7 @@
                 && jcrValue.getType() == PropertyType.BINARY) {
             ObjectInputStream ois = null;
             try {
-                ois = new ObjectInputStream(jcrValue.getStream(), null);
+                ois = new ObjectInputStream(jcrValue.getStream(), this.dynamicClassLoader);
                 final Object obj = ois.readObject();
                 if ( type.isInstance(obj) ) {
                     return (T)obj;

Modified: sling/trunk/bundles/jcr/resource/src/main/java/org/apache/sling/jcr/resource/internal/JcrResourceResolver2.java
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/jcr/resource/src/main/java/org/apache/sling/jcr/resource/internal/JcrResourceResolver2.java?rev=819910&r1=819909&r2=819910&view=diff
==============================================================================
--- sling/trunk/bundles/jcr/resource/src/main/java/org/apache/sling/jcr/resource/internal/JcrResourceResolver2.java (original)
+++ sling/trunk/bundles/jcr/resource/src/main/java/org/apache/sling/jcr/resource/internal/JcrResourceResolver2.java Tue Sep 29 12:51:37 2009
@@ -469,7 +469,7 @@
             QueryResult res = JcrResourceUtil.query(getSession(), query,
                 language);
             return new JcrNodeResourceIterator(this, res.getNodes(),
-                rootProvider.getResourceTypeProviders());
+                rootProvider.getResourceTypeProviders(), factory.getDynamicClassLoader());
         } catch (javax.jcr.query.InvalidQueryException iqe) {
             throw new QuerySyntaxException(iqe.getMessage(), query, language,
                 iqe);

Modified: sling/trunk/bundles/jcr/resource/src/main/java/org/apache/sling/jcr/resource/internal/JcrResourceResolverFactoryImpl.java
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/jcr/resource/src/main/java/org/apache/sling/jcr/resource/internal/JcrResourceResolverFactoryImpl.java?rev=819910&r1=819909&r2=819910&view=diff
==============================================================================
--- sling/trunk/bundles/jcr/resource/src/main/java/org/apache/sling/jcr/resource/internal/JcrResourceResolverFactoryImpl.java (original)
+++ sling/trunk/bundles/jcr/resource/src/main/java/org/apache/sling/jcr/resource/internal/JcrResourceResolverFactoryImpl.java Tue Sep 29 12:51:37 2009
@@ -35,6 +35,7 @@
 import org.apache.sling.api.SlingConstants;
 import org.apache.sling.api.resource.ResourceProvider;
 import org.apache.sling.api.resource.ResourceResolver;
+import org.apache.sling.commons.classloader.DynamicClassLoaderManager;
 import org.apache.sling.commons.osgi.OsgiUtil;
 import org.apache.sling.jcr.api.SlingRepository;
 import org.apache.sling.jcr.resource.JcrResourceResolverFactory;
@@ -205,6 +206,10 @@
      */
     private ServiceTracker eventAdminTracker;
 
+    /** The dynamic class loader
+     * @scr.reference */
+    private DynamicClassLoaderManager dynamicClassLoaderManager;
+
     public JcrResourceResolverFactoryImpl() {
         this.rootProviderEntry = new ResourceProviderEntry("/", null, null);
     }
@@ -217,7 +222,8 @@
      */
     public ResourceResolver getResourceResolver(Session session) {
         JcrResourceProviderEntry sessionRoot = new JcrResourceProviderEntry(
-            session, rootProviderEntry, getJcrResourceTypeProviders());
+            session, rootProviderEntry, getJcrResourceTypeProviders(),
+            this.getDynamicClassLoader());
 
         return new JcrResourceResolver2(sessionRoot, this, mapEntries);
     }
@@ -228,6 +234,15 @@
 
     // ---------- Implementation helpers --------------------------------------
 
+    /** Get the dynamic class loader if available */
+    ClassLoader getDynamicClassLoader() {
+        final DynamicClassLoaderManager dclm = this.dynamicClassLoaderManager;
+        if ( dclm != null ) {
+            return dclm.getDynamicClassLoader();
+        }
+        return null;
+    }
+
     /** If uri is a virtual URI returns the real URI, otherwise returns null */
     String virtualToRealUri(String virtualUri) {
         return (virtualURLMap != null)

Modified: sling/trunk/bundles/jcr/resource/src/main/java/org/apache/sling/jcr/resource/internal/helper/jcr/JcrNodeResource.java
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/jcr/resource/src/main/java/org/apache/sling/jcr/resource/internal/helper/jcr/JcrNodeResource.java?rev=819910&r1=819909&r2=819910&view=diff
==============================================================================
--- sling/trunk/bundles/jcr/resource/src/main/java/org/apache/sling/jcr/resource/internal/helper/jcr/JcrNodeResource.java (original)
+++ sling/trunk/bundles/jcr/resource/src/main/java/org/apache/sling/jcr/resource/internal/helper/jcr/JcrNodeResource.java Tue Sep 29 12:51:37 2009
@@ -67,10 +67,23 @@
 
     protected String resourceSuperType;
 
-    public JcrNodeResource(ResourceResolver resourceResolver, Node node,
-            JcrResourceTypeProvider[] resourceTypeProviders)
-            throws RepositoryException {
+    private final ClassLoader dynamicClassLoader;
+
+    /**
+     * Constructor
+     * @param resourceResolver
+     * @param node
+     * @param resourceTypeProviders
+     * @param dynamicClassLoader Dynamic class loader for loading serialized objects.
+     * @throws RepositoryException
+     */
+    public JcrNodeResource(final ResourceResolver resourceResolver,
+                           final Node node,
+                           final JcrResourceTypeProvider[] resourceTypeProviders,
+                           final ClassLoader dynamicClassLoader)
+    throws RepositoryException {
         super(resourceResolver, node.getPath(), resourceTypeProviders);
+        this.dynamicClassLoader = dynamicClassLoader;
         this.node = node;
         resourceType = getResourceTypeForNode(node);
         resourceSuperType = UNSET_RESOURCE_SUPER_TYPE;
@@ -114,7 +127,7 @@
             try {
                 getNode().getSession().checkPermission(getNode().getPath(),
                     "set_property");
-                return (Type) new JcrModifiablePropertyMap(getNode());
+                return (Type) new JcrModifiablePropertyMap(getNode(), this.dynamicClassLoader);
             } catch (AccessControlException ace) {
                 // the user has no write permission, cannot adapt
                 log.info(
@@ -133,9 +146,9 @@
     }
 
     public String toString() {
-        return getClass().getSimpleName() 
+        return getClass().getSimpleName()
         	+ ", type=" + getResourceType()
-        	+ ", superType=" + ResourceUtil.findResourceSuperType(this) 
+        	+ ", superType=" + ResourceUtil.findResourceSuperType(this)
             + ", path=" + getPath();
     }
 
@@ -223,7 +236,7 @@
         try {
             if (getNode().hasNodes()) {
                 return new JcrNodeResourceIterator(getResourceResolver(),
-                    getNode().getNodes(), this.resourceTypeProviders);
+                    getNode().getNodes(), this.resourceTypeProviders, this.dynamicClassLoader);
             }
         } catch (RepositoryException re) {
             log.error("listChildren: Cannot get children of " + this, re);
@@ -255,11 +268,11 @@
 
             if (node.hasProperty(JCR_LASTMODIFIED)) {
                 // We don't check node type, so JCR_LASTMODIFIED might not be a long
-                final Property prop = node.getProperty(JCR_LASTMODIFIED); 
+                final Property prop = node.getProperty(JCR_LASTMODIFIED);
                 try {
                     metadata.setModificationTime(prop.getLong());
                 } catch(ValueFormatException vfe) {
-                    log.info("Property {} cannot be converted to a long, ignored ({})", 
+                    log.info("Property {} cannot be converted to a long, ignored ({})",
                             prop.getPath(), vfe);
                 }
             }

Modified: sling/trunk/bundles/jcr/resource/src/main/java/org/apache/sling/jcr/resource/internal/helper/jcr/JcrNodeResourceIterator.java
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/jcr/resource/src/main/java/org/apache/sling/jcr/resource/internal/helper/jcr/JcrNodeResourceIterator.java?rev=819910&r1=819909&r2=819910&view=diff
==============================================================================
--- sling/trunk/bundles/jcr/resource/src/main/java/org/apache/sling/jcr/resource/internal/helper/jcr/JcrNodeResourceIterator.java (original)
+++ sling/trunk/bundles/jcr/resource/src/main/java/org/apache/sling/jcr/resource/internal/helper/jcr/JcrNodeResourceIterator.java Tue Sep 29 12:51:37 2009
@@ -51,16 +51,21 @@
 
     private final JcrResourceTypeProvider[] resourceTypeProviders;
 
+    private final ClassLoader dynamicClassLoader;
+
     /**
      * Creates an instance using the given resource manager and the nodes
      * provided as a node iterator.
      */
-    public JcrNodeResourceIterator(ResourceResolver resourceResolver,
-            NodeIterator nodes, JcrResourceTypeProvider[] resourceTypeProviders) {
+    public JcrNodeResourceIterator(final ResourceResolver resourceResolver,
+                                   final NodeIterator nodes,
+                                   final JcrResourceTypeProvider[] resourceTypeProviders,
+                                   final ClassLoader dynamicClassLoader) {
         this.resourceResolver = resourceResolver;
         this.nodes = nodes;
         this.resourceTypeProviders = resourceTypeProviders;
         this.nextResult = seek();
+        this.dynamicClassLoader = dynamicClassLoader;
     }
 
     public boolean hasNext() {
@@ -89,7 +94,7 @@
         while (nodes.hasNext()) {
             try {
                 Resource resource = new JcrNodeResource(resourceResolver,
-                    nodes.nextNode(), resourceTypeProviders);
+                    nodes.nextNode(), resourceTypeProviders, dynamicClassLoader);
                 log.debug("seek: Returning Resource {}", resource);
                 return resource;
             } catch (Throwable t) {

Modified: sling/trunk/bundles/jcr/resource/src/main/java/org/apache/sling/jcr/resource/internal/helper/jcr/JcrResourceProvider.java
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/jcr/resource/src/main/java/org/apache/sling/jcr/resource/internal/helper/jcr/JcrResourceProvider.java?rev=819910&r1=819909&r2=819910&view=diff
==============================================================================
--- sling/trunk/bundles/jcr/resource/src/main/java/org/apache/sling/jcr/resource/internal/helper/jcr/JcrResourceProvider.java (original)
+++ sling/trunk/bundles/jcr/resource/src/main/java/org/apache/sling/jcr/resource/internal/helper/jcr/JcrResourceProvider.java Tue Sep 29 12:51:37 2009
@@ -48,10 +48,14 @@
 
     private final Session session;
     private final JcrResourceTypeProvider[] resourceTypeProviders;
+    private final ClassLoader dynamicClassLoader;
 
-    public JcrResourceProvider(Session session, JcrResourceTypeProvider[] resourceTypeProviders) {
+    public JcrResourceProvider(final Session session,
+                               final JcrResourceTypeProvider[] resourceTypeProviders,
+                               final ClassLoader dynamicClassLoader) {
         this.session = session;
         this.resourceTypeProviders = resourceTypeProviders;
+        this.dynamicClassLoader = dynamicClassLoader;
     }
 
     // ---------- ResourceProvider interface ----------------------------------
@@ -130,7 +134,7 @@
                 log.debug(
                     "createResource: Found JCR Node Resource at path '{}'",
                     path);
-                return new JcrNodeResource(resourceResolver, (Node) item, resourceTypeProviders);
+                return new JcrNodeResource(resourceResolver, (Node) item, resourceTypeProviders, dynamicClassLoader);
             }
 
             log.debug(

Modified: sling/trunk/bundles/jcr/resource/src/main/java/org/apache/sling/jcr/resource/internal/helper/jcr/JcrResourceProviderEntry.java
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/jcr/resource/src/main/java/org/apache/sling/jcr/resource/internal/helper/jcr/JcrResourceProviderEntry.java?rev=819910&r1=819909&r2=819910&view=diff
==============================================================================
--- sling/trunk/bundles/jcr/resource/src/main/java/org/apache/sling/jcr/resource/internal/helper/jcr/JcrResourceProviderEntry.java (original)
+++ sling/trunk/bundles/jcr/resource/src/main/java/org/apache/sling/jcr/resource/internal/helper/jcr/JcrResourceProviderEntry.java Tue Sep 29 12:51:37 2009
@@ -31,11 +31,12 @@
     private final Session session;
 
     private final JcrResourceTypeProvider[] resourceTypeProviders;
-    
+
     public JcrResourceProviderEntry(Session session,
                                     ResourceProviderEntry delegatee,
-                                    JcrResourceTypeProvider[] resourceTypeProviders) {
-        super("/", new JcrResourceProvider(session, resourceTypeProviders), null);
+                                    JcrResourceTypeProvider[] resourceTypeProviders,
+                                    final ClassLoader dynamicClassLoader) {
+        super("/", new JcrResourceProvider(session, resourceTypeProviders, dynamicClassLoader), null);
 
         this.delegatee = delegatee;
         this.session = session;
@@ -49,7 +50,7 @@
     public JcrResourceTypeProvider[] getResourceTypeProviders() {
         return resourceTypeProviders;
     }
-    
+
     @Override
     public ResourceProviderEntry[] getEntries() {
         return delegatee.getEntries();
@@ -59,7 +60,7 @@
     public boolean addResourceProvider(String prefix, ResourceProvider provider) {
         return delegatee.addResourceProvider(prefix, provider);
     }
-    
+
     @Override
     public boolean removeResourceProvider(String prefix) {
         return delegatee.removeResourceProvider(prefix);

Modified: sling/trunk/bundles/jcr/resource/src/test/java/org/apache/sling/jcr/resource/internal/helper/JcrNodeResourceIteratorTest.java
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/jcr/resource/src/test/java/org/apache/sling/jcr/resource/internal/helper/JcrNodeResourceIteratorTest.java?rev=819910&r1=819909&r2=819910&view=diff
==============================================================================
--- sling/trunk/bundles/jcr/resource/src/test/java/org/apache/sling/jcr/resource/internal/helper/JcrNodeResourceIteratorTest.java (original)
+++ sling/trunk/bundles/jcr/resource/src/test/java/org/apache/sling/jcr/resource/internal/helper/JcrNodeResourceIteratorTest.java Tue Sep 29 12:51:37 2009
@@ -35,7 +35,7 @@
 
     public void testEmpty() {
         NodeIterator ni = new MockNodeIterator(null);
-        JcrNodeResourceIterator ri = new JcrNodeResourceIterator(null, ni, null);
+        JcrNodeResourceIterator ri = new JcrNodeResourceIterator(null, ni, null, null);
 
         assertFalse(ri.hasNext());
 
@@ -51,7 +51,7 @@
         String path = "/parent/path/node";
         Node node = new MockNode(path);
         NodeIterator ni = new MockNodeIterator(new Node[] { node });
-        JcrNodeResourceIterator ri = new JcrNodeResourceIterator(null, ni, null);
+        JcrNodeResourceIterator ri = new JcrNodeResourceIterator(null, ni, null, null);
 
         assertTrue(ri.hasNext());
         Resource res = ri.next();
@@ -76,7 +76,7 @@
             nodes[i] = new MockNode(pathBase + i, "some:type" + i);
         }
         NodeIterator ni = new MockNodeIterator(nodes);
-        JcrNodeResourceIterator ri = new JcrNodeResourceIterator(null, ni, null);
+        JcrNodeResourceIterator ri = new JcrNodeResourceIterator(null, ni, null, null);
 
         for (int i=0; i < nodes.length; i++) {
             assertTrue(ri.hasNext());

Modified: sling/trunk/bundles/jcr/resource/src/test/java/org/apache/sling/jcr/resource/internal/helper/jcr/JcrNodeResourceTest.java
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/jcr/resource/src/test/java/org/apache/sling/jcr/resource/internal/helper/jcr/JcrNodeResourceTest.java?rev=819910&r1=819909&r2=819910&view=diff
==============================================================================
--- sling/trunk/bundles/jcr/resource/src/test/java/org/apache/sling/jcr/resource/internal/helper/jcr/JcrNodeResourceTest.java (original)
+++ sling/trunk/bundles/jcr/resource/src/test/java/org/apache/sling/jcr/resource/internal/helper/jcr/JcrNodeResourceTest.java Tue Sep 29 12:51:37 2009
@@ -45,7 +45,7 @@
         getSession().save();
 
         file = rootNode.getNode(name);
-        JcrNodeResource jnr = new JcrNodeResource(null, file, null);
+        JcrNodeResource jnr = new JcrNodeResource(null, file, null, null);
 
         assertEquals(file.getPath(), jnr.getPath());
 
@@ -63,7 +63,7 @@
         getSession().save();
 
         file = rootNode.getNode(name);
-        JcrNodeResource jnr = new JcrNodeResource(null, file, null);
+        JcrNodeResource jnr = new JcrNodeResource(null, file, null, null);
 
         assertEquals(file.getPath(), jnr.getPath());
 
@@ -79,7 +79,7 @@
         getSession().save();
 
         res = rootNode.getNode(name);
-        JcrNodeResource jnr = new JcrNodeResource(null, res, null);
+        JcrNodeResource jnr = new JcrNodeResource(null, res, null, null);
 
         assertEquals(res.getPath(), jnr.getPath());
 
@@ -95,7 +95,7 @@
         getSession().save();
 
         res = rootNode.getNode(name);
-        JcrNodeResource jnr = new JcrNodeResource(null, res, null);
+        JcrNodeResource jnr = new JcrNodeResource(null, res, null, null);
 
         assertEquals(res.getPath(), jnr.getPath());
 
@@ -108,14 +108,14 @@
         Node node = rootNode.addNode(name, JcrConstants.NT_UNSTRUCTURED);
         getSession().save();
 
-        JcrNodeResource jnr = new JcrNodeResource(null, node, null);
+        JcrNodeResource jnr = new JcrNodeResource(null, node, null, null);
         assertEquals(JcrConstants.NT_UNSTRUCTURED, jnr.getResourceType());
 
         String typeName = "some/resource/type";
         node.setProperty(JcrResourceConstants.SLING_RESOURCE_TYPE_PROPERTY, typeName);
         getSession().save();
 
-        jnr = new JcrNodeResource(null, node, null);
+        jnr = new JcrNodeResource(null, node, null, null);
         assertEquals(typeName, jnr.getResourceType());
     }
 
@@ -127,7 +127,7 @@
         node.setProperty(JcrResourceConstants.SLING_RESOURCE_TYPE_PROPERTY, typeName);
         getSession().save();
 
-        Resource jnr = new JcrNodeResource(resourceResolver, node, null);
+        Resource jnr = new JcrNodeResource(resourceResolver, node, null, null);
         assertEquals(typeName, jnr.getResourceType());
 
         // default super type is null
@@ -138,7 +138,7 @@
         typeNode.setProperty(JcrResourceConstants.SLING_RESOURCE_SUPER_TYPE_PROPERTY, superTypeName);
         getSession().save();
 
-        jnr = new JcrNodeResource(resourceResolver, node, null);
+        jnr = new JcrNodeResource(resourceResolver, node, null, null);
         assertEquals(typeName, jnr.getResourceType());
         assertEquals(superTypeName, JcrResourceUtil.getResourceSuperType(jnr));
 
@@ -147,7 +147,7 @@
         node.setProperty(JcrResourceConstants.SLING_RESOURCE_SUPER_TYPE_PROPERTY, otherSuperTypeName);
         getSession().save();
 
-        jnr = new JcrNodeResource(resourceResolver, node, null);
+        jnr = new JcrNodeResource(resourceResolver, node, null, null);
         assertEquals(typeName, jnr.getResourceType());
         assertEquals(otherSuperTypeName, jnr.getResourceSuperType());
 
@@ -155,7 +155,7 @@
         node.getProperty(JcrResourceConstants.SLING_RESOURCE_SUPER_TYPE_PROPERTY).remove();
         getSession().save();
 
-        jnr = new JcrNodeResource(resourceResolver, node, null);
+        jnr = new JcrNodeResource(resourceResolver, node, null, null);
         assertEquals(typeName, jnr.getResourceType());
         assertNull(jnr.getResourceSuperType());
     }
@@ -168,7 +168,7 @@
         getSession().save();
 
         res = rootNode.getNode(name);
-        JcrNodeResource jnr = new JcrNodeResource(null, res, null);
+        JcrNodeResource jnr = new JcrNodeResource(null, res, null, null);
 
         final Map<?, ?> props = jnr.adaptTo(Map.class);
 

Modified: sling/trunk/bundles/jcr/resource/src/test/java/org/apache/sling/jcr/resource/internal/helper/jcr/MockResourceResolver.java
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/jcr/resource/src/test/java/org/apache/sling/jcr/resource/internal/helper/jcr/MockResourceResolver.java?rev=819910&r1=819909&r2=819910&view=diff
==============================================================================
--- sling/trunk/bundles/jcr/resource/src/test/java/org/apache/sling/jcr/resource/internal/helper/jcr/MockResourceResolver.java (original)
+++ sling/trunk/bundles/jcr/resource/src/test/java/org/apache/sling/jcr/resource/internal/helper/jcr/MockResourceResolver.java Tue Sep 29 12:51:37 2009
@@ -33,11 +33,11 @@
 public class MockResourceResolver implements ResourceResolver {
 
     private final Session session;
-    
+
     MockResourceResolver(Session session) {
         this.session = session;
     }
-    
+
     public Iterator<Resource> findResources(String query, String language) {
         return null;
     }
@@ -46,16 +46,16 @@
         // assume path is absolute for testing purposes
         try {
             Item item = session.getItem(path);
-            
+
             if (item.isNode()) {
-                return new JcrNodeResource(this, (Node) item, null);
+                return new JcrNodeResource(this, (Node) item, null, null);
             }
-            
+
             return new JcrPropertyResource(this, path, (Property) item, null);
         } catch (Exception e) {
             // don't care
         }
-        
+
         return null;
     }
 
@@ -74,7 +74,7 @@
     public String map(String resourcePath) {
         return null;
     }
-    
+
     public String map(HttpServletRequest request, String resourcePath) {
         return null;
     }
@@ -87,7 +87,7 @@
     public Resource resolve(HttpServletRequest request, String absPath) {
         return null;
     }
-    
+
     public Resource resolve(HttpServletRequest request) {
         return null;
     }