summaryrefslogtreecommitdiffstats
path: root/platform-logic/oofpcipoc-api
diff options
context:
space:
mode:
authorSandeep Shah <sandeep.shah2@techmahindra.com>2019-04-10 11:34:16 -0500
committerDan Timoney <dtimoney@att.com>2019-04-10 21:36:50 +0000
commit6c64ce6d8be0d03ddc9d940cc5caeb7000b1f390 (patch)
tree8b5eee4326ce5683c3480267b1b02a4ec808aeaa /platform-logic/oofpcipoc-api
parentede33b1a140b56b2fd225c7298122329f650f537 (diff)
Service Logic (DG/Templates) for SDNR OOF PCI POC3.0.2-ONAP0.3.4
DG's, templates, property files to support service logic for SDNR OOF PCI POC use case. Also includes the required changes to POM files to appropriately copy the above artifacts to docker-state folder in respective sub-folders. Change-Id: I9b16c798bcc9ba3a28d5a99f4c3d1562f5ed0468 Issue-ID: CCSDK-1204 Signed-off-by: SandeepLinux <sandeep.shah2@techmahindra.com>
Diffstat (limited to 'platform-logic/oofpcipoc-api')
-rw-r--r--platform-logic/oofpcipoc-api/pom.xml54
-rw-r--r--platform-logic/oofpcipoc-api/src/main/json/oofpcipoc-api_add-neighbor.json530
-rw-r--r--platform-logic/oofpcipoc-api/src/main/json/oofpcipoc-api_configuration-phy-cell-id.json577
-rw-r--r--platform-logic/oofpcipoc-api/src/main/json/oofpcipoc-api_delete-neighbor.json452
-rw-r--r--platform-logic/oofpcipoc-api/src/main/json/oofpcipoc-api_generic-neighbor-configuration.json593
-rw-r--r--platform-logic/oofpcipoc-api/src/main/json/oofpcipoc-api_greeting.json93
-rw-r--r--platform-logic/oofpcipoc-api/src/main/resources/graph.versions5
-rw-r--r--platform-logic/oofpcipoc-api/src/main/xml/oofpcipoc-api_add-neighbor.xml171
-rw-r--r--platform-logic/oofpcipoc-api/src/main/xml/oofpcipoc-api_configuration-phy-cell-id.xml168
-rw-r--r--platform-logic/oofpcipoc-api/src/main/xml/oofpcipoc-api_delete-neighbor.xml131
-rw-r--r--platform-logic/oofpcipoc-api/src/main/xml/oofpcipoc-api_generic-neighbor-configuration.xml187
-rw-r--r--platform-logic/oofpcipoc-api/src/main/xml/oofpcipoc-api_greeting.xml19
12 files changed, 2980 insertions, 0 deletions
diff --git a/platform-logic/oofpcipoc-api/pom.xml b/platform-logic/oofpcipoc-api/pom.xml
new file mode 100644
index 00000000..8898c69d
--- /dev/null
+++ b/platform-logic/oofpcipoc-api/pom.xml
@@ -0,0 +1,54 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+
+ <parent>
+ <groupId>org.onap.ccsdk.distribution</groupId>
+ <artifactId>distribution-platform-logic</artifactId>
+ <version>0.4.2-SNAPSHOT</version>
+ </parent>
+
+ <artifactId>platform-logic-oofpcipocapi</artifactId>
+ <version>0.4.2-SNAPSHOT</version>
+ <packaging>pom</packaging>
+
+ <name>ccsdk-distribution :: platform-logic :: ${project.artifactId}</name>
+ <description>Contains platform-level service logic for the oofpcipoc-api</description>
+
+ <build>
+ <plugins>
+ <plugin>
+ <artifactId>maven-resources-plugin</artifactId>
+ <version>2.6</version>
+ <executions>
+ <execution>
+ <id>copy-version</id>
+ <goals>
+ <goal>copy-resources</goal>
+ </goals><!-- here the phase you need -->
+ <phase>validate</phase>
+ <configuration>
+ <outputDirectory>../target/graphs/oofpcipocapi</outputDirectory>
+ <resources>
+ <resource>
+ <directory>src/main/xml</directory>
+ <includes>
+ <include>*.xml</include>
+ </includes>
+ <filtering>true</filtering>
+ </resource>
+ <resource>
+ <directory>src/main/resources</directory>
+ <includes>
+ <include>graph.versions</include>
+ </includes>
+ <filtering>true</filtering>
+ </resource>
+ </resources>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+</project>
diff --git a/platform-logic/oofpcipoc-api/src/main/json/oofpcipoc-api_add-neighbor.json b/platform-logic/oofpcipoc-api/src/main/json/oofpcipoc-api_add-neighbor.json
new file mode 100644
index 00000000..8b3a703b
--- /dev/null
+++ b/platform-logic/oofpcipoc-api/src/main/json/oofpcipoc-api_add-neighbor.json
@@ -0,0 +1,530 @@
+[
+ {
+ "id": "f22345c.de9f5b8",
+ "type": "method",
+ "name": "method",
+ "xml": "<method rpc='add-neighbor' mode='sync'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 148.0103988647461,
+ "y": 257.98956298828125,
+ "z": "cc83b660.90f568",
+ "wires": [
+ [
+ "d7c5d576.1a7868"
+ ]
+ ]
+ },
+ {
+ "id": "882b1b72.c01588",
+ "type": "dgstart",
+ "name": "DGSTART",
+ "outputs": 1,
+ "x": 168.010404586792,
+ "y": 59.989585876464844,
+ "z": "cc83b660.90f568",
+ "wires": [
+ [
+ "96efced.3d6433"
+ ]
+ ]
+ },
+ {
+ "id": "96efced.3d6433",
+ "type": "service-logic",
+ "name": "oofpcipoc-api 0.4.2-SNAPSHOT",
+ "module": "oofpcipoc-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='oofpcipoc-api' version='0.4.2-SNAPSHOT'>",
+ "outputs": 1,
+ "x": 169.01039123535156,
+ "y": 141.98968315124512,
+ "z": "cc83b660.90f568",
+ "wires": [
+ [
+ "f22345c.de9f5b8"
+ ]
+ ]
+ },
+ {
+ "id": "d7c5d576.1a7868",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic='true'>",
+ "atomic": "true",
+ "comments": "",
+ "outputs": 1,
+ "x": 134.50000381469727,
+ "y": 452.9896240234375,
+ "z": "cc83b660.90f568",
+ "wires": [
+ [
+ "ff63b265.d194a",
+ "add1f4bf.f5ec98",
+ "f85efba7.e52cf8",
+ "5b7bde21.76a44",
+ "dd389a0f.51a588",
+ "9b68a77d.4364d8"
+ ]
+ ]
+ },
+ {
+ "id": "ff63b265.d194a",
+ "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=\"SUCCESSFUL add-neighbor Execution\" />\n",
+ "comments": "",
+ "x": 405.01065826416016,
+ "y": 599.9897012710571,
+ "z": "cc83b660.90f568",
+ "wires": []
+ },
+ {
+ "id": "9832e91f.5dea28",
+ "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/add-neighbor.log\" />\n<parameter name=\"level\" value=\"info\" />\n<parameter name=\"field1\" value=\"Input RPC Payload request for Alias: \"/>\n<parameter name=\"field2\" value=\"`$add-neighbor-input.alias`\"/>\n<parameter name=\"field3\" value=\"Input RPC Payload request for add-neighbor. Neighbor Cell #: \"/>\n<parameter name=\"field4\" value=\"`$idx`\"/>\n<parameter name=\"field5\" value=\"`$add-neighbor-input.lte-ran-neighbor-list-in-use-lte-cell[$idx].plmnid`\"/>\n<parameter name=\"field6\" value=\"`$add-neighbor-input.lte-ran-neighbor-list-in-use-lte-cell[$idx].cid`\"/>\n<parameter name=\"field7\" value=\"`$add-neighbor-input.lte-ran-neighbor-list-in-use-lte-cell[$idx].phy-cell-id`\"/>\n<parameter name=\"field8\" value=\"`$add-neighbor-input.lte-ran-neighbor-list-in-use-lte-cell[$idx].pnf-name`\"/>\n<parameter name=\"field9\" value=\"`$add-neighbor-input.lte-ran-neighbor-list-in-use-lte-cell[$idx].blacklisted`\"/>",
+ "comments": "",
+ "outputs": 1,
+ "x": 717.0112991333008,
+ "y": 36.98963642120361,
+ "z": "cc83b660.90f568",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "e5a7e054.27e8c",
+ "type": "comment",
+ "name": "Add Neighbor",
+ "info": "",
+ "comments": "",
+ "x": 371.010404586792,
+ "y": 20,
+ "z": "cc83b660.90f568",
+ "wires": []
+ },
+ {
+ "id": "4725ca86.5a91c4",
+ "type": "failure",
+ "name": "failure",
+ "xml": "<outcome value='failure'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 911.0106582641602,
+ "y": 520.6666460037231,
+ "z": "cc83b660.90f568",
+ "wires": [
+ [
+ "419e89e2.878848"
+ ]
+ ]
+ },
+ {
+ "id": "419e89e2.878848",
+ "type": "returnFailure",
+ "name": "return failure",
+ "xml": "<return status='failure'>\n<parameter name='ack-final' value='Y'/>\n<parameter name=\"error-code\" value=\"500\" />\n<parameter name=\"error-message\" value=\"Error getting details about new neighbor \" />",
+ "comments": "",
+ "x": 1114.0104713439941,
+ "y": 526.6666889190674,
+ "z": "cc83b660.90f568",
+ "wires": []
+ },
+ {
+ "id": "b77d4baf.430698",
+ "type": "success",
+ "name": "success",
+ "xml": "<outcome value='success'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 894.0104560852051,
+ "y": 604.6667747497559,
+ "z": "cc83b660.90f568",
+ "wires": [
+ [
+ "3d864d85.162082"
+ ]
+ ]
+ },
+ {
+ "id": "3d864d85.162082",
+ "type": "block",
+ "name": "block",
+ "xml": "<block>\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 1060.01025390625,
+ "y": 608.6667079925537,
+ "z": "cc83b660.90f568",
+ "wires": [
+ [
+ "d764eca7.6c1dd"
+ ]
+ ]
+ },
+ {
+ "id": "d764eca7.6c1dd",
+ "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/add-neighbor.log\" />\n<parameter name=\"level\" value=\"info\" />\n<parameter name=\"field1\" value=\"Details about newly added Neighbor\"/>\n<parameter name=\"field2\" value=\"`$oofpci-neighbor-response.lte-ran-neighbor-list-in-use-lte-cell[0].plmnid`\"/>\n<parameter name=\"field3\" value=\"`$oofpci-neighbor-response.lte-ran-neighbor-list-in-use-lte-cell[0].cid`\"/>\n<parameter name=\"field4\" value=\"`$oofpci-neighbor-response.lte-ran-neighbor-list-in-use-lte-cell[0].phy-cell-id`\"/>\n<parameter name=\"field5\" value=\"`$oofpci-neighbor-response.lte-ran-neighbor-list-in-use-lte-cell[0].pnf-name`\"/>\n<parameter name=\"field6\" value=\"`$oofpci-neighbor-response.lte-ran-neighbor-list-in-use-lte-cell[0].blacklisted`\"/>",
+ "comments": "",
+ "outputs": 1,
+ "x": 1236.010196685791,
+ "y": 607.6669750213623,
+ "z": "cc83b660.90f568",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "e945229c.9e3f8",
+ "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/add-neighbor.log\" />\n<parameter name=\"level\" value=\"info\" />\n<parameter name=\"field1\" value=\"Setting variables for Neighbor Add PUT operation\"/>\n<parameter name=\"field2\" value=\"`$tmp.add-neighbor-service-url`\"/>\n<parameter name=\"field3\" value=\"`$tmp.plmnid`\"/>\n<parameter name=\"field4\" value=\"`$tmp.cid`\"/>\n<parameter name=\"field5\" value=\"`$tmp.phy-cell-id`\"/>\n<parameter name=\"field6\" value=\"`$tmp.pnf-name`\"/>\n<parameter name=\"field7\" value=\"`$tmp.blacklisted`\"/>",
+ "comments": "",
+ "outputs": 1,
+ "x": 614.0113372802734,
+ "y": 442.0000858306885,
+ "z": "cc83b660.90f568",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "f85efba7.e52cf8",
+ "type": "for",
+ "name": "for",
+ "xml": "<for index='idx' start='0' end=\"`$add-neighbor-input.lte-cell-number-of-entries`\" >",
+ "comments": "",
+ "outputs": 1,
+ "x": 566.0961723327637,
+ "y": 44.95317363739014,
+ "z": "cc83b660.90f568",
+ "wires": [
+ [
+ "9832e91f.5dea28"
+ ]
+ ]
+ },
+ {
+ "id": "add1f4bf.f5ec98",
+ "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/add-neighbor.log\" />\n<parameter name=\"level\" value=\"info\" />\n<parameter name=\"field1\" value=\"RPC to add neighbors. Number of neighbors to add: \"/>\n<parameter name=\"field2\" value=\"`$add-neighbor-input.lte-cell-number-of-entries`\"/>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 387.0107116699219,
+ "y": 85.01043033599854,
+ "z": "cc83b660.90f568",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "9b68a77d.4364d8",
+ "type": "for",
+ "name": "for",
+ "xml": "<for index='idx' start='0' end=\"`$add-neighbor-input.lte-cell-number-of-entries`\" >",
+ "comments": "",
+ "outputs": 1,
+ "x": 323.0105800628662,
+ "y": 453.99998664855957,
+ "z": "cc83b660.90f568",
+ "wires": [
+ [
+ "d54b1c5c.89e1a"
+ ]
+ ]
+ },
+ {
+ "id": "2a7d5b86.2f1f74",
+ "type": "set",
+ "name": "set tmp variables for the requested neighbor to be added",
+ "xml": "<set>\n<parameter name=\"tmp.plmnid\" value=\"`$add-neighbor-input.lte-ran-neighbor-list-in-use-lte-cell[$idx].plmnid`\"/>\n<parameter name=\"tmp.cid\" value=\"`$add-neighbor-input.lte-ran-neighbor-list-in-use-lte-cell[$idx].cid`\"/>\n<parameter name=\"tmp.phy-cell-id\" value=\"`$add-neighbor-input.lte-ran-neighbor-list-in-use-lte-cell[$idx].phy-cell-id`\"/>\n<parameter name=\"tmp.pnf-name\" value=\"`$add-neighbor-input.lte-ran-neighbor-list-in-use-lte-cell[$idx].pnf-name`\"/>\n<parameter name=\"tmp.blacklisted\" value=\"`$add-neighbor-input.lte-ran-neighbor-list-in-use-lte-cell[$idx].blacklisted`\"/>\n<parameter name=\"tmp.alias\" value=\"`$add-neighbor-input.alias`\"/>",
+ "comments": "",
+ "x": 876.0115585327148,
+ "y": 125.88908386230469,
+ "z": "cc83b660.90f568",
+ "wires": []
+ },
+ {
+ "id": "2241af1e.1c926",
+ "type": "failure",
+ "name": "failure",
+ "xml": "<outcome value='failure'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 914.0107421875,
+ "y": 383.00007915496826,
+ "z": "cc83b660.90f568",
+ "wires": [
+ [
+ "1cb43b66.fbd255"
+ ]
+ ]
+ },
+ {
+ "id": "90d94f4f.9d631",
+ "type": "success",
+ "name": "success",
+ "xml": "<outcome value='success'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 905.0107002258301,
+ "y": 464.00000190734863,
+ "z": "cc83b660.90f568",
+ "wires": [
+ [
+ "70dd741.ff0be8c"
+ ]
+ ]
+ },
+ {
+ "id": "1cb43b66.fbd255",
+ "type": "block",
+ "name": "block",
+ "xml": "<block>\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 1047.0106716156006,
+ "y": 342.0001106262207,
+ "z": "cc83b660.90f568",
+ "wires": [
+ [
+ "469db094.1216"
+ ]
+ ]
+ },
+ {
+ "id": "469db094.1216",
+ "type": "returnFailure",
+ "name": "return failure",
+ "xml": "<return status='failure'>\n<parameter name='ack-final' value='Y'/>\n<parameter name=\"error-code\" value=\"500\" />\n<parameter name=\"error-message\" value=\"Error adding a new neighbor\" />",
+ "comments": "",
+ "x": 1226.010362625122,
+ "y": 339.00007820129395,
+ "z": "cc83b660.90f568",
+ "wires": []
+ },
+ {
+ "id": "70dd741.ff0be8c",
+ "type": "block",
+ "name": "block",
+ "xml": "<block>\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 1070.0104293823242,
+ "y": 463.00006198883057,
+ "z": "cc83b660.90f568",
+ "wires": [
+ [
+ "2f306524.135d7a"
+ ]
+ ]
+ },
+ {
+ "id": "2f306524.135d7a",
+ "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/add-neighbor.log\" />\n<parameter name=\"level\" value=\"info\" />\n<parameter name=\"field1\" value=\"PUT New Neighbor Executed Successfully \"/>",
+ "comments": "",
+ "outputs": 1,
+ "x": 1243.0105438232422,
+ "y": 464.0000944137573,
+ "z": "cc83b660.90f568",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "d54b1c5c.89e1a",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic='true'>",
+ "atomic": "true",
+ "comments": "",
+ "outputs": 1,
+ "x": 403.0103988647461,
+ "y": 392.0104808807373,
+ "z": "cc83b660.90f568",
+ "wires": [
+ [
+ "2a7d5b86.2f1f74",
+ "e945229c.9e3f8",
+ "6df2494b.4e3978",
+ "89170580.861658",
+ "27948b9f.2a3644",
+ "4d365ed1.6f0aa",
+ "9041c096.4c873",
+ "a5298f6.4caf87",
+ "98094ef7.d5497",
+ "75189f8.6382e6"
+ ]
+ ]
+ },
+ {
+ "id": "5b7bde21.76a44",
+ "type": "execute",
+ "name": "execute Properties",
+ "xml": "<execute plugin='org.onap.ccsdk.sli.plugins.prop.PropertiesNode' method='readProperties' >\n <parameter name='fileName' value='%SDNC_CONFIG_DIR%/sdnr-oofpcipoc-api-dg.properties' />\n <parameter name='contextPrefix' value='prop' />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 612.0106506347656,
+ "y": 91.01041412353516,
+ "z": "cc83b660.90f568",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "dd389a0f.51a588",
+ "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/add-neighbor.log\" />\n<parameter name=\"level\" value=\"info\" />\n<parameter name=\"field1\" value=\"Properties read .. neighbor-add template\"/>\n<parameter name=\"field2\" value=\"`$prop.neighbor-add.templatefile`\"/>\n<parameter name=\"field3\" value=\"`$prop.controller.user`\"/>\n<parameter name=\"field4\" value=\"`$prop.controller.pwd`\"/>\n<parameter name=\"field5\" value=\"`$prop.controller.url`\"/>\n<parameter name=\"field6\" value=\"`$prop.restapi.lte-ran-neighbor-in-use`\"/>",
+ "comments": "",
+ "outputs": 1,
+ "x": 572.010778427124,
+ "y": 141.01051807403564,
+ "z": "cc83b660.90f568",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "6df2494b.4e3978",
+ "type": "execute",
+ "name": "generate neighbor add URL",
+ "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\n <parameter name=\"source\" value=\"`$prop.restapi.lte-ran-neighbor-in-use`\"/>\n <parameter name=\"outputPath\" value=\"tmp.add-neighbor-service-url\"/>\n <parameter name=\"target\" value=\"{alias}\"/>\n <parameter name=\"replacement\" value=\"`$tmp.alias`\"/>",
+ "comments": "",
+ "outputs": 1,
+ "x": 811.0109329223633,
+ "y": 217.01056575775146,
+ "z": "cc83b660.90f568",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "89170580.861658",
+ "type": "execute",
+ "name": "add a neighbor using PUT",
+ "xml": "<execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\n<parameter name=\"templateFileName\" value=\"`$prop.restapi.templateDir + '/oofpcipoc-addNeighbor.json'`\" />\n<parameter name=\"restapiUrl\" value=\"`$prop.controller.url + $tmp.add-neighbor-service-url`\"/>\n<parameter name=\"restapiUser\" value=\"`$prop.controller.user`\" />\n<parameter name=\"restapiPassword\" value=\"`$prop.controller.pwd`\"/>\n<parameter name=\"httpMethod\" value=\"PUT\"/>\n<parameter name=\"responsePrefix\" value=\"oofpci-add-neighbor-response\"/>\n<parameter name='contentType' value='application/json' /> \n<parameter name='format' value='json' />",
+ "comments": "",
+ "outputs": 1,
+ "x": 652.0107727050781,
+ "y": 489.01055335998535,
+ "z": "cc83b660.90f568",
+ "wires": [
+ [
+ "2241af1e.1c926",
+ "90d94f4f.9d631"
+ ]
+ ]
+ },
+ {
+ "id": "27948b9f.2a3644",
+ "type": "execute",
+ "name": "Get newly added neighbor details",
+ "xml": "<execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\n<parameter name=\"restapiUrl\" value=\"`$prop.controller.url + $tmp.add-neighbor-service-url`\"/>\n<parameter name=\"restapiUser\" value=\"`$prop.controller.user`\" />\n<parameter name=\"restapiPassword\" value=\"`$prop.controller.pwd`\"/>\n<parameter name=\"httpMethod\" value=\"GET\"/>\n<parameter name=\"responsePrefix\" value=\"oofpci-neighbor-response\"/>\n<parameter name='contentType' value='application/json' /> \n<parameter name='format' value='json' />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 638.0105438232422,
+ "y": 547.0106000900269,
+ "z": "cc83b660.90f568",
+ "wires": [
+ [
+ "4725ca86.5a91c4",
+ "b77d4baf.430698"
+ ]
+ ]
+ },
+ {
+ "id": "1daa570b.6f6d19",
+ "type": "execute",
+ "name": "Recofigure PCI for a Cell",
+ "xml": "<execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\n<parameter name=\"templateFileName\" value=\"`$prop.restapi.templateDir + '/oofpcipoc-pci-patch.json'`\" />\n<parameter name=\"restapiUrl\" value=\"`$prop.controller.url + $tmp.oofpcipoc.patch.pci.url`\"/>\n<parameter name=\"restapiUser\" value=\"`$prop.controller.user`\" />\n<parameter name=\"restapiPassword\" value=\"`$prop.controller.pwd`\"/>\n<parameter name=\"httpMethod\" value=\"PATCH\"/>\n<parameter name=\"responsePrefix\" value=\"oofpci-patch-response\"/>\n<parameter name='contentType' value='application/yang.patch+json' /> \n<parameter name='accept' value='application/yang.patch-status+json' />",
+ "comments": "",
+ "outputs": 1,
+ "x": 845.0104293823242,
+ "y": 795.0104370117188,
+ "z": "cc83b660.90f568",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "4d365ed1.6f0aa",
+ "type": "execute",
+ "name": "execute slipluginutils",
+ "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\n <parameter name=\"source\" value=\"`$tmp.add-neighbor-service-url`\"/>\n <parameter name=\"outputPath\" value=\"tmp.add-neighbor-service-url\"/>\n <parameter name=\"target\" value=\"{plmnid}\"/>\n <parameter name=\"replacement\" value=\"`$tmp.plmnid`\"/>",
+ "comments": "",
+ "outputs": 1,
+ "x": 850.0106201171875,
+ "y": 304.01040267944336,
+ "z": "cc83b660.90f568",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "9041c096.4c873",
+ "type": "execute",
+ "name": "execute slipluginutils",
+ "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\n <parameter name=\"source\" value=\"`$tmp.add-neighbor-service-url`\"/>\n <parameter name=\"outputPath\" value=\"tmp.add-neighbor-service-url\"/>\n <parameter name=\"target\" value=\"{cid}\"/>\n <parameter name=\"replacement\" value=\"`$tmp.cid`\"/>",
+ "comments": "",
+ "outputs": 1,
+ "x": 678.0105667114258,
+ "y": 399.0104055404663,
+ "z": "cc83b660.90f568",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "a5298f6.4caf87",
+ "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/add-neighbor.log\" />\n<parameter name=\"level\" value=\"info\" />\n<parameter name=\"field1\" value=\"Add Neighbor List URL\"/>\n<parameter name=\"field2\" value=\"`$tmp.add-neighbor-service-url`\"/>",
+ "comments": "",
+ "outputs": 1,
+ "x": 764.010498046875,
+ "y": 257.0104036331177,
+ "z": "cc83b660.90f568",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "98094ef7.d5497",
+ "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/add-neighbor.log\" />\n<parameter name=\"level\" value=\"info\" />\n<parameter name=\"field1\" value=\"Add Neighbor List URL\"/>\n<parameter name=\"field2\" value=\"`$tmp.add-neighbor-service-url`\"/>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 791.0104560852051,
+ "y": 347.01040410995483,
+ "z": "cc83b660.90f568",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "75189f8.6382e6",
+ "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/add-neighbor.log\" />\n<parameter name=\"level\" value=\"info\" />\n<parameter name=\"field1\" value=\"Temporary variable for Neighbor Cell #: \"/>\n<parameter name=\"field2\" value=\"`$idx`\"/>\n<parameter name=\"field3\" value=\"`$tmp.plmnid`\"/>\n<parameter name=\"field4\" value=\"`$tmp.cid`\"/>\n<parameter name=\"field5\" value=\"`$tmp.phy-cell-id`\"/>\n<parameter name=\"field6\" value=\"`$tmp.pnf-name`\"/>\n<parameter name=\"field7\" value=\"`$tmp.blacklisted`\"/>\n<parameter name=\"field8\" value=\"`$tmp.alias`\"/>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 760.0104751586914,
+ "y": 173.01042461395264,
+ "z": "cc83b660.90f568",
+ "wires": [
+ []
+ ]
+ }
+]
diff --git a/platform-logic/oofpcipoc-api/src/main/json/oofpcipoc-api_configuration-phy-cell-id.json b/platform-logic/oofpcipoc-api/src/main/json/oofpcipoc-api_configuration-phy-cell-id.json
new file mode 100644
index 00000000..3df8daf5
--- /dev/null
+++ b/platform-logic/oofpcipoc-api/src/main/json/oofpcipoc-api_configuration-phy-cell-id.json
@@ -0,0 +1,577 @@
+[
+ {
+ "id": "c92045e8.ea6de8",
+ "type": "method",
+ "name": "method",
+ "xml": "<method rpc='configuration-phy-cell-id' mode='sync'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 146.01040649414062,
+ "y": 255.98958015441895,
+ "z": "630a4d24.993484",
+ "wires": [
+ [
+ "9f1b4c27.d960a"
+ ]
+ ]
+ },
+ {
+ "id": "9539a9a2.85af98",
+ "type": "dgstart",
+ "name": "DGSTART",
+ "outputs": 1,
+ "x": 162.010404586792,
+ "y": 59.989585876464844,
+ "z": "630a4d24.993484",
+ "wires": [
+ [
+ "3e707ad2.360716"
+ ]
+ ]
+ },
+ {
+ "id": "3e707ad2.360716",
+ "type": "service-logic",
+ "name": "oofpcipoc-api 0.4.2-SNAPSHOT",
+ "module": "oofpcipoc-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='oofpcipoc-api' version='0.4.2-SNAPSHOT'>",
+ "outputs": 1,
+ "x": 163.01039123535156,
+ "y": 141.98968315124512,
+ "z": "630a4d24.993484",
+ "wires": [
+ [
+ "c92045e8.ea6de8"
+ ]
+ ]
+ },
+ {
+ "id": "9f1b4c27.d960a",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic='true'>",
+ "atomic": "true",
+ "comments": "",
+ "outputs": 1,
+ "x": 128.50000381469727,
+ "y": 452.9896240234375,
+ "z": "630a4d24.993484",
+ "wires": [
+ [
+ "3b3e33d7.8ccbec",
+ "aea59ecf.32eac",
+ "64536be7.433404",
+ "1c97574b.348629",
+ "d18d833e.494d1",
+ "9cf5b7f.c337448"
+ ]
+ ]
+ },
+ {
+ "id": "3b3e33d7.8ccbec",
+ "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=\"SUCCESSFUL Execution\" />\n",
+ "comments": "",
+ "x": 574.010663986206,
+ "y": 766.9897136688232,
+ "z": "630a4d24.993484",
+ "wires": []
+ },
+ {
+ "id": "1659db0a.819375",
+ "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/configuration-phy-cell-id.log\" />\n<parameter name=\"level\" value=\"info\" />\n<parameter name=\"field1\" value=\"Input RPC Payload request. FAP #: \"/>\n<parameter name=\"field2\" value=\"`$idx`\"/>\n<parameter name=\"field3\" value=\"`$configuration-phy-cell-id-input.fap-service[$idx].alias`\"/>\n<parameter name=\"field4\" value=\"`$configuration-phy-cell-id-input.fap-service[$idx].cid`\"/>\n<parameter name=\"field5\" value=\"`$configuration-phy-cell-id-input.fap-service[$idx].phy-cell-id-in-use`\"/>\n<parameter name=\"field6\" value=\"`$configuration-phy-cell-id-input.fap-service[$idx].pnf-name`\"/>",
+ "comments": "",
+ "outputs": 1,
+ "x": 714.0109386444092,
+ "y": 45.989633560180664,
+ "z": "630a4d24.993484",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "719be637.af1098",
+ "type": "comment",
+ "name": "configuration-phy-cell-id",
+ "info": "",
+ "comments": "",
+ "x": 365.010404586792,
+ "y": 20,
+ "z": "630a4d24.993484",
+ "wires": []
+ },
+ {
+ "id": "fdc1c4b9.c07738",
+ "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/configuration-phy-cell-id.log\" />\n<parameter name=\"level\" value=\"info\" />\n<parameter name=\"field1\" value=\"Initial FAP Service PCI PARMS\"/>\n<parameter name=\"field2\" value=\"`$oofpcigetfapservice.fap-service[0].alias`\"/>\n<parameter name=\"field3\" value=\"`$oofpcigetfapservice.fap-service[0].x-0005b9-lte.phy-cell-id-in-use`\"/>\n<parameter name=\"field4\" value=\"`$oofpcigetfapservice.fap-service[0].x-0005b9-lte.pnf-name`\"/>",
+ "comments": "",
+ "outputs": 1,
+ "x": 1173.0104751586914,
+ "y": 248.99999809265137,
+ "z": "630a4d24.993484",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "8e0153f0.5dad7",
+ "type": "failure",
+ "name": "failure",
+ "xml": "<outcome value='failure'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 873.0106048583984,
+ "y": 214.00000953674316,
+ "z": "630a4d24.993484",
+ "wires": [
+ [
+ "b5827573.4ab448"
+ ]
+ ]
+ },
+ {
+ "id": "b5827573.4ab448",
+ "type": "returnFailure",
+ "name": "return failure",
+ "xml": "<return status='failure'>\n<parameter name='ack-final' value='Y'/>\n<parameter name=\"error-code\" value=\"500\" />\n<parameter name=\"error-message\" value=\"Error executing Get odutopo node details rest api\" />",
+ "comments": "",
+ "x": 1189.0105895996094,
+ "y": 206.0000286102295,
+ "z": "630a4d24.993484",
+ "wires": []
+ },
+ {
+ "id": "7c752a60.4979e4",
+ "type": "success",
+ "name": "success",
+ "xml": "<outcome value='success'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 910.0107460021973,
+ "y": 311.99999237060547,
+ "z": "630a4d24.993484",
+ "wires": [
+ [
+ "e7ad2f93.1f739"
+ ]
+ ]
+ },
+ {
+ "id": "e7ad2f93.1f739",
+ "type": "block",
+ "name": "block",
+ "xml": "<block>\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 1006.0104560852051,
+ "y": 254.00000095367432,
+ "z": "630a4d24.993484",
+ "wires": [
+ [
+ "fdc1c4b9.c07738"
+ ]
+ ]
+ },
+ {
+ "id": "cb2275bc.1f41e8",
+ "type": "failure",
+ "name": "failure",
+ "xml": "<outcome value='failure'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 905.0105609893799,
+ "y": 566.6666400432587,
+ "z": "630a4d24.993484",
+ "wires": [
+ [
+ "905dd9f3.40a588"
+ ]
+ ]
+ },
+ {
+ "id": "905dd9f3.40a588",
+ "type": "returnFailure",
+ "name": "return failure",
+ "xml": "<return status='failure'>\n<parameter name='ack-final' value='Y'/>\n<parameter name=\"error-code\" value=\"500\" />\n<parameter name=\"error-message\" value=\"Error executing patch rest api\" />",
+ "comments": "",
+ "x": 1115.0104541778564,
+ "y": 585.6666898727417,
+ "z": "630a4d24.993484",
+ "wires": []
+ },
+ {
+ "id": "5c97d0d3.3281d",
+ "type": "success",
+ "name": "success",
+ "xml": "<outcome value='success'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 896.010419845581,
+ "y": 705.6667537689209,
+ "z": "630a4d24.993484",
+ "wires": [
+ [
+ "8d8c927b.5b512"
+ ]
+ ]
+ },
+ {
+ "id": "8d8c927b.5b512",
+ "type": "block",
+ "name": "block",
+ "xml": "<block>\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 1084.010290145874,
+ "y": 703.6666603088379,
+ "z": "630a4d24.993484",
+ "wires": [
+ [
+ "989894d0.463e08"
+ ]
+ ]
+ },
+ {
+ "id": "989894d0.463e08",
+ "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/configuration-phy-cell-id.log\" />\n<parameter name=\"level\" value=\"info\" />\n<parameter name=\"field1\" value=\"Post Reconfig FAP Service PCI PARMS\"/>\n<parameter name=\"field2\" value=\"`$oofpcigetfapservice.fap-service[0].alias`\"/>\n<parameter name=\"field3\" value=\"`$oofpcigetfapservice.fap-service[0].x-0005b9-lte.phy-cell-id-in-use`\"/>\n<parameter name=\"field4\" value=\"`$oofpcigetfapservice.fap-service[0].x-0005b9-lte.pnf-name`\"/>",
+ "comments": "",
+ "outputs": 1,
+ "x": 1268.0102233886719,
+ "y": 677.6668834686279,
+ "z": "630a4d24.993484",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "fcc41fc.bfb59e",
+ "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/configuration-phy-cell-id.log\" />\n<parameter name=\"level\" value=\"info\" />\n<parameter name=\"field1\" value=\"Setting variables for GET operation\"/>\n<parameter name=\"field2\" value=\"`$tmp.fap-service-url`\"/>\n<parameter name=\"field3\" value=\"`$tmp.alias`\"/>\n<parameter name=\"field4\" value=\"`$tmp.cid`\"/>\n<parameter name=\"field5\" value=\"`$tmp.phy-cell-id-in-use`\"/>\n<parameter name=\"field6\" value=\"`$tmp.pnf-name`\"/>",
+ "comments": "",
+ "outputs": 1,
+ "x": 639.011058807373,
+ "y": 299.00009632110596,
+ "z": "630a4d24.993484",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "64536be7.433404",
+ "type": "for",
+ "name": "for",
+ "xml": "<for index='idx' start='0' end=\"`$configuration-phy-cell-id-input.fap-service-number-of-entries`\" >",
+ "comments": "",
+ "outputs": 1,
+ "x": 560.0960960388184,
+ "y": 43.95316982269287,
+ "z": "630a4d24.993484",
+ "wires": [
+ [
+ "1659db0a.819375"
+ ]
+ ]
+ },
+ {
+ "id": "aea59ecf.32eac",
+ "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/configuration-phy-cell-id.log\" />\n<parameter name=\"level\" value=\"info\" />\n<parameter name=\"field1\" value=\"RPC to Configure PCI INVOKED. Number of Cells to configure: \"/>\n<parameter name=\"field2\" value=\"`$configuration-phy-cell-id-input.fap-service-number-of-entries`\"/>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 381.01070404052734,
+ "y": 85.01043033599854,
+ "z": "630a4d24.993484",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "9cf5b7f.c337448",
+ "type": "for",
+ "name": "for",
+ "xml": "<for index='idx' start='0' end=\"`$configuration-phy-cell-id-input.fap-service-number-of-entries`\" >",
+ "comments": "",
+ "outputs": 1,
+ "x": 317.0105800628662,
+ "y": 453.99998664855957,
+ "z": "630a4d24.993484",
+ "wires": [
+ [
+ "6b550b6e.4ab944"
+ ]
+ ]
+ },
+ {
+ "id": "65d9020f.1c2dbc",
+ "type": "set",
+ "name": "set tmp variables for the requested fap service input parms",
+ "xml": "<set>\n<parameter name=\"tmp.alias\" value=\"`$configuration-phy-cell-id-input.fap-service[$idx].alias`\"/>\n<parameter name=\"tmp.cid\" value=\"`$configuration-phy-cell-id-input.fap-service[$idx].cid`\"/>\n<parameter name=\"tmp.phy-cell-id-in-use\" value=\"`$configuration-phy-cell-id-input.fap-service[$idx].phy-cell-id-in-use`\"/>\n<parameter name=\"tmp.pnf-name\" value=\"`$configuration-phy-cell-id-input.fap-service[$idx].pnf-name`\"/>\n",
+ "comments": "",
+ "x": 767.0114974975586,
+ "y": 176.88908100128174,
+ "z": "630a4d24.993484",
+ "wires": []
+ },
+ {
+ "id": "10092a64.445696",
+ "type": "failure",
+ "name": "failure",
+ "xml": "<outcome value='failure'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 908.0107421875,
+ "y": 383.00007915496826,
+ "z": "630a4d24.993484",
+ "wires": [
+ [
+ "83ffe0f1.145c2"
+ ]
+ ]
+ },
+ {
+ "id": "2f27ee2e.cd2152",
+ "type": "success",
+ "name": "success",
+ "xml": "<outcome value='success'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 905.0106735229492,
+ "y": 512.0000009536743,
+ "z": "630a4d24.993484",
+ "wires": [
+ [
+ "9a40bd5d.b03b7"
+ ]
+ ]
+ },
+ {
+ "id": "83ffe0f1.145c2",
+ "type": "block",
+ "name": "block",
+ "xml": "<block>\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 1041.0106716156006,
+ "y": 342.0001106262207,
+ "z": "630a4d24.993484",
+ "wires": [
+ [
+ "ebac1d30.63c39"
+ ]
+ ]
+ },
+ {
+ "id": "ebac1d30.63c39",
+ "type": "returnFailure",
+ "name": "return failure",
+ "xml": "<return status='failure'>\n<parameter name='ack-final' value='Y'/>\n<parameter name=\"error-code\" value=\"500\" />\n<parameter name=\"error-message\" value=\"Error executing patch rest api\" />",
+ "comments": "",
+ "x": 1220.010362625122,
+ "y": 339.00007820129395,
+ "z": "630a4d24.993484",
+ "wires": []
+ },
+ {
+ "id": "9a40bd5d.b03b7",
+ "type": "block",
+ "name": "block",
+ "xml": "<block>\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 1063.0104160308838,
+ "y": 478.00006103515625,
+ "z": "630a4d24.993484",
+ "wires": [
+ [
+ "6b0cf27b.81140c"
+ ]
+ ]
+ },
+ {
+ "id": "6b0cf27b.81140c",
+ "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/configuration-phy-cell-id.log\" />\n<parameter name=\"level\" value=\"info\" />\n<parameter name=\"field1\" value=\"PUT PCI POC FAP SERVICE. Reconfigured \"/>",
+ "comments": "",
+ "outputs": 1,
+ "x": 1242.0104846954346,
+ "y": 477.0000476837158,
+ "z": "630a4d24.993484",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "6b550b6e.4ab944",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic='true'>",
+ "atomic": "true",
+ "comments": "",
+ "outputs": 1,
+ "x": 397.0103988647461,
+ "y": 392.0104808807373,
+ "z": "630a4d24.993484",
+ "wires": [
+ [
+ "65d9020f.1c2dbc",
+ "fcc41fc.bfb59e",
+ "a04061b8.e630e",
+ "2fa514b0.d7bf8c",
+ "3efc9869.e2bda8",
+ "ec3507db.a35b28",
+ "31202ee3.c34b22",
+ "aab3655.f43a598"
+ ]
+ ]
+ },
+ {
+ "id": "ec3507db.a35b28",
+ "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/configuration-phy-cell-id.log\" />\n<parameter name=\"level\" value=\"info\" />\n<parameter name=\"field1\" value=\"URL and Target for PCI patch URL\"/>\n<parameter name='field2' value=\"`$prop.controller.url + $tmp.oofpcipoc.patch.pci.url`\" />\n<parameter name='field3' value=\"`$prop.oofpcipoc.patch.pci.target`\" />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 640.0110626220703,
+ "y": 468.01043033599854,
+ "z": "630a4d24.993484",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "1c97574b.348629",
+ "type": "execute",
+ "name": "execute Properties",
+ "xml": "<execute plugin='org.onap.ccsdk.sli.plugins.prop.PropertiesNode' method='readProperties' >\n <parameter name='fileName' value='%SDNC_CONFIG_DIR%/sdnr-oofpcipoc-api-dg.properties' />\n <parameter name='contextPrefix' value='prop' />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 606.0105514526367,
+ "y": 92.0104169845581,
+ "z": "630a4d24.993484",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "d18d833e.494d1",
+ "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/configuration-phy-cell-id.log\" />\n<parameter name=\"level\" value=\"info\" />\n<parameter name=\"field1\" value=\"Properties read .. pci patch target\"/>\n<parameter name=\"field2\" value=\"`$prop.oofpcipoc.patch.pci.target`\"/>\n<parameter name=\"field3\" value=\"`$prop.controller.user`\"/>\n<parameter name=\"field4\" value=\"`$prop.controller.pwd`\"/>\n<parameter name=\"field5\" value=\"`$prop.controller.url`\"/>",
+ "comments": "",
+ "outputs": 1,
+ "x": 603.0106964111328,
+ "y": 139.0104742050171,
+ "z": "630a4d24.993484",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "2fa514b0.d7bf8c",
+ "type": "execute",
+ "name": "Get FAP details for a Cell",
+ "xml": "<execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\n<parameter name=\"restapiUrl\" value=\"`$prop.controller.url + $tmp.fap-service-url`\"/>\n<parameter name=\"restapiUser\" value=\"`$prop.controller.user`\" />\n<parameter name=\"restapiPassword\" value=\"`$prop.controller.pwd`\"/>\n<parameter name=\"format\" value=\"json\"/>\n<parameter name=\"httpMethod\" value=\"GET\"/>\n<parameter name=\"responsePrefix\" value=\"oofpcigetfapservice\"/>\n<parameter name='contentType' value='application/json' />",
+ "comments": "",
+ "outputs": 1,
+ "x": 668.0109405517578,
+ "y": 370.01039123535156,
+ "z": "630a4d24.993484",
+ "wires": [
+ [
+ "8e0153f0.5dad7",
+ "7c752a60.4979e4"
+ ]
+ ]
+ },
+ {
+ "id": "a04061b8.e630e",
+ "type": "execute",
+ "name": "generate fap-service url",
+ "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\n <parameter name=\"source\" value=\"`$prop.restapi.fap-service`\"/>\n <parameter name=\"outputPath\" value=\"tmp.fap-service-url\"/>\n <parameter name=\"target\" value=\"{alias}\"/>\n <parameter name=\"replacement\" value=\"`$tmp.alias`\"/>",
+ "comments": "",
+ "outputs": 1,
+ "x": 680.0106430053711,
+ "y": 242.01049280166626,
+ "z": "630a4d24.993484",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "3efc9869.e2bda8",
+ "type": "execute",
+ "name": "generate pci patch url for a cell",
+ "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\n <parameter name=\"source\" value=\"`$prop.restapi.x-005b9-lte`\"/>\n <parameter name=\"outputPath\" value=\"tmp.oofpcipoc.patch.pci.url\"/>\n <parameter name=\"target\" value=\"{alias}\"/>\n <parameter name=\"replacement\" value=\"`$tmp.alias`\"/>",
+ "comments": "",
+ "outputs": 1,
+ "x": 678.0105743408203,
+ "y": 413.01040744781494,
+ "z": "630a4d24.993484",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "31202ee3.c34b22",
+ "type": "execute",
+ "name": "Recofigure PCI for a Cell",
+ "xml": "<execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\n<parameter name=\"templateFileName\" value=\"`$prop.restapi.templateDir + '/oofpcipoc-pci-patch.json'`\" />\n<parameter name=\"restapiUrl\" value=\"`$prop.controller.url + $tmp.oofpcipoc.patch.pci.url`\"/>\n<parameter name=\"restapiUser\" value=\"`$prop.controller.user`\" />\n<parameter name=\"restapiPassword\" value=\"`$prop.controller.pwd`\"/>\n<parameter name=\"httpMethod\" value=\"PATCH\"/>\n<parameter name=\"responsePrefix\" value=\"oofpci-patch-response\"/>\n<parameter name='contentType' value='application/yang.patch+json' /> \n<parameter name='format' value='json' />\n<parameter name='accept' value='application/yang.patch-status+json' />",
+ "comments": "",
+ "outputs": 1,
+ "x": 661.0104751586914,
+ "y": 544.0105457305908,
+ "z": "630a4d24.993484",
+ "wires": [
+ [
+ "10092a64.445696",
+ "2f27ee2e.cd2152"
+ ]
+ ]
+ },
+ {
+ "id": "aab3655.f43a598",
+ "type": "execute",
+ "name": "Get FAP details for a Cell",
+ "xml": "<execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\n<parameter name=\"restapiUrl\" value=\"`$prop.controller.url + $tmp.fap-service-url`\"/>\n<parameter name=\"restapiUser\" value=\"`$prop.controller.user`\" />\n<parameter name=\"restapiPassword\" value=\"`$prop.controller.pwd`\"/>\n<parameter name=\"format\" value=\"json\"/>\n<parameter name=\"httpMethod\" value=\"GET\"/>\n<parameter name=\"responsePrefix\" value=\"oofpcigetfapservice\"/>\n<parameter name='contentType' value='application/json' />",
+ "comments": "",
+ "outputs": 1,
+ "x": 640.0104293823242,
+ "y": 631.0104370117188,
+ "z": "630a4d24.993484",
+ "wires": [
+ [
+ "cb2275bc.1f41e8",
+ "5c97d0d3.3281d"
+ ]
+ ]
+ },
+ {
+ "id": "dc5e9a0c.421988",
+ "type": "execute",
+ "name": "Recofigure PCI for a Cell",
+ "xml": "<execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\n<parameter name=\"templateFileName\" value=\"`$prop.restapi.templateDir + '/oofpcipoc-pci-patch.json'`\" />\n<parameter name=\"restapiUrl\" value=\"`$prop.controller.url + $tmp.oofpcipoc.patch.pci.url`\"/>\n<parameter name=\"restapiUser\" value=\"`$prop.controller.user`\" />\n<parameter name=\"restapiPassword\" value=\"`$prop.controller.pwd`\"/>\n<parameter name=\"httpMethod\" value=\"PATCH\"/>\n<parameter name=\"responsePrefix\" value=\"oofpci-patch-response\"/>\n<parameter name='contentType' value='application/yang.patch+json' /> \n<parameter name='accept' value='application/yang.patch-status+json' />",
+ "comments": "",
+ "outputs": 1,
+ "x": 839.0104293823242,
+ "y": 795.0104370117188,
+ "z": "630a4d24.993484",
+ "wires": [
+ []
+ ]
+ }
+]
diff --git a/platform-logic/oofpcipoc-api/src/main/json/oofpcipoc-api_delete-neighbor.json b/platform-logic/oofpcipoc-api/src/main/json/oofpcipoc-api_delete-neighbor.json
new file mode 100644
index 00000000..2154176a
--- /dev/null
+++ b/platform-logic/oofpcipoc-api/src/main/json/oofpcipoc-api_delete-neighbor.json
@@ -0,0 +1,452 @@
+[
+ {
+ "id": "8f6bbd32.2e1fc",
+ "type": "method",
+ "name": "method",
+ "xml": "<method rpc='delete-neighbor' mode='sync'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 152.01040649414062,
+ "y": 280.0104064941406,
+ "z": "d658c648.5b71e8",
+ "wires": [
+ [
+ "9d8eae2c.c98b4"
+ ]
+ ]
+ },
+ {
+ "id": "7cc1ba3.0ded644",
+ "type": "dgstart",
+ "name": "DGSTART",
+ "outputs": 1,
+ "x": 172.01041221618652,
+ "y": 82.01042938232422,
+ "z": "d658c648.5b71e8",
+ "wires": [
+ [
+ "3f1f6894.c773d8"
+ ]
+ ]
+ },
+ {
+ "id": "3f1f6894.c773d8",
+ "type": "service-logic",
+ "name": "oofpcipoc-api 0.4.2-SNAPSHOT",
+ "module": "oofpcipoc-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='oofpcipoc-api' version='0.4.2-SNAPSHOT'>",
+ "outputs": 1,
+ "x": 173.0103988647461,
+ "y": 164.0105266571045,
+ "z": "d658c648.5b71e8",
+ "wires": [
+ [
+ "8f6bbd32.2e1fc"
+ ]
+ ]
+ },
+ {
+ "id": "9d8eae2c.c98b4",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic='true'>",
+ "atomic": "true",
+ "comments": "",
+ "outputs": 1,
+ "x": 138.5000114440918,
+ "y": 475.0104675292969,
+ "z": "d658c648.5b71e8",
+ "wires": [
+ [
+ "f3ffc042.30165",
+ "9549fa66.052c98",
+ "1377597c.adf1a7",
+ "d8359a96.3b95b8",
+ "153414fd.ef7b4b",
+ "ce502c9f.ad136"
+ ]
+ ]
+ },
+ {
+ "id": "f3ffc042.30165",
+ "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=\"SUCCESSFUL add-neighbor Execution\" />\n",
+ "comments": "",
+ "x": 409.0106658935547,
+ "y": 622.0105447769165,
+ "z": "d658c648.5b71e8",
+ "wires": []
+ },
+ {
+ "id": "444ce01a.b540b",
+ "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/delete-neighbor.log\" />\n<parameter name=\"level\" value=\"info\" />\n<parameter name=\"field1\" value=\"Input RPC Payload request for Alias: \"/>\n<parameter name=\"field2\" value=\"`$delete-neighbor-input.alias`\"/>\n<parameter name=\"field3\" value=\"Input RPC Payload request for delete-neighbor. Neighbor Cell #: \"/>\n<parameter name=\"field4\" value=\"`$idx`\"/>\n<parameter name=\"field5\" value=\"`$delete-neighbor-input.lte-ran-neighbor-list-in-use-lte-cell[$idx].plmnid`\"/>\n<parameter name=\"field6\" value=\"`$delete-neighbor-input.lte-ran-neighbor-list-in-use-lte-cell[$idx].cid`\"/>",
+ "comments": "",
+ "outputs": 1,
+ "x": 721.0113067626953,
+ "y": 59.01047992706299,
+ "z": "d658c648.5b71e8",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "a47d97a9.fdacf8",
+ "type": "comment",
+ "name": "Delete neighbor",
+ "info": "",
+ "comments": "",
+ "x": 375.0104122161865,
+ "y": 42.020843505859375,
+ "z": "d658c648.5b71e8",
+ "wires": []
+ },
+ {
+ "id": "ae098383.f8ea2",
+ "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/delete-neighbor.log\" />\n<parameter name=\"level\" value=\"info\" />\n<parameter name=\"field1\" value=\"Setting variables for Neighbor Add PUT operation\"/>\n<parameter name=\"field2\" value=\"`$tmp.add-neighbor-service-url`\"/>\n<parameter name=\"field3\" value=\"`$tmp.plmnid`\"/>\n<parameter name=\"field4\" value=\"`$tmp.cid`\"/>\n<parameter name=\"field5\" value=\"`$tmp.phy-cell-id`\"/>\n<parameter name=\"field6\" value=\"`$tmp.pnf-name`\"/>\n<parameter name=\"field7\" value=\"`$tmp.blacklisted`\"/>",
+ "comments": "",
+ "outputs": 1,
+ "x": 620.0113906860352,
+ "y": 481.02094173431396,
+ "z": "d658c648.5b71e8",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "1377597c.adf1a7",
+ "type": "for",
+ "name": "for",
+ "xml": "<for index='idx' start='0' end=\"`$delete-neighbor-input.lte-cell-number-of-entries`\" >",
+ "comments": "",
+ "outputs": 1,
+ "x": 570.0961799621582,
+ "y": 66.97401714324951,
+ "z": "d658c648.5b71e8",
+ "wires": [
+ [
+ "444ce01a.b540b"
+ ]
+ ]
+ },
+ {
+ "id": "9549fa66.052c98",
+ "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/delete-neighbor.log\" />\n<parameter name=\"level\" value=\"info\" />\n<parameter name=\"field1\" value=\"RPC to delete neighbors. Number of neighbors to delete: \"/>\n<parameter name=\"field2\" value=\"`$delete-neighbor-input.lte-cell-number-of-entries`\"/>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 391.0107192993164,
+ "y": 107.03127384185791,
+ "z": "d658c648.5b71e8",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "ce502c9f.ad136",
+ "type": "for",
+ "name": "for",
+ "xml": "<for index='idx' start='0' end=\"`$delete-neighbor-input.lte-cell-number-of-entries`\" >",
+ "comments": "",
+ "outputs": 1,
+ "x": 327.01058769226074,
+ "y": 476.02083015441895,
+ "z": "d658c648.5b71e8",
+ "wires": [
+ [
+ "4661d468.e207dc"
+ ]
+ ]
+ },
+ {
+ "id": "a874a6b4.cbe028",
+ "type": "set",
+ "name": "set tmp variables for the requested neighbor to be added",
+ "xml": "<set>\n<parameter name=\"tmp.plmnid\" value=\"`$delete-neighbor-input.lte-ran-neighbor-list-in-use-lte-cell[$idx].plmnid`\"/>\n<parameter name=\"tmp.cid\" value=\"`$delete-neighbor-input.lte-ran-neighbor-list-in-use-lte-cell[$idx].cid`\"/>\n<parameter name=\"tmp.alias\" value=\"`$delete-neighbor-input.alias`\"/>",
+ "comments": "",
+ "x": 880.0115661621094,
+ "y": 147.90992736816406,
+ "z": "d658c648.5b71e8",
+ "wires": []
+ },
+ {
+ "id": "17cdca86.1a45e5",
+ "type": "failure",
+ "name": "failure",
+ "xml": "<outcome value='failure'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 882.0107955932617,
+ "y": 465.0209321975708,
+ "z": "d658c648.5b71e8",
+ "wires": [
+ [
+ "b18e1fe5.42e1a"
+ ]
+ ]
+ },
+ {
+ "id": "be22f91c.ecdaf8",
+ "type": "success",
+ "name": "success",
+ "xml": "<outcome value='success'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 896.0107116699219,
+ "y": 583.0208921432495,
+ "z": "d658c648.5b71e8",
+ "wires": [
+ [
+ "ba4bdf26.a25c6"
+ ]
+ ]
+ },
+ {
+ "id": "b18e1fe5.42e1a",
+ "type": "block",
+ "name": "block",
+ "xml": "<block>\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 1036.0107460021973,
+ "y": 435.0209712982178,
+ "z": "d658c648.5b71e8",
+ "wires": [
+ [
+ "d552d127.0b1b9"
+ ]
+ ]
+ },
+ {
+ "id": "d552d127.0b1b9",
+ "type": "returnFailure",
+ "name": "return failure",
+ "xml": "<return status='failure'>\n<parameter name='ack-final' value='Y'/>\n<parameter name=\"error-code\" value=\"500\" />\n<parameter name=\"error-message\" value=\"Error adding a new neighbor\" />",
+ "comments": "",
+ "x": 1223.0103797912598,
+ "y": 417.02092361450195,
+ "z": "d658c648.5b71e8",
+ "wires": []
+ },
+ {
+ "id": "ba4bdf26.a25c6",
+ "type": "block",
+ "name": "block",
+ "xml": "<block>\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 1066.010498046875,
+ "y": 568.020932674408,
+ "z": "d658c648.5b71e8",
+ "wires": [
+ [
+ "b46d635a.d09bb"
+ ]
+ ]
+ },
+ {
+ "id": "b46d635a.d09bb",
+ "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/delete-neighbor.log\" />\n<parameter name=\"level\" value=\"info\" />\n<parameter name=\"field1\" value=\"DELETE Neighbor Executed Successfully \"/>",
+ "comments": "",
+ "outputs": 1,
+ "x": 1250.0105171203613,
+ "y": 553.020959854126,
+ "z": "d658c648.5b71e8",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "4661d468.e207dc",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic='true'>",
+ "atomic": "true",
+ "comments": "",
+ "outputs": 1,
+ "x": 407.0104064941406,
+ "y": 414.0313243865967,
+ "z": "d658c648.5b71e8",
+ "wires": [
+ [
+ "a874a6b4.cbe028",
+ "ae098383.f8ea2",
+ "5e9335be.02848c",
+ "c257d0f0.4516e",
+ "895e37be.280c78",
+ "fcb1c157.9d704",
+ "e65af91d.2ad1c8",
+ "2683298a.19da16",
+ "1766bd3c.fe21d3"
+ ]
+ ]
+ },
+ {
+ "id": "d8359a96.3b95b8",
+ "type": "execute",
+ "name": "execute Properties",
+ "xml": "<execute plugin='org.onap.ccsdk.sli.plugins.prop.PropertiesNode' method='readProperties' >\n <parameter name='fileName' value='%SDNC_CONFIG_DIR%/sdnr-oofpcipoc-api-dg.properties' />\n <parameter name='contextPrefix' value='prop' />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 616.0106582641602,
+ "y": 113.03125762939453,
+ "z": "d658c648.5b71e8",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "153414fd.ef7b4b",
+ "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/add-neighbor.log\" />\n<parameter name=\"level\" value=\"info\" />\n<parameter name=\"field1\" value=\"Properties read .. neighbor-add template\"/>\n<parameter name=\"field2\" value=\"`$prop.neighbor-add.templatefile`\"/>\n<parameter name=\"field3\" value=\"`$prop.controller.user`\"/>\n<parameter name=\"field4\" value=\"`$prop.controller.pwd`\"/>\n<parameter name=\"field5\" value=\"`$prop.controller.url`\"/>\n<parameter name=\"field6\" value=\"`$prop.restapi.lte-ran-neighbor-in-use`\"/>",
+ "comments": "",
+ "outputs": 1,
+ "x": 576.0107860565186,
+ "y": 163.03136157989502,
+ "z": "d658c648.5b71e8",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "5e9335be.02848c",
+ "type": "execute",
+ "name": "generate neighbor add URL",
+ "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\n <parameter name=\"source\" value=\"`$prop.restapi.lte-ran-neighbor-in-use`\"/>\n <parameter name=\"outputPath\" value=\"tmp.add-neighbor-service-url\"/>\n <parameter name=\"target\" value=\"{alias}\"/>\n <parameter name=\"replacement\" value=\"`$tmp.alias`\"/>",
+ "comments": "",
+ "outputs": 1,
+ "x": 815.0109405517578,
+ "y": 239.03140926361084,
+ "z": "d658c648.5b71e8",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "c257d0f0.4516e",
+ "type": "execute",
+ "name": "delete a neighbor using DELETE",
+ "xml": "<execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\n<parameter name=\"restapiUrl\" value=\"`$prop.controller.url + $tmp.add-neighbor-service-url`\"/>\n<parameter name=\"restapiUser\" value=\"`$prop.controller.user`\" />\n<parameter name=\"restapiPassword\" value=\"`$prop.controller.pwd`\"/>\n<parameter name=\"httpMethod\" value=\"DELETE\"/>\n<parameter name=\"responsePrefix\" value=\"oofpci-delete-neighbor-response\"/>\n<parameter name='contentType' value='application/json' /> \n<parameter name='format' value='json' />",
+ "comments": "",
+ "outputs": 1,
+ "x": 642.0108261108398,
+ "y": 545.0314388275146,
+ "z": "d658c648.5b71e8",
+ "wires": [
+ [
+ "17cdca86.1a45e5",
+ "be22f91c.ecdaf8"
+ ]
+ ]
+ },
+ {
+ "id": "da297c37.82f9f",
+ "type": "execute",
+ "name": "Recofigure PCI for a Cell",
+ "xml": "<execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\n<parameter name=\"templateFileName\" value=\"`$prop.restapi.templateDir + '/oofpcipoc-pci-patch.json'`\" />\n<parameter name=\"restapiUrl\" value=\"`$prop.controller.url + $tmp.oofpcipoc.patch.pci.url`\"/>\n<parameter name=\"restapiUser\" value=\"`$prop.controller.user`\" />\n<parameter name=\"restapiPassword\" value=\"`$prop.controller.pwd`\"/>\n<parameter name=\"httpMethod\" value=\"PATCH\"/>\n<parameter name=\"responsePrefix\" value=\"oofpci-patch-response\"/>\n<parameter name='contentType' value='application/yang.patch+json' /> \n<parameter name='accept' value='application/yang.patch-status+json' />",
+ "comments": "",
+ "outputs": 1,
+ "x": 849.0104370117188,
+ "y": 817.0312805175781,
+ "z": "d658c648.5b71e8",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "895e37be.280c78",
+ "type": "execute",
+ "name": "execute slipluginutils",
+ "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\n <parameter name=\"source\" value=\"`$tmp.add-neighbor-service-url`\"/>\n <parameter name=\"outputPath\" value=\"tmp.add-neighbor-service-url\"/>\n <parameter name=\"target\" value=\"{plmnid}\"/>\n <parameter name=\"replacement\" value=\"`$tmp.plmnid`\"/>",
+ "comments": "",
+ "outputs": 1,
+ "x": 854.010627746582,
+ "y": 326.03124618530273,
+ "z": "d658c648.5b71e8",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "fcb1c157.9d704",
+ "type": "execute",
+ "name": "execute slipluginutils",
+ "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\n <parameter name=\"source\" value=\"`$tmp.add-neighbor-service-url`\"/>\n <parameter name=\"outputPath\" value=\"tmp.add-neighbor-service-url\"/>\n <parameter name=\"target\" value=\"{cid}\"/>\n <parameter name=\"replacement\" value=\"`$tmp.cid`\"/>",
+ "comments": "",
+ "outputs": 1,
+ "x": 682.0105743408203,
+ "y": 421.0312490463257,
+ "z": "d658c648.5b71e8",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "e65af91d.2ad1c8",
+ "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/delete-neighbor.log\" />\n<parameter name=\"level\" value=\"info\" />\n<parameter name=\"field1\" value=\"Add Neighbor List URL\"/>\n<parameter name=\"field2\" value=\"`$tmp.add-neighbor-service-url`\"/>",
+ "comments": "",
+ "outputs": 1,
+ "x": 768.0105056762695,
+ "y": 279.03124713897705,
+ "z": "d658c648.5b71e8",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "2683298a.19da16",
+ "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/delete-neighbor.log\" />\n<parameter name=\"level\" value=\"info\" />\n<parameter name=\"field1\" value=\"Add Neighbor List URL\"/>\n<parameter name=\"field2\" value=\"`$tmp.add-neighbor-service-url`\"/>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 795.0104637145996,
+ "y": 369.0312476158142,
+ "z": "d658c648.5b71e8",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "1766bd3c.fe21d3",
+ "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/delete-neighbor.log\" />\n<parameter name=\"level\" value=\"info\" />\n<parameter name=\"field1\" value=\"Temporary variable for Neighbor Cell #: \"/>\n<parameter name=\"field2\" value=\"`$idx`\"/>\n<parameter name=\"field3\" value=\"`$tmp.plmnid`\"/>\n<parameter name=\"field4\" value=\"`$tmp.cid`\"/>\n<parameter name=\"field5\" value=\"`$tmp.alias`\"/>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 764.0104827880859,
+ "y": 195.031268119812,
+ "z": "d658c648.5b71e8",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "4452b556.b1699c",
+ "type": "execute",
+ "name": "delete a neighbor using DELETE",
+ "xml": "<execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\n<parameter name=\"templateFileName\" value=\"`$prop.restapi.templateDir + '/oofpcipoc-deleteNeighbor.json'`\" />\n<parameter name=\"restapiUrl\" value=\"`$prop.controller.url + $tmp.add-neighbor-service-url`\"/>\n<parameter name=\"restapiUser\" value=\"`$prop.controller.user`\" />\n<parameter name=\"restapiPassword\" value=\"`$prop.controller.pwd`\"/>\n<parameter name=\"httpMethod\" value=\"DELETE\"/>\n<parameter name=\"responsePrefix\" value=\"oofpci-delete-neighbor-response\"/>\n<parameter name='contentType' value='application/json' /> \n<parameter name='format' value='json' />",
+ "comments": "",
+ "outputs": 1,
+ "x": 665.0104370117188,
+ "y": 656.0104370117188,
+ "z": "d658c648.5b71e8",
+ "wires": [
+ []
+ ]
+ }
+]
diff --git a/platform-logic/oofpcipoc-api/src/main/json/oofpcipoc-api_generic-neighbor-configuration.json b/platform-logic/oofpcipoc-api/src/main/json/oofpcipoc-api_generic-neighbor-configuration.json
new file mode 100644
index 00000000..8127aaf2
--- /dev/null
+++ b/platform-logic/oofpcipoc-api/src/main/json/oofpcipoc-api_generic-neighbor-configuration.json
@@ -0,0 +1,593 @@
+[
+ {
+ "id": "966e407d.9086f",
+ "type": "comment",
+ "name": "Generic Neighbor Configuration",
+ "info": "",
+ "comments": "",
+ "x": 335.50001335144043,
+ "y": 20,
+ "z": "fef406db.decef8",
+ "wires": []
+ },
+ {
+ "id": "6fb545d.b9f92bc",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic='true'>",
+ "atomic": "true",
+ "comments": "",
+ "outputs": 1,
+ "x": 391.5,
+ "y": 382.01049518585205,
+ "z": "fef406db.decef8",
+ "wires": [
+ [
+ "542aa267.5de7ec",
+ "e4d83e12.5aa3c",
+ "261a200c.78536",
+ "3400b7a4.1ff4c8",
+ "fd45e824.20b968",
+ "d7ff45e9.c502f8",
+ "9e7ad97b.b26a38",
+ "a191be9b.c3b55",
+ "375845c8.cdbe7a",
+ "bedde1a6.6b5ec"
+ ]
+ ]
+ },
+ {
+ "id": "71827db2.f669d4",
+ "type": "for",
+ "name": "for",
+ "xml": "<for index='idx' start='0' end=\"`$generic-neighbor-configuration-input.number-of-neighbor-cell-entries`\" >",
+ "comments": "",
+ "outputs": 1,
+ "x": 287.50018882751465,
+ "y": 453.99998664855957,
+ "z": "fef406db.decef8",
+ "wires": [
+ [
+ "6fb545d.b9f92bc"
+ ]
+ ]
+ },
+ {
+ "id": "542aa267.5de7ec",
+ "type": "set",
+ "name": "set tmp variables for the requested fap service input parms",
+ "xml": "<set>\n<parameter name=\"tmp.alias\" value=\"`$generic-neighbor-configuration-input.alias`\"/>\n<parameter name=\"tmp.plmnid\" value=\"`$generic-neighbor-configuration-input.neighbor-list-in-use[$idx].plmnid`\"/>\n<parameter name=\"tmp.cid\" value=\"`$generic-neighbor-configuration-input.neighbor-list-in-use[$idx].cid`\"/>\n<parameter name=\"tmp.phy-cell-id\" value=\"`$generic-neighbor-configuration-input.neighbor-list-in-use[$idx].phy-cell-id`\"/>\n<parameter name=\"tmp.pnf-name\" value=\"`$generic-neighbor-configuration-input.neighbor-list-in-use[$idx].pnf-name`\"/>\n<parameter name=\"tmp.blacklisted\" value=\"`$generic-neighbor-configuration-input.neighbor-list-in-use[$idx].blacklisted`\"/>\n",
+ "comments": "",
+ "x": 737.5011444091797,
+ "y": 175.88909339904785,
+ "z": "fef406db.decef8",
+ "wires": []
+ },
+ {
+ "id": "e4d83e12.5aa3c",
+ "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/generic-neighbor-config.log\" />\n<parameter name=\"level\" value=\"info\" />\n<parameter name=\"field1\" value=\"Temporary varaibles set. Neighbor #: \"/>\n<parameter name=\"field2\" value=\"`$idx`\"/>\n<parameter name=\"field3\" value=\"`$tmp.plmnid`\"/>\n<parameter name=\"field4\" value=\"`$tmp.cid`\"/>\n<parameter name=\"field5\" value=\"`$tmp.phy-cell-id`\"/>\n<parameter name=\"field6\" value=\"`$tmp.pnf-name`\"/>\n<parameter name=\"field7\" value=\"`$tmp.blacklisted`\"/>",
+ "comments": "",
+ "outputs": 1,
+ "x": 602.0105209350586,
+ "y": 219.0104274749756,
+ "z": "fef406db.decef8",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "7c2f19ac.9408c8",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic='true'>",
+ "atomic": "true",
+ "comments": "",
+ "outputs": 1,
+ "x": 98.9896125793457,
+ "y": 452.9896240234375,
+ "z": "fef406db.decef8",
+ "wires": [
+ [
+ "71827db2.f669d4",
+ "51af8168.06635",
+ "cecc5c7b.7371f",
+ "c7654668.510fc8",
+ "a6c8572f.221db8",
+ "eaa9ba03.7776a8"
+ ]
+ ]
+ },
+ {
+ "id": "69c02c08.5e9024",
+ "type": "method",
+ "name": "method",
+ "xml": "<method rpc='generic-neighbor-configuration' mode='sync'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 116.50001525878906,
+ "y": 255.98958015441895,
+ "z": "fef406db.decef8",
+ "wires": [
+ [
+ "7c2f19ac.9408c8"
+ ]
+ ]
+ },
+ {
+ "id": "51af8168.06635",
+ "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=\"SUCCESSFUL Execution\" />\n",
+ "comments": "",
+ "x": 531.5003509521484,
+ "y": 808.9897384643555,
+ "z": "fef406db.decef8",
+ "wires": []
+ },
+ {
+ "id": "cecc5c7b.7371f",
+ "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/generic-neighbor-config.log\" />\n<parameter name=\"level\" value=\"info\" />\n<parameter name=\"field1\" value=\"RPC to Configure Neighbors INVOKED. Number of Neighbors to configure: \"/>\n<parameter name=\"field2\" value=\"`$generic-neighbor-configuration-input.number-of-neighbor-cell-entries`\"/>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 351.5003128051758,
+ "y": 85.01043033599854,
+ "z": "fef406db.decef8",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "c7654668.510fc8",
+ "type": "for",
+ "name": "for",
+ "xml": "<for index='idx' start='0' end=\"`$generic-neighbor-configuration-input.number-of-neighbor-cell-entries`\" >",
+ "comments": "",
+ "outputs": 1,
+ "x": 530.5857048034668,
+ "y": 43.95316982269287,
+ "z": "fef406db.decef8",
+ "wires": [
+ [
+ "a7de08a4.309828"
+ ]
+ ]
+ },
+ {
+ "id": "a6c8572f.221db8",
+ "type": "execute",
+ "name": "execute Properties",
+ "xml": "<execute plugin='org.onap.ccsdk.sli.plugins.prop.PropertiesNode' method='readProperties' >\n <parameter name='fileName' value='%SDNC_CONFIG_DIR%/sdnr-oofpcipoc-api-dg.properties' />\n <parameter name='contextPrefix' value='prop' />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 578.5001983642578,
+ "y": 90.01041248161346,
+ "z": "fef406db.decef8",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "eaa9ba03.7776a8",
+ "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/generic-neighbor-config.log\" />\n<parameter name=\"level\" value=\"info\" />\n<parameter name=\"field1\" value=\"Properties read .. generic neighbor config template\"/>\n<parameter name=\"field2\" value=\"`$prop.restapi.generic-neighbor-patch.template`\"/>\n<parameter name=\"field3\" value=\"`$prop.controller.user`\"/>\n<parameter name=\"field4\" value=\"`$prop.controller.pwd`\"/>\n<parameter name=\"field5\" value=\"`$prop.controller.url`\"/>",
+ "comments": "",
+ "outputs": 1,
+ "x": 565.5003471374512,
+ "y": 137.01048946380615,
+ "z": "fef406db.decef8",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "7c1282e8.0c1fbc",
+ "type": "service-logic",
+ "name": "oofpcipoc-api 0.4.2-SNAPSHOT",
+ "module": "oofpcipoc-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='oofpcipoc-api' version='0.4.2-SNAPSHOT'>",
+ "outputs": 1,
+ "x": 133.5,
+ "y": 141.98968315124512,
+ "z": "fef406db.decef8",
+ "wires": [
+ [
+ "69c02c08.5e9024"
+ ]
+ ]
+ },
+ {
+ "id": "a7de08a4.309828",
+ "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/generic-neighbor-config.log\" />\n<parameter name=\"level\" value=\"info\" />\n<parameter name=\"field1\" value=\"Input RPC Payload request. Neighbor #: \"/>\n<parameter name=\"field2\" value=\"`$idx`\"/>\n<parameter name=\"field3\" value=\"`$generic-neighbor-configuration-input.neighbor-list-in-use[$idx].plmnid`\"/>\n<parameter name=\"field4\" value=\"`$generic-neighbor-configuration-input.neighbor-list-in-use[$idx].cid`\"/>\n<parameter name=\"field5\" value=\"`$generic-neighbor-configuration-input.neighbor-list-in-use[$idx].phy-cell-id`\"/>\n<parameter name=\"field6\" value=\"`$generic-neighbor-configuration-input.neighbor-list-in-use[$idx].pnf-name`\"/>\n<parameter name=\"field7\" value=\"`$generic-neighbor-configuration-input.neighbor-list-in-use[$idx].blacklisted`\"/>",
+ "comments": "",
+ "outputs": 1,
+ "x": 684.5005474090576,
+ "y": 45.989633560180664,
+ "z": "fef406db.decef8",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "30d50b81.50d574",
+ "type": "dgstart",
+ "name": "DGSTART",
+ "outputs": 1,
+ "x": 132.50001335144043,
+ "y": 59.989585876464844,
+ "z": "fef406db.decef8",
+ "wires": [
+ [
+ "7c1282e8.0c1fbc"
+ ]
+ ]
+ },
+ {
+ "id": "bedde1a6.6b5ec",
+ "type": "execute",
+ "name": "generate neighbor config URL",
+ "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\n <parameter name=\"source\" value=\"`$prop.restapi.lte-ran-neighbor-in-use`\"/>\n <parameter name=\"outputPath\" value=\"tmp.config-neighbor-service-url\"/>\n <parameter name=\"target\" value=\"{alias}\"/>\n <parameter name=\"replacement\" value=\"`$tmp.alias`\"/>",
+ "comments": "",
+ "outputs": 1,
+ "x": 673.0108947753906,
+ "y": 263.5661497116089,
+ "z": "fef406db.decef8",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "261a200c.78536",
+ "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/generic-neighbor-config.log\" />\n<parameter name=\"level\" value=\"info\" />\n<parameter name=\"field1\" value=\"Config Neighbor List URL\"/>\n<parameter name=\"field2\" value=\"`$tmp.config-neighbor-service-url`\"/>",
+ "comments": "",
+ "outputs": 1,
+ "x": 602.0105018615723,
+ "y": 314.78819274902344,
+ "z": "fef406db.decef8",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "3400b7a4.1ff4c8",
+ "type": "execute",
+ "name": "execute slipluginutils",
+ "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\n <parameter name=\"source\" value=\"`$tmp.config-neighbor-service-url`\"/>\n <parameter name=\"outputPath\" value=\"tmp.config-neighbor-service-url\"/>\n <parameter name=\"target\" value=\"{plmnid}\"/>\n <parameter name=\"replacement\" value=\"`$tmp.plmnid`\"/>",
+ "comments": "",
+ "outputs": 1,
+ "x": 802.0106391906738,
+ "y": 328.78822231292725,
+ "z": "fef406db.decef8",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "fd45e824.20b968",
+ "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/generic-neighbor-config.log\" />\n<parameter name=\"level\" value=\"info\" />\n<parameter name=\"field1\" value=\"Config Neighbor List URL\"/>\n<parameter name=\"field2\" value=\"`$tmp.config-neighbor-service-url`\"/>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 670.0104923248291,
+ "y": 372.788197517395,
+ "z": "fef406db.decef8",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "d7ff45e9.c502f8",
+ "type": "execute",
+ "name": "execute slipluginutils",
+ "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\n <parameter name=\"source\" value=\"`$tmp.config-neighbor-service-url`\"/>\n <parameter name=\"outputPath\" value=\"tmp.config-neighbor-service-url\"/>\n <parameter name=\"target\" value=\"{cid}\"/>\n <parameter name=\"replacement\" value=\"`$tmp.cid`\"/>",
+ "comments": "",
+ "outputs": 1,
+ "x": 693.0105209350586,
+ "y": 417.7882204055786,
+ "z": "fef406db.decef8",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "a191be9b.c3b55",
+ "type": "execute",
+ "name": "Configure neighbor using PATCH",
+ "xml": "<execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\n<parameter name=\"templateFileName\" value=\"`$prop.restapi.templateDir + '/oofpcipoc-generic-neighbor-patch.json'`\" />\n<parameter name=\"restapiUrl\" value=\"`$prop.controller.url + $tmp.config-neighbor-service-url`\"/>\n<parameter name=\"restapiUser\" value=\"`$prop.controller.user`\" />\n<parameter name=\"restapiPassword\" value=\"`$prop.controller.pwd`\"/>\n<parameter name=\"httpMethod\" value=\"PATCH\"/>\n<parameter name=\"responsePrefix\" value=\"oofpci-neighbor-patch-response\"/>\n<parameter name='contentType' value='application/yang.patch+json' /> \n<parameter name='format' value='json' />\n<parameter name='accept' value='application/yang.patch-status+json' />",
+ "comments": "",
+ "outputs": 1,
+ "x": 691.010498046875,
+ "y": 563.7883377075195,
+ "z": "fef406db.decef8",
+ "wires": [
+ [
+ "49bedeca.324b5",
+ "6c592a69.fa7804"
+ ]
+ ]
+ },
+ {
+ "id": "49bedeca.324b5",
+ "type": "failure",
+ "name": "failure",
+ "xml": "<outcome value='failure'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 986.0103988647461,
+ "y": 570.7777833938599,
+ "z": "fef406db.decef8",
+ "wires": [
+ [
+ "defa5e8b.a3afa"
+ ]
+ ]
+ },
+ {
+ "id": "6c592a69.fa7804",
+ "type": "success",
+ "name": "success",
+ "xml": "<outcome value='success'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1004.010440826416,
+ "y": 638.7776098251343,
+ "z": "fef406db.decef8",
+ "wires": [
+ [
+ "7e9e1401.b662cc"
+ ]
+ ]
+ },
+ {
+ "id": "4a12d095.a60f9",
+ "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/generic-neighbor-config.log\" />\n<parameter name=\"level\" value=\"info\" />\n<parameter name=\"field1\" value=\"PATCH Neighbor Executed Successfully \"/>",
+ "comments": "",
+ "outputs": 1,
+ "x": 1342.0101928710938,
+ "y": 625.7777180671692,
+ "z": "fef406db.decef8",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "7e9e1401.b662cc",
+ "type": "block",
+ "name": "block",
+ "xml": "<block>\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 1184.0101051330566,
+ "y": 636.7776908874512,
+ "z": "fef406db.decef8",
+ "wires": [
+ [
+ "4a12d095.a60f9"
+ ]
+ ]
+ },
+ {
+ "id": "defa5e8b.a3afa",
+ "type": "block",
+ "name": "block",
+ "xml": "<block>\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 1145.0102615356445,
+ "y": 579.7777690887451,
+ "z": "fef406db.decef8",
+ "wires": [
+ [
+ "4856d409.faf5fc"
+ ]
+ ]
+ },
+ {
+ "id": "4856d409.faf5fc",
+ "type": "returnFailure",
+ "name": "return failure",
+ "xml": "<return status='failure'>\n<parameter name='ack-final' value='Y'/>\n<parameter name=\"error-code\" value=\"500\" />\n<parameter name=\"error-message\" value=\"Error adding a new neighbor\" />",
+ "comments": "",
+ "x": 1321.010025024414,
+ "y": 564.7777423858643,
+ "z": "fef406db.decef8",
+ "wires": []
+ },
+ {
+ "id": "9e7ad97b.b26a38",
+ "type": "execute",
+ "name": "Get neighbor details pre-configuration",
+ "xml": "<execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\n<parameter name=\"restapiUrl\" value=\"`$prop.controller.url + $tmp.config-neighbor-service-url`\"/>\n<parameter name=\"restapiUser\" value=\"`$prop.controller.user`\" />\n<parameter name=\"restapiPassword\" value=\"`$prop.controller.pwd`\"/>\n<parameter name=\"httpMethod\" value=\"GET\"/>\n<parameter name=\"responsePrefix\" value=\"oofpci-neighbor-response\"/>\n<parameter name='contentType' value='application/json' /> \n<parameter name='format' value='json' />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 701.0104370117188,
+ "y": 477.7882080078125,
+ "z": "fef406db.decef8",
+ "wires": [
+ [
+ "3f51c8c2.f96888",
+ "65ee4970.885748"
+ ]
+ ]
+ },
+ {
+ "id": "3f51c8c2.f96888",
+ "type": "failure",
+ "name": "failure",
+ "xml": "<outcome value='failure'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 974.0105514526367,
+ "y": 451.4442539215088,
+ "z": "fef406db.decef8",
+ "wires": [
+ [
+ "31328392.853cfc"
+ ]
+ ]
+ },
+ {
+ "id": "65ee4970.885748",
+ "type": "success",
+ "name": "success",
+ "xml": "<outcome value='success'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 969.010383605957,
+ "y": 507.44440746307373,
+ "z": "fef406db.decef8",
+ "wires": [
+ [
+ "2a0f9a0c.8b1026"
+ ]
+ ]
+ },
+ {
+ "id": "2a0f9a0c.8b1026",
+ "type": "block",
+ "name": "block",
+ "xml": "<block>\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 1121.0102005004883,
+ "y": 516.4443125724792,
+ "z": "fef406db.decef8",
+ "wires": [
+ [
+ "17e660a2.7a5f2f"
+ ]
+ ]
+ },
+ {
+ "id": "17e660a2.7a5f2f",
+ "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/generic-neighbor-config.log\" />\n<parameter name=\"level\" value=\"info\" />\n<parameter name=\"field1\" value=\"Details about Neighbor Pre-configuration\"/>\n<parameter name=\"field2\" value=\"`$oofpci-neighbor-response.lte-ran-neighbor-list-in-use-lte-cell[0].plmnid`\"/>\n<parameter name=\"field3\" value=\"`$oofpci-neighbor-response.lte-ran-neighbor-list-in-use-lte-cell[0].cid`\"/>\n<parameter name=\"field4\" value=\"`$oofpci-neighbor-response.lte-ran-neighbor-list-in-use-lte-cell[0].phy-cell-id`\"/>\n<parameter name=\"field5\" value=\"`$oofpci-neighbor-response.lte-ran-neighbor-list-in-use-lte-cell[0].pnf-name`\"/>\n<parameter name=\"field6\" value=\"`$oofpci-neighbor-response.lte-ran-neighbor-list-in-use-lte-cell[0].blacklisted`\"/>",
+ "comments": "",
+ "outputs": 1,
+ "x": 1282.0101165771484,
+ "y": 510.44458293914795,
+ "z": "fef406db.decef8",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "31328392.853cfc",
+ "type": "returnFailure",
+ "name": "return failure",
+ "xml": "<return status='failure'>\n<parameter name='ack-final' value='Y'/>\n<parameter name=\"error-code\" value=\"500\" />\n<parameter name=\"error-message\" value=\"Error getting details about new neighbor \" />",
+ "comments": "",
+ "x": 1175.010341644287,
+ "y": 457.44426250457764,
+ "z": "fef406db.decef8",
+ "wires": []
+ },
+ {
+ "id": "375845c8.cdbe7a",
+ "type": "execute",
+ "name": "Get neighbor details post-configuration",
+ "xml": "<execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\n<parameter name=\"restapiUrl\" value=\"`$prop.controller.url + $tmp.config-neighbor-service-url`\"/>\n<parameter name=\"restapiUser\" value=\"`$prop.controller.user`\" />\n<parameter name=\"restapiPassword\" value=\"`$prop.controller.pwd`\"/>\n<parameter name=\"httpMethod\" value=\"GET\"/>\n<parameter name=\"responsePrefix\" value=\"oofpci-neighbor-response\"/>\n<parameter name='contentType' value='application/json' /> \n<parameter name='format' value='json' />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 741.0104370117188,
+ "y": 715.6770629882812,
+ "z": "fef406db.decef8",
+ "wires": [
+ [
+ "256027a4.697e18",
+ "6f609efb.0848b"
+ ]
+ ]
+ },
+ {
+ "id": "256027a4.697e18",
+ "type": "failure",
+ "name": "failure",
+ "xml": "<outcome value='failure'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1014.0105514526367,
+ "y": 689.3331089019775,
+ "z": "fef406db.decef8",
+ "wires": [
+ [
+ "9acf15fd.972cb8"
+ ]
+ ]
+ },
+ {
+ "id": "6f609efb.0848b",
+ "type": "success",
+ "name": "success",
+ "xml": "<outcome value='success'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1009.010383605957,
+ "y": 745.3332624435425,
+ "z": "fef406db.decef8",
+ "wires": [
+ [
+ "68fe6d7.2d08a94"
+ ]
+ ]
+ },
+ {
+ "id": "68fe6d7.2d08a94",
+ "type": "block",
+ "name": "block",
+ "xml": "<block>\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 1161.0102005004883,
+ "y": 754.333167552948,
+ "z": "fef406db.decef8",
+ "wires": [
+ [
+ "dcc83786.96c448"
+ ]
+ ]
+ },
+ {
+ "id": "9acf15fd.972cb8",
+ "type": "returnFailure",
+ "name": "return failure",
+ "xml": "<return status='failure'>\n<parameter name='ack-final' value='Y'/>\n<parameter name=\"error-code\" value=\"500\" />\n<parameter name=\"error-message\" value=\"Error getting details about new neighbor \" />",
+ "comments": "",
+ "x": 1215.010341644287,
+ "y": 695.3331174850464,
+ "z": "fef406db.decef8",
+ "wires": []
+ },
+ {
+ "id": "dcc83786.96c448",
+ "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/generic-neighbor-config.log\" />\n<parameter name=\"level\" value=\"info\" />\n<parameter name=\"field1\" value=\"Details about Neighbor Pre-configuration\"/>\n<parameter name=\"field2\" value=\"`$oofpci-neighbor-response.lte-ran-neighbor-list-in-use-lte-cell[0].plmnid`\"/>\n<parameter name=\"field3\" value=\"`$oofpci-neighbor-response.lte-ran-neighbor-list-in-use-lte-cell[0].cid`\"/>\n<parameter name=\"field4\" value=\"`$oofpci-neighbor-response.lte-ran-neighbor-list-in-use-lte-cell[0].phy-cell-id`\"/>\n<parameter name=\"field5\" value=\"`$oofpci-neighbor-response.lte-ran-neighbor-list-in-use-lte-cell[0].pnf-name`\"/>\n<parameter name=\"field6\" value=\"`$oofpci-neighbor-response.lte-ran-neighbor-list-in-use-lte-cell[0].blacklisted`\"/>",
+ "comments": "",
+ "outputs": 1,
+ "x": 1322.010108947754,
+ "y": 747.3334121704102,
+ "z": "fef406db.decef8",
+ "wires": [
+ []
+ ]
+ }
+]
diff --git a/platform-logic/oofpcipoc-api/src/main/json/oofpcipoc-api_greeting.json b/platform-logic/oofpcipoc-api/src/main/json/oofpcipoc-api_greeting.json
new file mode 100644
index 00000000..f8347b75
--- /dev/null
+++ b/platform-logic/oofpcipoc-api/src/main/json/oofpcipoc-api_greeting.json
@@ -0,0 +1,93 @@
+[
+ {
+ "id": "ddd53cba.3855c",
+ "type": "method",
+ "name": "method",
+ "xml": "<method rpc='greeting' mode='sync'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 395.0104064941406,
+ "y": 86,
+ "z": "83a68b58.736338",
+ "wires": [
+ [
+ "91ccee75.aa82f"
+ ]
+ ]
+ },
+ {
+ "id": "881a71a7.96383",
+ "type": "dgstart",
+ "name": "DGSTART",
+ "outputs": 1,
+ "x": 162.01040649414062,
+ "y": 52,
+ "z": "83a68b58.736338",
+ "wires": [
+ [
+ "72aee190.08cf4"
+ ]
+ ]
+ },
+ {
+ "id": "72aee190.08cf4",
+ "type": "service-logic",
+ "name": "oofpcipoc-api 0.4.2-SNAPSHOT",
+ "module": "oofpcipoc-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='oofpcipoc-api' version='0.4.2-SNAPSHOT'>",
+ "outputs": 1,
+ "x": 199.01040649414062,
+ "y": 175,
+ "z": "83a68b58.736338",
+ "wires": [
+ [
+ "ddd53cba.3855c"
+ ]
+ ]
+ },
+ {
+ "id": "91ccee75.aa82f",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic='true'>",
+ "atomic": "true",
+ "comments": "",
+ "outputs": 1,
+ "x": 411.0104064941406,
+ "y": 259,
+ "z": "83a68b58.736338",
+ "wires": [
+ [
+ "ad2486d6.ce0638",
+ "d98f8695.73e2d8"
+ ]
+ ]
+ },
+ {
+ "id": "d98f8695.73e2d8",
+ "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",
+ "comments": "",
+ "x": 577.0104064941406,
+ "y": 427,
+ "z": "83a68b58.736338",
+ "wires": []
+ },
+ {
+ "id": "ad2486d6.ce0638",
+ "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/svclogic.log\" />\n<parameter name=\"level\" value=\"info\" />\n<parameter name=\"field1\" value=\"Hello World!\"/>\n<parameter name=\"field2\" value=\"`$greeting-input.salutation`\"/>",
+ "comments": "",
+ "outputs": 1,
+ "x": 623.0104064941406,
+ "y": 203.00001430511475,
+ "z": "83a68b58.736338",
+ "wires": [
+ []
+ ]
+ }
+]
diff --git a/platform-logic/oofpcipoc-api/src/main/resources/graph.versions b/platform-logic/oofpcipoc-api/src/main/resources/graph.versions
new file mode 100644
index 00000000..cce73e17
--- /dev/null
+++ b/platform-logic/oofpcipoc-api/src/main/resources/graph.versions
@@ -0,0 +1,5 @@
+oofpcipoc-api oofpcipoc-api_greeting ${project.version} sync
+oofpcipoc-api oofpcipoc-api_configuration-phy-cell-id ${project.version} sync
+oofpcipoc-api oofpcipoc-api_generic-neighbor-configuration ${project.version} sync
+oofpcipoc-api oofpcipoc-api_add-neighbor ${project.version} sync
+oofpcipoc-api oofpcipoc-delete-neighbor ${project.version} sync
diff --git a/platform-logic/oofpcipoc-api/src/main/xml/oofpcipoc-api_add-neighbor.xml b/platform-logic/oofpcipoc-api/src/main/xml/oofpcipoc-api_add-neighbor.xml
new file mode 100644
index 00000000..9893030c
--- /dev/null
+++ b/platform-logic/oofpcipoc-api/src/main/xml/oofpcipoc-api_add-neighbor.xml
@@ -0,0 +1,171 @@
+<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='oofpcipoc-api' version='0.4.2-SNAPSHOT'>
+ <method rpc='add-neighbor' mode='sync'>
+ <block atomic='true'>
+ <for index='idx' start='0' end="`$add-neighbor-input.lte-cell-number-of-entries`" >
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
+ <parameter name="file" value="/opt/opendaylight/current/data/log/add-neighbor.log" />
+ <parameter name="level" value="info" />
+ <parameter name="field1" value="Input RPC Payload request for Alias: "/>
+ <parameter name="field2" value="`$add-neighbor-input.alias`"/>
+ <parameter name="field3" value="Input RPC Payload request for add-neighbor. Neighbor Cell #: "/>
+ <parameter name="field4" value="`$idx`"/>
+ <parameter name="field5" value="`$add-neighbor-input.lte-ran-neighbor-list-in-use-lte-cell[$idx].plmnid`"/>
+ <parameter name="field6" value="`$add-neighbor-input.lte-ran-neighbor-list-in-use-lte-cell[$idx].cid`"/>
+ <parameter name="field7" value="`$add-neighbor-input.lte-ran-neighbor-list-in-use-lte-cell[$idx].phy-cell-id`"/>
+ <parameter name="field8" value="`$add-neighbor-input.lte-ran-neighbor-list-in-use-lte-cell[$idx].pnf-name`"/>
+ <parameter name="field9" value="`$add-neighbor-input.lte-ran-neighbor-list-in-use-lte-cell[$idx].blacklisted`"/>
+ </record>
+ </for>
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
+ <parameter name="file" value="/opt/opendaylight/current/data/log/add-neighbor.log" />
+ <parameter name="level" value="info" />
+ <parameter name="field1" value="RPC to add neighbors. Number of neighbors to add: "/>
+ <parameter name="field2" value="`$add-neighbor-input.lte-cell-number-of-entries`"/>
+ </record>
+ <execute plugin='org.onap.ccsdk.sli.plugins.prop.PropertiesNode' method='readProperties' >
+ <parameter name='fileName' value='%SDNC_CONFIG_DIR%/sdnr-oofpcipoc-api-dg.properties' />
+ <parameter name='contextPrefix' value='prop' />
+ </execute>
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
+ <parameter name="file" value="/opt/opendaylight/current/data/log/add-neighbor.log" />
+ <parameter name="level" value="info" />
+ <parameter name="field1" value="Properties read .. neighbor-add template"/>
+ <parameter name="field2" value="`$prop.neighbor-add.templatefile`"/>
+ <parameter name="field3" value="`$prop.controller.user`"/>
+ <parameter name="field4" value="`$prop.controller.pwd`"/>
+ <parameter name="field5" value="`$prop.controller.url`"/>
+ <parameter name="field6" value="`$prop.restapi.lte-ran-neighbor-in-use`"/>
+ </record>
+ <for index='idx' start='0' end="`$add-neighbor-input.lte-cell-number-of-entries`" >
+ <block atomic='true'>
+ <set>
+ <parameter name="tmp.plmnid" value="`$add-neighbor-input.lte-ran-neighbor-list-in-use-lte-cell[$idx].plmnid`"/>
+ <parameter name="tmp.cid" value="`$add-neighbor-input.lte-ran-neighbor-list-in-use-lte-cell[$idx].cid`"/>
+ <parameter name="tmp.phy-cell-id" value="`$add-neighbor-input.lte-ran-neighbor-list-in-use-lte-cell[$idx].phy-cell-id`"/>
+ <parameter name="tmp.pnf-name" value="`$add-neighbor-input.lte-ran-neighbor-list-in-use-lte-cell[$idx].pnf-name`"/>
+ <parameter name="tmp.blacklisted" value="`$add-neighbor-input.lte-ran-neighbor-list-in-use-lte-cell[$idx].blacklisted`"/>
+ <parameter name="tmp.alias" value="`$add-neighbor-input.alias`"/>
+ </set>
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
+ <parameter name="file" value="/opt/opendaylight/current/data/log/add-neighbor.log" />
+ <parameter name="level" value="info" />
+ <parameter name="field1" value="Temporary variable for Neighbor Cell #: "/>
+ <parameter name="field2" value="`$idx`"/>
+ <parameter name="field3" value="`$tmp.plmnid`"/>
+ <parameter name="field4" value="`$tmp.cid`"/>
+ <parameter name="field5" value="`$tmp.phy-cell-id`"/>
+ <parameter name="field6" value="`$tmp.pnf-name`"/>
+ <parameter name="field7" value="`$tmp.blacklisted`"/>
+ <parameter name="field8" value="`$tmp.alias`"/>
+ </record>
+ <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
+ <parameter name="source" value="`$prop.restapi.lte-ran-neighbor-in-use`"/>
+ <parameter name="outputPath" value="tmp.add-neighbor-service-url"/>
+ <parameter name="target" value="{alias}"/>
+ <parameter name="replacement" value="`$tmp.alias`"/>
+ </execute>
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
+ <parameter name="file" value="/opt/opendaylight/current/data/log/add-neighbor.log" />
+ <parameter name="level" value="info" />
+ <parameter name="field1" value="Add Neighbor List URL"/>
+ <parameter name="field2" value="`$tmp.add-neighbor-service-url`"/>
+ </record>
+ <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
+ <parameter name="source" value="`$tmp.add-neighbor-service-url`"/>
+ <parameter name="outputPath" value="tmp.add-neighbor-service-url"/>
+ <parameter name="target" value="{plmnid}"/>
+ <parameter name="replacement" value="`$tmp.plmnid`"/>
+ </execute>
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
+ <parameter name="file" value="/opt/opendaylight/current/data/log/add-neighbor.log" />
+ <parameter name="level" value="info" />
+ <parameter name="field1" value="Add Neighbor List URL"/>
+ <parameter name="field2" value="`$tmp.add-neighbor-service-url`"/>
+ </record>
+ <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
+ <parameter name="source" value="`$tmp.add-neighbor-service-url`"/>
+ <parameter name="outputPath" value="tmp.add-neighbor-service-url"/>
+ <parameter name="target" value="{cid}"/>
+ <parameter name="replacement" value="`$tmp.cid`"/>
+ </execute>
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
+ <parameter name="file" value="/opt/opendaylight/current/data/log/add-neighbor.log" />
+ <parameter name="level" value="info" />
+ <parameter name="field1" value="Setting variables for Neighbor Add PUT operation"/>
+ <parameter name="field2" value="`$tmp.add-neighbor-service-url`"/>
+ <parameter name="field3" value="`$tmp.plmnid`"/>
+ <parameter name="field4" value="`$tmp.cid`"/>
+ <parameter name="field5" value="`$tmp.phy-cell-id`"/>
+ <parameter name="field6" value="`$tmp.pnf-name`"/>
+ <parameter name="field7" value="`$tmp.blacklisted`"/>
+ </record>
+ <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
+ <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/oofpcipoc-addNeighbor.json'`" />
+ <parameter name="restapiUrl" value="`$prop.controller.url + $tmp.add-neighbor-service-url`"/>
+ <parameter name="restapiUser" value="`$prop.controller.user`" />
+ <parameter name="restapiPassword" value="`$prop.controller.pwd`"/>
+ <parameter name="httpMethod" value="PUT"/>
+ <parameter name="responsePrefix" value="oofpci-add-neighbor-response"/>
+ <parameter name='contentType' value='application/json' />
+ <parameter name='format' value='json' />
+ <outcome value='failure'>
+ <block>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="Error adding a new neighbor" />
+ </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/add-neighbor.log" />
+ <parameter name="level" value="info" />
+ <parameter name="field1" value="PUT New Neighbor Executed Successfully "/>
+ </record>
+ </block>
+ </outcome>
+ </execute>
+ <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
+ <parameter name="restapiUrl" value="`$prop.controller.url + $tmp.add-neighbor-service-url`"/>
+ <parameter name="restapiUser" value="`$prop.controller.user`" />
+ <parameter name="restapiPassword" value="`$prop.controller.pwd`"/>
+ <parameter name="httpMethod" value="GET"/>
+ <parameter name="responsePrefix" value="oofpci-neighbor-response"/>
+ <parameter name='contentType' value='application/json' />
+ <parameter name='format' value='json' />
+ <outcome value='failure'>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="Error getting details about new neighbor " />
+ </return>
+ </outcome>
+ <outcome value='success'>
+ <block>
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
+ <parameter name="file" value="/opt/opendaylight/current/data/log/add-neighbor.log" />
+ <parameter name="level" value="info" />
+ <parameter name="field1" value="Details about newly added Neighbor"/>
+ <parameter name="field2" value="`$oofpci-neighbor-response.lte-ran-neighbor-list-in-use-lte-cell[0].plmnid`"/>
+ <parameter name="field3" value="`$oofpci-neighbor-response.lte-ran-neighbor-list-in-use-lte-cell[0].cid`"/>
+ <parameter name="field4" value="`$oofpci-neighbor-response.lte-ran-neighbor-list-in-use-lte-cell[0].phy-cell-id`"/>
+ <parameter name="field5" value="`$oofpci-neighbor-response.lte-ran-neighbor-list-in-use-lte-cell[0].pnf-name`"/>
+ <parameter name="field6" value="`$oofpci-neighbor-response.lte-ran-neighbor-list-in-use-lte-cell[0].blacklisted`"/>
+ </record>
+ </block>
+ </outcome>
+ </execute>
+ </block>
+ </for>
+ <return status='success'>
+ <parameter name="ack-final-indicator" value="Y" />
+ <parameter name="error-code" value="200" />
+ <parameter name="error-message" value="SUCCESSFUL add-neighbor Execution" />
+ </return>
+ </block>
+ </method>
+</service-logic> \ No newline at end of file
diff --git a/platform-logic/oofpcipoc-api/src/main/xml/oofpcipoc-api_configuration-phy-cell-id.xml b/platform-logic/oofpcipoc-api/src/main/xml/oofpcipoc-api_configuration-phy-cell-id.xml
new file mode 100644
index 00000000..501fce78
--- /dev/null
+++ b/platform-logic/oofpcipoc-api/src/main/xml/oofpcipoc-api_configuration-phy-cell-id.xml
@@ -0,0 +1,168 @@
+<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='oofpcipoc-api' version='0.4.2-SNAPSHOT'>
+ <method rpc='configuration-phy-cell-id' mode='sync'>
+ <block atomic='true'>
+ <for index='idx' start='0' end="`$configuration-phy-cell-id-input.fap-service-number-of-entries`" >
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
+ <parameter name="file" value="/opt/opendaylight/current/data/log/configuration-phy-cell-id.log" />
+ <parameter name="level" value="info" />
+ <parameter name="field1" value="Input RPC Payload request. FAP #: "/>
+ <parameter name="field2" value="`$idx`"/>
+ <parameter name="field3" value="`$configuration-phy-cell-id-input.fap-service[$idx].alias`"/>
+ <parameter name="field4" value="`$configuration-phy-cell-id-input.fap-service[$idx].cid`"/>
+ <parameter name="field5" value="`$configuration-phy-cell-id-input.fap-service[$idx].phy-cell-id-in-use`"/>
+ <parameter name="field6" value="`$configuration-phy-cell-id-input.fap-service[$idx].pnf-name`"/>
+ </record>
+ </for>
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
+ <parameter name="file" value="/opt/opendaylight/current/data/log/configuration-phy-cell-id.log" />
+ <parameter name="level" value="info" />
+ <parameter name="field1" value="RPC to Configure PCI INVOKED. Number of Cells to configure: "/>
+ <parameter name="field2" value="`$configuration-phy-cell-id-input.fap-service-number-of-entries`"/>
+ </record>
+ <execute plugin='org.onap.ccsdk.sli.plugins.prop.PropertiesNode' method='readProperties' >
+ <parameter name='fileName' value='%SDNC_CONFIG_DIR%/sdnr-oofpcipoc-api-dg.properties' />
+ <parameter name='contextPrefix' value='prop' />
+ </execute>
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
+ <parameter name="file" value="/opt/opendaylight/current/data/log/configuration-phy-cell-id.log" />
+ <parameter name="level" value="info" />
+ <parameter name="field1" value="Properties read .. pci patch target"/>
+ <parameter name="field2" value="`$prop.oofpcipoc.patch.pci.target`"/>
+ <parameter name="field3" value="`$prop.controller.user`"/>
+ <parameter name="field4" value="`$prop.controller.pwd`"/>
+ <parameter name="field5" value="`$prop.controller.url`"/>
+ </record>
+ <for index='idx' start='0' end="`$configuration-phy-cell-id-input.fap-service-number-of-entries`" >
+ <block atomic='true'>
+ <set>
+ <parameter name="tmp.alias" value="`$configuration-phy-cell-id-input.fap-service[$idx].alias`"/>
+ <parameter name="tmp.cid" value="`$configuration-phy-cell-id-input.fap-service[$idx].cid`"/>
+ <parameter name="tmp.phy-cell-id-in-use" value="`$configuration-phy-cell-id-input.fap-service[$idx].phy-cell-id-in-use`"/>
+ <parameter name="tmp.pnf-name" value="`$configuration-phy-cell-id-input.fap-service[$idx].pnf-name`"/>
+ </set>
+ <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
+ <parameter name="source" value="`$prop.restapi.fap-service`"/>
+ <parameter name="outputPath" value="tmp.fap-service-url"/>
+ <parameter name="target" value="{alias}"/>
+ <parameter name="replacement" value="`$tmp.alias`"/>
+ </execute>
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
+ <parameter name="file" value="/opt/opendaylight/current/data/log/configuration-phy-cell-id.log" />
+ <parameter name="level" value="info" />
+ <parameter name="field1" value="Setting variables for GET operation"/>
+ <parameter name="field2" value="`$tmp.fap-service-url`"/>
+ <parameter name="field3" value="`$tmp.alias`"/>
+ <parameter name="field4" value="`$tmp.cid`"/>
+ <parameter name="field5" value="`$tmp.phy-cell-id-in-use`"/>
+ <parameter name="field6" value="`$tmp.pnf-name`"/>
+ </record>
+ <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
+ <parameter name="restapiUrl" value="`$prop.controller.url + $tmp.fap-service-url`"/>
+ <parameter name="restapiUser" value="`$prop.controller.user`" />
+ <parameter name="restapiPassword" value="`$prop.controller.pwd`"/>
+ <parameter name="format" value="json"/>
+ <parameter name="httpMethod" value="GET"/>
+ <parameter name="responsePrefix" value="oofpcigetfapservice"/>
+ <parameter name='contentType' value='application/json' />
+ <outcome value='failure'>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="Error executing Get odutopo node details rest api" />
+ </return>
+ </outcome>
+ <outcome value='success'>
+ <block>
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
+ <parameter name="file" value="/opt/opendaylight/current/data/log/configuration-phy-cell-id.log" />
+ <parameter name="level" value="info" />
+ <parameter name="field1" value="Initial FAP Service PCI PARMS"/>
+ <parameter name="field2" value="`$oofpcigetfapservice.fap-service[0].alias`"/>
+ <parameter name="field3" value="`$oofpcigetfapservice.fap-service[0].x-0005b9-lte.phy-cell-id-in-use`"/>
+ <parameter name="field4" value="`$oofpcigetfapservice.fap-service[0].x-0005b9-lte.pnf-name`"/>
+ </record>
+ </block>
+ </outcome>
+ </execute>
+ <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
+ <parameter name="source" value="`$prop.restapi.x-005b9-lte`"/>
+ <parameter name="outputPath" value="tmp.oofpcipoc.patch.pci.url"/>
+ <parameter name="target" value="{alias}"/>
+ <parameter name="replacement" value="`$tmp.alias`"/>
+ </execute>
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
+ <parameter name="file" value="/opt/opendaylight/current/data/log/configuration-phy-cell-id.log" />
+ <parameter name="level" value="info" />
+ <parameter name="field1" value="URL and Target for PCI patch URL"/>
+ <parameter name='field2' value="`$prop.controller.url + $tmp.oofpcipoc.patch.pci.url`" />
+ <parameter name='field3' value="`$prop.oofpcipoc.patch.pci.target`" />
+ </record>
+ <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
+ <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/oofpcipoc-pci-patch.json'`" />
+ <parameter name="restapiUrl" value="`$prop.controller.url + $tmp.oofpcipoc.patch.pci.url`"/>
+ <parameter name="restapiUser" value="`$prop.controller.user`" />
+ <parameter name="restapiPassword" value="`$prop.controller.pwd`"/>
+ <parameter name="httpMethod" value="PATCH"/>
+ <parameter name="responsePrefix" value="oofpci-patch-response"/>
+ <parameter name='contentType' value='application/yang.patch+json' />
+ <parameter name='format' value='json' />
+ <parameter name='accept' value='application/yang.patch-status+json' />
+ <outcome value='failure'>
+ <block>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="Error executing patch rest api" />
+ </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/configuration-phy-cell-id.log" />
+ <parameter name="level" value="info" />
+ <parameter name="field1" value="PUT PCI POC FAP SERVICE. Reconfigured "/>
+ </record>
+ </block>
+ </outcome>
+ </execute>
+ <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
+ <parameter name="restapiUrl" value="`$prop.controller.url + $tmp.fap-service-url`"/>
+ <parameter name="restapiUser" value="`$prop.controller.user`" />
+ <parameter name="restapiPassword" value="`$prop.controller.pwd`"/>
+ <parameter name="format" value="json"/>
+ <parameter name="httpMethod" value="GET"/>
+ <parameter name="responsePrefix" value="oofpcigetfapservice"/>
+ <parameter name='contentType' value='application/json' />
+ <outcome value='failure'>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="Error executing patch rest api" />
+ </return>
+ </outcome>
+ <outcome value='success'>
+ <block>
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
+ <parameter name="file" value="/opt/opendaylight/current/data/log/configuration-phy-cell-id.log" />
+ <parameter name="level" value="info" />
+ <parameter name="field1" value="Post Reconfig FAP Service PCI PARMS"/>
+ <parameter name="field2" value="`$oofpcigetfapservice.fap-service[0].alias`"/>
+ <parameter name="field3" value="`$oofpcigetfapservice.fap-service[0].x-0005b9-lte.phy-cell-id-in-use`"/>
+ <parameter name="field4" value="`$oofpcigetfapservice.fap-service[0].x-0005b9-lte.pnf-name`"/>
+ </record>
+ </block>
+ </outcome>
+ </execute>
+ </block>
+ </for>
+ <return status='success'>
+ <parameter name="ack-final-indicator" value="Y" />
+ <parameter name="error-code" value="200" />
+ <parameter name="error-message" value="SUCCESSFUL Execution" />
+ </return>
+ </block>
+ </method>
+</service-logic> \ No newline at end of file
diff --git a/platform-logic/oofpcipoc-api/src/main/xml/oofpcipoc-api_delete-neighbor.xml b/platform-logic/oofpcipoc-api/src/main/xml/oofpcipoc-api_delete-neighbor.xml
new file mode 100644
index 00000000..c6674c7e
--- /dev/null
+++ b/platform-logic/oofpcipoc-api/src/main/xml/oofpcipoc-api_delete-neighbor.xml
@@ -0,0 +1,131 @@
+<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='oofpcipoc-api' version='0.4.2-SNAPSHOT'>
+ <method rpc='delete-neighbor' mode='sync'>
+ <block atomic='true'>
+ <for index='idx' start='0' end="`$delete-neighbor-input.lte-cell-number-of-entries`" >
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
+ <parameter name="file" value="/opt/opendaylight/current/data/log/delete-neighbor.log" />
+ <parameter name="level" value="info" />
+ <parameter name="field1" value="Input RPC Payload request for Alias: "/>
+ <parameter name="field2" value="`$delete-neighbor-input.alias`"/>
+ <parameter name="field3" value="Input RPC Payload request for delete-neighbor. Neighbor Cell #: "/>
+ <parameter name="field4" value="`$idx`"/>
+ <parameter name="field5" value="`$delete-neighbor-input.lte-ran-neighbor-list-in-use-lte-cell[$idx].plmnid`"/>
+ <parameter name="field6" value="`$delete-neighbor-input.lte-ran-neighbor-list-in-use-lte-cell[$idx].cid`"/>
+ </record>
+ </for>
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
+ <parameter name="file" value="/opt/opendaylight/current/data/log/delete-neighbor.log" />
+ <parameter name="level" value="info" />
+ <parameter name="field1" value="RPC to delete neighbors. Number of neighbors to delete: "/>
+ <parameter name="field2" value="`$delete-neighbor-input.lte-cell-number-of-entries`"/>
+ </record>
+ <execute plugin='org.onap.ccsdk.sli.plugins.prop.PropertiesNode' method='readProperties' >
+ <parameter name='fileName' value='%SDNC_CONFIG_DIR%/sdnr-oofpcipoc-api-dg.properties' />
+ <parameter name='contextPrefix' value='prop' />
+ </execute>
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
+ <parameter name="file" value="/opt/opendaylight/current/data/log/add-neighbor.log" />
+ <parameter name="level" value="info" />
+ <parameter name="field1" value="Properties read .. neighbor-add template"/>
+ <parameter name="field2" value="`$prop.neighbor-add.templatefile`"/>
+ <parameter name="field3" value="`$prop.controller.user`"/>
+ <parameter name="field4" value="`$prop.controller.pwd`"/>
+ <parameter name="field5" value="`$prop.controller.url`"/>
+ <parameter name="field6" value="`$prop.restapi.lte-ran-neighbor-in-use`"/>
+ </record>
+ <for index='idx' start='0' end="`$delete-neighbor-input.lte-cell-number-of-entries`" >
+ <block atomic='true'>
+ <set>
+ <parameter name="tmp.plmnid" value="`$delete-neighbor-input.lte-ran-neighbor-list-in-use-lte-cell[$idx].plmnid`"/>
+ <parameter name="tmp.cid" value="`$delete-neighbor-input.lte-ran-neighbor-list-in-use-lte-cell[$idx].cid`"/>
+ <parameter name="tmp.alias" value="`$delete-neighbor-input.alias`"/>
+ </set>
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
+ <parameter name="file" value="/opt/opendaylight/current/data/log/delete-neighbor.log" />
+ <parameter name="level" value="info" />
+ <parameter name="field1" value="Temporary variable for Neighbor Cell #: "/>
+ <parameter name="field2" value="`$idx`"/>
+ <parameter name="field3" value="`$tmp.plmnid`"/>
+ <parameter name="field4" value="`$tmp.cid`"/>
+ <parameter name="field5" value="`$tmp.alias`"/>
+ </record>
+ <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
+ <parameter name="source" value="`$prop.restapi.lte-ran-neighbor-in-use`"/>
+ <parameter name="outputPath" value="tmp.add-neighbor-service-url"/>
+ <parameter name="target" value="{alias}"/>
+ <parameter name="replacement" value="`$tmp.alias`"/>
+ </execute>
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
+ <parameter name="file" value="/opt/opendaylight/current/data/log/delete-neighbor.log" />
+ <parameter name="level" value="info" />
+ <parameter name="field1" value="Add Neighbor List URL"/>
+ <parameter name="field2" value="`$tmp.add-neighbor-service-url`"/>
+ </record>
+ <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
+ <parameter name="source" value="`$tmp.add-neighbor-service-url`"/>
+ <parameter name="outputPath" value="tmp.add-neighbor-service-url"/>
+ <parameter name="target" value="{plmnid}"/>
+ <parameter name="replacement" value="`$tmp.plmnid`"/>
+ </execute>
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
+ <parameter name="file" value="/opt/opendaylight/current/data/log/delete-neighbor.log" />
+ <parameter name="level" value="info" />
+ <parameter name="field1" value="Add Neighbor List URL"/>
+ <parameter name="field2" value="`$tmp.add-neighbor-service-url`"/>
+ </record>
+ <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
+ <parameter name="source" value="`$tmp.add-neighbor-service-url`"/>
+ <parameter name="outputPath" value="tmp.add-neighbor-service-url"/>
+ <parameter name="target" value="{cid}"/>
+ <parameter name="replacement" value="`$tmp.cid`"/>
+ </execute>
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
+ <parameter name="file" value="/opt/opendaylight/current/data/log/delete-neighbor.log" />
+ <parameter name="level" value="info" />
+ <parameter name="field1" value="Setting variables for Neighbor Add PUT operation"/>
+ <parameter name="field2" value="`$tmp.add-neighbor-service-url`"/>
+ <parameter name="field3" value="`$tmp.plmnid`"/>
+ <parameter name="field4" value="`$tmp.cid`"/>
+ <parameter name="field5" value="`$tmp.phy-cell-id`"/>
+ <parameter name="field6" value="`$tmp.pnf-name`"/>
+ <parameter name="field7" value="`$tmp.blacklisted`"/>
+ </record>
+ <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
+ <parameter name="restapiUrl" value="`$prop.controller.url + $tmp.add-neighbor-service-url`"/>
+ <parameter name="restapiUser" value="`$prop.controller.user`" />
+ <parameter name="restapiPassword" value="`$prop.controller.pwd`"/>
+ <parameter name="httpMethod" value="DELETE"/>
+ <parameter name="responsePrefix" value="oofpci-delete-neighbor-response"/>
+ <parameter name='contentType' value='application/json' />
+ <parameter name='format' value='json' />
+ <outcome value='failure'>
+ <block>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="Error adding a new neighbor" />
+ </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/delete-neighbor.log" />
+ <parameter name="level" value="info" />
+ <parameter name="field1" value="DELETE Neighbor Executed Successfully "/>
+ </record>
+ </block>
+ </outcome>
+ </execute>
+ </block>
+ </for>
+ <return status='success'>
+ <parameter name="ack-final-indicator" value="Y" />
+ <parameter name="error-code" value="200" />
+ <parameter name="error-message" value="SUCCESSFUL add-neighbor Execution" />
+ </return>
+ </block>
+ </method>
+</service-logic> \ No newline at end of file
diff --git a/platform-logic/oofpcipoc-api/src/main/xml/oofpcipoc-api_generic-neighbor-configuration.xml b/platform-logic/oofpcipoc-api/src/main/xml/oofpcipoc-api_generic-neighbor-configuration.xml
new file mode 100644
index 00000000..d02bb7b6
--- /dev/null
+++ b/platform-logic/oofpcipoc-api/src/main/xml/oofpcipoc-api_generic-neighbor-configuration.xml
@@ -0,0 +1,187 @@
+<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='oofpcipoc-api' version='0.4.2-SNAPSHOT'>
+ <method rpc='generic-neighbor-configuration' mode='sync'>
+ <block atomic='true'>
+ <for index='idx' start='0' end="`$generic-neighbor-configuration-input.number-of-neighbor-cell-entries`" >
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
+ <parameter name="file" value="/opt/opendaylight/current/data/log/generic-neighbor-config.log" />
+ <parameter name="level" value="info" />
+ <parameter name="field1" value="Input RPC Payload request. Neighbor #: "/>
+ <parameter name="field2" value="`$idx`"/>
+ <parameter name="field3" value="`$generic-neighbor-configuration-input.neighbor-list-in-use[$idx].plmnid`"/>
+ <parameter name="field4" value="`$generic-neighbor-configuration-input.neighbor-list-in-use[$idx].cid`"/>
+ <parameter name="field5" value="`$generic-neighbor-configuration-input.neighbor-list-in-use[$idx].phy-cell-id`"/>
+ <parameter name="field6" value="`$generic-neighbor-configuration-input.neighbor-list-in-use[$idx].pnf-name`"/>
+ <parameter name="field7" value="`$generic-neighbor-configuration-input.neighbor-list-in-use[$idx].blacklisted`"/>
+ </record>
+ </for>
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
+ <parameter name="file" value="/opt/opendaylight/current/data/log/generic-neighbor-config.log" />
+ <parameter name="level" value="info" />
+ <parameter name="field1" value="RPC to Configure Neighbors INVOKED. Number of Neighbors to configure: "/>
+ <parameter name="field2" value="`$generic-neighbor-configuration-input.number-of-neighbor-cell-entries`"/>
+ </record>
+ <execute plugin='org.onap.ccsdk.sli.plugins.prop.PropertiesNode' method='readProperties' >
+ <parameter name='fileName' value='%SDNC_CONFIG_DIR%/sdnr-oofpcipoc-api-dg.properties' />
+ <parameter name='contextPrefix' value='prop' />
+ </execute>
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
+ <parameter name="file" value="/opt/opendaylight/current/data/log/generic-neighbor-config.log" />
+ <parameter name="level" value="info" />
+ <parameter name="field1" value="Properties read .. generic neighbor config template"/>
+ <parameter name="field2" value="`$prop.restapi.generic-neighbor-patch.template`"/>
+ <parameter name="field3" value="`$prop.controller.user`"/>
+ <parameter name="field4" value="`$prop.controller.pwd`"/>
+ <parameter name="field5" value="`$prop.controller.url`"/>
+ </record>
+ <for index='idx' start='0' end="`$generic-neighbor-configuration-input.number-of-neighbor-cell-entries`" >
+ <block atomic='true'>
+ <set>
+ <parameter name="tmp.alias" value="`$generic-neighbor-configuration-input.alias`"/>
+ <parameter name="tmp.plmnid" value="`$generic-neighbor-configuration-input.neighbor-list-in-use[$idx].plmnid`"/>
+ <parameter name="tmp.cid" value="`$generic-neighbor-configuration-input.neighbor-list-in-use[$idx].cid`"/>
+ <parameter name="tmp.phy-cell-id" value="`$generic-neighbor-configuration-input.neighbor-list-in-use[$idx].phy-cell-id`"/>
+ <parameter name="tmp.pnf-name" value="`$generic-neighbor-configuration-input.neighbor-list-in-use[$idx].pnf-name`"/>
+ <parameter name="tmp.blacklisted" value="`$generic-neighbor-configuration-input.neighbor-list-in-use[$idx].blacklisted`"/>
+ </set>
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
+ <parameter name="file" value="/opt/opendaylight/current/data/log/generic-neighbor-config.log" />
+ <parameter name="level" value="info" />
+ <parameter name="field1" value="Temporary varaibles set. Neighbor #: "/>
+ <parameter name="field2" value="`$idx`"/>
+ <parameter name="field3" value="`$tmp.plmnid`"/>
+ <parameter name="field4" value="`$tmp.cid`"/>
+ <parameter name="field5" value="`$tmp.phy-cell-id`"/>
+ <parameter name="field6" value="`$tmp.pnf-name`"/>
+ <parameter name="field7" value="`$tmp.blacklisted`"/>
+ </record>
+ <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
+ <parameter name="source" value="`$prop.restapi.lte-ran-neighbor-in-use`"/>
+ <parameter name="outputPath" value="tmp.config-neighbor-service-url"/>
+ <parameter name="target" value="{alias}"/>
+ <parameter name="replacement" value="`$tmp.alias`"/>
+ </execute>
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
+ <parameter name="file" value="/opt/opendaylight/current/data/log/generic-neighbor-config.log" />
+ <parameter name="level" value="info" />
+ <parameter name="field1" value="Config Neighbor List URL"/>
+ <parameter name="field2" value="`$tmp.config-neighbor-service-url`"/>
+ </record>
+ <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
+ <parameter name="source" value="`$tmp.config-neighbor-service-url`"/>
+ <parameter name="outputPath" value="tmp.config-neighbor-service-url"/>
+ <parameter name="target" value="{plmnid}"/>
+ <parameter name="replacement" value="`$tmp.plmnid`"/>
+ </execute>
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
+ <parameter name="file" value="/opt/opendaylight/current/data/log/generic-neighbor-config.log" />
+ <parameter name="level" value="info" />
+ <parameter name="field1" value="Config Neighbor List URL"/>
+ <parameter name="field2" value="`$tmp.config-neighbor-service-url`"/>
+ </record>
+ <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
+ <parameter name="source" value="`$tmp.config-neighbor-service-url`"/>
+ <parameter name="outputPath" value="tmp.config-neighbor-service-url"/>
+ <parameter name="target" value="{cid}"/>
+ <parameter name="replacement" value="`$tmp.cid`"/>
+ </execute>
+ <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
+ <parameter name="restapiUrl" value="`$prop.controller.url + $tmp.config-neighbor-service-url`"/>
+ <parameter name="restapiUser" value="`$prop.controller.user`" />
+ <parameter name="restapiPassword" value="`$prop.controller.pwd`"/>
+ <parameter name="httpMethod" value="GET"/>
+ <parameter name="responsePrefix" value="oofpci-neighbor-response"/>
+ <parameter name='contentType' value='application/json' />
+ <parameter name='format' value='json' />
+ <outcome value='failure'>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="Error getting details about new neighbor " />
+ </return>
+ </outcome>
+ <outcome value='success'>
+ <block>
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
+ <parameter name="file" value="/opt/opendaylight/current/data/log/generic-neighbor-config.log" />
+ <parameter name="level" value="info" />
+ <parameter name="field1" value="Details about Neighbor Pre-configuration"/>
+ <parameter name="field2" value="`$oofpci-neighbor-response.lte-ran-neighbor-list-in-use-lte-cell[0].plmnid`"/>
+ <parameter name="field3" value="`$oofpci-neighbor-response.lte-ran-neighbor-list-in-use-lte-cell[0].cid`"/>
+ <parameter name="field4" value="`$oofpci-neighbor-response.lte-ran-neighbor-list-in-use-lte-cell[0].phy-cell-id`"/>
+ <parameter name="field5" value="`$oofpci-neighbor-response.lte-ran-neighbor-list-in-use-lte-cell[0].pnf-name`"/>
+ <parameter name="field6" value="`$oofpci-neighbor-response.lte-ran-neighbor-list-in-use-lte-cell[0].blacklisted`"/>
+ </record>
+ </block>
+ </outcome>
+ </execute>
+ <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
+ <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/oofpcipoc-generic-neighbor-patch.json'`" />
+ <parameter name="restapiUrl" value="`$prop.controller.url + $tmp.config-neighbor-service-url`"/>
+ <parameter name="restapiUser" value="`$prop.controller.user`" />
+ <parameter name="restapiPassword" value="`$prop.controller.pwd`"/>
+ <parameter name="httpMethod" value="PATCH"/>
+ <parameter name="responsePrefix" value="oofpci-neighbor-patch-response"/>
+ <parameter name='contentType' value='application/yang.patch+json' />
+ <parameter name='format' value='json' />
+ <parameter name='accept' value='application/yang.patch-status+json' />
+ <outcome value='failure'>
+ <block>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="Error adding a new neighbor" />
+ </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/generic-neighbor-config.log" />
+ <parameter name="level" value="info" />
+ <parameter name="field1" value="PATCH Neighbor Executed Successfully "/>
+ </record>
+ </block>
+ </outcome>
+ </execute>
+ <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
+ <parameter name="restapiUrl" value="`$prop.controller.url + $tmp.config-neighbor-service-url`"/>
+ <parameter name="restapiUser" value="`$prop.controller.user`" />
+ <parameter name="restapiPassword" value="`$prop.controller.pwd`"/>
+ <parameter name="httpMethod" value="GET"/>
+ <parameter name="responsePrefix" value="oofpci-neighbor-response"/>
+ <parameter name='contentType' value='application/json' />
+ <parameter name='format' value='json' />
+ <outcome value='failure'>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="Error getting details about new neighbor " />
+ </return>
+ </outcome>
+ <outcome value='success'>
+ <block>
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
+ <parameter name="file" value="/opt/opendaylight/current/data/log/generic-neighbor-config.log" />
+ <parameter name="level" value="info" />
+ <parameter name="field1" value="Details about Neighbor Pre-configuration"/>
+ <parameter name="field2" value="`$oofpci-neighbor-response.lte-ran-neighbor-list-in-use-lte-cell[0].plmnid`"/>
+ <parameter name="field3" value="`$oofpci-neighbor-response.lte-ran-neighbor-list-in-use-lte-cell[0].cid`"/>
+ <parameter name="field4" value="`$oofpci-neighbor-response.lte-ran-neighbor-list-in-use-lte-cell[0].phy-cell-id`"/>
+ <parameter name="field5" value="`$oofpci-neighbor-response.lte-ran-neighbor-list-in-use-lte-cell[0].pnf-name`"/>
+ <parameter name="field6" value="`$oofpci-neighbor-response.lte-ran-neighbor-list-in-use-lte-cell[0].blacklisted`"/>
+ </record>
+ </block>
+ </outcome>
+ </execute>
+ </block>
+ </for>
+ <return status='success'>
+ <parameter name="ack-final-indicator" value="Y" />
+ <parameter name="error-code" value="200" />
+ <parameter name="error-message" value="SUCCESSFUL Execution" />
+ </return>
+ </block>
+ </method>
+</service-logic> \ No newline at end of file
diff --git a/platform-logic/oofpcipoc-api/src/main/xml/oofpcipoc-api_greeting.xml b/platform-logic/oofpcipoc-api/src/main/xml/oofpcipoc-api_greeting.xml
new file mode 100644
index 00000000..b6eec280
--- /dev/null
+++ b/platform-logic/oofpcipoc-api/src/main/xml/oofpcipoc-api_greeting.xml
@@ -0,0 +1,19 @@
+<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='oofpcipoc-api' version='${project.version}'>
+ <method rpc='greeting' mode='sync'>
+ <block atomic='true'>
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
+ <parameter name="file" value="/opt/opendaylight/current/data/log/svclogic.log" />
+ <parameter name="level" value="info" />
+ <parameter name="field1" value="Hello World!"/>
+ <parameter name="field2" value="`$greeting-input.salutation`"/>
+ </record>
+ <return status='success'>
+ <parameter name="ack-final-indicator" value="Y" />
+ <parameter name="error-code" value="200" />
+ <parameter name="error-message" value="`$error-message`" />
+ </return>
+ </block>
+ </method>
+</service-logic> \ No newline at end of file