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;
}