You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by ss...@apache.org on 2016/04/29 19:05:14 UTC

svn commit: r1741667 - in /sling/trunk/testing/mocks/sling-mock: pom.xml src/main/java/org/apache/sling/testing/mock/sling/context/SlingContextImpl.java src/test/java/org/apache/sling/testing/mock/sling/junit/SlingContextTest.java

Author: sseifert
Date: Fri Apr 29 17:05:13 2016
New Revision: 1741667

URL: http://svn.apache.org/viewvc?rev=1741667&view=rev
Log:
SLING-5667 adapt to changes service ranking order in osgi-mock

Modified:
    sling/trunk/testing/mocks/sling-mock/pom.xml
    sling/trunk/testing/mocks/sling-mock/src/main/java/org/apache/sling/testing/mock/sling/context/SlingContextImpl.java
    sling/trunk/testing/mocks/sling-mock/src/test/java/org/apache/sling/testing/mock/sling/junit/SlingContextTest.java

Modified: sling/trunk/testing/mocks/sling-mock/pom.xml
URL: http://svn.apache.org/viewvc/sling/trunk/testing/mocks/sling-mock/pom.xml?rev=1741667&r1=1741666&r2=1741667&view=diff
==============================================================================
--- sling/trunk/testing/mocks/sling-mock/pom.xml (original)
+++ sling/trunk/testing/mocks/sling-mock/pom.xml Fri Apr 29 17:05:13 2016
@@ -69,6 +69,13 @@
 
         <dependency>
             <groupId>org.apache.sling</groupId>
+            <artifactId>org.apache.sling.commons.osgi</artifactId>
+            <version>2.4.0</version>
+            <scope>compile</scope>
+        </dependency>
+
+        <dependency>
+            <groupId>org.apache.sling</groupId>
             <artifactId>org.apache.sling.models.api</artifactId>
             <version>1.2.2</version>
             <scope>compile</scope>
@@ -117,12 +124,6 @@
             <scope>compile</scope>
         </dependency>
         <dependency>
-            <groupId>org.apache.sling</groupId>
-            <artifactId>org.apache.sling.commons.osgi</artifactId>
-            <version>2.4.0</version>
-            <scope>compile</scope>
-        </dependency>
-        <dependency>
             <groupId>org.apache.sling</groupId>
             <artifactId>org.apache.sling.commons.classloader</artifactId>
             <version>1.3.2</version>

Modified: sling/trunk/testing/mocks/sling-mock/src/main/java/org/apache/sling/testing/mock/sling/context/SlingContextImpl.java
URL: http://svn.apache.org/viewvc/sling/trunk/testing/mocks/sling-mock/src/main/java/org/apache/sling/testing/mock/sling/context/SlingContextImpl.java?rev=1741667&r1=1741666&r2=1741667&view=diff
==============================================================================
--- sling/trunk/testing/mocks/sling-mock/src/main/java/org/apache/sling/testing/mock/sling/context/SlingContextImpl.java (original)
+++ sling/trunk/testing/mocks/sling-mock/src/main/java/org/apache/sling/testing/mock/sling/context/SlingContextImpl.java Fri Apr 29 17:05:13 2016
@@ -53,6 +53,7 @@ import org.apache.sling.testing.mock.sli
 import org.apache.sling.testing.mock.sling.servlet.MockRequestPathInfo;
 import org.apache.sling.testing.mock.sling.servlet.MockSlingHttpServletRequest;
 import org.apache.sling.testing.mock.sling.servlet.MockSlingHttpServletResponse;
+import org.osgi.framework.Constants;
 import org.osgi.framework.ServiceReference;
 
 import aQute.bnd.annotation.ConsumerType;
@@ -370,6 +371,8 @@ public class SlingContextImpl extends Os
                 .put(AdapterFactory.ADAPTER_CLASSES, new String[] {
                     adapterClass.getName()
                 })
