Fix for provider rpc error
[appc.git] / appc-provider / appc-provider-bundle / src / main / java / org / onap / appc / provider / AppcProvider.java
index 62c8ef7..91d3a19 100644 (file)
@@ -27,27 +27,27 @@ import com.att.eelf.configuration.EELFLogger;
 import com.att.eelf.configuration.EELFManager;
 import com.google.common.util.concurrent.Futures;
 import org.opendaylight.controller.md.sal.binding.api.DataBroker;
+import org.opendaylight.controller.md.sal.binding.api.NotificationPublishService;
 import org.opendaylight.controller.sal.binding.api.BindingAwareBroker;
-import org.opendaylight.controller.sal.binding.api.NotificationProviderService;
 import org.opendaylight.controller.sal.binding.api.RpcProviderRegistry;
-import org.opendaylight.yang.gen.v1.org.onap.appc.rev160104.AppcProviderService;
-import org.opendaylight.yang.gen.v1.org.onap.appc.rev160104.EvacuateInput;
-import org.opendaylight.yang.gen.v1.org.onap.appc.rev160104.EvacuateOutput;
-import org.opendaylight.yang.gen.v1.org.onap.appc.rev160104.MigrateInput;
-import org.opendaylight.yang.gen.v1.org.onap.appc.rev160104.MigrateOutput;
-import org.opendaylight.yang.gen.v1.org.onap.appc.rev160104.ModifyConfigInput;
-import org.opendaylight.yang.gen.v1.org.onap.appc.rev160104.ModifyConfigOutput;
-import org.opendaylight.yang.gen.v1.org.onap.appc.rev160104.RebuildInput;
-import org.opendaylight.yang.gen.v1.org.onap.appc.rev160104.RebuildOutput;
-import org.opendaylight.yang.gen.v1.org.onap.appc.rev160104.RestartInput;
-import org.opendaylight.yang.gen.v1.org.onap.appc.rev160104.RestartOutput;
-import org.opendaylight.yang.gen.v1.org.onap.appc.rev160104.SnapshotInput;
-import org.opendaylight.yang.gen.v1.org.onap.appc.rev160104.SnapshotOutput;
-import org.opendaylight.yang.gen.v1.org.onap.appc.rev160104.VmstatuscheckInput;
-import org.opendaylight.yang.gen.v1.org.onap.appc.rev160104.VmstatuscheckOutput;
-import org.opendaylight.yang.gen.v1.org.onap.appc.rev160104.common.request.header.CommonRequestHeader;
-import org.opendaylight.yang.gen.v1.org.onap.appc.rev160104.config.payload.ConfigPayload;
-import org.opendaylight.yang.gen.v1.org.onap.appc.rev160104.vnf.resource.VnfResource;
+import org.opendaylight.yang.gen.v1.org.onap.appc.provider.rev160104.AppcProviderService;
+import org.opendaylight.yang.gen.v1.org.onap.appc.provider.rev160104.EvacuateInput;
+import org.opendaylight.yang.gen.v1.org.onap.appc.provider.rev160104.EvacuateOutput;
+import org.opendaylight.yang.gen.v1.org.onap.appc.provider.rev160104.MigrateInput;
+import org.opendaylight.yang.gen.v1.org.onap.appc.provider.rev160104.MigrateOutput;
+import org.opendaylight.yang.gen.v1.org.onap.appc.provider.rev160104.ModifyConfigInput;
+import org.opendaylight.yang.gen.v1.org.onap.appc.provider.rev160104.ModifyConfigOutput;
+import org.opendaylight.yang.gen.v1.org.onap.appc.provider.rev160104.RebuildInput;
+import org.opendaylight.yang.gen.v1.org.onap.appc.provider.rev160104.RebuildOutput;
+import org.opendaylight.yang.gen.v1.org.onap.appc.provider.rev160104.RestartInput;
+import org.opendaylight.yang.gen.v1.org.onap.appc.provider.rev160104.RestartOutput;
+import org.opendaylight.yang.gen.v1.org.onap.appc.provider.rev160104.SnapshotInput;
+import org.opendaylight.yang.gen.v1.org.onap.appc.provider.rev160104.SnapshotOutput;
+import org.opendaylight.yang.gen.v1.org.onap.appc.provider.rev160104.VmstatuscheckInput;
+import org.opendaylight.yang.gen.v1.org.onap.appc.provider.rev160104.VmstatuscheckOutput;
+import org.opendaylight.yang.gen.v1.org.onap.appc.provider.rev160104.common.request.header.CommonRequestHeader;
+import org.opendaylight.yang.gen.v1.org.onap.appc.provider.rev160104.config.payload.ConfigPayload;
+import org.opendaylight.yang.gen.v1.org.onap.appc.provider.rev160104.vnf.resource.VnfResource;
 import org.opendaylight.yangtools.yang.common.RpcResult;
 import org.onap.appc.Constants;
 import org.onap.appc.configuration.Configuration;
