Merge "ORAN A1 Adapter DG Updates"
diff --git a/platform-logic/a1Adapter-api/src/main/json/A1-ADAPTER-API_getNearRT-RICs.json b/platform-logic/a1Adapter-api/src/main/json/A1-ADAPTER-API_getNearRT-RICs.json
new file mode 100644
index 0000000..2f8c203
--- /dev/null
+++ b/platform-logic/a1Adapter-api/src/main/json/A1-ADAPTER-API_getNearRT-RICs.json
@@ -0,0 +1,424 @@
+[
+ {
+ "id": "ebd5e816.eb6c78",
+ "type": "service-logic",
+ "name": "A1-ADAPTER-API ${project.version}",
+ "module": "A1-ADAPTER-API",
+ "version": "${project.version}",
+ "comments": "",
+ "xml": "<service-logic xmlns='http://www.onap.org/sdnc/svclogic' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:schemaLocation='http://www.onap.org/sdnc/svclogic ./svclogic.xsd' module='A1-ADAPTER-API' version='${project.version}'>",
+ "outputs": 1,
+ "x": 193,
+ "y": 88,
+ "z": "e95de38b.bff39",
+ "wires": [
+ [
+ "456b8690.81ad48"
+ ]
+ ]
+ },
+ {
+ "id": "456b8690.81ad48",
+ "type": "method",
+ "name": "method getNearRT-RICs",
+ "xml": "<method rpc='getNearRT-RICs' mode='sync'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 271,
+ "y": 221,
+ "z": "e95de38b.bff39",
+ "wires": [
+ [
+ "39b7c428.fbd3fc"
+ ]
+ ]
+ },
+ {
+ "id": "68c6918d.888a2",
+ "type": "record",
+ "name": "record",
+ "xml": "<record plugin=\"org.onap.ccsdk.sli.core.sli.recording.FileRecorder\">\n<parameter name=\"file\" value=\"/opt/opendaylight/current/data/log/A1-Adapter.log\" />\n<parameter name=\"level\" value=\"info\" />\n<parameter name=\"field1\" value=\"A1 Adapter - get near-RT RIC Info\"/>",
+ "comments": "",
+ "outputs": 1,
+ "x": 718,
+ "y": 23,
+ "z": "e95de38b.bff39",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "39b7c428.fbd3fc",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic='true'>",
+ "atomic": "true",
+ "comments": "",
+ "outputs": 1,
+ "x": 459,
+ "y": 162,
+ "z": "e95de38b.bff39",
+ "wires": [
+ [
+ "68c6918d.888a2",
+ "97009951.c95b78",
+ "43ca47a6.582ba8",
+ "c0535382.92e3b",
+ "bd60c8d3.9797d8"
+ ]
+ ]
+ },
+ {
+ "id": "6076caf.e61c034",
+ "type": "dgstart",
+ "name": "DGSTART",
+ "outputs": 1,
+ "x": 126,
+ "y": 24,
+ "z": "e95de38b.bff39",
+ "wires": [
+ [
+ "ebd5e816.eb6c78"
+ ]
+ ]
+ },
+ {
+ "id": "97009951.c95b78",
+ "type": "set",
+ "name": "set default status value",
+ "xml": "<set>\n<parameter name='response-code' value='200' />\n<parameter name='response-message' value='A1 Mediator RIC ID available' />",
+ "comments": "",
+ "x": 769,
+ "y": 78,
+ "z": "e95de38b.bff39",
+ "wires": []
+ },
+ {
+ "id": "43ca47a6.582ba8",
+ "type": "execute",
+ "name": "execute Properties",
+ "xml": "<execute plugin='org.onap.ccsdk.sli.plugins.prop.PropertiesNode' method='readProperties' >\n <parameter name='fileName' value='/opt/onap/ccsdk/data/properties/a1-adapter-api-dg.properties' />\n <parameter name='contextPrefix' value='prop' />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 755,
+ "y": 122,
+ "z": "e95de38b.bff39",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "bd60c8d3.9797d8",
+ "type": "switchNode",
+ "name": "A1 Mediator Deployed",
+ "xml": "<switch test='`$prop.ric-plt-A1Mediator-deployed`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 743,
+ "y": 254,
+ "z": "e95de38b.bff39",
+ "wires": [
+ [
+ "7e402958.8360a8",
+ "bf086c83.8630a"
+ ]
+ ]
+ },
+ {
+ "id": "bf086c83.8630a",
+ "type": "outcome",
+ "name": "Deployed",
+ "xml": "<outcome value='true'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 992.0000457763672,
+ "y": 46.000065326690674,
+ "z": "e95de38b.bff39",
+ "wires": [
+ [
+ "71655ae6.aa99f4"
+ ]
+ ]
+ },
+ {
+ "id": "71655ae6.aa99f4",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic='true'>",
+ "atomic": "true",
+ "comments": "",
+ "outputs": 1,
+ "x": 1048,
+ "y": 160.00001525878906,
+ "z": "e95de38b.bff39",
+ "wires": [
+ [
+ "4643c1e7.c59be",
+ "b912cf6.9ffe93"
+ ]
+ ]
+ },
+ {
+ "id": "7e402958.8360a8",
+ "type": "outcome",
+ "name": "Not Deployed",
+ "xml": "<outcome value='false'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 982.0000610351562,
+ "y": 354.00006103515625,
+ "z": "e95de38b.bff39",
+ "wires": [
+ [
+ "db47880c.68c2b8"
+ ]
+ ]
+ },
+ {
+ "id": "db47880c.68c2b8",
+ "type": "block",
+ "name": "block",
+ "xml": "<block>\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 1160.0001068115234,
+ "y": 610.0000143051147,
+ "z": "e95de38b.bff39",
+ "wires": [
+ [
+ "5f1c2ff4.d89bf",
+ "f5d19daf.0a21a",
+ "813bd649.ab9798"
+ ]
+ ]
+ },
+ {
+ "id": "5f1c2ff4.d89bf",
+ "type": "returnFailure",
+ "name": "return failure",
+ "xml": "<return status='failure'>\n<parameter name='ack-final' value='Y'/>\n<parameter name=\"response-code\" value=\"500\" />\n<parameter name=\"response-message\" value=\"A1 Mediator Not Deployed. Aborting Health Check\" />",
+ "comments": "",
+ "x": 1284.9998626708984,
+ "y": 690.9999988079071,
+ "z": "e95de38b.bff39",
+ "wires": []
+ },
+ {
+ "id": "4643c1e7.c59be",
+ "type": "record",
+ "name": "record",
+ "xml": "<record plugin=\"org.onap.ccsdk.sli.core.sli.recording.FileRecorder\">\n<parameter name=\"file\" value=\"/opt/opendaylight/current/data/log/A1-Adapter.log\" />\n<parameter name=\"level\" value=\"info\" />\n<parameter name=\"field1\" value=\"SNear-RT RIC ID\"/>\n<parameter name=\"field2\" value=\"`$tmp.near-rt-ric-id`\"/>",
+ "comments": "",
+ "outputs": 1,
+ "x": 1231,
+ "y": 216,
+ "z": "e95de38b.bff39",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "f5d19daf.0a21a",
+ "type": "block",
+ "name": "DMAAP Reponse Publish",
+ "xml": "<block atomic='true'>",
+ "atomic": "true",
+ "comments": "",
+ "outputs": 1,
+ "x": 1946.0001220703125,
+ "y": 658.0001516342163,
+ "z": "e95de38b.bff39",
+ "wires": [
+ [
+ "e0c69688.bf48b8",
+ "51475ed3.5e72a",
+ "6ac72c6d.c43284"
+ ]
+ ]
+ },
+ {
+ "id": "51475ed3.5e72a",
+ "type": "execute",
+ "name": "execute DmaapMsg",
+ "xml": "<execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\n <parameter name='templateFileName' value=\"`$prop.restapi.templateDir + '/' + $prop.restapi.dmaap-publish-generic-response.template`\" />\n <parameter name='restapiUrl' value=\"`$prop.dmaap-message-router.url + $prop.a1Adapter-dmaap-policy-response.topic`\" />\n <parameter name='format' value='json' />\n <parameter name='httpMethod' value='POST' />\n <parameter name='contentType' value='application/json' />\n <parameter name='responsePrefix' value='dmaap' />",
+ "comments": "",
+ "outputs": 1,
+ "x": 2295.0003204345703,
+ "y": 835.9995563030243,
+ "z": "e95de38b.bff39",
+ "wires": [
+ [
+ "81c3b061.027dd",
+ "ad5fd599.0827c8"
+ ]
+ ]
+ },
+ {
+ "id": "e0c69688.bf48b8",
+ "type": "set",
+ "name": "set",
+ "xml": "<set>\n<parameter name='tmp.a1-adapter-api.rpc-name' value='getNearRT-RICs'/>\n<parameter name='tmp.a1Adapter-dmaap-resp.status-code' value='`$response-code`'/>\n<parameter name='tmp.a1Adapter-dmaap-resp.status-value' value='`$response-message`'/>\n<parameter name='tmp.a1Policy-dmaap-resp.payload' value=\"`$tmp.near-rt-ric-id`\" />",
+ "comments": "",
+ "x": 2284.6669921875,
+ "y": 627.0001220703125,
+ "z": "e95de38b.bff39",
+ "wires": []
+ },
+ {
+ "id": "81c3b061.027dd",
+ "type": "failure",
+ "name": "failure",
+ "xml": "<outcome value='failure'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2510.5002059936523,
+ "y": 758.9168601036072,
+ "z": "e95de38b.bff39",
+ "wires": [
+ [
+ "984b4d6a.16329"
+ ]
+ ]
+ },
+ {
+ "id": "ad5fd599.0827c8",
+ "type": "success",
+ "name": "success",
+ "xml": "<outcome value='success'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2514.5001258850098,
+ "y": 897.916702747345,
+ "z": "e95de38b.bff39",
+ "wires": [
+ [
+ "933abff8.99ceb"
+ ]
+ ]
+ },
+ {
+ "id": "984b4d6a.16329",
+ "type": "block",
+ "name": "block",
+ "xml": "<block>\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 2670.5000400543213,
+ "y": 760.9168610572815,
+ "z": "e95de38b.bff39",
+ "wires": [
+ [
+ "f7674184.f0207"
+ ]
+ ]
+ },
+ {
+ "id": "f7674184.f0207",
+ "type": "returnFailure",
+ "name": "return failure",
+ "xml": "<return status='failure'>\n<parameter name='ack-final' value='Y'/>\n<parameter name=\"response-code\" value=\"500\" />\n<parameter name=\"response-message\" value=\"Error publishing DMAAP A1 Policy Response message. \" />",
+ "comments": "",
+ "x": 2852.499771118164,
+ "y": 751.9169368743896,
+ "z": "e95de38b.bff39",
+ "wires": []
+ },
+ {
+ "id": "933abff8.99ceb",
+ "type": "block",
+ "name": "block",
+ "xml": "<block>\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 2697.4997692108154,
+ "y": 890.916811466217,
+ "z": "e95de38b.bff39",
+ "wires": [
+ [
+ "cf6ac156.9eaf8"
+ ]
+ ]
+ },
+ {
+ "id": "cf6ac156.9eaf8",
+ "type": "record",
+ "name": "record",
+ "xml": "<record plugin=\"org.onap.ccsdk.sli.core.sli.recording.FileRecorder\">\n<parameter name=\"file\" value=\"/opt/opendaylight/current/data/log/A1-Adapter.log\" />\n<parameter name=\"level\" value=\"info\" />\n<parameter name=\"field1\" value=\"DMAAP A1Policy message Successfully Published \"/>",
+ "comments": "",
+ "outputs": 1,
+ "x": 2885.5,
+ "y": 881.9171142578125,
+ "z": "e95de38b.bff39",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "6ac72c6d.c43284",
+ "type": "record",
+ "name": "record",
+ "xml": "<record plugin=\"org.onap.ccsdk.sli.core.sli.recording.FileRecorder\">\n<parameter name=\"file\" value=\"/opt/opendaylight/current/data/log/A1-Adapter.log\" />\n<parameter name=\"level\" value=\"info\" />\n<parameter name=\"field1\" value=\"__TIMESTAMP__\"/>\n<parameter name=\"field2\" value=\"Before DMAAP Event - template file name, restapiURL\"/>\n<parameter name='field3' value=\"`$prop.restapi.templateDir + '/' + $prop.restapi.dmaap-publish-generic-response.template`\" />\n<parameter name='field4' value=\"`$prop.dmaap-message-router.url + $prop.a1Adapter-dmaap-policy-response.topic`\" />\n<parameter name='field5' value=\"Status Code and Status Value to be published\" />\n<parameter name='field6' value=\"`$tmp.a1Adapter-dmaap-resp.status-code`\" />\n<parameter name='field7' value=\"`$tmp.a1Adapter-dmaap-resp.status-value`\" />\n<parameter name='field8' value=\"A1 Adapter DMAAP Response Payload\" />\n<parameter name='field9' value=\"`$tmp.a1Policy-dmaap-resp.payload`\" />\n<parameter name='field10' value=\"RPC Name\" />\n<parameter name='field11' value=\"`$tmp.a1-adapter-api.rpc-name`\" />",
+ "comments": "",
+ "outputs": 1,
+ "x": 2291.5002517700195,
+ "y": 712.4550609588623,
+ "z": "e95de38b.bff39",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "813bd649.ab9798",
+ "type": "set",
+ "name": "set",
+ "xml": "<set>\n<parameter name='response-code' value='500'/>\n<parameter name='response-message' value='A1 Mediator Not Deployed'/>\n",
+ "comments": "",
+ "x": 1320.0001220703125,
+ "y": 540,
+ "z": "e95de38b.bff39",
+ "wires": []
+ },
+ {
+ "id": "c0535382.92e3b",
+ "type": "block",
+ "name": "block",
+ "xml": "<block>\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 701.7538948059082,
+ "y": 800.0039358139038,
+ "z": "e95de38b.bff39",
+ "wires": [
+ [
+ "197cd6b3.c3fad9",
+ "f5d19daf.0a21a"
+ ]
+ ]
+ },
+ {
+ "id": "197cd6b3.c3fad9",
+ "type": "returnSuccess",
+ "name": "return success",
+ "xml": "<return status='success'>\n<parameter name=\"ack-final-indicator\" value=\"Y\" />\n<parameter name=\"error-code\" value=\"200\" />\n<parameter name=\"error-message\" value=\"`$error-message`\" />\n<parameter name='response-code' value='200' />\n<parameter name='response-message' value='A1 Mediatpor is available'/>\n<parameter name='health-status' value='200'/>\n<parameter name='ack-final' value='Y'/>\n",
+ "comments": "",
+ "x": 853.7539672851562,
+ "y": 885.00390625,
+ "z": "e95de38b.bff39",
+ "wires": []
+ },
+ {
+ "id": "b912cf6.9ffe93",
+ "type": "set",
+ "name": "set tmp variables for Near RT RIC ID",
+ "xml": "<set>\n<parameter name=\"tmp.near-rt-ric-id\" value=\"`$prop.near-rt-ric-id`\"/>\n",
+ "comments": "",
+ "x": 1279,
+ "y": 89,
+ "z": "e95de38b.bff39",
+ "wires": []
+ }
+]
\ No newline at end of file
diff --git a/platform-logic/a1Adapter-api/src/main/json/A1-ADAPTER-API_notifyPolicyEnforcementUpdate.json b/platform-logic/a1Adapter-api/src/main/json/A1-ADAPTER-API_notifyPolicyEnforcementUpdate.json
new file mode 100644
index 0000000..fc7288d
--- /dev/null
+++ b/platform-logic/a1Adapter-api/src/main/json/A1-ADAPTER-API_notifyPolicyEnforcementUpdate.json
@@ -0,0 +1,300 @@
+[
+ {
+ "id": "d607a46.e92cb58",
+ "type": "service-logic",
+ "name": "A1-ADAPTER-API ${project.version}",
+ "module": "A1-ADAPTER-API",
+ "version": "${project.version}",
+ "comments": "",
+ "xml": "<service-logic xmlns='http://www.onap.org/sdnc/svclogic' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:schemaLocation='http://www.onap.org/sdnc/svclogic ./svclogic.xsd' module='A1-ADAPTER-API' version='${project.version}'>",
+ "outputs": 1,
+ "x": 174,
+ "y": 115,
+ "z": "fcb09084.b4e08",
+ "wires": [
+ [
+ "2e999e7.6f2df62"
+ ]
+ ]
+ },
+ {
+ "id": "2e999e7.6f2df62",
+ "type": "method",
+ "name": "method notifyPolicyEnforcementUpdate",
+ "xml": "<method rpc='notifyPolicyEnforcementUpdate' mode='sync'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 256,
+ "y": 249,
+ "z": "fcb09084.b4e08",
+ "wires": [
+ [
+ "5f8adea.c825d2"
+ ]
+ ]
+ },
+ {
+ "id": "f3f643f9.0b58f",
+ "type": "record",
+ "name": "record",
+ "xml": "<record plugin=\"org.onap.ccsdk.sli.core.sli.recording.FileRecorder\">\n<parameter name=\"file\" value=\"/opt/opendaylight/current/data/log/A1-Adapter.log\" />\n<parameter name=\"level\" value=\"info\" />\n<parameter name=\"field1\" value=\"A1 Adapter - notify policy enforcement update\"/>\n<parameter name=\"field2\" value=\"`$notify-policy-enforcement-update-input.near-rt-ric-id`\"/>\n<parameter name=\"field3\" value=\"`$notify-policy-enforcement-update-input.policy-type-id`\"/>\n<parameter name=\"field4\" value=\"`$notify-policy-enforcement-update-input.policy-instance-id`\"/>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 714,
+ "y": 58,
+ "z": "fcb09084.b4e08",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "5f8adea.c825d2",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic='true'>",
+ "atomic": "true",
+ "comments": "",
+ "outputs": 1,
+ "x": 440,
+ "y": 189,
+ "z": "fcb09084.b4e08",
+ "wires": [
+ [
+ "f3f643f9.0b58f",
+ "1d7cdc6d.ec16a4",
+ "fa6b1b92.347cc8",
+ "11dff310.728f7d",
+ "28b301ee.8e0efe",
+ "cee75651.1a7348",
+ "f216c1e8.790c3"
+ ]
+ ]
+ },
+ {
+ "id": "2e00adb0.ee7092",
+ "type": "dgstart",
+ "name": "DGSTART",
+ "outputs": 1,
+ "x": 107,
+ "y": 51,
+ "z": "fcb09084.b4e08",
+ "wires": [
+ [
+ "d607a46.e92cb58"
+ ]
+ ]
+ },
+ {
+ "id": "1d7cdc6d.ec16a4",
+ "type": "set",
+ "name": "set default status value",
+ "xml": "<set>\n<parameter name='response-code' value='200' />\n<parameter name='response-message' value='Policy Enforcement Update Received' />",
+ "comments": "",
+ "x": 750,
+ "y": 105,
+ "z": "fcb09084.b4e08",
+ "wires": []
+ },
+ {
+ "id": "fa6b1b92.347cc8",
+ "type": "execute",
+ "name": "execute Properties",
+ "xml": "<execute plugin='org.onap.ccsdk.sli.plugins.prop.PropertiesNode' method='readProperties' >\n <parameter name='fileName' value='/opt/onap/ccsdk/data/properties/a1-adapter-api-dg.properties' />\n <parameter name='contextPrefix' value='prop' />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 736,
+ "y": 149,
+ "z": "fcb09084.b4e08",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "28b301ee.8e0efe",
+ "type": "record",
+ "name": "record",
+ "xml": "<record plugin=\"org.onap.ccsdk.sli.core.sli.recording.FileRecorder\">\n<parameter name=\"file\" value=\"/opt/opendaylight/current/data/log/A1-Adapter.log\" />\n<parameter name=\"level\" value=\"info\" />\n<parameter name=\"field1\" value=\"SNear-RT RIC ID\"/>\n<parameter name=\"field2\" value=\"`$tmp.near-rt-ric-id`\"/>\n<parameter name=\"field3\" value=\"`$tmp.policy-type-id`\"/>\n<parameter name=\"field4\" value=\"`$tmp.policy-instance-id`\"/>",
+ "comments": "",
+ "outputs": 1,
+ "x": 737,
+ "y": 267,
+ "z": "fcb09084.b4e08",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "cee75651.1a7348",
+ "type": "block",
+ "name": "DMAAP Reponse Publish",
+ "xml": "<block atomic='true'>",
+ "atomic": "true",
+ "comments": "",
+ "outputs": 1,
+ "x": 756.0001220703125,
+ "y": 342.0001220703125,
+ "z": "fcb09084.b4e08",
+ "wires": [
+ [
+ "f50bdebd.3de09",
+ "6575ab06.dda994",
+ "320829fe.db34f6"
+ ]
+ ]
+ },
+ {
+ "id": "6575ab06.dda994",
+ "type": "execute",
+ "name": "execute DmaapMsg",
+ "xml": "<execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\n <parameter name='templateFileName' value=\"`$prop.restapi.templateDir + '/' + $prop.restapi.dmaap-publish-generic-response.template`\" />\n <parameter name='restapiUrl' value=\"`$prop.dmaap-message-router.url + $prop.a1Adapter-dmaap-policy-response.topic`\" />\n <parameter name='format' value='json' />\n <parameter name='httpMethod' value='POST' />\n <parameter name='contentType' value='application/json' />\n <parameter name='responsePrefix' value='dmaap' />",
+ "comments": "",
+ "outputs": 1,
+ "x": 1041.0003204345703,
+ "y": 486.9995563030243,
+ "z": "fcb09084.b4e08",
+ "wires": [
+ [
+ "4e1391bd.8d447",
+ "3c57dd0f.634742"
+ ]
+ ]
+ },
+ {
+ "id": "f50bdebd.3de09",
+ "type": "set",
+ "name": "set",
+ "xml": "<set>\n<parameter name='tmp.a1-adapter-api.rpc-name' value='notifyPolicyEnforcementUpdate'/>\n<parameter name='tmp.a1Adapter-dmaap-resp.status-code' value='`$response-code`'/>\n<parameter name='tmp.a1Adapter-dmaap-resp.status-value' value='`$response-message`'/>\n<parameter name='tmp.a1Policy-dmaap-resp.payload' value=\"Policy Enforcement Update - Policies Applied\" />",
+ "comments": "",
+ "x": 1030.6669921875,
+ "y": 278.0001220703125,
+ "z": "fcb09084.b4e08",
+ "wires": []
+ },
+ {
+ "id": "4e1391bd.8d447",
+ "type": "failure",
+ "name": "failure",
+ "xml": "<outcome value='failure'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1256.5002059936523,
+ "y": 409.9168601036072,
+ "z": "fcb09084.b4e08",
+ "wires": [
+ [
+ "4ae10a72.001ec4"
+ ]
+ ]
+ },
+ {
+ "id": "3c57dd0f.634742",
+ "type": "success",
+ "name": "success",
+ "xml": "<outcome value='success'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1260.5001258850098,
+ "y": 548.916702747345,
+ "z": "fcb09084.b4e08",
+ "wires": [
+ [
+ "67e3a637.e66228"
+ ]
+ ]
+ },
+ {
+ "id": "4ae10a72.001ec4",
+ "type": "block",
+ "name": "block",
+ "xml": "<block>\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 1416.5000400543213,
+ "y": 411.9168610572815,
+ "z": "fcb09084.b4e08",
+ "wires": [
+ [
+ "36a5b080.f013b"
+ ]
+ ]
+ },
+ {
+ "id": "36a5b080.f013b",
+ "type": "returnFailure",
+ "name": "return failure",
+ "xml": "<return status='failure'>\n<parameter name='ack-final' value='Y'/>\n<parameter name=\"response-code\" value=\"500\" />\n<parameter name=\"response-message\" value=\"Error publishing DMAAP A1 Policy Response message. \" />",
+ "comments": "",
+ "x": 1598.499771118164,
+ "y": 402.91693687438965,
+ "z": "fcb09084.b4e08",
+ "wires": []
+ },
+ {
+ "id": "67e3a637.e66228",
+ "type": "block",
+ "name": "block",
+ "xml": "<block>\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 1443.4997692108154,
+ "y": 541.916811466217,
+ "z": "fcb09084.b4e08",
+ "wires": [
+ [
+ "aaed77f7.aba678"
+ ]
+ ]
+ },
+ {
+ "id": "aaed77f7.aba678",
+ "type": "record",
+ "name": "record",
+ "xml": "<record plugin=\"org.onap.ccsdk.sli.core.sli.recording.FileRecorder\">\n<parameter name=\"file\" value=\"/opt/opendaylight/current/data/log/A1-Adapter.log\" />\n<parameter name=\"level\" value=\"info\" />\n<parameter name=\"field1\" value=\"DMAAP A1Policy message Successfully Published \"/>",
+ "comments": "",
+ "outputs": 1,
+ "x": 1631.5,
+ "y": 532.9171142578125,
+ "z": "fcb09084.b4e08",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "320829fe.db34f6",
+ "type": "record",
+ "name": "record",
+ "xml": "<record plugin=\"org.onap.ccsdk.sli.core.sli.recording.FileRecorder\">\n<parameter name=\"file\" value=\"/opt/opendaylight/current/data/log/A1-Adapter.log\" />\n<parameter name=\"level\" value=\"info\" />\n<parameter name=\"field1\" value=\"__TIMESTAMP__\"/>\n<parameter name=\"field2\" value=\"Before DMAAP Event - template file name, restapiURL\"/>\n<parameter name='field3' value=\"`$prop.restapi.templateDir + '/' + $prop.restapi.dmaap-publish-generic-response.template`\" />\n<parameter name='field4' value=\"`$prop.dmaap-message-router.url + $prop.a1Adapter-dmaap-policy-response.topic`\" />\n<parameter name='field5' value=\"Status Code and Status Value to be published\" />\n<parameter name='field6' value=\"`$tmp.a1Adapter-dmaap-resp.status-code`\" />\n<parameter name='field7' value=\"`$tmp.a1Adapter-dmaap-resp.status-value`\" />\n<parameter name='field8' value=\"A1 Adapter DMAAP Response Payload\" />\n<parameter name='field9' value=\"`$tmp.a1Policy-dmaap-resp.payload`\" />\n<parameter name='field10' value=\"RPC Name\" />\n<parameter name='field11' value=\"`$tmp.a1-adapter-api.rpc-name`\" />",
+ "comments": "",
+ "outputs": 1,
+ "x": 1037.5002517700195,
+ "y": 363.4550609588623,
+ "z": "fcb09084.b4e08",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "f216c1e8.790c3",
+ "type": "returnSuccess",
+ "name": "return success",
+ "xml": "<return status='success'>\n<parameter name=\"ack-final-indicator\" value=\"Y\" />\n<parameter name=\"error-code\" value=\"200\" />\n<parameter name=\"error-message\" value=\"`$error-message`\" />\n<parameter name='response-code' value='200' />\n<parameter name='response-message' value='Policy Enforcement Update Received'/>\n<parameter name='health-status' value='200'/>\n<parameter name='ack-final' value='Y'/>\n",
+ "comments": "",
+ "x": 674.7539672851562,
+ "y": 442.00390625,
+ "z": "fcb09084.b4e08",
+ "wires": []
+ },
+ {
+ "id": "11dff310.728f7d",
+ "type": "set",
+ "name": "set tmp variables for Near RT RIC ID",
+ "xml": "<set>\n<parameter name=\"tmp.near-rt-ric-id\" value=\"`$notify-policy-enforcement-update-input.near-rt-ric-id`\"/>\n<parameter name=\"tmp.policy-type-id\" value=\"`$notify-policy-enforcement-update-input.policy-type-id`\"/>\n<parameter name=\"tmp.policy-instance-id\" value=\"`$notify-policy-enforcement-update-input.policy-instance-id`\"/>",
+ "comments": "",
+ "x": 843,
+ "y": 214,
+ "z": "fcb09084.b4e08",
+ "wires": []
+ }
+]
\ No newline at end of file
diff --git a/platform-logic/a1Adapter-api/src/main/resources/graph.versions b/platform-logic/a1Adapter-api/src/main/resources/graph.versions
index ca19242..45e1650 100644
--- a/platform-logic/a1Adapter-api/src/main/resources/graph.versions
+++ b/platform-logic/a1Adapter-api/src/main/resources/graph.versions
@@ -9,3 +9,4 @@
A1-ADAPTER-API deletePolicyInstance ${project.version} sync
A1-ADAPTER-API getStatus ${project.version} sync
A1-ADAPTER-API notifyPolicyEnforcementUpdate ${project.version} sync
+A1-ADAPTER-API deletePolicyType ${project.version} sync
diff --git a/platform-logic/a1Adapter-api/src/main/xml/A1-ADAPTER-API_getNearRT-RICs.xml b/platform-logic/a1Adapter-api/src/main/xml/A1-ADAPTER-API_getNearRT-RICs.xml
new file mode 100644
index 0000000..0e3a2c1
--- /dev/null
+++ b/platform-logic/a1Adapter-api/src/main/xml/A1-ADAPTER-API_getNearRT-RICs.xml
@@ -0,0 +1,158 @@
+<service-logic
+ xmlns='http://www.onap.org/sdnc/svclogic'
+ xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:schemaLocation='http://www.onap.org/sdnc/svclogic ./svclogic.xsd' module='A1-ADAPTER-API' version='${project.version}'>
+ <method rpc='getNearRT-RICs' mode='sync'>
+ <block atomic='true'>
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
+ <parameter name="file" value="/opt/opendaylight/current/data/log/A1-Adapter.log" />
+ <parameter name="level" value="info" />
+ <parameter name="field1" value="A1 Adapter - get near-RT RIC Info"/>
+ </record>
+ <set>
+ <parameter name='response-code' value='200' />
+ <parameter name='response-message' value='A1 Mediator RIC ID available' />
+ </set>
+ <execute plugin='org.onap.ccsdk.sli.plugins.prop.PropertiesNode' method='readProperties' >
+ <parameter name='fileName' value='/opt/onap/ccsdk/data/properties/a1-adapter-api-dg.properties' />
+ <parameter name='contextPrefix' value='prop' />
+ </execute>
+ <switch test='`$prop.ric-plt-A1Mediator-deployed`'>
+ <outcome value='true'>
+ <block atomic='true'>
+ <set>
+ <parameter name="tmp.near-rt-ric-id" value="`$prop.near-rt-ric-id`"/>
+ </set>
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
+ <parameter name="file" value="/opt/opendaylight/current/data/log/A1-Adapter.log" />
+ <parameter name="level" value="info" />
+ <parameter name="field1" value="SNear-RT RIC ID"/>
+ <parameter name="field2" value="`$tmp.near-rt-ric-id`"/>
+ </record>
+ </block>
+ </outcome>
+ <outcome value='false'>
+ <block>
+ <set>
+ <parameter name='response-code' value='500'/>
+ <parameter name='response-message' value='A1 Mediator Not Deployed'/>
+ </set>
+ <block atomic='true'>
+ <set>
+ <parameter name='tmp.a1-adapter-api.rpc-name' value='getNearRT-RICs'/>
+ <parameter name='tmp.a1Adapter-dmaap-resp.status-code' value='`$response-code`'/>
+ <parameter name='tmp.a1Adapter-dmaap-resp.status-value' value='`$response-message`'/>
+ <parameter name='tmp.a1Policy-dmaap-resp.payload' value="`$tmp.near-rt-ric-id`" />
+ </set>
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
+ <parameter name="file" value="/opt/opendaylight/current/data/log/A1-Adapter.log" />
+ <parameter name="level" value="info" />
+ <parameter name="field1" value="__TIMESTAMP__"/>
+ <parameter name="field2" value="Before DMAAP Event - template file name, restapiURL"/>
+ <parameter name='field3' value="`$prop.restapi.templateDir + '/' + $prop.restapi.dmaap-publish-generic-response.template`" />
+ <parameter name='field4' value="`$prop.dmaap-message-router.url + $prop.a1Adapter-dmaap-policy-response.topic`" />
+ <parameter name='field5' value="Status Code and Status Value to be published" />
+ <parameter name='field6' value="`$tmp.a1Adapter-dmaap-resp.status-code`" />
+ <parameter name='field7' value="`$tmp.a1Adapter-dmaap-resp.status-value`" />
+ <parameter name='field8' value="A1 Adapter DMAAP Response Payload" />
+ <parameter name='field9' value="`$tmp.a1Policy-dmaap-resp.payload`" />
+ <parameter name='field10' value="RPC Name" />
+ <parameter name='field11' value="`$tmp.a1-adapter-api.rpc-name`" />
+ </record>
+ <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
+ <parameter name='templateFileName' value="`$prop.restapi.templateDir + '/' + $prop.restapi.dmaap-publish-generic-response.template`" />
+ <parameter name='restapiUrl' value="`$prop.dmaap-message-router.url + $prop.a1Adapter-dmaap-policy-response.topic`" />
+ <parameter name='format' value='json' />
+ <parameter name='httpMethod' value='POST' />
+ <parameter name='contentType' value='application/json' />
+ <parameter name='responsePrefix' value='dmaap' />
+ <outcome value='failure'>
+ <block>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="response-code" value="500" />
+ <parameter name="response-message" value="Error publishing DMAAP A1 Policy Response message. " />
+ </return>
+ </block>
+ </outcome>
+ <outcome value='success'>
+ <block>
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
+ <parameter name="file" value="/opt/opendaylight/current/data/log/A1-Adapter.log" />
+ <parameter name="level" value="info" />
+ <parameter name="field1" value="DMAAP A1Policy message Successfully Published "/>
+ </record>
+ </block>
+ </outcome>
+ </execute>
+ </block>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="response-code" value="500" />
+ <parameter name="response-message" value="A1 Mediator Not Deployed. Aborting Health Check" />
+ </return>
+ </block>
+ </outcome>
+ </switch>
+ <block>
+ <block atomic='true'>
+ <set>
+ <parameter name='tmp.a1-adapter-api.rpc-name' value='getNearRT-RICs'/>
+ <parameter name='tmp.a1Adapter-dmaap-resp.status-code' value='`$response-code`'/>
+ <parameter name='tmp.a1Adapter-dmaap-resp.status-value' value='`$response-message`'/>
+ <parameter name='tmp.a1Policy-dmaap-resp.payload' value="`$tmp.near-rt-ric-id`" />
+ </set>
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
+ <parameter name="file" value="/opt/opendaylight/current/data/log/A1-Adapter.log" />
+ <parameter name="level" value="info" />
+ <parameter name="field1" value="__TIMESTAMP__"/>
+ <parameter name="field2" value="Before DMAAP Event - template file name, restapiURL"/>
+ <parameter name='field3' value="`$prop.restapi.templateDir + '/' + $prop.restapi.dmaap-publish-generic-response.template`" />
+ <parameter name='field4' value="`$prop.dmaap-message-router.url + $prop.a1Adapter-dmaap-policy-response.topic`" />
+ <parameter name='field5' value="Status Code and Status Value to be published" />
+ <parameter name='field6' value="`$tmp.a1Adapter-dmaap-resp.status-code`" />
+ <parameter name='field7' value="`$tmp.a1Adapter-dmaap-resp.status-value`" />
+ <parameter name='field8' value="A1 Adapter DMAAP Response Payload" />
+ <parameter name='field9' value="`$tmp.a1Policy-dmaap-resp.payload`" />
+ <parameter name='field10' value="RPC Name" />
+ <parameter name='field11' value="`$tmp.a1-adapter-api.rpc-name`" />
+ </record>
+ <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
+ <parameter name='templateFileName' value="`$prop.restapi.templateDir + '/' + $prop.restapi.dmaap-publish-generic-response.template`" />
+ <parameter name='restapiUrl' value="`$prop.dmaap-message-router.url + $prop.a1Adapter-dmaap-policy-response.topic`" />
+ <parameter name='format' value='json' />
+ <parameter name='httpMethod' value='POST' />
+ <parameter name='contentType' value='application/json' />
+ <parameter name='responsePrefix' value='dmaap' />
+ <outcome value='failure'>
+ <block>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="response-code" value="500" />
+ <parameter name="response-message" value="Error publishing DMAAP A1 Policy Response message. " />
+ </return>
+ </block>
+ </outcome>
+ <outcome value='success'>
+ <block>
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
+ <parameter name="file" value="/opt/opendaylight/current/data/log/A1-Adapter.log" />
+ <parameter name="level" value="info" />
+ <parameter name="field1" value="DMAAP A1Policy message Successfully Published "/>
+ </record>
+ </block>
+ </outcome>
+ </execute>
+ </block>
+ <return status='success'>
+ <parameter name="ack-final-indicator" value="Y" />
+ <parameter name="error-code" value="200" />
+ <parameter name="error-message" value="`$error-message`" />
+ <parameter name='response-code' value='200' />
+ <parameter name='response-message' value='A1 Mediatpor is available'/>
+ <parameter name='health-status' value='200'/>
+ <parameter name='ack-final' value='Y'/>
+ </return>
+ </block>
+ </block>
+ </method>
+</service-logic>
\ No newline at end of file
diff --git a/platform-logic/a1Adapter-api/src/main/xml/A1-ADAPTER-API_notifyPolicyEnforcementUpdate.xml b/platform-logic/a1Adapter-api/src/main/xml/A1-ADAPTER-API_notifyPolicyEnforcementUpdate.xml
new file mode 100644
index 0000000..70fa804
--- /dev/null
+++ b/platform-logic/a1Adapter-api/src/main/xml/A1-ADAPTER-API_notifyPolicyEnforcementUpdate.xml
@@ -0,0 +1,95 @@
+<service-logic
+ xmlns='http://www.onap.org/sdnc/svclogic'
+ xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:schemaLocation='http://www.onap.org/sdnc/svclogic ./svclogic.xsd' module='A1-ADAPTER-API' version='${project.version}'>
+ <method rpc='notifyPolicyEnforcementUpdate' mode='sync'>
+ <block atomic='true'>
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
+ <parameter name="file" value="/opt/opendaylight/current/data/log/A1-Adapter.log" />
+ <parameter name="level" value="info" />
+ <parameter name="field1" value="A1 Adapter - notify policy enforcement update"/>
+ <parameter name="field2" value="`$notify-policy-enforcement-update-input.near-rt-ric-id`"/>
+ <parameter name="field3" value="`$notify-policy-enforcement-update-input.policy-type-id`"/>
+ <parameter name="field4" value="`$notify-policy-enforcement-update-input.policy-instance-id`"/>
+ </record>
+ <set>
+ <parameter name='response-code' value='200' />
+ <parameter name='response-message' value='Policy Enforcement Update Received' />
+ </set>
+ <execute plugin='org.onap.ccsdk.sli.plugins.prop.PropertiesNode' method='readProperties' >
+ <parameter name='fileName' value='/opt/onap/ccsdk/data/properties/a1-adapter-api-dg.properties' />
+ <parameter name='contextPrefix' value='prop' />
+ </execute>
+ <set>
+ <parameter name="tmp.near-rt-ric-id" value="`$notify-policy-enforcement-update-input.near-rt-ric-id`"/>
+ <parameter name="tmp.policy-type-id" value="`$notify-policy-enforcement-update-input.policy-type-id`"/>
+ <parameter name="tmp.policy-instance-id" value="`$notify-policy-enforcement-update-input.policy-instance-id`"/>
+ </set>
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
+ <parameter name="file" value="/opt/opendaylight/current/data/log/A1-Adapter.log" />
+ <parameter name="level" value="info" />
+ <parameter name="field1" value="SNear-RT RIC ID"/>
+ <parameter name="field2" value="`$tmp.near-rt-ric-id`"/>
+ <parameter name="field3" value="`$tmp.policy-type-id`"/>
+ <parameter name="field4" value="`$tmp.policy-instance-id`"/>
+ </record>
+ <block atomic='true'>
+ <set>
+ <parameter name='tmp.a1-adapter-api.rpc-name' value='notifyPolicyEnforcementUpdate'/>
+ <parameter name='tmp.a1Adapter-dmaap-resp.status-code' value='`$response-code`'/>
+ <parameter name='tmp.a1Adapter-dmaap-resp.status-value' value='`$response-message`'/>
+ <parameter name='tmp.a1Policy-dmaap-resp.payload' value="Policy Enforcement Update - Policies Applied" />
+ </set>
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
+ <parameter name="file" value="/opt/opendaylight/current/data/log/A1-Adapter.log" />
+ <parameter name="level" value="info" />
+ <parameter name="field1" value="__TIMESTAMP__"/>
+ <parameter name="field2" value="Before DMAAP Event - template file name, restapiURL"/>
+ <parameter name='field3' value="`$prop.restapi.templateDir + '/' + $prop.restapi.dmaap-publish-generic-response.template`" />
+ <parameter name='field4' value="`$prop.dmaap-message-router.url + $prop.a1Adapter-dmaap-policy-response.topic`" />
+ <parameter name='field5' value="Status Code and Status Value to be published" />
+ <parameter name='field6' value="`$tmp.a1Adapter-dmaap-resp.status-code`" />
+ <parameter name='field7' value="`$tmp.a1Adapter-dmaap-resp.status-value`" />
+ <parameter name='field8' value="A1 Adapter DMAAP Response Payload" />
+ <parameter name='field9' value="`$tmp.a1Policy-dmaap-resp.payload`" />
+ <parameter name='field10' value="RPC Name" />
+ <parameter name='field11' value="`$tmp.a1-adapter-api.rpc-name`" />
+ </record>
+ <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
+ <parameter name='templateFileName' value="`$prop.restapi.templateDir + '/' + $prop.restapi.dmaap-publish-generic-response.template`" />
+ <parameter name='restapiUrl' value="`$prop.dmaap-message-router.url + $prop.a1Adapter-dmaap-policy-response.topic`" />
+ <parameter name='format' value='json' />
+ <parameter name='httpMethod' value='POST' />
+ <parameter name='contentType' value='application/json' />
+ <parameter name='responsePrefix' value='dmaap' />
+ <outcome value='failure'>
+ <block>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="response-code" value="500" />
+ <parameter name="response-message" value="Error publishing DMAAP A1 Policy Response message. " />
+ </return>
+ </block>
+ </outcome>
+ <outcome value='success'>
+ <block>
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
+ <parameter name="file" value="/opt/opendaylight/current/data/log/A1-Adapter.log" />
+ <parameter name="level" value="info" />
+ <parameter name="field1" value="DMAAP A1Policy message Successfully Published "/>
+ </record>
+ </block>
+ </outcome>
+ </execute>
+ </block>
+ <return status='success'>
+ <parameter name="ack-final-indicator" value="Y" />
+ <parameter name="error-code" value="200" />
+ <parameter name="error-message" value="`$error-message`" />
+ <parameter name='response-code' value='200' />
+ <parameter name='response-message' value='Policy Enforcement Update Received'/>
+ <parameter name='health-status' value='200'/>
+ <parameter name='ack-final' value='Y'/>
+ </return>
+ </block>
+ </method>
+</service-logic>
\ No newline at end of file