+                // make sure this overlay has higher ranking than other adapter factories
+                .put(Constants.SERVICE_RANKING, Integer.MAX_VALUE)
                 .build());
     }
 

Modified: sling/trunk/testing/mocks/sling-mock/src/test/java/org/apache/sling/testing/mock/sling/junit/SlingContextTest.java
URL: http://svn.apache.org/viewvc/sling/trunk/testing/mocks/sling-mock/src/test/java/org/apache/sling/testing/mock/sling/junit/SlingContextTest.java?rev=1741667&r1=1741666&r2=1741667&view=diff
==============================================================================
--- sling/trunk/testing/mocks/sling-mock/src/test/java/org/apache/sling/testing/mock/sling/junit/SlingContextTest.java (original)
+++ sling/trunk/testing/mocks/sling-mock/src/test/java/org/apache/sling/testing/mock/sling/junit/SlingContextTest.java Fri Apr 29 17:05:13 2016
@@ -80,30 +80,20 @@ public class SlingContextTest {
     }
 
     @Test
-    public void testRegisterAdapterOverlay() {
-        
-        // register "traditional" adapter factory without specific service ranking
-        AdapterFactory adapterFactory = new AdapterFactory() {
-            @SuppressWarnings("unchecked")
-            @Override
-            public <AdapterType> AdapterType getAdapter(Object adaptable, Class<AdapterType> type) {
-                return (AdapterType)(((TestAdaptable)adaptable).getMessage() + "-initial");
-            }
-        };
-        context.registerService(AdapterFactory.class, adapterFactory, ImmutableMap.<String, Object>builder()
-                .put(AdapterFactory.ADAPTABLE_CLASSES, new String[] { TestAdaptable.class.getName() })
-                .put(AdapterFactory.ADAPTER_CLASSES, new String[] { String.class.getName() })
-                .build());
-        
-        // test initial adapter factory
-        assertEquals("testMessage1-initial", new TestAdaptable("testMessage1").adaptTo(String.class));
+    public void testRegisterAdapterOverlayStatic() {
+        prepareInitialAdapterFactory();
         
         // register overlay adapter with static adaption
         context.registerAdapter(TestAdaptable.class, String.class, "static-adaption");
 
         // test overlay adapter with static adaption
         assertEquals("static-adaption", new TestAdaptable("testMessage2").adaptTo(String.class));
+    }
 
+    @Test
+    public void testRegisterAdapterOverlayDynamic() {
+        prepareInitialAdapterFactory();
+        
         // register overlay adapter with dynamic adaption
         context.registerAdapter(TestAdaptable.class, String.class, new Function<TestAdaptable, String>() {
             @Override
@@ -115,6 +105,24 @@ public class SlingContextTest {
         // test overlay adapter with dynamic adaption
         assertEquals("testMessage3-dynamic", new TestAdaptable("testMessage3").adaptTo(String.class));
     }
+    
+    private void prepareInitialAdapterFactory() {
+        // register "traditional" adapter factory without specific service ranking
+        AdapterFactory adapterFactory = new AdapterFactory() {
+            @SuppressWarnings("unchecked")
+            @Override
+            public <AdapterType> AdapterType getAdapter(Object adaptable, Class<AdapterType> type) {
+                return (AdapterType)(((TestAdaptable)adaptable).getMessage() + "-initial");
+            }
+        };
+        context.registerService(AdapterFactory.class, adapterFactory, ImmutableMap.<String, Object>builder()
+                .put(AdapterFactory.ADAPTABLE_CLASSES, new String[] { TestAdaptable.class.getName() })
+                .put(AdapterFactory.ADAPTER_CLASSES, new String[] { String.class.getName() })
+                .build());
+        
+        // test initial adapter factory
+        assertEquals("testMessage1-initial", new TestAdaptable("testMessage1").adaptTo(String.class));        
+    }
 
 
     private static class TestAdaptable extends SlingAdaptable {