@@ -106,7 +106,7 @@ public class AppcProvider implements AutoCloseable, AppcProviderService {
     /**
      * ODL Notification Service that provides publish/subscribe capabilities for YANG modeled notifications.
      */
-    protected NotificationProviderService notificationService;
+    protected NotificationPublishService notificationService;
 
     /**
      * Provides a registry for Remote Procedure Call (RPC) service implementations. The RPCs are defined in YANG models.
@@ -122,6 +122,8 @@ public class AppcProvider implements AutoCloseable, AppcProviderService {
      * The configuration
      */
     private Configuration configuration = ConfigurationFactory.getConfiguration();
+    
+    private AppcProviderClient appcProviderClient;
 
     /**
      * @param dataBroker2
@@ -131,8 +133,8 @@ public class AppcProvider implements AutoCloseable, AppcProviderService {
     @SuppressWarnings({
         "javadoc", "nls"
     })
-    public AppcProvider(DataBroker dataBroker2, NotificationProviderService notificationProviderService,
-                        RpcProviderRegistry rpcProviderRegistry) {
+    public AppcProvider(DataBroker dataBroker2, NotificationPublishService notificationProviderService,
+                        RpcProviderRegistry rpcProviderRegistry, AppcProviderClient appcProviderClient) {
 
         String appName = configuration.getProperty(Constants.PROPERTY_APPLICATION_NAME);
         logger.info(Msg.COMPONENT_INITIALIZING, appName, "provider");
@@ -141,10 +143,7 @@ public class AppcProvider implements AutoCloseable, AppcProviderService {
         dataBroker = dataBroker2;
         notificationService = notificationProviderService;
         rpcRegistry = rpcProviderRegistry;
-
-        if (rpcRegistry != null) {
-            rpcRegistration = rpcRegistry.addRpcImplementation(AppcProviderService.class, this);
-        }
+        this.appcProviderClient = appcProviderClient;
 
         logger.info(Msg.COMPONENT_INITIALIZED, appName, "provider");
     }
@@ -176,7 +175,7 @@ public class AppcProvider implements AutoCloseable, AppcProviderService {
     /**
      * Rebuilds a specific VNF
      *
-     * @see org.opendaylight.yang.gen.v1.org.onap.appc.rev160104.AppcProviderService#rebuild(org.opendaylight.yang.gen.v1.org.onap.appc.rev160104.RebuildInput)
+     * @see org.opendaylight.yang.gen.v1.org.onap.appc.provider.rev160104.AppcProviderService#rebuild(org.opendaylight.yang.gen.v1.org.onap.appc.provider.rev160104.RebuildInput)
      */
     @Override
     public Future<RpcResult<RebuildOutput>> rebuild(RebuildInput input) {
@@ -191,7 +190,7 @@ public class AppcProvider implements AutoCloseable, AppcProviderService {
     /**
      * Restarts a specific VNF
      *
-     * @see org.opendaylight.yang.gen.v1.org.onap.appc.rev160104.AppcProviderService#restart(org.opendaylight.yang.gen.v1.org.onap.appc.rev160104.RestartInput)
+     * @see org.opendaylight.yang.gen.v1.org.onap.appc.provider.rev160104.AppcProviderService#restart(org.opendaylight.yang.gen.v1.org.onap.appc.provider.rev160104.RestartInput)
      */
     @Override
     public Future<RpcResult<RestartOutput>> restart(RestartInput input) {
@@ -205,7 +204,7 @@ public class AppcProvider implements AutoCloseable, AppcProviderService {
     /**
      * Migrates a specific VNF
      *
-     * @see org.opendaylight.yang.gen.v1.org.onap.appc.rev160104.AppcProviderService#migrate(org.opendaylight.yang.gen.v1.org.onap.appc.rev160104.MigrateInput)
+     * @see org.opendaylight.yang.gen.v1.org.onap.appc.provider.rev160104.AppcProviderService#migrate(org.opendaylight.yang.gen.v1.org.onap.appc.provider.rev160104.MigrateInput)
      */
     @Override
     public Future<RpcResult<MigrateOutput>> migrate(MigrateInput input) {
@@ -219,7 +218,7 @@ public class AppcProvider implements AutoCloseable, AppcProviderService {
     /**
      * Evacuates a specific VNF
      *
-     * @see org.opendaylight.yang.gen.v1.org.onap.appc.rev160104.AppcProviderService#evacuate(org.opendaylight.yang.gen.v1.org.onap.appc.rev160104.EvacuateInput)
+     * @see org.opendaylight.yang.gen.v1.org.onap.appc.provider.rev160104.AppcProviderService#evacuate(org.opendaylight.yang.gen.v1.org.onap.appc.provider.rev160104.EvacuateInput)
      */
     @Override
     public Future<RpcResult<EvacuateOutput>> evacuate(EvacuateInput input) {
@@ -230,7 +229,7 @@ public class AppcProvider implements AutoCloseable, AppcProviderService {
     /**
      * Evacuates a specific VNF
      *
-     * @see org.opendaylight.yang.gen.v1.org.onap.appc.rev160104.AppcProviderService#evacuate(org.opendaylight.yang.gen.v1.org.onap.appc.rev160104.EvacuateInput)
+     * @see org.opendaylight.yang.gen.v1.org.onap.appc.provider.rev160104.AppcProviderService#evacuate(org.opendaylight.yang.gen.v1.org.onap.appc.provider.rev160104.EvacuateInput)
      */
     @Override
     public Future<RpcResult<SnapshotOutput>> snapshot(SnapshotInput input) {
@@ -257,4 +256,8 @@ public class AppcProvider implements AutoCloseable, AppcProviderService {
     TopologyService getTopologyService() {
         return new TopologyService(this);
     }
+    
+    public AppcProviderClient getClient() {
+       return appcProviderClient;
+    }
 }
\ No newline at end of file