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

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

commit b90bd444040f2862d11b9aceba817de198b42435
Author: Stefan Seifert <[email protected]>
AuthorDate: Fri Oct 2 20:52:05 2015 +0000

    SLING-5088 refactor resource resolver initialization
    
    git-svn-id: 
https://svn.apache.org/repos/asf/sling/trunk/testing/mocks/sling-mock@1706488 
13f79535-47bb-0310-9956-ffa450edef68
---
 .../sling/AbstractMockResourceResolverFactory.java |  1 +
 .../mock/sling/MockJcrResourceResolverAdapter.java |  2 +-
 .../mock/sling/MockJcrResourceResolverFactory.java |  2 +-
 ...Repository.java => MockJcrSlingRepository.java} |  4 +-
 .../sling/MockNoneResourceResolverFactory.java     |  1 +
 .../apache/sling/testing/mock/sling/MockSling.java | 32 +--------
 .../sling/ResourceResolverFactoryInitializer.java  | 77 ++++++++++++++++++++++
 ...ryTest.java => MockJcrSlingRepositoryTest.java} |  4 +-
 8 files changed, 86 insertions(+), 37 deletions(-)

diff --git 
a/src/main/java/org/apache/sling/testing/mock/sling/AbstractMockResourceResolverFactory.java
 
b/src/main/java/org/apache/sling/testing/mock/sling/AbstractMockResourceResolverFactory.java
index 1a6915d..7b47918 100644
--- 
a/src/main/java/org/apache/sling/testing/mock/sling/AbstractMockResourceResolverFactory.java
+++ 
b/src/main/java/org/apache/sling/testing/mock/sling/AbstractMockResourceResolverFactory.java
@@ -40,6 +40,7 @@ import org.osgi.service.event.EventAdmin;
  * Mock {@link ResourceResolverFactory} implementation.
  * Uses real Sling ResourceResolverFactory in simulated OSGi environment. 
  */
+@Deprecated
 abstract class AbstractMockResourceResolverFactory implements 
