Allow applications with only extensions

Project: http://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard/repo
Commit: 
http://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard/commit/c46f8161
Tree: 
http://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard/tree/c46f8161
Diff: 
http://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard/diff/c46f8161

Branch: refs/heads/master
Commit: c46f8161bd25a042a307db6ed81b4889e6c9282c
Parents: 5172bf6
Author: Carlos Sierra <[email protected]>
Authored: Tue Nov 21 10:40:40 2017 +0100
Committer: Carlos Sierra <[email protected]>
Committed: Tue Nov 21 15:08:42 2017 +0100

----------------------------------------------------------------------
 jax-rs.itests/src/main/java/test/JaxrsTest.java      | 15 +++++++++++++++
 .../internal/CXFJaxRsServiceRegistrator.java         |  4 ++++
 2 files changed, 19 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard/blob/c46f8161/jax-rs.itests/src/main/java/test/JaxrsTest.java
----------------------------------------------------------------------
diff --git a/jax-rs.itests/src/main/java/test/JaxrsTest.java 
b/jax-rs.itests/src/main/java/test/JaxrsTest.java
index 62f19fc..b554780 100644
--- a/jax-rs.itests/src/main/java/test/JaxrsTest.java
+++ b/jax-rs.itests/src/main/java/test/JaxrsTest.java
@@ -23,6 +23,7 @@ import static 
org.osgi.service.jaxrs.whiteboard.JaxRSWhiteboardConstants.*;
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.Collection;
+import java.util.Collections;
 import java.util.Dictionary;
 import java.util.Hashtable;
 import java.util.Iterator;
@@ -1053,6 +1054,20 @@ public class JaxrsTest extends TestHelper {
     }
 
     @Test
+    public void testRegisterApplicationWithOnlyExtensions() {
+        ServiceRegistration<Application> serviceRegistration =
+            registerApplication(new Application() {
+                @Override
+                public Set<Class<?>> getClasses() {
+                    return Collections.singleton(TestFilter.class);
+                }
+            }, JAX_RS_NAME, JAX_RS_DEFAULT_APPLICATION);
+
+        assertEquals(getServiceId(serviceRegistration),
+            getRuntimeDTO().defaultApplication.serviceId);
+    }
+
+    @Test
     public void testResourcesChangeCount() throws Exception {
         Long changeCount = (Long)_runtimeServiceReference.getProperty(
             "service.changecount");

http://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard/blob/c46f8161/jax-rs.whiteboard/src/main/java/org/apache/aries/jax/rs/whiteboard/internal/CXFJaxRsServiceRegistrator.java
----------------------------------------------------------------------
diff --git 
a/jax-rs.whiteboard/src/main/java/org/apache/aries/jax/rs/whiteboard/internal/CXFJaxRsServiceRegistrator.java
 
b/jax-rs.whiteboard/src/main/java/org/apache/aries/jax/rs/whiteboard/internal/CXFJaxRsServiceRegistrator.java
index c02ccbb..3af691e 100644
--- 
a/jax-rs.whiteboard/src/main/java/org/apache/aries/jax/rs/whiteboard/internal/CXFJaxRsServiceRegistrator.java
+++ 
b/jax-rs.whiteboard/src/main/java/org/apache/aries/jax/rs/whiteboard/internal/CXFJaxRsServiceRegistrator.java
@@ -264,6 +264,10 @@ public class CXFJaxRsServiceRegistrator {
             jaxRsServerFactoryBean.setResourceProvider(resourceProvider);
         }
 
+        if (jaxRsServerFactoryBean.getResourceClasses().isEmpty()) {
+            return;
+        }
+
         jaxRsServerFactoryBean.setResourceComparator(
             new ComparableResourceComparator());
 

Reply via email to