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/12/02 16:55:16 UTC

svn commit: r1772373 - in /sling/trunk/testing/mocks/osgi-mock/src: main/java/org/apache/sling/testing/mock/osgi/context/OsgiContextImpl.java test/java/org/apache/sling/testing/mock/osgi/context/OsgiContextImplTest.java

Author: sseifert
Date: Fri Dec  2 16:55:16 2016
New Revision: 1772373

URL: http://svn.apache.org/viewvc?rev=1772373&view=rev
Log:
SLING-6358 osgi-mock: OsgiContext.getServices should return correctly typed array when empty

Modified:
    sling/trunk/testing/mocks/osgi-mock/src/main/java/org/apache/sling/testing/mock/osgi/context/OsgiContextImpl.java
    sling/trunk/testing/mocks/osgi-mock/src/test/java/org/apache/sling/testing/mock/osgi/context/OsgiContextImplTest.java

Modified: sling/trunk/testing/mocks/osgi-mock/src/main/java/org/apache/sling/testing/mock/osgi/context/OsgiContextImpl.java
URL: http://svn.apache.org/viewvc/sling/trunk/testing/mocks/osgi-mock/src/main/java/org/apache/sling/testing/mock/osgi/context/OsgiContextImpl.java?rev=1772373&r1=1772372&r2=1772373&view=diff
==============================================================================
--- sling/trunk/testing/mocks/osgi-mock/src/main/java/org/apache/sling/testing/mock/osgi/context/OsgiContextImpl.java (original)
+++ sling/trunk/testing/mocks/osgi-mock/src/main/java/org/apache/sling/testing/mock/osgi/context/OsgiContextImpl.java Fri Dec  2 16:55:16 2016
@@ -23,7 +23,6 @@ import java.util.Dictionary;
 import java.util.Hashtable;
 import java.util.Map;
 
-import org.apache.commons.lang3.ArrayUtils;
 import org.apache.sling.testing.mock.osgi.MapUtil;
 import org.apache.sling.testing.mock.osgi.MockEventAdmin;
 import org.apache.sling.testing.mock.osgi.MockOsgi;
@@ -208,7 +207,7 @@ public class OsgiContextImpl {
                 }
                 return services;
             } else {
-                return (ServiceType[])ArrayUtils.EMPTY_OBJECT_ARRAY;
+                return (ServiceType[])Array.newInstance(serviceType, 0);
             }
         } catch (InvalidSyntaxException ex) {
             throw new RuntimeException("Invalid filter syntax: " + filter, ex);

Modified: sling/trunk/testing/mocks/osgi-mock/src/test/java/org/apache/sling/testing/mock/osgi/context/OsgiContextImplTest.java
URL: http://svn.apache.org/viewvc/sling/trunk/testing/mocks/osgi-mock/src/test/java/org/apache/sling/testing/mock/osgi/context/OsgiContextImplTest.java?rev=1772373&r1=1772372&r2=1772373&view=diff
==============================================================================
--- sling/trunk/testing/mocks/osgi-mock/src/test/java/org/apache/sling/testing/mock/osgi/context/OsgiContextImplTest.java (original)
+++ sling/trunk/testing/mocks/osgi-mock/src/test/java/org/apache/sling/testing/mock/osgi/context/OsgiContextImplTest.java Fri Dec  2 16:55:16 2016
@@ -94,6 +94,9 @@ public class OsgiContextImplTest {
 
     @Test
     public void testRegisterMultipleServices() {
+        Set[] serviceResults = context.getServices(Set.class, null);
+        assertEquals(0, serviceResults.length);
+
         Set<String> myService1 = new HashSet<String>();
         context.registerService(Set.class, myService1);
         Set<String> myService2 = new HashSet<String>();
@@ -102,7 +105,8 @@ public class OsgiContextImplTest {
         assertSame(myService1, context.getService(Set.class));
 
         // expected: ascending order because ordering ascending by service ID
-        Set[] serviceResults = context.getServices(Set.class, null);
+        serviceResults = context.getServices(Set.class, null);
+        assertEquals(2, serviceResults.length);
         assertSame(myService1, serviceResults[0]);
         assertSame(myService2, serviceResults[1]);
     }