aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorliamfallon <liam.fallon@est.tech>2020-11-16 12:35:57 +0000
committerLiam Fallon <liam.fallon@est.tech>2020-11-16 17:04:19 +0000
commit937561509d22d265838368165d534636ebd0c70b (patch)
treedb5d89dea249ab6066913b12ccdc5e1c401c8dea
parent84d0f41eba6884cc8e75e920e766abd785c06f2b (diff)
Update gRPC example for JSON Stringify
The JSON.stringify() call in the Rhino Javascript interpreter is not working correctly. A previous patch introduced a method into the Apex execution context to provide an alternative method for stringifying JSON. This patch updates the gRPC example in apex to use that new method. Issue-ID: POLICY-2463 Change-Id: I7f789c000d53dec60020fda2a6fccd71ef18edc3 Signed-off-by: liamfallon <liam.fallon@est.tech> (cherry picked from commit fd5ee076b2ecf9fc5151090cf8a9b49fac6cf055)
-rw-r--r--examples/examples-grpc/src/main/resources/logic/CreateSubscriptionPayloadTask.js9
-rw-r--r--examples/examples-grpc/src/main/resources/logic/ReceivePMSubscriptionTask.js44
2 files changed, 48 insertions, 5 deletions
diff --git a/examples/examples-grpc/src/main/resources/logic/CreateSubscriptionPayloadTask.js b/examples/examples-grpc/src/main/resources/logic/CreateSubscriptionPayloadTask.js
index 48f31847b..85e7ae2e9 100644
--- a/examples/examples-grpc/src/main/resources/logic/CreateSubscriptionPayloadTask.js
+++ b/examples/examples-grpc/src/main/resources/logic/CreateSubscriptionPayloadTask.js
@@ -35,11 +35,14 @@ var payloadEntry = executor.subject.getOutFieldSchemaHelper("payload").createNew
payloadEntry.put("create_DasH_subscription_DasH_properties", payloadProperties)
var payload = executor.subject.getOutFieldSchemaHelper("payload").createNewInstance();
+var payloadSchemaHelper = executor.subject.getOutFieldSchemaHelper("payload");
payload.put("create_DasH_subscription_DasH_request", payloadEntry);
-executor.outFields.put("albumID", executor.inFields.get("albumID"))
+executor.logger.info("CDS payload - " + executor.stringify2Json( payload, payloadSchemaHelper));
+
+executor.outFields.put("albumID", executor.inFields.get("albumID"));
executor.outFields.put("payload", payload);
-executor.logger.info("Sending Create Subscription Event to CDS")
+executor.logger.info("Sending Create Subscription Event to CDS");
-true;
+true; \ No newline at end of file
diff --git a/examples/examples-grpc/src/main/resources/logic/ReceivePMSubscriptionTask.js b/examples/examples-grpc/src/main/resources/logic/ReceivePMSubscriptionTask.js
index bc4028a32..0134b6bca 100644
--- a/examples/examples-grpc/src/main/resources/logic/ReceivePMSubscriptionTask.js
+++ b/examples/examples-grpc/src/main/resources/logic/ReceivePMSubscriptionTask.js
@@ -18,6 +18,7 @@
* ============LICENSE_END=========================================================
*/
var uuidType = java.util.UUID;
+var HashMapType = java.util.HashMap;
//albumID will be used to fetch info from our album later
@@ -25,13 +26,21 @@ var albumID = uuidType.fromString("d0050623-18e5-46c9-9298-9a567990cd7c");
var pmSubscriptionInfo = executor.getContextAlbum("PMSubscriptionAlbum").getSchemaHelper().createNewInstance();
var returnValue = true;;
-if(executor.inFields.get("policyName") != null) {
+if (executor.inFields.get("policyName") != null) {
var changeType = executor.inFields.get("changeType")
var nfName = executor.inFields.get("nfName")
var policyName = executor.inFields.get("policyName")
var closedLoopControlName = executor.inFields.get("closedLoopControlName")
var subscription = executor.inFields.get("subscription")
+ var obj = {};
+ obj["nfName"] = executor.inFields.get("nfName")
+ executor.logger.info("nfName" + executor.stringify2Json(obj))
+
+ var ticketInfo = new HashMapType();
+ populate_creator_info(ticketInfo);
+ executor.logger.info("ticketInfo" + executor.stringify2Json(ticketInfo))
+
pmSubscriptionInfo.put("nfName", executor.inFields.get("nfName"));
pmSubscriptionInfo.put("changeType", executor.inFields.get("changeType"))
pmSubscriptionInfo.put("policyName", executor.inFields.get("policyName"))
@@ -45,4 +54,35 @@ if(executor.inFields.get("policyName") != null) {
executor.message = "Received invalid event"
returnValue = false;
}
-returnValue; \ No newline at end of file
+
+function populate_creator_info(ticketInfo){
+ populate_field(ticketInfo, "appId", "NSO");
+ populate_field(ticketInfo, "creatorId", "fidLab");
+ populate_field(ticketInfo, "creatorFirstName", "PSO");
+ populate_field(ticketInfo, "creatorLastName", "team7");
+ populate_field(ticketInfo, "creatorGroup", "PSO-team7");
+ populate_field(ticketInfo, "creatorPEIN", "0000000");
+ populate_field(ticketInfo, "creatorPhoneNumber", "800-450-7771");
+ populate_field(ticketInfo, "fid", "fidLab");
+ populate_field(ticketInfo, "organizationCode", "PSO");
+ populate_field(ticketInfo, "source", create_caEn_value("SURV/ALARM FROM/PSO"));
+ populate_field(ticketInfo, "customerName", "XYZ");
+ populate_field(ticketInfo, "authorization", "Basic dGVzdHVzZXI=");
+}
+
+function populate_field(mapname, name, value){
+ if (value == null){
+ mapname.put(name, "none");
+ } else{
+ mapname.put(name, value);
+ }
+
+}
+
+function create_caEn_value(value){
+ var attr = {};
+ attr["caEn"] = String(value);
+ return attr;
+}
+
+returnValue;