diff options
author | liamfallon <liam.fallon@est.tech> | 2020-11-16 12:35:57 +0000 |
---|---|---|
committer | Liam Fallon <liam.fallon@est.tech> | 2020-11-16 17:04:19 +0000 |
commit | 937561509d22d265838368165d534636ebd0c70b (patch) | |
tree | db5d89dea249ab6066913b12ccdc5e1c401c8dea /examples/examples-grpc | |
parent | 84d0f41eba6884cc8e75e920e766abd785c06f2b (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)
Diffstat (limited to 'examples/examples-grpc')
-rw-r--r-- | examples/examples-grpc/src/main/resources/logic/CreateSubscriptionPayloadTask.js | 9 | ||||
-rw-r--r-- | examples/examples-grpc/src/main/resources/logic/ReceivePMSubscriptionTask.js | 44 |
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; |