Repository: aries-jax-rs-whiteboard Updated Branches: refs/heads/master ba261b0cd -> bab1ff399
Dependency reduction and better pom isolation 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/bab1ff39 Tree: http://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard/tree/bab1ff39 Diff: http://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard/diff/bab1ff39 Branch: refs/heads/master Commit: bab1ff39949c4f6d10ab90c1d88172a26d5cf2dc Parents: ba261b0 Author: Tim Ward <[email protected]> Authored: Fri Dec 1 14:59:04 2017 +0000 Committer: Tim Ward <[email protected]> Committed: Fri Dec 1 14:59:04 2017 +0000 ---------------------------------------------------------------------- jax-rs.example/example.bndrun | 1 - jax-rs.itests/bnd.bnd | 2 + jax-rs.itests/itest.bndrun | 8 +- jax-rs.itests/pom.xml | 44 +++++------ jax-rs.itests/src/main/java/test/JaxrsTest.java | 81 +++++++++----------- .../src/main/java/test/types/TestFilter.java | 1 - .../types/TestFilterAndExceptionMapper.java | 4 +- .../src/main/java/test/types/TestHelper.java | 3 +- jax-rs.whiteboard/bnd.bnd | 2 + jax-rs.whiteboard/pom.xml | 13 ++-- 10 files changed, 80 insertions(+), 79 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard/blob/bab1ff39/jax-rs.example/example.bndrun ---------------------------------------------------------------------- diff --git a/jax-rs.example/example.bndrun b/jax-rs.example/example.bndrun index 4ec4440..f0a9396 100644 --- a/jax-rs.example/example.bndrun +++ b/jax-rs.example/example.bndrun @@ -26,7 +26,6 @@ ch.qos.logback.classic;version='[1.2.3,1.2.4)',\ ch.qos.logback.core;version='[1.2.3,1.2.4)',\ javax.json-api;version='[1.0.0,1.0.1)',\ - log4j.over.slf4j;version='[1.7.25,1.7.26)',\ org.apache.aries.javax.annotation-api;version='[0.0.1,0.0.2)',\ org.apache.aries.javax.jax.rs-api;version='[0.0.1,0.0.2)',\ org.apache.aries.jax.rs.example;version='[0.0.1,0.0.2)',\ http://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard/blob/bab1ff39/jax-rs.itests/bnd.bnd ---------------------------------------------------------------------- diff --git a/jax-rs.itests/bnd.bnd b/jax-rs.itests/bnd.bnd index 08f3ff5..7b2adb9 100644 --- a/jax-rs.itests/bnd.bnd +++ b/jax-rs.itests/bnd.bnd @@ -5,3 +5,5 @@ Test-Cases: \ ${classes;CONCRETE;ANNOTATED;org.junit.Test} -contract: JavaJAXRS + +Require-Capability: osgi.service;filter:="(objectClass=org.osgi.service.cm.ConfigurationAdmin)" http://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard/blob/bab1ff39/jax-rs.itests/itest.bndrun ---------------------------------------------------------------------- diff --git a/jax-rs.itests/itest.bndrun b/jax-rs.itests/itest.bndrun index 0f56f31..a6d8759 100644 --- a/jax-rs.itests/itest.bndrun +++ b/jax-rs.itests/itest.bndrun @@ -26,21 +26,21 @@ ch.qos.logback.classic;version='[1.2.3,1.2.4)',\ ch.qos.logback.core;version='[1.2.3,1.2.4)',\ javax.json-api;version='[1.0.0,1.0.1)',\ - log4j.over.slf4j;version='[1.7.25,1.7.26)',\ org.apache.aries.javax.annotation-api;version='[0.0.1,0.0.2)',\ org.apache.aries.javax.jax.rs-api;version='[0.0.1,0.0.2)',\ org.apache.aries.jax.rs.itests;version='[0.0.1,0.0.2)',\ org.apache.aries.jax.rs.whiteboard;version='[0.0.1,0.0.2)',\ - org.apache.felix.configadmin;version='[1.8.14,1.8.15)',\ org.apache.felix.eventadmin;version='[1.4.8,1.4.9)',\ org.apache.felix.http.jetty;version='[3.4.0,3.4.1)',\ org.apache.felix.http.servlet-api;version='[1.1.2,1.1.3)',\ - org.osgi.service.http.whiteboard;version='[1.0.0,1.0.1)',\ org.osgi.service.jaxrs;version='[1.0.0,1.0.1)',\ osgi.enroute.hamcrest.wrapper;version='[1.3.0,1.3.1)',\ osgi.enroute.junit.wrapper;version='[4.12.0,4.12.1)',\ org.osgi.util.function;version='[1.1.0,1.1.1)',\ org.osgi.util.promise;version='[1.1.0,1.1.1)',\ - slf4j.api;version='[1.7.25,1.7.26)' + slf4j.api;version='[1.7.25,1.7.26)',\ + org.osgi.service.cm;version='[1.5.0,1.5.1)',\ + org.apache.felix.configadmin;version='[1.8.14,1.8.15)',\ + org.osgi.service.http.whiteboard;version='[1.0.0,1.0.1)' -include: -personal.bnd http://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard/blob/bab1ff39/jax-rs.itests/pom.xml ---------------------------------------------------------------------- diff --git a/jax-rs.itests/pom.xml b/jax-rs.itests/pom.xml index edbf0c4..e981f69 100644 --- a/jax-rs.itests/pom.xml +++ b/jax-rs.itests/pom.xml @@ -65,7 +65,7 @@ <groupId>biz.aQute.bnd</groupId> <artifactId>bnd-testing-maven-plugin</artifactId> <configuration> - <failOnChanges>false</failOnChanges> + <failOnChanges>true</failOnChanges> <resolve>false</resolve> <bndruns> <bndrun>itest.bndrun</bndrun> @@ -79,31 +79,31 @@ <groupId>ch.qos.logback</groupId> <artifactId>logback-classic</artifactId> <version>1.2.3</version> - </dependency> - <dependency> - <groupId>org.slf4j</groupId> - <artifactId>log4j-over-slf4j</artifactId> - <version>1.7.25</version> + <scope>runtime</scope> </dependency> <dependency> <groupId>org.osgi</groupId> <artifactId>osgi.core</artifactId> <version>6.0.0</version> + <scope>provided</scope> </dependency> <dependency> - <groupId>javax.json</groupId> - <artifactId>javax.json-api</artifactId> - <version>1.0</version> + <groupId>org.osgi</groupId> + <artifactId>org.osgi.service.cm</artifactId> + <version>1.5.0</version> + <scope>provided</scope> </dependency> <dependency> - <groupId>org.apache.aries.jax.rs</groupId> - <artifactId>org.apache.aries.jax.rs.whiteboard</artifactId> - <version>0.0.1-SNAPSHOT</version> + <groupId>org.osgi</groupId> + <artifactId>org.osgi.service.http.whiteboard</artifactId> + <version>1.0.0</version> + <scope>provided</scope> </dependency> <dependency> - <groupId>org.apache.aries.spec</groupId> - <artifactId>org.apache.aries.javax.annotation-api</artifactId> + <groupId>org.apache.aries.jax.rs</groupId> + <artifactId>org.apache.aries.jax.rs.whiteboard</artifactId> <version>0.0.1-SNAPSHOT</version> + <scope>runtime</scope> </dependency> <dependency> <groupId>org.apache.aries.spec</groupId> @@ -114,46 +114,46 @@ <groupId>org.apache.felix</groupId> <artifactId>org.apache.felix.configadmin</artifactId> <version>1.8.14</version> + <scope>runtime</scope> </dependency> <dependency> <groupId>org.apache.felix</groupId> <artifactId>org.apache.felix.eventadmin</artifactId> <version>1.4.8</version> + <scope>runtime</scope> </dependency> <dependency> <groupId>org.apache.felix</groupId> <artifactId>org.apache.felix.http.jetty</artifactId> <version>3.4.0</version> - </dependency> - <dependency> - <groupId>org.apache.felix</groupId> - <artifactId>org.apache.felix.http.servlet-api</artifactId> - <version>1.1.2</version> + <scope>runtime</scope> </dependency> <dependency> <groupId>org.apache.felix</groupId> <artifactId>org.apache.felix.scr</artifactId> <version>2.0.8</version> + <scope>runtime</scope> </dependency> <dependency> <groupId>org.osgi</groupId> <artifactId>org.eclipse.osgi</artifactId> <version>3.10.100.v20150529-1857</version> + <scope>runtime</scope> </dependency> <dependency> <groupId>org.osgi</groupId> <artifactId>org.osgi.service.jaxrs</artifactId> - <version>LATEST</version> + <version>1.0.0-SNAPSHOT</version> </dependency> <dependency> <groupId>org.osgi</groupId> <artifactId>org.osgi.util.function</artifactId> - <version>LATEST</version> + <version>1.1.0-SNAPSHOT</version> </dependency> <dependency> <groupId>org.osgi</groupId> <artifactId>org.osgi.util.promise</artifactId> - <version>LATEST</version> + <version>1.1.0-SNAPSHOT</version> </dependency> <dependency> <groupId>org.osgi</groupId> http://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard/blob/bab1ff39/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 b554780..988d8af 100644 --- a/jax-rs.itests/src/main/java/test/JaxrsTest.java +++ b/jax-rs.itests/src/main/java/test/JaxrsTest.java @@ -36,7 +36,6 @@ import java.util.concurrent.atomic.AtomicBoolean; import java.util.function.Function; import java.util.function.Predicate; -import org.apache.aries.jax.rs.whiteboard.internal.Utils; import org.junit.After; import org.junit.Ignore; import org.junit.Test; @@ -67,7 +66,6 @@ import javax.ws.rs.client.WebTarget; import javax.ws.rs.container.ContainerResponseFilter; import javax.ws.rs.core.Application; import javax.ws.rs.core.Feature; -import javax.ws.rs.core.FeatureContext; import javax.ws.rs.core.Response; import javax.ws.rs.ext.ExceptionMapper; @@ -363,7 +361,8 @@ public class JaxrsTest extends TestHelper { testCase.run(); } - @Test + @SuppressWarnings("serial") + @Test public void testApplicationRebase() { assertEquals(0, getRuntimeDTO().applicationDTOs.length); @@ -607,37 +606,41 @@ public class JaxrsTest extends TestHelper { ServiceRegistration<Application> applicationRegistration = registerApplication(new TestApplication()); - runtimeDTO = getRuntimeDTO(); - - assertEquals(1, runtimeDTO.applicationDTOs.length); - assertEquals(0, runtimeDTO.failedApplicationDTOs.length); - - ServiceRegistration<?> erroredRegistration = registerApplication( - new TestApplication() { - - @Override - public Set<Object> getSingletons() { - throw new RuntimeException(); - } - - }, "service.ranking", 10); - - runtimeDTO = getRuntimeDTO(); - - assertEquals(0, runtimeDTO.applicationDTOs.length); - assertEquals(2, runtimeDTO.failedApplicationDTOs.length); - - erroredRegistration.unregister(); - - runtimeDTO = getRuntimeDTO(); - - assertEquals(1, runtimeDTO.applicationDTOs.length); - assertEquals(0, runtimeDTO.failedApplicationDTOs.length); - - WebTarget webTarget = createDefaultTarget().path("/test-application"); - - assertEquals(200, webTarget.request().get().getStatus()); - assertEquals("Hello application", webTarget.request().get(String.class)); + try { + runtimeDTO = getRuntimeDTO(); + + assertEquals(1, runtimeDTO.applicationDTOs.length); + assertEquals(0, runtimeDTO.failedApplicationDTOs.length); + + ServiceRegistration<?> erroredRegistration = registerApplication( + new TestApplication() { + + @Override + public Set<Object> getSingletons() { + throw new RuntimeException(); + } + + }, "service.ranking", 10); + + runtimeDTO = getRuntimeDTO(); + + assertEquals(0, runtimeDTO.applicationDTOs.length); + assertEquals(2, runtimeDTO.failedApplicationDTOs.length); + + erroredRegistration.unregister(); + + runtimeDTO = getRuntimeDTO(); + + assertEquals(1, runtimeDTO.applicationDTOs.length); + assertEquals(0, runtimeDTO.failedApplicationDTOs.length); + + WebTarget webTarget = createDefaultTarget().path("/test-application"); + + assertEquals(200, webTarget.request().get().getStatus()); + assertEquals("Hello application", webTarget.request().get(String.class)); + } finally { + applicationRegistration.unregister(); + } } @Test @@ -1400,18 +1403,10 @@ public class JaxrsTest extends TestHelper { private Collection<ServiceRegistration<?>> _registrations = new ArrayList<>(); - private static long getServiceId(ServiceRegistration propertyHolder) { + private static long getServiceId(ServiceRegistration<?> propertyHolder) { return (long)propertyHolder.getReference().getProperty("service.id"); } - private void assertFailedApplication(long serviceId, int reason) { - assertTrue(Arrays.stream( - getRuntimeDTO().failedApplicationDTOs - ).anyMatch( - fa -> fa.serviceId == serviceId && fa.failureReason == reason - )); - } - private <T> void assertThatInRuntime( Function<RuntimeDTO, T[]> getter, Predicate<T> predicate) { http://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard/blob/bab1ff39/jax-rs.itests/src/main/java/test/types/TestFilter.java ---------------------------------------------------------------------- diff --git a/jax-rs.itests/src/main/java/test/types/TestFilter.java b/jax-rs.itests/src/main/java/test/types/TestFilter.java index 79e4726..d01eeea 100644 --- a/jax-rs.itests/src/main/java/test/types/TestFilter.java +++ b/jax-rs.itests/src/main/java/test/types/TestFilter.java @@ -24,7 +24,6 @@ import javax.ws.rs.container.ContainerRequestContext; import javax.ws.rs.container.ContainerResponseContext; import javax.ws.rs.container.ContainerResponseFilter; import javax.ws.rs.core.MultivaluedMap; -import javax.ws.rs.ext.Provider; public class TestFilter implements ContainerResponseFilter { http://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard/blob/bab1ff39/jax-rs.itests/src/main/java/test/types/TestFilterAndExceptionMapper.java ---------------------------------------------------------------------- diff --git a/jax-rs.itests/src/main/java/test/types/TestFilterAndExceptionMapper.java b/jax-rs.itests/src/main/java/test/types/TestFilterAndExceptionMapper.java index 89cf88c..d39f051 100644 --- a/jax-rs.itests/src/main/java/test/types/TestFilterAndExceptionMapper.java +++ b/jax-rs.itests/src/main/java/test/types/TestFilterAndExceptionMapper.java @@ -23,7 +23,6 @@ import javax.ws.rs.container.ContainerResponseFilter; import javax.ws.rs.core.MultivaluedMap; import javax.ws.rs.core.Response; import javax.ws.rs.ext.ExceptionMapper; -import javax.ws.rs.ext.Provider; import java.io.IOException; import java.util.Collections; @@ -46,7 +45,8 @@ public class TestFilterAndExceptionMapper implements return Response.ok().entity("This is fine").build(); } - public static class MyException extends RuntimeException { + @SuppressWarnings("serial") + public static class MyException extends RuntimeException { } http://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard/blob/bab1ff39/jax-rs.itests/src/main/java/test/types/TestHelper.java ---------------------------------------------------------------------- diff --git a/jax-rs.itests/src/main/java/test/types/TestHelper.java b/jax-rs.itests/src/main/java/test/types/TestHelper.java index 9f8b98c..c75c3d8 100644 --- a/jax-rs.itests/src/main/java/test/types/TestHelper.java +++ b/jax-rs.itests/src/main/java/test/types/TestHelper.java @@ -74,7 +74,8 @@ public class TestHelper { _runtimeServiceReference = _runtimeTracker.getServiceReference(); } - private static String[] canonicalize(Object propertyValue) { + @SuppressWarnings("unchecked") + private static String[] canonicalize(Object propertyValue) { if (propertyValue == null) { return new String[0]; } http://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard/blob/bab1ff39/jax-rs.whiteboard/bnd.bnd ---------------------------------------------------------------------- diff --git a/jax-rs.whiteboard/bnd.bnd b/jax-rs.whiteboard/bnd.bnd index f7d620f..4e5ccd6 100644 --- a/jax-rs.whiteboard/bnd.bnd +++ b/jax-rs.whiteboard/bnd.bnd @@ -23,6 +23,7 @@ Import-Package:\ !org.apache.abdera.*,\ !org.apache.aries.*,\ !org.apache.cxf.*,\ + !org.apache.log4j.*,\ !org.apache.neethi.*,\ !org.apache.velocity.*,\ !org.apache.xerces.*,\ @@ -36,6 +37,7 @@ Import-Package:\ !org.ietf.jgss.*,\ !org.objectweb.asm.*,\ !org.osgi.service.blueprint.*,\ + !org.osgi.service.http,\ !org.relaxng.datatype.*,\ !org.slf4j.spi.*,\ !org.springframework.*,\ http://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard/blob/bab1ff39/jax-rs.whiteboard/pom.xml ---------------------------------------------------------------------- diff --git a/jax-rs.whiteboard/pom.xml b/jax-rs.whiteboard/pom.xml index 431c4a8..b6e5d51 100644 --- a/jax-rs.whiteboard/pom.xml +++ b/jax-rs.whiteboard/pom.xml @@ -111,16 +111,13 @@ <groupId>org.osgi</groupId> <artifactId>osgi.annotation</artifactId> <version>6.0.1</version> + <scope>provided</scope> </dependency> <dependency> <groupId>org.osgi</groupId> <artifactId>osgi.core</artifactId> <version>6.0.0</version> - </dependency> - <dependency> - <groupId>org.osgi</groupId> - <artifactId>org.osgi.service.http</artifactId> - <version>1.2.1</version> + <scope>provided</scope> </dependency> <dependency> <groupId>org.osgi</groupId> @@ -137,6 +134,12 @@ <artifactId>slf4j-api</artifactId> <version>1.7.2</version> </dependency> + <dependency> + <groupId>javax.json</groupId> + <artifactId>javax.json-api</artifactId> + <version>1.0</version> + <scope>runtime</scope> + </dependency> </dependencies> <build>
