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());
