diff options
author | Pamela Dragosh <pdragosh@research.att.com> | 2019-05-03 08:37:15 -0400 |
---|---|---|
committer | Pamela Dragosh <pdragosh@research.att.com> | 2019-05-03 08:37:23 -0400 |
commit | 40ced02a4e9d0ec2f4cc0845a37b2276e495c898 (patch) | |
tree | db9394bc11e8ad38828135c9000d9e04fc8b1ec0 /models-interactions/model-simulators/src/main/java | |
parent | 3616ff70a7b8a2f5e50dc432a7e4f51c8f75fc18 (diff) |
Fixed guard simulator
The guard simulator should simulate the new xacml pdp
decision api not the old.
Issue-ID: POLICY-1730
Change-Id: I97f5df9d698e8c852a0e2c71dbef6ac5912a2d2c
Signed-off-by: Pamela Dragosh <pdragosh@research.att.com>
Diffstat (limited to 'models-interactions/model-simulators/src/main/java')
2 files changed, 30 insertions, 13 deletions
diff --git a/models-interactions/model-simulators/src/main/java/org/onap/policy/simulators/GuardSimulatorJaxRs.java b/models-interactions/model-simulators/src/main/java/org/onap/policy/simulators/GuardSimulatorJaxRs.java index e79b563df..a2a06a4fb 100644 --- a/models-interactions/model-simulators/src/main/java/org/onap/policy/simulators/GuardSimulatorJaxRs.java +++ b/models-interactions/model-simulators/src/main/java/org/onap/policy/simulators/GuardSimulatorJaxRs.java @@ -21,34 +21,49 @@ package org.onap.policy.simulators; +import java.util.Collections; +import java.util.Map; + import javax.ws.rs.Consumes; import javax.ws.rs.POST; import javax.ws.rs.Path; import javax.ws.rs.Produces; import javax.ws.rs.core.MediaType; -import org.json.JSONObject; +import org.onap.policy.models.decisions.concepts.DecisionRequest; +import org.onap.policy.models.decisions.concepts.DecisionResponse; -@Path("/pdp/api") +@Path("/policy/pdpx/v1") public class GuardSimulatorJaxRs { public static final String DENY_CLNAME = "denyGuard"; /** * Get a guard decision. - * + * * @param req the request * @return the response */ @POST - @Path("/getDecision") + @Path("/decision") @Consumes(MediaType.APPLICATION_JSON) @Produces("application/json") - public String getGuardDecision(String req) { - String clName = new JSONObject(req).getJSONObject("decisionAttributes").getString("clname"); + public DecisionResponse getGuardDecision(DecisionRequest req) { + @SuppressWarnings("unchecked") + Map<String, String> guard = (Map<String, String>) req.getResource().get("guard"); + String clName = guard.get("clName"); + DecisionResponse response = new DecisionResponse(); if (DENY_CLNAME.equals(clName)) { - return "{\"decision\": \"DENY\", \"details\": \"Decision Deny. You asked for it\"}"; + response.setStatus("Deny"); + response.setAdvice(Collections.emptyMap()); + response.setObligations(Collections.emptyMap()); + response.setPolicies(Collections.emptyList()); + return response; } else { - return "{\"decision\": \"PERMIT\", \"details\": \"Decision Permit. OK!\"}"; + response.setStatus("Permit"); + response.setAdvice(Collections.emptyMap()); + response.setObligations(Collections.emptyMap()); + response.setPolicies(Collections.emptyList()); + return response; } } } diff --git a/models-interactions/model-simulators/src/main/java/org/onap/policy/simulators/Util.java b/models-interactions/model-simulators/src/main/java/org/onap/policy/simulators/Util.java index 99f9017a2..e5ee65004 100644 --- a/models-interactions/model-simulators/src/main/java/org/onap/policy/simulators/Util.java +++ b/models-interactions/model-simulators/src/main/java/org/onap/policy/simulators/Util.java @@ -24,6 +24,7 @@ package org.onap.policy.simulators; import java.io.IOException; import org.onap.policy.common.endpoints.http.server.HttpServletServer; +import org.onap.policy.common.gson.GsonMessageBodyHandler; import org.onap.policy.common.utils.network.NetworkUtil; public class Util { @@ -38,7 +39,7 @@ public class Util { public static final int VFCSIM_SERVER_PORT = 6668; public static final int GUARDSIM_SERVER_PORT = 6669; public static final int SDNCSIM_SERVER_PORT = 6670; - + private static final String CANNOT_CONNECT = "cannot connect to port "; private static final String LOCALHOST = "localhost"; @@ -48,7 +49,7 @@ public class Util { /** * Build an A&AI simulator. - * + * * @return the simulator * @throws InterruptedException if a thread is interrupted * @throws IOException if an IO errror occurs @@ -85,7 +86,7 @@ public class Util { /** * Build an SO simulator. - * + * * @return the simulator * @throws InterruptedException if a thread is interrupted * @throws IOException if an IO errror occurs @@ -103,7 +104,7 @@ public class Util { /** * Build a VFC simulator. - * + * * @return the simulator * @throws InterruptedException if a thread is interrupted * @throws IOException if an IO errror occurs @@ -121,7 +122,7 @@ public class Util { /** * Build a guard simulator. - * + * * @return the simulator * @throws InterruptedException if a thread is interrupted * @throws IOException if an IO errror occurs @@ -129,6 +130,7 @@ public class Util { public static HttpServletServer buildGuardSim() throws InterruptedException, IOException { HttpServletServer testServer = HttpServletServer.factory.build(GUARDSIM_SERVER_NAME, LOCALHOST, GUARDSIM_SERVER_PORT, "/", false, true); + testServer.setSerializationProvider(GsonMessageBodyHandler.class.getName()); testServer.addServletClass("/*", GuardSimulatorJaxRs.class.getName()); testServer.waitedStart(5000); if (!NetworkUtil.isTcpPortOpen(LOCALHOST, testServer.getPort(), 5, 10000L)) { |