aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJim Hahn <jrh3@att.com>2019-09-13 17:31:46 -0400
committerJim Hahn <jrh3@att.com>2019-09-16 18:24:42 -0400
commit50cd3fbf4561fe445751d299c53efc499df6dfb6 (patch)
tree28d10581129d3b5107693d7183bd2f46af419377
parent89a8e32aabc34432b3d614f452e10f7125b478ce (diff)
Add YAML support to drools-pdp rest servlets
Drools-pdp depends on some of the GsonJackson annotations that cannot be easily worked around via standard gson. Consequently, this continues to use the JacksonHandler for json-encoding, thus it uses the YamlJacksonHandler for yaml-encoding. Added YAML to swagger "consumes" list. Change-Id: Ic70c68bb274222db571b3515cbf1ab22d9ff2366 Issue-ID: POLICY-2081 Signed-off-by: Jim Hahn <jrh3@att.com>
-rw-r--r--feature-healthcheck/src/main/feature/config/feature-healthcheck.properties2
-rw-r--r--feature-healthcheck/src/main/java/org/onap/policy/drools/healthcheck/RestHealthCheck.java10
-rw-r--r--feature-healthcheck/src/test/java/org/onap/policy/drools/healthcheck/RestMockHealthCheck.java11
-rw-r--r--feature-lifecycle/pom.xml11
-rw-r--r--feature-lifecycle/src/main/java/org/onap/policy/drools/server/restful/RestLifecycleManager.java5
-rw-r--r--feature-state-management/src/main/feature/config/feature-state-management.properties2
-rw-r--r--policy-management/src/main/java/org/onap/policy/drools/server/restful/RestManager.java8
-rw-r--r--policy-management/src/main/server/config/engine.properties2
-rw-r--r--pom.xml4
9 files changed, 32 insertions, 23 deletions
diff --git a/feature-healthcheck/src/main/feature/config/feature-healthcheck.properties b/feature-healthcheck/src/main/feature/config/feature-healthcheck.properties
index fc03841a..70a010cd 100644
--- a/feature-healthcheck/src/main/feature/config/feature-healthcheck.properties
+++ b/feature-healthcheck/src/main/feature/config/feature-healthcheck.properties
@@ -28,4 +28,4 @@ http.server.services.HEALTHCHECK.userName=${env:HEALTHCHECK_USER}
http.server.services.HEALTHCHECK.password=${env:HEALTHCHECK_PASSWORD}
http.server.services.HEALTHCHECK.https=true
http.server.services.HEALTHCHECK.aaf=${env:AAF}
-http.server.services.HEALTHCHECK.serialization.provider=org.onap.policy.common.gson.JacksonHandler
+http.server.services.HEALTHCHECK.serialization.provider=org.onap.policy.common.gson.JacksonHandler,org.onap.policy.common.endpoints.http.server.YamlJacksonHandler
diff --git a/feature-healthcheck/src/main/java/org/onap/policy/drools/healthcheck/RestHealthCheck.java b/feature-healthcheck/src/main/java/org/onap/policy/drools/healthcheck/RestHealthCheck.java
index 954a2c55..5d9d67ec 100644
--- a/feature-healthcheck/src/main/java/org/onap/policy/drools/healthcheck/RestHealthCheck.java
+++ b/feature-healthcheck/src/main/java/org/onap/policy/drools/healthcheck/RestHealthCheck.java
@@ -31,20 +31,20 @@ import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
-
+import org.onap.policy.common.endpoints.http.server.YamlMessageBodyHandler;
import org.onap.policy.drools.healthcheck.HealthCheck.Reports;
@Path("/")
@Api
-@Produces(MediaType.APPLICATION_JSON)
+@Produces({MediaType.APPLICATION_JSON, YamlMessageBodyHandler.APPLICATION_YAML})
@SwaggerDefinition(
info = @Info(
description = "PDP-D Healthcheck Service",
version = "v1.0",
title = "PDP-D Healthcheck"
),
- consumes = {MediaType.APPLICATION_JSON},
- produces = {MediaType.APPLICATION_JSON},
+ consumes = {MediaType.APPLICATION_JSON, YamlMessageBodyHandler.APPLICATION_YAML},
+ produces = {MediaType.APPLICATION_JSON, YamlMessageBodyHandler.APPLICATION_YAML},
schemes = {SwaggerDefinition.Scheme.HTTP},
tags = {
@Tag(name = "pdp-d-healthcheck", description = "Drools PDP Healthcheck Operations")
@@ -54,7 +54,6 @@ public class RestHealthCheck {
@GET
@Path("healthcheck")
- @Produces(MediaType.APPLICATION_JSON)
@ApiOperation(
value = "Perform a system healthcheck",
notes = "Provides healthy status of the PDP-D plus the components defined in its "
@@ -67,7 +66,6 @@ public class RestHealthCheck {
@GET
@Path("healthcheck/configuration")
- @Produces(MediaType.APPLICATION_JSON)
@ApiOperation(
value = "Configuration",
notes = "Provides the Healthcheck server configuration and monitored REST clients",
diff --git a/feature-healthcheck/src/test/java/org/onap/policy/drools/healthcheck/RestMockHealthCheck.java b/feature-healthcheck/src/test/java/org/onap/policy/drools/healthcheck/RestMockHealthCheck.java
index 8bdad5b6..8cbe1fbf 100644
--- a/feature-healthcheck/src/test/java/org/onap/policy/drools/healthcheck/RestMockHealthCheck.java
+++ b/feature-healthcheck/src/test/java/org/onap/policy/drools/healthcheck/RestMockHealthCheck.java
@@ -7,9 +7,9 @@
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
- *
+ *
* http://www.apache.org/licenses/LICENSE-2.0
- *
+ *
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -26,14 +26,15 @@ import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
import javax.ws.rs.core.Response.Status;
+import org.onap.policy.common.endpoints.http.server.YamlMessageBodyHandler;
@Path("/")
public class RestMockHealthCheck {
-
+
@GET
@Path("healthcheck/test")
- @Produces(MediaType.APPLICATION_JSON)
- public Response papHealthCheck() {
+ @Produces({MediaType.APPLICATION_JSON, YamlMessageBodyHandler.APPLICATION_YAML})
+ public Response papHealthCheck() {
return Response.status(Status.OK).entity("All Alive").build();
}
diff --git a/feature-lifecycle/pom.xml b/feature-lifecycle/pom.xml
index 18831b5a..66da4614 100644
--- a/feature-lifecycle/pom.xml
+++ b/feature-lifecycle/pom.xml
@@ -7,9 +7,9 @@
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
-
+
http://www.apache.org/licenses/LICENSE-2.0
-
+
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -122,6 +122,13 @@
<dependency>
<groupId>org.onap.policy.common</groupId>
+ <artifactId>policy-endpoints</artifactId>
+ <version>${policy.common.version}</version>
+ <scope>provided</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.onap.policy.common</groupId>
<artifactId>utils-test</artifactId>
<version>${policy.common.version}</version>
<scope>test</scope>
diff --git a/feature-lifecycle/src/main/java/org/onap/policy/drools/server/restful/RestLifecycleManager.java b/feature-lifecycle/src/main/java/org/onap/policy/drools/server/restful/RestLifecycleManager.java
index e4a93310..9aea0450 100644
--- a/feature-lifecycle/src/main/java/org/onap/policy/drools/server/restful/RestLifecycleManager.java
+++ b/feature-lifecycle/src/main/java/org/onap/policy/drools/server/restful/RestLifecycleManager.java
@@ -26,6 +26,7 @@ import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
+import org.onap.policy.common.endpoints.http.server.YamlMessageBodyHandler;
import org.onap.policy.drools.lifecycle.LifecycleFeature;
import org.onap.policy.drools.lifecycle.LifecycleFsm;
@@ -34,8 +35,8 @@ import org.onap.policy.drools.lifecycle.LifecycleFsm;
*/
@Path("/policy/pdp")
-@Produces(MediaType.APPLICATION_JSON)
-@Consumes(MediaType.APPLICATION_JSON)
+@Produces({MediaType.APPLICATION_JSON, YamlMessageBodyHandler.APPLICATION_YAML})
+@Consumes({MediaType.APPLICATION_JSON, YamlMessageBodyHandler.APPLICATION_YAML})
@Api
public class RestLifecycleManager {
diff --git a/feature-state-management/src/main/feature/config/feature-state-management.properties b/feature-state-management/src/main/feature/config/feature-state-management.properties
index 9ab53d3f..d2df6c52 100644
--- a/feature-state-management/src/main/feature/config/feature-state-management.properties
+++ b/feature-state-management/src/main/feature/config/feature-state-management.properties
@@ -28,7 +28,7 @@ javax.persistence.jdbc.password=${env:SQL_PASSWORD}
# Test interface host and port defaults may be overwritten here
http.server.services.TEST.host=0.0.0.0
http.server.services.TEST.port=9981
-http.server.services.TEST.serialization.provider=org.onap.policy.common.gson.JacksonHandler
+http.server.services.TEST.serialization.provider=org.onap.policy.common.gson.JacksonHandler,org.onap.policy.common.endpoints.http.server.YamlJacksonHandler
#These properties will default to the following if no other values are provided:
# http.server.services.TEST.restClasses=org.onap.policy.drools.statemanagement.IntegrityMonitorRestManager
# http.server.services.TEST.managed=false
diff --git a/policy-management/src/main/java/org/onap/policy/drools/server/restful/RestManager.java b/policy-management/src/main/java/org/onap/policy/drools/server/restful/RestManager.java
index 2d40a1f1..c5841b06 100644
--- a/policy-management/src/main/java/org/onap/policy/drools/server/restful/RestManager.java
+++ b/policy-management/src/main/java/org/onap/policy/drools/server/restful/RestManager.java
@@ -55,6 +55,7 @@ import org.onap.policy.common.endpoints.event.comm.TopicEndpoint;
import org.onap.policy.common.endpoints.event.comm.TopicEndpointManager;
import org.onap.policy.common.endpoints.event.comm.TopicSink;
import org.onap.policy.common.endpoints.event.comm.TopicSource;
+import org.onap.policy.common.endpoints.http.server.YamlMessageBodyHandler;
import org.onap.policy.drools.controller.DroolsController;
import org.onap.policy.drools.features.PolicyControllerFeatureApi;
import org.onap.policy.drools.features.PolicyEngineFeatureApi;
@@ -78,11 +79,12 @@ import org.slf4j.LoggerFactory;
*/
@Path("/policy/pdp")
-@Produces(MediaType.APPLICATION_JSON)
-@Consumes(MediaType.APPLICATION_JSON)
+@Produces({MediaType.APPLICATION_JSON, YamlMessageBodyHandler.APPLICATION_YAML})
+@Consumes({MediaType.APPLICATION_JSON, YamlMessageBodyHandler.APPLICATION_YAML})
@Api
@SwaggerDefinition(info = @Info(description = "PDP-D Telemetry Services", version = "v1.0", title = "PDP-D Telemetry"),
- consumes = {MediaType.APPLICATION_JSON, MediaType.TEXT_PLAIN}, produces = {MediaType.APPLICATION_JSON},
+ consumes = {MediaType.APPLICATION_JSON, YamlMessageBodyHandler.APPLICATION_YAML, MediaType.TEXT_PLAIN},
+ produces = {MediaType.APPLICATION_JSON, YamlMessageBodyHandler.APPLICATION_YAML},
schemes = {SwaggerDefinition.Scheme.HTTP},
tags = {@Tag(name = "pdp-d-telemetry", description = "Drools PDP Telemetry Operations")})
public class RestManager {
diff --git a/policy-management/src/main/server/config/engine.properties b/policy-management/src/main/server/config/engine.properties
index 05f682e3..aa9b6d80 100644
--- a/policy-management/src/main/server/config/engine.properties
+++ b/policy-management/src/main/server/config/engine.properties
@@ -42,7 +42,7 @@ http.server.services.SECURED-CONFIG.managed=false
http.server.services.SECURED-CONFIG.swagger=true
http.server.services.SECURED-CONFIG.https=true
http.server.services.SECURED-CONFIG.aaf=${env:AAF}
-http.server.services.SECURED-CONFIG.serialization.provider=org.onap.policy.common.gson.JacksonHandler
+http.server.services.SECURED-CONFIG.serialization.provider=org.onap.policy.common.gson.JacksonHandler,org.onap.policy.common.endpoints.http.server.YamlJacksonHandler
aaf.namespace=${env:AAF_NAMESPACE}
aaf.root.permission=${env:AAF_NAMESPACE}.pdpd
diff --git a/pom.xml b/pom.xml
index 4a44f139..87a06961 100644
--- a/pom.xml
+++ b/pom.xml
@@ -62,8 +62,8 @@
<hibernate.commons.annotations.version>5.0.1.Final</hibernate.commons.annotations.version>
<commons.io.version>2.5</commons.io.version>
<xml.apis.version>1.4.01</xml.apis.version>
- <policy.common.version>1.5.2</policy.common.version>
- <policy.models.version>2.1.3</policy.models.version>
+ <policy.common.version>1.6.0-SNAPSHOT</policy.common.version>
+ <policy.models.version>2.2.0-SNAPSHOT</policy.models.version>
</properties>
<modules>