From adf11cab69c4b5754e27f1511722af4c1dd2ec9b Mon Sep 17 00:00:00 2001 From: Robert Varga Date: Tue, 8 Jan 2019 16:35:55 +0100 Subject: [PATCH] Move blueprint code into place This moves the contents of opendaylight/blueprint into a new component, mdsal-blueprint-binding. While the structure is created, the component is not yet plugged into the build system, which will be done in subsequent patches. JIRA: MDSAL-413 Change-Id: I1c11f2947cc6e5061e4de1ff8b4a4ca803b97c36 Signed-off-by: Robert Varga --- blueprint/mdsal-blueprint-binding/pom.xml | 123 ++++++++++++++ .../blueprint/BlueprintBundleTracker.java | 7 +- .../BlueprintContainerRestartService.java | 0 .../BlueprintContainerRestartServiceImpl.java | 0 ...ractDependentComponentFactoryMetadata.java | 0 .../ext/AbstractInvokableServiceMetadata.java | 0 .../blueprint/ext/ActionProviderBean.java | 0 .../blueprint/ext/ActionServiceMetadata.java | 0 .../blueprint/ext/BindingContext.java | 0 .../blueprint/ext/ComponentProcessor.java | 0 .../ext/ConfigXMLReaderException.java | 0 .../DataStoreAppConfigDefaultXMLReader.java | 2 +- .../ext/DataStoreAppConfigMetadata.java | 75 ++++----- .../MandatoryServiceReferenceMetadata.java | 0 .../ext/NotificationListenerBean.java | 0 .../ext/OpendaylightNamespaceHandler.java | 4 +- .../blueprint/ext/RoutedRpcMetadata.java | 9 +- .../ext/RoutedRpcRegistrationConverter.java | 0 .../blueprint/ext/RpcImplementationBean.java | 0 .../blueprint/ext/RpcServiceMetadata.java | 0 .../controller/blueprint/ext/RpcUtil.java | 0 .../ext/SpecificReferenceListMetadata.java | 0 .../ext/StaticReferenceMetadata.java | 0 .../ext/StaticServiceReferenceRecipe.java | 5 + .../blueprint/ext/UpdateStrategy.java | 0 .../opendaylight-blueprint-ext-1.0.0.xsd | 0 ...ataStoreAppConfigDefaultXMLReaderTest.java | 2 +- .../opendaylight-sal-test-store-config.xml | 0 opendaylight/blueprint/pom.xml | 155 ------------------ 29 files changed, 172 insertions(+), 210 deletions(-) create mode 100644 blueprint/mdsal-blueprint-binding/pom.xml rename {opendaylight/blueprint => blueprint/mdsal-blueprint-binding}/src/main/java/org/opendaylight/controller/blueprint/BlueprintBundleTracker.java (98%) rename {opendaylight/blueprint => blueprint/mdsal-blueprint-binding}/src/main/java/org/opendaylight/controller/blueprint/BlueprintContainerRestartService.java (100%) rename {opendaylight/blueprint => blueprint/mdsal-blueprint-binding}/src/main/java/org/opendaylight/controller/blueprint/BlueprintContainerRestartServiceImpl.java (100%) rename {opendaylight/blueprint => blueprint/mdsal-blueprint-binding}/src/main/java/org/opendaylight/controller/blueprint/ext/AbstractDependentComponentFactoryMetadata.java (100%) rename {opendaylight/blueprint => blueprint/mdsal-blueprint-binding}/src/main/java/org/opendaylight/controller/blueprint/ext/AbstractInvokableServiceMetadata.java (100%) rename {opendaylight/blueprint => blueprint/mdsal-blueprint-binding}/src/main/java/org/opendaylight/controller/blueprint/ext/ActionProviderBean.java (100%) rename {opendaylight/blueprint => blueprint/mdsal-blueprint-binding}/src/main/java/org/opendaylight/controller/blueprint/ext/ActionServiceMetadata.java (100%) rename {opendaylight/blueprint => blueprint/mdsal-blueprint-binding}/src/main/java/org/opendaylight/controller/blueprint/ext/BindingContext.java (100%) rename {opendaylight/blueprint => blueprint/mdsal-blueprint-binding}/src/main/java/org/opendaylight/controller/blueprint/ext/ComponentProcessor.java (100%) rename {opendaylight/blueprint => blueprint/mdsal-blueprint-binding}/src/main/java/org/opendaylight/controller/blueprint/ext/ConfigXMLReaderException.java (100%) rename {opendaylight/blueprint => blueprint/mdsal-blueprint-binding}/src/main/java/org/opendaylight/controller/blueprint/ext/DataStoreAppConfigDefaultXMLReader.java (99%) rename {opendaylight/blueprint => blueprint/mdsal-blueprint-binding}/src/main/java/org/opendaylight/controller/blueprint/ext/DataStoreAppConfigMetadata.java (83%) rename {opendaylight/blueprint => blueprint/mdsal-blueprint-binding}/src/main/java/org/opendaylight/controller/blueprint/ext/MandatoryServiceReferenceMetadata.java (100%) rename {opendaylight/blueprint => blueprint/mdsal-blueprint-binding}/src/main/java/org/opendaylight/controller/blueprint/ext/NotificationListenerBean.java (100%) rename {opendaylight/blueprint => blueprint/mdsal-blueprint-binding}/src/main/java/org/opendaylight/controller/blueprint/ext/OpendaylightNamespaceHandler.java (99%) rename {opendaylight/blueprint => blueprint/mdsal-blueprint-binding}/src/main/java/org/opendaylight/controller/blueprint/ext/RoutedRpcMetadata.java (90%) rename {opendaylight/blueprint => blueprint/mdsal-blueprint-binding}/src/main/java/org/opendaylight/controller/blueprint/ext/RoutedRpcRegistrationConverter.java (100%) rename {opendaylight/blueprint => blueprint/mdsal-blueprint-binding}/src/main/java/org/opendaylight/controller/blueprint/ext/RpcImplementationBean.java (100%) rename {opendaylight/blueprint => blueprint/mdsal-blueprint-binding}/src/main/java/org/opendaylight/controller/blueprint/ext/RpcServiceMetadata.java (100%) rename {opendaylight/blueprint => blueprint/mdsal-blueprint-binding}/src/main/java/org/opendaylight/controller/blueprint/ext/RpcUtil.java (100%) rename {opendaylight/blueprint => blueprint/mdsal-blueprint-binding}/src/main/java/org/opendaylight/controller/blueprint/ext/SpecificReferenceListMetadata.java (100%) rename {opendaylight/blueprint => blueprint/mdsal-blueprint-binding}/src/main/java/org/opendaylight/controller/blueprint/ext/StaticReferenceMetadata.java (100%) rename {opendaylight/blueprint => blueprint/mdsal-blueprint-binding}/src/main/java/org/opendaylight/controller/blueprint/ext/StaticServiceReferenceRecipe.java (98%) rename {opendaylight/blueprint => blueprint/mdsal-blueprint-binding}/src/main/java/org/opendaylight/controller/blueprint/ext/UpdateStrategy.java (100%) rename {opendaylight/blueprint => blueprint/mdsal-blueprint-binding}/src/main/resources/opendaylight-blueprint-ext-1.0.0.xsd (100%) rename {opendaylight/blueprint => blueprint/mdsal-blueprint-binding}/src/test/java/org/opendaylight/controller/blueprint/tests/DataStoreAppConfigDefaultXMLReaderTest.java (96%) rename {opendaylight/blueprint => blueprint/mdsal-blueprint-binding}/src/test/resources/opendaylight-sal-test-store-config.xml (100%) delete mode 100644 opendaylight/blueprint/pom.xml diff --git a/blueprint/mdsal-blueprint-binding/pom.xml b/blueprint/mdsal-blueprint-binding/pom.xml new file mode 100644 index 0000000000..69debd1da5 --- /dev/null +++ b/blueprint/mdsal-blueprint-binding/pom.xml @@ -0,0 +1,123 @@ + + + + + 4.0.0 + + org.opendaylight.mdsal + dom-parent + 3.0.4-SNAPSHOT + ../../dom/dom-parent + + + mdsal-blueprint-binding + bundle + ${project.artifactId} + 1.0.4-SNAPSHOT + + + + com.google.guava + guava + + + org.apache.aries.blueprint + org.apache.aries.blueprint.core + provided + + + org.apache.aries + org.apache.aries.util + + + org.opendaylight.mdsal + mdsal-dom-api + + + org.opendaylight.mdsal + mdsal-dom-spi + + + org.opendaylight.mdsal + mdsal-binding-api + + + org.opendaylight.mdsal + mdsal-binding-dom-codec + + + org.opendaylight.yangtools + yang-data-codec-xml + + + org.osgi + org.osgi.core + + + org.osgi + org.osgi.compendium + + + org.slf4j + slf4j-api + + + org.osgi + org.osgi.service.event + + + com.google.truth + truth + + + + org.opendaylight.mdsal + mdsal-binding-dom-adapter + test-jar + test + + + org.opendaylight.mdsal + mdsal-binding-dom-adapter + test + + + + + + + org.apache.felix + maven-bundle-plugin + + + org.opendaylight.controller.blueprint.BlueprintBundleTracker + + + + + org.apache.maven.plugins + maven-checkstyle-plugin + + checkstyle.violationSeverity=error + + + + com.github.spotbugs + spotbugs-maven-plugin + + true + + + + + diff --git a/opendaylight/blueprint/src/main/java/org/opendaylight/controller/blueprint/BlueprintBundleTracker.java b/blueprint/mdsal-blueprint-binding/src/main/java/org/opendaylight/controller/blueprint/BlueprintBundleTracker.java similarity index 98% rename from opendaylight/blueprint/src/main/java/org/opendaylight/controller/blueprint/BlueprintBundleTracker.java rename to blueprint/mdsal-blueprint-binding/src/main/java/org/opendaylight/controller/blueprint/BlueprintBundleTracker.java index d3db327742..8c45359103 100644 --- a/opendaylight/blueprint/src/main/java/org/opendaylight/controller/blueprint/BlueprintBundleTracker.java +++ b/blueprint/mdsal-blueprint-binding/src/main/java/org/opendaylight/controller/blueprint/BlueprintBundleTracker.java @@ -146,7 +146,7 @@ public class BlueprintBundleTracker implements BundleActivator, BundleTrackerCus restartService.setBlueprintExtenderService(blueprintExtenderService); blueprintContainerRestartReg = bundleContext.registerService( - BlueprintContainerRestartService.class.getName(), restartService, new Hashtable<>()); + BlueprintContainerRestartService.class, restartService, new Hashtable<>()); return blueprintExtenderService; } @@ -154,12 +154,11 @@ public class BlueprintBundleTracker implements BundleActivator, BundleTrackerCus private void registerNamespaceHandler(final BundleContext context) { Dictionary props = new Hashtable<>(); props.put("osgi.service.blueprint.namespace", OpendaylightNamespaceHandler.NAMESPACE_1_0_0); - namespaceReg = context.registerService(NamespaceHandler.class.getName(), - new OpendaylightNamespaceHandler(), props); + namespaceReg = context.registerService(NamespaceHandler.class, new OpendaylightNamespaceHandler(), props); } private void registerBlueprintEventHandler(final BundleContext context) { - eventHandlerReg = context.registerService(BlueprintListener.class.getName(), this, new Hashtable<>()); + eventHandlerReg = context.registerService(BlueprintListener.class, this, new Hashtable<>()); } /** diff --git a/opendaylight/blueprint/src/main/java/org/opendaylight/controller/blueprint/BlueprintContainerRestartService.java b/blueprint/mdsal-blueprint-binding/src/main/java/org/opendaylight/controller/blueprint/BlueprintContainerRestartService.java similarity index 100% rename from opendaylight/blueprint/src/main/java/org/opendaylight/controller/blueprint/BlueprintContainerRestartService.java rename to blueprint/mdsal-blueprint-binding/src/main/java/org/opendaylight/controller/blueprint/BlueprintContainerRestartService.java diff --git a/opendaylight/blueprint/src/main/java/org/opendaylight/controller/blueprint/BlueprintContainerRestartServiceImpl.java b/blueprint/mdsal-blueprint-binding/src/main/java/org/opendaylight/controller/blueprint/BlueprintContainerRestartServiceImpl.java similarity index 100% rename from opendaylight/blueprint/src/main/java/org/opendaylight/controller/blueprint/BlueprintContainerRestartServiceImpl.java rename to blueprint/mdsal-blueprint-binding/src/main/java/org/opendaylight/controller/blueprint/BlueprintContainerRestartServiceImpl.java diff --git a/opendaylight/blueprint/src/main/java/org/opendaylight/controller/blueprint/ext/AbstractDependentComponentFactoryMetadata.java b/blueprint/mdsal-blueprint-binding/src/main/java/org/opendaylight/controller/blueprint/ext/AbstractDependentComponentFactoryMetadata.java similarity index 100% rename from opendaylight/blueprint/src/main/java/org/opendaylight/controller/blueprint/ext/AbstractDependentComponentFactoryMetadata.java rename to blueprint/mdsal-blueprint-binding/src/main/java/org/opendaylight/controller/blueprint/ext/AbstractDependentComponentFactoryMetadata.java diff --git a/opendaylight/blueprint/src/main/java/org/opendaylight/controller/blueprint/ext/AbstractInvokableServiceMetadata.java b/blueprint/mdsal-blueprint-binding/src/main/java/org/opendaylight/controller/blueprint/ext/AbstractInvokableServiceMetadata.java similarity index 100% rename from opendaylight/blueprint/src/main/java/org/opendaylight/controller/blueprint/ext/AbstractInvokableServiceMetadata.java rename to blueprint/mdsal-blueprint-binding/src/main/java/org/opendaylight/controller/blueprint/ext/AbstractInvokableServiceMetadata.java diff --git a/opendaylight/blueprint/src/main/java/org/opendaylight/controller/blueprint/ext/ActionProviderBean.java b/blueprint/mdsal-blueprint-binding/src/main/java/org/opendaylight/controller/blueprint/ext/ActionProviderBean.java similarity index 100% rename from opendaylight/blueprint/src/main/java/org/opendaylight/controller/blueprint/ext/ActionProviderBean.java rename to blueprint/mdsal-blueprint-binding/src/main/java/org/opendaylight/controller/blueprint/ext/ActionProviderBean.java diff --git a/opendaylight/blueprint/src/main/java/org/opendaylight/controller/blueprint/ext/ActionServiceMetadata.java b/blueprint/mdsal-blueprint-binding/src/main/java/org/opendaylight/controller/blueprint/ext/ActionServiceMetadata.java similarity index 100% rename from opendaylight/blueprint/src/main/java/org/opendaylight/controller/blueprint/ext/ActionServiceMetadata.java rename to blueprint/mdsal-blueprint-binding/src/main/java/org/opendaylight/controller/blueprint/ext/ActionServiceMetadata.java diff --git a/opendaylight/blueprint/src/main/java/org/opendaylight/controller/blueprint/ext/BindingContext.java b/blueprint/mdsal-blueprint-binding/src/main/java/org/opendaylight/controller/blueprint/ext/BindingContext.java similarity index 100% rename from opendaylight/blueprint/src/main/java/org/opendaylight/controller/blueprint/ext/BindingContext.java rename to blueprint/mdsal-blueprint-binding/src/main/java/org/opendaylight/controller/blueprint/ext/BindingContext.java diff --git a/opendaylight/blueprint/src/main/java/org/opendaylight/controller/blueprint/ext/ComponentProcessor.java b/blueprint/mdsal-blueprint-binding/src/main/java/org/opendaylight/controller/blueprint/ext/ComponentProcessor.java similarity index 100% rename from opendaylight/blueprint/src/main/java/org/opendaylight/controller/blueprint/ext/ComponentProcessor.java rename to blueprint/mdsal-blueprint-binding/src/main/java/org/opendaylight/controller/blueprint/ext/ComponentProcessor.java diff --git a/opendaylight/blueprint/src/main/java/org/opendaylight/controller/blueprint/ext/ConfigXMLReaderException.java b/blueprint/mdsal-blueprint-binding/src/main/java/org/opendaylight/controller/blueprint/ext/ConfigXMLReaderException.java similarity index 100% rename from opendaylight/blueprint/src/main/java/org/opendaylight/controller/blueprint/ext/ConfigXMLReaderException.java rename to blueprint/mdsal-blueprint-binding/src/main/java/org/opendaylight/controller/blueprint/ext/ConfigXMLReaderException.java diff --git a/opendaylight/blueprint/src/main/java/org/opendaylight/controller/blueprint/ext/DataStoreAppConfigDefaultXMLReader.java b/blueprint/mdsal-blueprint-binding/src/main/java/org/opendaylight/controller/blueprint/ext/DataStoreAppConfigDefaultXMLReader.java similarity index 99% rename from opendaylight/blueprint/src/main/java/org/opendaylight/controller/blueprint/ext/DataStoreAppConfigDefaultXMLReader.java rename to blueprint/mdsal-blueprint-binding/src/main/java/org/opendaylight/controller/blueprint/ext/DataStoreAppConfigDefaultXMLReader.java index 9f909c4084..9b55b360d6 100644 --- a/opendaylight/blueprint/src/main/java/org/opendaylight/controller/blueprint/ext/DataStoreAppConfigDefaultXMLReader.java +++ b/blueprint/mdsal-blueprint-binding/src/main/java/org/opendaylight/controller/blueprint/ext/DataStoreAppConfigDefaultXMLReader.java @@ -7,13 +7,13 @@ */ package org.opendaylight.controller.blueprint.ext; -import com.google.common.base.Optional; import com.google.common.base.Strings; import com.google.common.io.Resources; import java.io.IOException; import java.io.InputStream; import java.net.URISyntaxException; import java.net.URL; +import java.util.Optional; import javax.xml.parsers.ParserConfigurationException; import javax.xml.stream.XMLStreamException; import org.opendaylight.mdsal.binding.dom.codec.api.BindingNormalizedNodeSerializer; diff --git a/opendaylight/blueprint/src/main/java/org/opendaylight/controller/blueprint/ext/DataStoreAppConfigMetadata.java b/blueprint/mdsal-blueprint-binding/src/main/java/org/opendaylight/controller/blueprint/ext/DataStoreAppConfigMetadata.java similarity index 83% rename from opendaylight/blueprint/src/main/java/org/opendaylight/controller/blueprint/ext/DataStoreAppConfigMetadata.java rename to blueprint/mdsal-blueprint-binding/src/main/java/org/opendaylight/controller/blueprint/ext/DataStoreAppConfigMetadata.java index 0d6585bda2..0a840063f4 100644 --- a/opendaylight/blueprint/src/main/java/org/opendaylight/controller/blueprint/ext/DataStoreAppConfigMetadata.java +++ b/blueprint/mdsal-blueprint-binding/src/main/java/org/opendaylight/controller/blueprint/ext/DataStoreAppConfigMetadata.java @@ -7,16 +7,14 @@ */ package org.opendaylight.controller.blueprint.ext; -import com.google.common.base.Optional; import com.google.common.util.concurrent.FutureCallback; -import com.google.common.util.concurrent.Futures; -import com.google.common.util.concurrent.ListenableFuture; import com.google.common.util.concurrent.MoreExecutors; import java.io.File; import java.io.IOException; import java.net.URISyntaxException; import java.util.Collection; import java.util.Objects; +import java.util.Optional; import java.util.concurrent.atomic.AtomicBoolean; import javax.annotation.Nonnull; import javax.annotation.Nullable; @@ -24,15 +22,15 @@ import javax.xml.parsers.ParserConfigurationException; import javax.xml.stream.XMLStreamException; import org.apache.aries.blueprint.services.ExtendedBlueprintContainer; import org.opendaylight.controller.blueprint.ext.DataStoreAppConfigDefaultXMLReader.ConfigURLProvider; -import org.opendaylight.controller.md.sal.binding.api.ClusteredDataTreeChangeListener; -import org.opendaylight.controller.md.sal.binding.api.DataBroker; -import org.opendaylight.controller.md.sal.binding.api.DataObjectModification; -import org.opendaylight.controller.md.sal.binding.api.DataObjectModification.ModificationType; -import org.opendaylight.controller.md.sal.binding.api.DataTreeIdentifier; -import org.opendaylight.controller.md.sal.binding.api.DataTreeModification; -import org.opendaylight.controller.md.sal.binding.api.ReadOnlyTransaction; -import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType; +import org.opendaylight.mdsal.binding.api.ClusteredDataTreeChangeListener; +import org.opendaylight.mdsal.binding.api.DataBroker; +import org.opendaylight.mdsal.binding.api.DataObjectModification; +import org.opendaylight.mdsal.binding.api.DataObjectModification.ModificationType; +import org.opendaylight.mdsal.binding.api.DataTreeIdentifier; +import org.opendaylight.mdsal.binding.api.DataTreeModification; +import org.opendaylight.mdsal.binding.api.ReadTransaction; import org.opendaylight.mdsal.binding.dom.codec.api.BindingNormalizedNodeSerializer; +import org.opendaylight.mdsal.common.api.LogicalDatastoreType; import org.opendaylight.mdsal.dom.api.DOMSchemaService; import org.opendaylight.yangtools.concepts.ListenerRegistration; import org.opendaylight.yangtools.yang.binding.DataObject; @@ -150,7 +148,7 @@ public class DataStoreAppConfigMetadata extends AbstractDependentComponentFactor // the data isn't present, we won't get an initial DTCN update so the read will indicate the data // isn't present. - DataTreeIdentifier dataTreeId = new DataTreeIdentifier<>(LogicalDatastoreType.CONFIGURATION, + DataTreeIdentifier dataTreeId = DataTreeIdentifier.create(LogicalDatastoreType.CONFIGURATION, bindingContext.appConfigPath); appConfigChangeListenerReg = dataBroker.registerDataTreeChangeListener(dataTreeId, (ClusteredDataTreeChangeListener) this::onAppConfigChanged); @@ -159,32 +157,28 @@ public class DataStoreAppConfigMetadata extends AbstractDependentComponentFactor } private void readInitialAppConfig(final DataBroker dataBroker) { - final ReadOnlyTransaction readOnlyTx = dataBroker.newReadOnlyTransaction(); - ListenableFuture> future = readOnlyTx.read( - LogicalDatastoreType.CONFIGURATION, bindingContext.appConfigPath); - Futures.addCallback(future, new FutureCallback>() { - @Override - public void onSuccess(final Optional possibleAppConfig) { - LOG.debug("{}: Read of app config {} succeeded: {}", logName(), bindingContext - .appConfigBindingClass.getName(), possibleAppConfig); - - readOnlyTx.close(); - setInitialAppConfig(possibleAppConfig); - } - - @Override - public void onFailure(final Throwable failure) { - readOnlyTx.close(); + try (ReadTransaction readOnlyTx = dataBroker.newReadOnlyTransaction()) { + readOnlyTx.read(LogicalDatastoreType.CONFIGURATION, bindingContext.appConfigPath).addCallback( + new FutureCallback>() { + @Override + public void onSuccess(final Optional possibleAppConfig) { + LOG.debug("{}: Read of app config {} succeeded: {}", logName(), bindingContext + .appConfigBindingClass.getName(), possibleAppConfig); + setInitialAppConfig(possibleAppConfig); + } - // We may have gotten the app config via the data tree change listener so only retry if not. - if (readingInitialAppConfig.get()) { - LOG.warn("{}: Read of app config {} failed - retrying", logName(), - bindingContext.appConfigBindingClass.getName(), failure); + @Override + public void onFailure(final Throwable failure) { + // We may have gotten the app config via the data tree change listener so only retry if not. + if (readingInitialAppConfig.get()) { + LOG.warn("{}: Read of app config {} failed - retrying", logName(), + bindingContext.appConfigBindingClass.getName(), failure); - readInitialAppConfig(dataBroker); - } - } - }, MoreExecutors.directExecutor()); + readInitialAppConfig(dataBroker); + } + } + }, MoreExecutors.directExecutor()); + } } private void onAppConfigChanged(final Collection> changes) { @@ -248,7 +242,7 @@ public class DataStoreAppConfigMetadata extends AbstractDependentComponentFactor appConfigFile.getAbsolutePath()); if (!appConfigFile.exists()) { - return Optional.absent(); + return Optional.empty(); } LOG.debug("{}: Found file {}", logName(), appConfigFile.getAbsolutePath()); @@ -262,12 +256,11 @@ public class DataStoreAppConfigMetadata extends AbstractDependentComponentFactor return reader.createDefaultInstance((schemaContext, dataSchema) -> { // Fallback if file cannot be read, try XML from Config NormalizedNode dataNode = parsePossibleDefaultAppConfigElement(schemaContext, dataSchema); - if (dataNode == null) { - // or, as last resort, defaults from the model - return bindingContext.newDefaultNode(dataSchema); - } else { + if (dataNode != null) { return dataNode; } + // or, as last resort, defaults from the model + return bindingContext.newDefaultNode(dataSchema); }); } catch (final ConfigXMLReaderException | IOException | SAXException | XMLStreamException diff --git a/opendaylight/blueprint/src/main/java/org/opendaylight/controller/blueprint/ext/MandatoryServiceReferenceMetadata.java b/blueprint/mdsal-blueprint-binding/src/main/java/org/opendaylight/controller/blueprint/ext/MandatoryServiceReferenceMetadata.java similarity index 100% rename from opendaylight/blueprint/src/main/java/org/opendaylight/controller/blueprint/ext/MandatoryServiceReferenceMetadata.java rename to blueprint/mdsal-blueprint-binding/src/main/java/org/opendaylight/controller/blueprint/ext/MandatoryServiceReferenceMetadata.java diff --git a/opendaylight/blueprint/src/main/java/org/opendaylight/controller/blueprint/ext/NotificationListenerBean.java b/blueprint/mdsal-blueprint-binding/src/main/java/org/opendaylight/controller/blueprint/ext/NotificationListenerBean.java similarity index 100% rename from opendaylight/blueprint/src/main/java/org/opendaylight/controller/blueprint/ext/NotificationListenerBean.java rename to blueprint/mdsal-blueprint-binding/src/main/java/org/opendaylight/controller/blueprint/ext/NotificationListenerBean.java diff --git a/opendaylight/blueprint/src/main/java/org/opendaylight/controller/blueprint/ext/OpendaylightNamespaceHandler.java b/blueprint/mdsal-blueprint-binding/src/main/java/org/opendaylight/controller/blueprint/ext/OpendaylightNamespaceHandler.java similarity index 99% rename from opendaylight/blueprint/src/main/java/org/opendaylight/controller/blueprint/ext/OpendaylightNamespaceHandler.java rename to blueprint/mdsal-blueprint-binding/src/main/java/org/opendaylight/controller/blueprint/ext/OpendaylightNamespaceHandler.java index ff22f1bc30..dbecdc3f70 100644 --- a/opendaylight/blueprint/src/main/java/org/opendaylight/controller/blueprint/ext/OpendaylightNamespaceHandler.java +++ b/blueprint/mdsal-blueprint-binding/src/main/java/org/opendaylight/controller/blueprint/ext/OpendaylightNamespaceHandler.java @@ -24,7 +24,6 @@ import org.apache.aries.blueprint.mutable.MutableServiceMetadata; import org.apache.aries.blueprint.mutable.MutableServiceReferenceMetadata; import org.apache.aries.blueprint.mutable.MutableValueMetadata; import org.opendaylight.controller.blueprint.BlueprintContainerRestartService; -import org.opendaylight.controller.sal.binding.api.RpcProviderRegistry; import org.opendaylight.mdsal.binding.api.NotificationService; import org.opendaylight.mdsal.binding.api.RpcProviderService; import org.opendaylight.mdsal.dom.api.DOMRpcProviderService; @@ -57,7 +56,6 @@ public final class OpendaylightNamespaceHandler implements NamespaceHandler { public static final String NAMESPACE_1_0_0 = "http://opendaylight.org/xmlns/blueprint/v1.0.0"; static final String ROUTED_RPC_REG_CONVERTER_NAME = "org.opendaylight.blueprint.RoutedRpcRegConverter"; static final String DOM_RPC_PROVIDER_SERVICE_NAME = "org.opendaylight.blueprint.DOMRpcProviderService"; - static final String RPC_REGISTRY_NAME = "org.opendaylight.blueprint.RpcRegistry"; static final String BINDING_RPC_PROVIDER_SERVICE_NAME = "org.opendaylight.blueprint.RpcProviderService"; static final String SCHEMA_SERVICE_NAME = "org.opendaylight.blueprint.SchemaService"; static final String NOTIFICATION_SERVICE_NAME = "org.opendaylight.blueprint.NotificationService"; @@ -278,7 +276,7 @@ public final class OpendaylightNamespaceHandler implements NamespaceHandler { } private static Metadata parseRoutedRpcImplementation(final Element element, final ParserContext context) { - registerRefBean(context, RPC_REGISTRY_NAME, RpcProviderRegistry.class); + registerBindingRpcProviderServiceRefBean(context); registerRoutedRpcRegistrationConverter(context); ComponentFactoryMetadata metadata = new RoutedRpcMetadata(getId(context, element), diff --git a/opendaylight/blueprint/src/main/java/org/opendaylight/controller/blueprint/ext/RoutedRpcMetadata.java b/blueprint/mdsal-blueprint-binding/src/main/java/org/opendaylight/controller/blueprint/ext/RoutedRpcMetadata.java similarity index 90% rename from opendaylight/blueprint/src/main/java/org/opendaylight/controller/blueprint/ext/RoutedRpcMetadata.java rename to blueprint/mdsal-blueprint-binding/src/main/java/org/opendaylight/controller/blueprint/ext/RoutedRpcMetadata.java index 725e568785..d9f464cff5 100644 --- a/opendaylight/blueprint/src/main/java/org/opendaylight/controller/blueprint/ext/RoutedRpcMetadata.java +++ b/blueprint/mdsal-blueprint-binding/src/main/java/org/opendaylight/controller/blueprint/ext/RoutedRpcMetadata.java @@ -11,8 +11,7 @@ import java.util.Arrays; import java.util.List; import org.apache.aries.blueprint.ext.ComponentFactoryMetadata; import org.apache.aries.blueprint.services.ExtendedBlueprintContainer; -import org.opendaylight.controller.sal.binding.api.BindingAwareBroker.RoutedRpcRegistration; -import org.opendaylight.controller.sal.binding.api.RpcProviderRegistry; +import org.opendaylight.mdsal.binding.api.RpcProviderService; import org.opendaylight.yangtools.yang.binding.RpcService; import org.osgi.service.blueprint.container.ComponentDefinitionException; import org.slf4j.Logger; @@ -52,7 +51,7 @@ class RoutedRpcMetadata implements ComponentFactoryMetadata { @Override public List getDependsOn() { - return Arrays.asList(OpendaylightNamespaceHandler.RPC_REGISTRY_NAME, implementationRefId); + return Arrays.asList(OpendaylightNamespaceHandler.BINDING_RPC_PROVIDER_SERVICE_NAME, implementationRefId); } @Override @@ -65,8 +64,8 @@ class RoutedRpcMetadata implements ComponentFactoryMetadata { @SuppressWarnings("checkstyle:IllegalCatch") @Override public Object create() throws ComponentDefinitionException { - RpcProviderRegistry rpcRegistry = (RpcProviderRegistry) container.getComponentInstance( - OpendaylightNamespaceHandler.RPC_REGISTRY_NAME); + RpcProviderService rpcRegistry = (RpcProviderService) container.getComponentInstance( + OpendaylightNamespaceHandler.BINDING_RPC_PROVIDER_SERVICE_NAME); Object implementation = container.getComponentInstance(implementationRefId); diff --git a/opendaylight/blueprint/src/main/java/org/opendaylight/controller/blueprint/ext/RoutedRpcRegistrationConverter.java b/blueprint/mdsal-blueprint-binding/src/main/java/org/opendaylight/controller/blueprint/ext/RoutedRpcRegistrationConverter.java similarity index 100% rename from opendaylight/blueprint/src/main/java/org/opendaylight/controller/blueprint/ext/RoutedRpcRegistrationConverter.java rename to blueprint/mdsal-blueprint-binding/src/main/java/org/opendaylight/controller/blueprint/ext/RoutedRpcRegistrationConverter.java diff --git a/opendaylight/blueprint/src/main/java/org/opendaylight/controller/blueprint/ext/RpcImplementationBean.java b/blueprint/mdsal-blueprint-binding/src/main/java/org/opendaylight/controller/blueprint/ext/RpcImplementationBean.java similarity index 100% rename from opendaylight/blueprint/src/main/java/org/opendaylight/controller/blueprint/ext/RpcImplementationBean.java rename to blueprint/mdsal-blueprint-binding/src/main/java/org/opendaylight/controller/blueprint/ext/RpcImplementationBean.java diff --git a/opendaylight/blueprint/src/main/java/org/opendaylight/controller/blueprint/ext/RpcServiceMetadata.java b/blueprint/mdsal-blueprint-binding/src/main/java/org/opendaylight/controller/blueprint/ext/RpcServiceMetadata.java similarity index 100% rename from opendaylight/blueprint/src/main/java/org/opendaylight/controller/blueprint/ext/RpcServiceMetadata.java rename to blueprint/mdsal-blueprint-binding/src/main/java/org/opendaylight/controller/blueprint/ext/RpcServiceMetadata.java diff --git a/opendaylight/blueprint/src/main/java/org/opendaylight/controller/blueprint/ext/RpcUtil.java b/blueprint/mdsal-blueprint-binding/src/main/java/org/opendaylight/controller/blueprint/ext/RpcUtil.java similarity index 100% rename from opendaylight/blueprint/src/main/java/org/opendaylight/controller/blueprint/ext/RpcUtil.java rename to blueprint/mdsal-blueprint-binding/src/main/java/org/opendaylight/controller/blueprint/ext/RpcUtil.java diff --git a/opendaylight/blueprint/src/main/java/org/opendaylight/controller/blueprint/ext/SpecificReferenceListMetadata.java b/blueprint/mdsal-blueprint-binding/src/main/java/org/opendaylight/controller/blueprint/ext/SpecificReferenceListMetadata.java similarity index 100% rename from opendaylight/blueprint/src/main/java/org/opendaylight/controller/blueprint/ext/SpecificReferenceListMetadata.java rename to blueprint/mdsal-blueprint-binding/src/main/java/org/opendaylight/controller/blueprint/ext/SpecificReferenceListMetadata.java diff --git a/opendaylight/blueprint/src/main/java/org/opendaylight/controller/blueprint/ext/StaticReferenceMetadata.java b/blueprint/mdsal-blueprint-binding/src/main/java/org/opendaylight/controller/blueprint/ext/StaticReferenceMetadata.java similarity index 100% rename from opendaylight/blueprint/src/main/java/org/opendaylight/controller/blueprint/ext/StaticReferenceMetadata.java rename to blueprint/mdsal-blueprint-binding/src/main/java/org/opendaylight/controller/blueprint/ext/StaticReferenceMetadata.java diff --git a/opendaylight/blueprint/src/main/java/org/opendaylight/controller/blueprint/ext/StaticServiceReferenceRecipe.java b/blueprint/mdsal-blueprint-binding/src/main/java/org/opendaylight/controller/blueprint/ext/StaticServiceReferenceRecipe.java similarity index 98% rename from opendaylight/blueprint/src/main/java/org/opendaylight/controller/blueprint/ext/StaticServiceReferenceRecipe.java rename to blueprint/mdsal-blueprint-binding/src/main/java/org/opendaylight/controller/blueprint/ext/StaticServiceReferenceRecipe.java index fdeea3bb09..43ad997ea4 100644 --- a/opendaylight/blueprint/src/main/java/org/opendaylight/controller/blueprint/ext/StaticServiceReferenceRecipe.java +++ b/blueprint/mdsal-blueprint-binding/src/main/java/org/opendaylight/controller/blueprint/ext/StaticServiceReferenceRecipe.java @@ -116,4 +116,9 @@ class StaticServiceReferenceRecipe extends AbstractServiceReferenceRecipe { return trackedService; } + + @Override + public boolean isStaticLifecycle() { + return true; + } } diff --git a/opendaylight/blueprint/src/main/java/org/opendaylight/controller/blueprint/ext/UpdateStrategy.java b/blueprint/mdsal-blueprint-binding/src/main/java/org/opendaylight/controller/blueprint/ext/UpdateStrategy.java similarity index 100% rename from opendaylight/blueprint/src/main/java/org/opendaylight/controller/blueprint/ext/UpdateStrategy.java rename to blueprint/mdsal-blueprint-binding/src/main/java/org/opendaylight/controller/blueprint/ext/UpdateStrategy.java diff --git a/opendaylight/blueprint/src/main/resources/opendaylight-blueprint-ext-1.0.0.xsd b/blueprint/mdsal-blueprint-binding/src/main/resources/opendaylight-blueprint-ext-1.0.0.xsd similarity index 100% rename from opendaylight/blueprint/src/main/resources/opendaylight-blueprint-ext-1.0.0.xsd rename to blueprint/mdsal-blueprint-binding/src/main/resources/opendaylight-blueprint-ext-1.0.0.xsd diff --git a/opendaylight/blueprint/src/test/java/org/opendaylight/controller/blueprint/tests/DataStoreAppConfigDefaultXMLReaderTest.java b/blueprint/mdsal-blueprint-binding/src/test/java/org/opendaylight/controller/blueprint/tests/DataStoreAppConfigDefaultXMLReaderTest.java similarity index 96% rename from opendaylight/blueprint/src/test/java/org/opendaylight/controller/blueprint/tests/DataStoreAppConfigDefaultXMLReaderTest.java rename to blueprint/mdsal-blueprint-binding/src/test/java/org/opendaylight/controller/blueprint/tests/DataStoreAppConfigDefaultXMLReaderTest.java index 46bd699668..a1cf3d729b 100644 --- a/opendaylight/blueprint/src/test/java/org/opendaylight/controller/blueprint/tests/DataStoreAppConfigDefaultXMLReaderTest.java +++ b/blueprint/mdsal-blueprint-binding/src/test/java/org/opendaylight/controller/blueprint/tests/DataStoreAppConfigDefaultXMLReaderTest.java @@ -11,7 +11,7 @@ import static com.google.common.truth.Truth.assertThat; import org.junit.Test; import org.opendaylight.controller.blueprint.ext.DataStoreAppConfigDefaultXMLReader; -import org.opendaylight.controller.md.sal.binding.test.AbstractConcurrentDataBrokerTest; +import org.opendaylight.mdsal.binding.dom.adapter.test.AbstractConcurrentDataBrokerTest; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.controller.md.sal.test.store.rev140422.Lists; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.controller.md.sal.test.store.rev140422.lists.unordered.container.UnorderedList; diff --git a/opendaylight/blueprint/src/test/resources/opendaylight-sal-test-store-config.xml b/blueprint/mdsal-blueprint-binding/src/test/resources/opendaylight-sal-test-store-config.xml similarity index 100% rename from opendaylight/blueprint/src/test/resources/opendaylight-sal-test-store-config.xml rename to blueprint/mdsal-blueprint-binding/src/test/resources/opendaylight-sal-test-store-config.xml diff --git a/opendaylight/blueprint/pom.xml b/opendaylight/blueprint/pom.xml deleted file mode 100644 index 73f3f38303..0000000000 --- a/opendaylight/blueprint/pom.xml +++ /dev/null @@ -1,155 +0,0 @@ - - - 4.0.0 - - - org.opendaylight.odlparent - bundle-parent - 3.1.3 - - - - org.opendaylight.controller - blueprint - bundle - ${project.artifactId} - 0.10.3-SNAPSHOT - - - - - org.opendaylight.mdsal - mdsal-artifacts - 2.6.3-SNAPSHOT - pom - import - - - org.opendaylight.controller - mdsal-artifacts - 1.9.3-SNAPSHOT - pom - import - - - org.opendaylight.yangtools - yangtools-artifacts - 2.0.10 - pom - import - - - - - - - com.google.guava - guava - - - org.apache.aries.blueprint - org.apache.aries.blueprint.core - provided - - - org.apache.aries - org.apache.aries.util - 1.1.3 - - - org.opendaylight.controller - sal-binding-api - - - org.opendaylight.controller - sal-core-api - - - org.opendaylight.controller - sal-core-spi - - - org.opendaylight.mdsal - mdsal-binding-api - - - org.opendaylight.mdsal - mdsal-binding-dom-codec - - - org.opendaylight.yangtools - yang-data-codec-xml - - - org.osgi - org.osgi.core - - - org.osgi - org.osgi.compendium - - - org.slf4j - slf4j-api - - - org.osgi - org.osgi.service.event - - - junit - junit - test - - - com.google.truth - truth - test - - - org.opendaylight.controller - sal-test-model - test - - - org.opendaylight.controller - sal-binding-broker-impl - test-jar - test - - - org.opendaylight.controller - sal-binding-broker-impl - test - - - - - - - org.apache.felix - maven-bundle-plugin - - - org.opendaylight.controller.blueprint.BlueprintBundleTracker - - - - - org.apache.maven.plugins - maven-checkstyle-plugin - - checkstyle.violationSeverity=error - - - - org.codehaus.mojo - findbugs-maven-plugin - - true - - - - - - -- 2.36.6