aboutsummaryrefslogtreecommitdiffstats
path: root/sdnr/northbound/a1Adapter/provider
diff options
context:
space:
mode:
authorSandeep Shah <sandeeplinux1068@gmail.com>2019-12-17 00:32:01 -0600
committerSandeep Shah <sandeeplinux1068@gmail.com>2019-12-17 00:32:01 -0600
commit1194cb075b95b7cabe40b7114c2dd0df22ecb777 (patch)
tree7478651152f16daf57072c72e0ad1bc96be1a448 /sdnr/northbound/a1Adapter/provider
parent6795925af9187658c44d5b8ced752a917813c4f7 (diff)
YANG Model update for A1 Adapter
YANG model update to address policy type and poliy instance creation as well as notification for policy enforcement update Issue-ID: CCSDK-1996 Signed-off-by: SandeepLinux <Sandeep.Shah@ibm.com> Change-Id: I4dc4fdf1fadd996d7f32ff370b2b1edd853823df
Diffstat (limited to 'sdnr/northbound/a1Adapter/provider')
-rw-r--r--sdnr/northbound/a1Adapter/provider/src/main/java/org/onap/ccsdk/features/sdnr/northbound/a1Adapter/A1AdapterClient.java51
-rw-r--r--sdnr/northbound/a1Adapter/provider/src/main/java/org/onap/ccsdk/features/sdnr/northbound/a1Adapter/A1AdapterProvider.java79
2 files changed, 130 insertions, 0 deletions
diff --git a/sdnr/northbound/a1Adapter/provider/src/main/java/org/onap/ccsdk/features/sdnr/northbound/a1Adapter/A1AdapterClient.java b/sdnr/northbound/a1Adapter/provider/src/main/java/org/onap/ccsdk/features/sdnr/northbound/a1Adapter/A1AdapterClient.java
index 216f9bd38..429c57f92 100644
--- a/sdnr/northbound/a1Adapter/provider/src/main/java/org/onap/ccsdk/features/sdnr/northbound/a1Adapter/A1AdapterClient.java
+++ b/sdnr/northbound/a1Adapter/provider/src/main/java/org/onap/ccsdk/features/sdnr/northbound/a1Adapter/A1AdapterClient.java
@@ -617,6 +617,57 @@ public Properties execute(String module, String rpc, String version, String mode
}
+ // Client for notifyPolicyEnforcementUpdate
+
+
+ public Properties execute(String module, String rpc, String version, String mode, NotifyPolicyEnforcementUpdateOutputBuilder serviceData)
+ throws SvcLogicException {
+
+ Properties parms = new Properties();
+
+ return execute(module,rpc,version, mode,serviceData,parms);
+ }
+
+ public Properties execute(String module, String rpc, String version, String mode, NotifyPolicyEnforcementUpdateOutputBuilder serviceData, Properties parms)
+ throws SvcLogicException {
+ Properties localProp;
+ localProp = MdsalHelper.toProperties(parms, serviceData);
+
+ if (LOG.isDebugEnabled())
+ {
+ LOG.debug("Parameters passed to SLI");
+
+ for (Object key : localProp.keySet()) {
+ String parmName = (String) key;
+ String parmValue = localProp.getProperty(parmName);
+
+ LOG.debug(parmName+" = "+parmValue);
+
+ }
+ }
+
+ Properties respProps = svcLogicService.execute(module, rpc, version, mode, localProp);
+
+ if (LOG.isDebugEnabled())
+ {
+ LOG.debug("Parameters returned by SLI");
+
+ for (Object key : respProps.keySet()) {
+ String parmName = (String) key;
+ String parmValue = respProps.getProperty(parmName);
+
+ LOG.debug(parmName+" = "+parmValue);
+
+ }
+ }
+ if ("failure".equalsIgnoreCase(respProps.getProperty("SvcLogic.status"))) {
+ return respProps;
+ }
+
+ MdsalHelper.toBuilder(respProps, serviceData);
+
+ return respProps;
+ }
diff --git a/sdnr/northbound/a1Adapter/provider/src/main/java/org/onap/ccsdk/features/sdnr/northbound/a1Adapter/A1AdapterProvider.java b/sdnr/northbound/a1Adapter/provider/src/main/java/org/onap/ccsdk/features/sdnr/northbound/a1Adapter/A1AdapterProvider.java
index 5e06118f9..986ebb33d 100644
--- a/sdnr/northbound/a1Adapter/provider/src/main/java/org/onap/ccsdk/features/sdnr/northbound/a1Adapter/A1AdapterProvider.java
+++ b/sdnr/northbound/a1Adapter/provider/src/main/java/org/onap/ccsdk/features/sdnr/northbound/a1Adapter/A1AdapterProvider.java
@@ -963,6 +963,85 @@ public ListenableFuture<RpcResult<GetStatusOutput>> getStatus(
}
+// RPC notifyPolicyEnforcementUpdate
+
+@Override
+public ListenableFuture<RpcResult<NotifyPolicyEnforcementUpdateOutput>> notifyPolicyEnforcementUpdate(
+ NotifyPolicyEnforcementUpdateInput input) {
+ final String svcOperation = "notifyPolicyEnforcementUpdate";
+
+ Properties parms = new Properties();
+ NotifyPolicyEnforcementUpdateOutputBuilder serviceDataBuilder = new NotifyPolicyEnforcementUpdateOutputBuilder();
+
+ LOG.info( "Reached RPC notifyPolicyEnforcementUpdate");
+
+ LOG.info( svcOperation +" called." );
+
+ if(input == null ) {
+ LOG.debug("exiting " +svcOperation+ " because of invalid input");
+ serviceDataBuilder.setResponseCode("Input is null");
+ RpcResult<NotifyPolicyEnforcementUpdateOutput> rpcResult =
+ RpcResultBuilder.<NotifyPolicyEnforcementUpdateOutput> status(true).withResult(serviceDataBuilder.build()).build();
+ return Futures.immediateFuture(rpcResult);
+ }
+
+ // add input to parms
+ LOG.info("Adding INPUT data for "+svcOperation+" input: " + input);
+ NotifyPolicyEnforcementUpdateInputBuilder inputBuilder = new NotifyPolicyEnforcementUpdateInputBuilder(input);
+ MdsalHelper.toProperties(parms, inputBuilder.build());
+
+ LOG.info("Printing SLI parameters to be passed");
+
+ // iterate properties file to get key-value pairs
+ for (String key : parms.stringPropertyNames()) {
+ String value = parms.getProperty(key);
+ LOG.info("The SLI parameter in " + key + " is: " + value);
+ }
+
+ // Call SLI sync method
+ try
+ {
+ if (A1AdapterClient.hasGraph("A1-ADAPTER-API", svcOperation , null, "sync"))
+ {
+ LOG.info( "A1AdapterClient has a Directed Graph for '" + svcOperation + "'");
+ try
+ {
+ A1AdapterClient.execute("A1-ADAPTER-API", svcOperation, null, "sync", serviceDataBuilder, parms);
+ }
+ catch (Exception e)
+ {
+ LOG.error("Caught exception executing service logic for "+ svcOperation, e);
+ serviceDataBuilder.setResponseCode("500");
+ }
+ } else {
+ LOG.error("No service logic active for A1Adapter: '" + svcOperation + "'");
+ serviceDataBuilder.setResponseCode("503");
+ }
+ }
+ catch (Exception e)
+ {
+ LOG.error("Caught exception looking for service logic", e);
+ serviceDataBuilder.setResponseCode("500");
+ }
+
+ String errorCode = serviceDataBuilder.getResponseCode();
+
+ if (!("0".equals(errorCode) || "200".equals(errorCode))) {
+ LOG.error("Returned FAILED for "+svcOperation+" error code: '" + errorCode + "'");
+ } else {
+ LOG.info("Returned SUCCESS for "+svcOperation+" ");
+ serviceDataBuilder.setResponseCode("A1 Adapter Executed for notifyPolicyEnforcementUpdate. " );
+ }
+
+ RpcResult<NotifyPolicyEnforcementUpdateOutput> rpcResult =
+ RpcResultBuilder.<NotifyPolicyEnforcementUpdateOutput> status(true).withResult(serviceDataBuilder.build()).build();
+
+ LOG.info("Successful exit from notifyPolicyEnforcementUpdate ");
+
+ return Futures.immediateFuture(rpcResult);
+}
+
+
}