summaryrefslogtreecommitdiffstats
path: root/asdcApi/provider/src/main/java
diff options
context:
space:
mode:
authorRyan Goulding <ryandgoulding@gmail.com>2017-09-07 12:10:08 -0400
committerRyan Goulding <ryandgoulding@gmail.com>2017-09-07 14:26:03 -0400
commit8881ebb497e9f35e5ea9d19923fd926db56e8f12 (patch)
treefbf0998d26cd0d6b159e60c699476428387259e3 /asdcApi/provider/src/main/java
parent6ece0d9a4466984c4f03852336bae09a7cd1dc8d (diff)
Fix SDNC service registration
This change converts AsdcApiProvider and AsdcApiSliClient to utilize Aries Blueprint for service instantiation instead of the ODL Config Subsystem. Change-Id: I5eaebe4c6e5b33fc8beb20b2cfe9acb6e8b6d808 Issue-Id: SDNC-54 Signed-off-by: Ryan Goulding <ryandgoulding@gmail.com>
Diffstat (limited to 'asdcApi/provider/src/main/java')
-rw-r--r--asdcApi/provider/src/main/java/org/onap/ccsdk/sli/northbound/asdcapi/AsdcApiProvider.java93
-rw-r--r--asdcApi/provider/src/main/java/org/onap/ccsdk/sli/northbound/asdcapi/AsdcApiSliClient.java29
-rw-r--r--asdcApi/provider/src/main/java/org/opendaylight/yang/gen/v1/org/onap/ccsdk/sli/northbound/asdcapi/provider/impl/rev140523/AsdcApiProviderModule.java59
-rw-r--r--asdcApi/provider/src/main/java/org/opendaylight/yang/gen/v1/org/onap/ccsdk/sli/northbound/asdcapi/provider/impl/rev140523/AsdcApiProviderModuleFactory.java34
4 files changed, 39 insertions, 176 deletions
diff --git a/asdcApi/provider/src/main/java/org/onap/ccsdk/sli/northbound/asdcapi/AsdcApiProvider.java b/asdcApi/provider/src/main/java/org/onap/ccsdk/sli/northbound/asdcapi/AsdcApiProvider.java
index bd5f74a4f..13198d623 100644
--- a/asdcApi/provider/src/main/java/org/onap/ccsdk/sli/northbound/asdcapi/AsdcApiProvider.java
+++ b/asdcApi/provider/src/main/java/org/onap/ccsdk/sli/northbound/asdcapi/AsdcApiProvider.java
@@ -95,32 +95,36 @@ import com.google.common.util.concurrent.Futures;
*/
public class AsdcApiProvider implements AutoCloseable, ASDCAPIService {
+ private static final Logger LOG = LoggerFactory.getLogger(AsdcApiProvider.class);
+
private static final String ACTIVE_VERSION = "active";
- private final Logger log = LoggerFactory.getLogger( AsdcApiProvider.class );
- private final String appName = "asdcApi";
+ private static final String APPLICATION_NAME = "asdcApi";
private final ExecutorService executor;
protected DataBroker dataBroker;
protected NotificationProviderService notificationService;
protected RpcProviderRegistry rpcRegistry;
+ private final AsdcApiSliClient asdcApiSliClient;
protected BindingAwareBroker.RpcRegistration<ASDCAPIService> rpcRegistration;
- public AsdcApiProvider(DataBroker dataBroker2,
- NotificationProviderService notificationProviderService,
- RpcProviderRegistry rpcProviderRegistry) {
- this.log.info( "Creating provider for " + appName );
+ public AsdcApiProvider(final DataBroker dataBroker,
+ final NotificationProviderService notificationProviderService,
+ final RpcProviderRegistry rpcProviderRegistry,
+ final AsdcApiSliClient asdcApiSliClient) {
+
+ LOG.info("Creating provider for {}", APPLICATION_NAME);
executor = Executors.newFixedThreadPool(1);
- dataBroker = dataBroker2;
+ this.dataBroker = dataBroker;
notificationService = notificationProviderService;
rpcRegistry = rpcProviderRegistry;
+ this.asdcApiSliClient= asdcApiSliClient;
initialize();
}
public void initialize(){
- log.info( "Initializing provider for " + appName );
-
+ LOG.info("Initializing {} for {}", this.getClass().getName(), APPLICATION_NAME);
createContainers();
@@ -128,10 +132,9 @@ public class AsdcApiProvider implements AutoCloseable, ASDCAPIService {
if (rpcRegistry != null) {
rpcRegistration = rpcRegistry.addRpcImplementation(
ASDCAPIService.class, this);
- log.info("Initialization complete for " + appName);
+ LOG.info("Initialization complete for {}", APPLICATION_NAME);
} else {
- log.warn("Error initializing " + appName
- + " : rpcRegistry unset");
+ LOG.warn("Error initializing {} : rpcRegistry unset", APPLICATION_NAME);
}
}
}
@@ -151,14 +154,14 @@ public class AsdcApiProvider implements AutoCloseable, ASDCAPIService {
try {
CheckedFuture<Void, TransactionCommitFailedException> checkedFuture = t.submit();
checkedFuture.get();
- log.info("Create Containers succeeded!: ");
+ LOG.info("Create Containers succeeded!: ");
} catch (InterruptedException | ExecutionException e) {
- log.error("Create Containers Failed: " + e);
+ LOG.error("Create Containers Failed: " + e);
e.printStackTrace();
}
} else {
- log.warn("createContainers : cannot find dataBroker to create containers");
+ LOG.warn("createContainers : cannot find dataBroker to create containers");
}
}
protected void initializeChild() {
@@ -167,38 +170,12 @@ public class AsdcApiProvider implements AutoCloseable, ASDCAPIService {
@Override
public void close() throws Exception {
- log.info( "Closing provider for " + appName );
+ LOG.info( "Closing provider for " + APPLICATION_NAME);
executor.shutdown();
rpcRegistration.close();
- log.info( "Successfully closed provider for " + appName );
- }
-
- public void setDataBroker(DataBroker dataBroker) {
- this.dataBroker = dataBroker;
- if( log.isDebugEnabled() ){
- log.debug( "DataBroker set to " + (dataBroker==null?"null":"non-null") + "." );
- }
- }
-
- public void setNotificationService(
- NotificationProviderService notificationService) {
- this.notificationService = notificationService;
- if( log.isDebugEnabled() ){
- log.debug( "Notification Service set to " + (notificationService==null?"null":"non-null") + "." );
- }
- }
-
- public void setRpcRegistry(RpcProviderRegistry rpcRegistry) {
- this.rpcRegistry = rpcRegistry;
-
- rpcRegistration = rpcRegistry.addRpcImplementation(ASDCAPIService.class, this);
-
- if( log.isDebugEnabled() ){
- log.debug( "RpcRegistry set to " + (rpcRegistry==null?"null":"non-null") + "." );
- }
+ LOG.info( "Successfully closed provider for " + APPLICATION_NAME);
}
-
protected boolean artifactVersionExists(String aName, String aVersion) {
InstanceIdentifier artifactInstanceId =
InstanceIdentifier.<Artifacts>builder(Artifacts.class)
@@ -208,7 +185,7 @@ public class AsdcApiProvider implements AutoCloseable, ASDCAPIService {
try {
data = (Optional<Artifact>) readTx.read(LogicalDatastoreType.CONFIGURATION, artifactInstanceId).get();
} catch (InterruptedException | ExecutionException e) {
- log.error("Caught Exception reading MD-SAL for ["+aName+","+ aVersion+"] " ,e);
+ LOG.error("Caught Exception reading MD-SAL for ["+aName+","+ aVersion+"] " ,e);
return false;
}
@@ -244,7 +221,7 @@ public class AsdcApiProvider implements AutoCloseable, ASDCAPIService {
artifact);
tx.submit().checkedGet();
} catch (Exception e) {
- log.error("Caught exception trying to add artifact entry", e);
+ LOG.error("Caught exception trying to add artifact entry", e);
}
}
@@ -279,7 +256,7 @@ public class AsdcApiProvider implements AutoCloseable, ASDCAPIService {
version);
tx.submit().checkedGet();
} catch (Exception e) {
- log.error(
+ LOG.error(
"Caught exception trying to save entry to MD-SAL",
e);
}
@@ -307,7 +284,7 @@ public class AsdcApiProvider implements AutoCloseable, ASDCAPIService {
version);
tx.submit().checkedGet();
} catch (Exception e) {
- log.error(
+ LOG.error(
"Caught exception trying to save entry to MD-SAL",
e);
}
@@ -320,10 +297,10 @@ public Future<RpcResult<VfLicenseModelUpdateOutput>> vfLicenseModelUpdate(VfLice
Properties parms = new Properties();
- log.info( SVC_OPERATION +" called." );
+ LOG.info( SVC_OPERATION +" called." );
if(input == null ) {
- log.debug("exiting " +SVC_OPERATION+ " because of invalid input");
+ LOG.debug("exiting " +SVC_OPERATION+ " because of invalid input");
return null;
}
@@ -339,28 +316,24 @@ public Future<RpcResult<VfLicenseModelUpdateOutput>> vfLicenseModelUpdate(VfLice
errorMessage = "Artifact version already exists";
} else {
// Translate input object into SLI-consumable properties
- log.info("Adding INPUT data for "+SVC_OPERATION+" input: " + input);
+ LOG.info("Adding INPUT data for "+SVC_OPERATION+" input: " + input);
AsdcApiUtil.toProperties(parms, input);
// Call directed graph
-
Properties respProps = null;
-
-
- AsdcApiSliClient sliClient = new AsdcApiSliClient();
try
{
- if (sliClient.hasGraph("ASDC-API", SVC_OPERATION , null, "sync"))
+ if (asdcApiSliClient.hasGraph("ASDC-API", SVC_OPERATION , null, "sync"))
{
try
{
- respProps = sliClient.execute("ASDC-API", SVC_OPERATION, null, "sync", parms);
+ respProps = asdcApiSliClient.execute("ASDC-API", SVC_OPERATION, null, "sync", parms);
}
catch (Exception e)
{
- log.error("Caught exception executing service logic for "+ SVC_OPERATION, e);
+ LOG.error("Caught exception executing service logic for "+ SVC_OPERATION, e);
}
} else {
errorMessage = "No service logic active for ASDC-API: '" + SVC_OPERATION + "'";
@@ -371,7 +344,7 @@ public Future<RpcResult<VfLicenseModelUpdateOutput>> vfLicenseModelUpdate(VfLice
{
errorCode = "500";
errorMessage = e.getMessage();
- log.error("Caught exception looking for service logic", e);
+ LOG.error("Caught exception looking for service logic", e);
}
@@ -384,14 +357,14 @@ public Future<RpcResult<VfLicenseModelUpdateOutput>> vfLicenseModelUpdate(VfLice
if ("200".equals(errorCode)) {
- log.info("ASDC update succeeded");
+ LOG.info("ASDC update succeeded");
// Update config tree
applyVfLicenseModelUpdate(input);
addArtifactVersion(input.getArtifactName(), input.getArtifactVersion());
} else {
- log.info("ASDC update failed ("+errorCode+" : "+errorMessage);
+ LOG.info("ASDC update failed ("+errorCode+" : "+errorMessage);
}
// Send response
diff --git a/asdcApi/provider/src/main/java/org/onap/ccsdk/sli/northbound/asdcapi/AsdcApiSliClient.java b/asdcApi/provider/src/main/java/org/onap/ccsdk/sli/northbound/asdcapi/AsdcApiSliClient.java
index 5b268bc28..51fdd7002 100644
--- a/asdcApi/provider/src/main/java/org/onap/ccsdk/sli/northbound/asdcapi/AsdcApiSliClient.java
+++ b/asdcApi/provider/src/main/java/org/onap/ccsdk/sli/northbound/asdcapi/AsdcApiSliClient.java
@@ -25,39 +25,22 @@ import java.util.Properties;
import org.onap.ccsdk.sli.core.sli.SvcLogicException;
import org.onap.ccsdk.sli.core.sli.provider.SvcLogicService;
-import org.osgi.framework.BundleContext;
-import org.osgi.framework.FrameworkUtil;
-import org.osgi.framework.ServiceReference;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class AsdcApiSliClient {
- private static final Logger LOG = LoggerFactory
- .getLogger(AsdcApiSliClient.class);
+ private static final Logger LOG = LoggerFactory.getLogger(AsdcApiSliClient.class);
- private SvcLogicService svcLogic = null;
+ private final SvcLogicService svcLogicService;
- public AsdcApiSliClient()
- {
- BundleContext bctx = FrameworkUtil.getBundle(SvcLogicService.class).getBundleContext();
-
- // Get SvcLogicService reference
- ServiceReference sref = bctx.getServiceReference(SvcLogicService.NAME);
- if (sref != null)
- {
- svcLogic = (SvcLogicService) bctx.getService(sref);
- }
- else
- {
- LOG.warn("Cannot find service reference for "+SvcLogicService.NAME);
-
- }
+ public AsdcApiSliClient(final SvcLogicService svcLogicService) {
+ this.svcLogicService = svcLogicService;
}
public boolean hasGraph(String module, String rpc, String version, String mode) throws SvcLogicException
{
- return(svcLogic.hasGraph(module, rpc, version, mode));
+ return(svcLogicService.hasGraph(module, rpc, version, mode));
}
@@ -78,7 +61,7 @@ public class AsdcApiSliClient {
}
}
- Properties respProps = svcLogic.execute(module, rpc, version, mode, parms);
+ Properties respProps = svcLogicService.execute(module, rpc, version, mode, parms);
if (LOG.isDebugEnabled())
{
diff --git a/asdcApi/provider/src/main/java/org/opendaylight/yang/gen/v1/org/onap/ccsdk/sli/northbound/asdcapi/provider/impl/rev140523/AsdcApiProviderModule.java b/asdcApi/provider/src/main/java/org/opendaylight/yang/gen/v1/org/onap/ccsdk/sli/northbound/asdcapi/provider/impl/rev140523/AsdcApiProviderModule.java
deleted file mode 100644
index 26dc94285..000000000
--- a/asdcApi/provider/src/main/java/org/opendaylight/yang/gen/v1/org/onap/ccsdk/sli/northbound/asdcapi/provider/impl/rev140523/AsdcApiProviderModule.java
+++ /dev/null
@@ -1,59 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. All rights
- * reserved.
- * ================================================================================
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * ============LICENSE_END=========================================================
- */
-
-package org.opendaylight.yang.gen.v1.org.onap.ccsdk.sli.northbound.asdcapi.provider.impl.rev140523;
-
-import org.onap.ccsdk.sli.northbound.asdcapi.AsdcApiProvider;
-
-public class AsdcApiProviderModule extends org.opendaylight.yang.gen.v1.org.onap.ccsdk.sli.northbound.asdcapi.provider.impl.rev140523.AbstractAsdcApiProviderModule {
- public AsdcApiProviderModule(org.opendaylight.controller.config.api.ModuleIdentifier identifier, org.opendaylight.controller.config.api.DependencyResolver dependencyResolver) {
- super(identifier, dependencyResolver);
- }
-
- public AsdcApiProviderModule(org.opendaylight.controller.config.api.ModuleIdentifier identifier, org.opendaylight.controller.config.api.DependencyResolver dependencyResolver, org.opendaylight.yang.gen.v1.org.onap.ccsdk.sli.northbound.asdcapi.provider.impl.rev140523.AsdcApiProviderModule oldModule, java.lang.AutoCloseable oldInstance) {
- super(identifier, dependencyResolver, oldModule, oldInstance);
- }
-
- @Override
- public void customValidation() {
- // add custom validation form module attributes here.
- }
-
- @Override
- public java.lang.AutoCloseable createInstance() {
-
-
- final AsdcApiProvider provider = new AsdcApiProvider(getDataBrokerDependency()
- , getNotificationServiceDependency()
- , getRpcRegistryDependency());
-
- return new AutoCloseable() {
-
- @Override
- public void close() throws Exception {
-
- provider.close();
- }
- };
-
- }
-
-}
diff --git a/asdcApi/provider/src/main/java/org/opendaylight/yang/gen/v1/org/onap/ccsdk/sli/northbound/asdcapi/provider/impl/rev140523/AsdcApiProviderModuleFactory.java b/asdcApi/provider/src/main/java/org/opendaylight/yang/gen/v1/org/onap/ccsdk/sli/northbound/asdcapi/provider/impl/rev140523/AsdcApiProviderModuleFactory.java
deleted file mode 100644
index 513e61cff..000000000
--- a/asdcApi/provider/src/main/java/org/opendaylight/yang/gen/v1/org/onap/ccsdk/sli/northbound/asdcapi/provider/impl/rev140523/AsdcApiProviderModuleFactory.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. All rights
- * reserved.
- * ================================================================================
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * ============LICENSE_END=========================================================
- */
-
-/*
-* Generated file
-*
-* Generated from: yang module name: asdcApi-provider-impl yang module local name: asdcApi-provider-impl
-* Generated by: org.opendaylight.controller.config.yangjmxgenerator.plugin.JMXGenerator
-* Generated at: Mon Aug 14 15:34:51 EDT 2017
-*
-* Do not modify this file unless it is present under src/main directory
-*/
-package org.opendaylight.yang.gen.v1.org.onap.ccsdk.sli.northbound.asdcapi.provider.impl.rev140523;
-public class AsdcApiProviderModuleFactory extends org.opendaylight.yang.gen.v1.org.onap.ccsdk.sli.northbound.asdcapi.provider.impl.rev140523.AbstractAsdcApiProviderModuleFactory {
-
-}