Author: cziegeler
Date: Fri May 25 15:32:07 2012
New Revision: 1342684
URL: http://svn.apache.org/viewvc?rev=1342684&view=rev
Log:
SLING-2396 : New resource resolver factory based on resource provider factories
(WiP)
Removed:
sling/whiteboard/SLING-2396/jcr.resource/src/test/java/org/apache/sling/jcr/resource/internal/JcrResourceResolverTest.java
Modified:
sling/whiteboard/SLING-2396/jcr.resource/src/main/java/org/apache/sling/jcr/resource/internal/JcrResourceListener.java
sling/whiteboard/SLING-2396/jcr.resource/src/test/java/org/apache/sling/jcr/resource/internal/JcrResourceListenerTest.java
Modified:
sling/whiteboard/SLING-2396/jcr.resource/src/main/java/org/apache/sling/jcr/resource/internal/JcrResourceListener.java
URL:
http://svn.apache.org/viewvc/sling/whiteboard/SLING-2396/jcr.resource/src/main/java/org/apache/sling/jcr/resource/internal/JcrResourceListener.java?rev=1342684&r1=1342683&r2=1342684&view=diff
==============================================================================
---
sling/whiteboard/SLING-2396/jcr.resource/src/main/java/org/apache/sling/jcr/resource/internal/JcrResourceListener.java
(original)
+++
sling/whiteboard/SLING-2396/jcr.resource/src/main/java/org/apache/sling/jcr/resource/internal/JcrResourceListener.java
Fri May 25 15:32:07 2012
@@ -70,13 +70,13 @@ public class JcrResourceListener impleme
@Reference
private EventAdmin eventAdmin;
-
+
@Reference
private ResourceResolverFactory resourceResolverFactory;
-
+
/** The admin resource resolver. */
private ResourceResolver resourceResolver;
-
+
/** The session for observation. */
private Session session;
@@ -111,17 +111,17 @@ public class JcrResourceListener impleme
} catch (final Throwable t) {
// we ignore this
}
- this.hasJackrabbitEventClass = foundClass;
+ this.hasJackrabbitEventClass = foundClass;
}
-
- @Activate
+
+ @Activate
protected void activate() throws RepositoryException, LoginException {
this.resourceResolver =
this.resourceResolverFactory.getAdministrativeResourceResolver(null);
try {
this.session = this.resourceResolver.adaptTo(Session.class);
this.startPath = "/";
- this.mountPrefix = (mountPrefix.equals("/") ? null : mountPrefix);
-
+ this.mountPrefix = null;
+
this.osgiEventQueue = new
LinkedBlockingQueue<Dictionary<String,Object>>();
Thread oeqt = new Thread(new Runnable() {
public void run() {
@@ -129,7 +129,7 @@ public class JcrResourceListener impleme
}
}, "JCR Resource Event Queue Processor");
oeqt.start();
-
+
this.session.getWorkspace().getObservationManager().addEventListener(this,
Event.NODE_ADDED|Event.NODE_REMOVED|Event.PROPERTY_ADDED|Event.PROPERTY_CHANGED|Event.PROPERTY_REMOVED,
this.startPath, true, null, null, false);
Modified:
sling/whiteboard/SLING-2396/jcr.resource/src/test/java/org/apache/sling/jcr/resource/internal/JcrResourceListenerTest.java
URL:
http://svn.apache.org/viewvc/sling/whiteboard/SLING-2396/jcr.resource/src/test/java/org/apache/sling/jcr/resource/internal/JcrResourceListenerTest.java?rev=1342684&r1=1342683&r2=1342684&view=diff
==============================================================================
---
sling/whiteboard/SLING-2396/jcr.resource/src/test/java/org/apache/sling/jcr/resource/internal/JcrResourceListenerTest.java
(original)
+++
sling/whiteboard/SLING-2396/jcr.resource/src/test/java/org/apache/sling/jcr/resource/internal/JcrResourceListenerTest.java
Fri May 25 15:32:07 2012
@@ -17,17 +17,24 @@
package org.apache.sling.jcr.resource.internal;
import java.util.ArrayList;
+import java.util.Iterator;
import java.util.List;
+import java.util.Map;
import javax.jcr.Node;
+import javax.jcr.PathNotFoundException;
import javax.jcr.RepositoryException;
import javax.jcr.Session;
-
-import junitx.util.PrivateAccessor;
+import javax.servlet.http.HttpServletRequest;
import org.apache.sling.api.SlingConstants;
+import org.apache.sling.api.resource.LoginException;
+import org.apache.sling.api.resource.Resource;
+import org.apache.sling.api.resource.ResourceResolver;
+import org.apache.sling.api.resource.ResourceResolverFactory;
import org.apache.sling.commons.testing.jcr.EventHelper;
import org.apache.sling.commons.testing.jcr.RepositoryTestBase;
+import org.apache.sling.jcr.resource.internal.helper.jcr.JcrNodeResource;
import org.osgi.service.event.Event;
import org.osgi.service.event.EventAdmin;
@@ -95,8 +102,117 @@ public class JcrResourceListenerTest ext
addNodeToModify(session);
addNodeToDelete(session);
- final JcrResourceResolverFactoryImpl factory = new
JcrResourceResolverFactoryImpl();
- PrivateAccessor.setField(factory, "repository", getRepository());
+ final ResourceResolver resolver = new ResourceResolver() {
+
+ public <AdapterType> AdapterType adaptTo(Class<AdapterType> type) {
+ return (AdapterType)session;
+ }
+
+ public Resource resolve(HttpServletRequest request, String
absPath) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public Resource resolve(String absPath) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public Resource resolve(HttpServletRequest request) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public String map(String resourcePath) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public String map(HttpServletRequest request, String resourcePath)
{
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public Resource getResource(String path) {
+ // TODO Auto-generated method stub
+ try {
+ return new JcrNodeResource(this, session.getNode(path),
null);
+ } catch (PathNotFoundException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ } catch (RepositoryException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ }
+ return null;
+ }
+
+ public Resource getResource(Resource base, String path) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public String[] getSearchPath() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public Iterator<Resource> listChildren(Resource parent) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public Iterator<Resource> findResources(String query, String
language) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public Iterator<Map<String, Object>> queryResources(String query,
String language) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public ResourceResolver clone(Map<String, Object>
authenticationInfo) throws LoginException {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public boolean isLive() {
+ // TODO Auto-generated method stub
+ return false;
+ }
+
+ public void close() {
+ // TODO Auto-generated method stub
+
+ }
+
+ public String getUserID() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public Iterator<String> getAttributeNames() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public Object getAttribute(String name) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ };
+ final ResourceResolverFactory factory = new ResourceResolverFactory() {
+
+ public ResourceResolver getResourceResolver(Map<String, Object>
authenticationInfo) throws LoginException {
+ return null;
+ }
+
+ public ResourceResolver
getAdministrativeResourceResolver(Map<String, Object> authenticationInfo)
throws LoginException {
+ return resolver;
+ }
+ };
final EventAdmin mockEA = new EventAdmin() {