ResourceResolverFactory {
 
     protected final BundleContext bundleContext;
diff --git 
a/src/main/java/org/apache/sling/testing/mock/sling/MockJcrResourceResolverAdapter.java
 
b/src/main/java/org/apache/sling/testing/mock/sling/MockJcrResourceResolverAdapter.java
index 87705b6..8eafd59 100644
--- 
a/src/main/java/org/apache/sling/testing/mock/sling/MockJcrResourceResolverAdapter.java
+++ 
b/src/main/java/org/apache/sling/testing/mock/sling/MockJcrResourceResolverAdapter.java
@@ -38,7 +38,7 @@ class MockJcrResourceResolverAdapter implements 
ResourceResolverTypeAdapter {
     @Override
     public SlingRepository newSlingRepository() {
         Repository repository = MockJcr.newRepository();
-        return new MockSlingRepository(repository);
+        return new MockJcrSlingRepository(repository);
     }
 
 }
diff --git 
a/src/main/java/org/apache/sling/testing/mock/sling/MockJcrResourceResolverFactory.java
 
b/src/main/java/org/apache/sling/testing/mock/sling/MockJcrResourceResolverFactory.java
index bc1a83d..0890cd0 100644
--- 
a/src/main/java/org/apache/sling/testing/mock/sling/MockJcrResourceResolverFactory.java
+++ 
b/src/main/java/org/apache/sling/testing/mock/sling/MockJcrResourceResolverFactory.java
@@ -39,6 +39,7 @@ import org.osgi.framework.BundleContext;
  * Uses real Sling ResourceResolverFactory in simulated OSGi environment
  * with a mocked JCR repository implementation underneath.
  */
+@Deprecated
 class MockJcrResourceResolverFactory extends 
AbstractMockResourceResolverFactory {
 
     private final SlingRepository slingRepository;
@@ -48,7 +49,6 @@ class MockJcrResourceResolverFactory extends 
AbstractMockResourceResolverFactory
         this.slingRepository = repository;
     }
 
-    @SuppressWarnings("deprecation")
     protected ResourceResolver getResourceResolverInternal(Map<String, Object> 
authenticationInfo, boolean isAdmin) throws LoginException {
         // setup mocked JCR environment
         if (bundleContext.getServiceReference(SlingRepository.class.getName()) 
== null) {
diff --git 
a/src/main/java/org/apache/sling/testing/mock/sling/MockSlingRepository.java 
b/src/main/java/org/apache/sling/testing/mock/sling/MockJcrSlingRepository.java
similarity index 96%
rename from 
src/main/java/org/apache/sling/testing/mock/sling/MockSlingRepository.java
rename to 
src/main/java/org/apache/sling/testing/mock/sling/MockJcrSlingRepository.java
index eec41f5..c5e0f58 100644
--- a/src/main/java/org/apache/sling/testing/mock/sling/MockSlingRepository.java
+++ 
b/src/main/java/org/apache/sling/testing/mock/sling/MockJcrSlingRepository.java
@@ -32,11 +32,11 @@ import org.apache.sling.testing.mock.jcr.MockJcr;
 /**
  * Mock {@link SlingRepository} implementation.
  */
-class MockSlingRepository implements SlingRepository {
+class MockJcrSlingRepository implements SlingRepository {
 
     private final Repository delegate;
 
-    public MockSlingRepository(final Repository delegate) {
+    public MockJcrSlingRepository(final Repository delegate) {
         this.delegate = delegate;
     }
 
diff --git 
a/src/main/java/org/apache/sling/testing/mock/sling/MockNoneResourceResolverFactory.java
 
b/src/main/java/org/apache/sling/testing/mock/sling/MockNoneResourceResolverFactory.java
index 2ee1ac6..e18b097 100644
--- 
a/src/main/java/org/apache/sling/testing/mock/sling/MockNoneResourceResolverFactory.java
+++ 
b/src/main/java/org/apache/sling/testing/mock/sling/MockNoneResourceResolverFactory.java
@@ -25,6 +25,7 @@ import org.osgi.framework.BundleContext;
  * Uses real Sling ResourceResolverFactory in simulated OSGi environment.
  * Resource Resolver factory has no ResourceProvider registered; you have to 
registere one yourself to do anything useful with it. 
  */
+@Deprecated
 class MockNoneResourceResolverFactory extends 
AbstractMockResourceResolverFactory {
 
     public MockNoneResourceResolverFactory(BundleContext bundleContext) {
diff --git a/src/main/java/org/apache/sling/testing/mock/sling/MockSling.java 
b/src/main/java/org/apache/sling/testing/mock/sling/MockSling.java
index d32126a..db85756 100644
--- a/src/main/java/org/apache/sling/testing/mock/sling/MockSling.java
+++ b/src/main/java/org/apache/sling/testing/mock/sling/MockSling.java
@@ -18,9 +18,6 @@
  */
 package org.apache.sling.testing.mock.sling;
 
-import javax.jcr.RepositoryException;
-import javax.jcr.Session;
-
 import org.apache.sling.api.SlingHttpServletRequest;
 import org.apache.sling.api.SlingHttpServletResponse;
 import org.apache.sling.api.adapter.SlingAdaptable;
@@ -76,38 +73,11 @@ public final class MockSling {
         ResourceResolverFactory factory = adapter.newResourceResolverFactory();
         if (factory == null) {
             SlingRepository repository = adapter.newSlingRepository();
-            if (repository == null) {
-                factory = new MockNoneResourceResolverFactory(bundleContext);
-            }
-            else {
-                registerJcrNodeTypes(repository, type);
-                factory = new MockJcrResourceResolverFactory(repository, 
bundleContext);
-            }
+            factory = ResourceResolverFactoryInitializer.setUp(repository, 
bundleContext, type.getNodeTypeMode());
         }
         return factory;
     }
 
-    /**
-     * Registers all JCR node types found in classpath.
-     * @param slingRepository Sling repository
-     */
-    @SuppressWarnings("deprecation")
-    private static void registerJcrNodeTypes(final SlingRepository 
slingRepository, final ResourceResolverType type) {
-      Session session = null;
-      try {
-          session =  slingRepository.loginAdministrative(null);
-          NodeTypeDefinitionScanner.get().register(session, 
type.getNodeTypeMode());
-      }
-      catch (RepositoryException ex) {
-          throw new RuntimeException("Error registering JCR nodetypes: " + 
ex.getMessage(), ex);
-      }
-      finally {
-          if (session != null) {
-              session.logout();
-          }
-      }
-    }
-    
     private static ResourceResolverTypeAdapter 
getResourceResolverTypeAdapter(final ResourceResolverType type) {
         try {
             Class clazz = 
Class.forName(type.getResourceResolverTypeAdapterClass());
diff --git 
a/src/main/java/org/apache/sling/testing/mock/sling/ResourceResolverFactoryInitializer.java
 
b/src/main/java/org/apache/sling/testing/mock/sling/ResourceResolverFactoryInitializer.java
new file mode 100644
index 0000000..99af56a
--- /dev/null
+++ 
b/src/main/java/org/apache/sling/testing/mock/sling/ResourceResolverFactoryInitializer.java
@@ -0,0 +1,77 @@
+/*
+ * 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.testing.mock.sling;
+
+import javax.jcr.RepositoryException;
+import javax.jcr.Session;
+
+import org.apache.sling.api.resource.ResourceResolverFactory;
+import org.apache.sling.jcr.api.SlingRepository;
+import org.osgi.framework.BundleContext;
+
+/**
+ * Initializes Sling Resource Resolver factories with JCR-resource mapping.
+ */
+class ResourceResolverFactoryInitializer {
+    
+    private ResourceResolverFactoryInitializer() {
+        // static methods only
+    }
+
+    /**
+     * Setup resource resolver factory.
+     * @param slingRepository Sling repository. If null resource resolver 
factory is setup without any resource provider.
+     * @param bundleContext Bundle context
+     */
+    public static ResourceResolverFactory setUp(SlingRepository 
slingRepository, 
+            BundleContext bundleContext, NodeTypeMode nodeTypeMode) {
+        ResourceResolverFactory factory;
+        if (slingRepository == null) {
+            factory = new MockNoneResourceResolverFactory(bundleContext);
+        }
+        else {
+            registerJcrNodeTypes(slingRepository, nodeTypeMode);
+            factory = new MockJcrResourceResolverFactory(slingRepository, 
bundleContext);
+        }
+        return factory;
+    }
+    
+    /**
+     * Registers all JCR node types found in classpath.
+     * @param slingRepository Sling repository
+     */
+    @SuppressWarnings("deprecation")
+    private static void registerJcrNodeTypes(final SlingRepository 
slingRepository, 
+            final NodeTypeMode nodeTypeMode) {
+      Session session = null;
+      try {
+          session = slingRepository.loginAdministrative(null);
+          NodeTypeDefinitionScanner.get().register(session, nodeTypeMode);
+      }
+      catch (RepositoryException ex) {
+          throw new RuntimeException("Error registering JCR nodetypes: " + 
ex.getMessage(), ex);
+      }
+      finally {
+          if (session != null) {
+              session.logout();
+          }
+      }
+    }
+    
+}
diff --git 
a/src/test/java/org/apache/sling/testing/mock/sling/MockSlingRepositoryTest.java
 
b/src/test/java/org/apache/sling/testing/mock/sling/MockJcrSlingRepositoryTest.java
similarity index 93%
rename from 
src/test/java/org/apache/sling/testing/mock/sling/MockSlingRepositoryTest.java
rename to 
src/test/java/org/apache/sling/testing/mock/sling/MockJcrSlingRepositoryTest.java
index 82e7555..9d425a9 100644
--- 
a/src/test/java/org/apache/sling/testing/mock/sling/MockSlingRepositoryTest.java
+++ 
b/src/test/java/org/apache/sling/testing/mock/sling/MockJcrSlingRepositoryTest.java
@@ -28,13 +28,13 @@ import org.apache.sling.testing.mock.jcr.MockJcr;
 import org.junit.Before;
 import org.junit.Test;
 
-public class MockSlingRepositoryTest {
+public class MockJcrSlingRepositoryTest {
 
     private SlingRepository repository;
 
     @Before
     public void setUp() {
-        this.repository = new MockSlingRepository(MockJcr.newRepository());
+        this.repository = new MockJcrSlingRepository(MockJcr.newRepository());
     }
 
     @SuppressWarnings("deprecation")

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

Reply via email to