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 {