summaryrefslogtreecommitdiffstats
path: root/models-interactions/model-simulators/src/main/java
diff options
context:
space:
mode:
authorPamela Dragosh <pdragosh@research.att.com>2019-05-03 08:37:15 -0400
committerPamela Dragosh <pdragosh@research.att.com>2019-05-03 08:37:23 -0400
commit40ced02a4e9d0ec2f4cc0845a37b2276e495c898 (patch)
treedb9394bc11e8ad38828135c9000d9e04fc8b1ec0 /models-interactions/model-simulators/src/main/java
parent3616ff70a7b8a2f5e50dc432a7e4f51c8f75fc18 (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')
-rw-r--r--models-interactions/model-simulators/src/main/java/org/onap/policy/simulators/GuardSimulatorJaxRs.java31
-rw-r--r--models-interactions/model-simulators/src/main/java/org/onap/policy/simulators/Util.java12
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)) {