Move blueprint code into place 16/79316/5
authorRobert Varga <robert.varga@pantheon.tech>
Tue, 8 Jan 2019 15:35:55 +0000 (16:35 +0100)
committerTom Pantelis <tompantelis@gmail.com>
Wed, 9 Jan 2019 18:49:22 +0000 (18:49 +0000)
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 <robert.varga@pantheon.tech>
29 files changed:
blueprint/mdsal-blueprint-binding/pom.xml [new file with mode: 0644]
blueprint/mdsal-blueprint-binding/src/main/java/org/opendaylight/controller/blueprint/BlueprintBundleTracker.java [moved from opendaylight/blueprint/src/main/java/org/opendaylight/controller/blueprint/BlueprintBundleTracker.java with 98% similarity]
blueprint/mdsal-blueprint-binding/src/main/java/org/opendaylight/controller/blueprint/BlueprintContainerRestartService.java [moved from opendaylight/blueprint/src/main/java/org/opendaylight/controller/blueprint/BlueprintContainerRestartService.java with 100% similarity]
blueprint/mdsal-blueprint-binding/src/main/java/org/opendaylight/controller/blueprint/BlueprintContainerRestartServiceImpl.java [moved from opendaylight/blueprint/src/main/java/org/opendaylight/controller/blueprint/BlueprintContainerRestartServiceImpl.java with 100% similarity]
blueprint/mdsal-blueprint-binding/src/main/java/org/opendaylight/controller/blueprint/ext/AbstractDependentComponentFactoryMetadata.java [moved from opendaylight/blueprint/src/main/java/org/opendaylight/controller/blueprint/ext/AbstractDependentComponentFactoryMetadata.java with 100% similarity]
blueprint/mdsal-blueprint-binding/src/main/java/org/opendaylight/controller/blueprint/ext/AbstractInvokableServiceMetadata.java [moved from opendaylight/blueprint/src/main/java/org/opendaylight/controller/blueprint/ext/AbstractInvokableServiceMetadata.java with 100% similarity]
blueprint/mdsal-blueprint-binding/src/main/java/org/opendaylight/controller/blueprint/ext/ActionProviderBean.java [moved from opendaylight/blueprint/src/main/java/org/opendaylight/controller/blueprint/ext/ActionProviderBean.java with 100% similarity]
blueprint/mdsal-blueprint-binding/src/main/java/org/opendaylight/controller/blueprint/ext/ActionServiceMetadata.java [moved from opendaylight/blueprint/src/main/java/org/opendaylight/controller/blueprint/ext/ActionServiceMetadata.java with 100% similarity]
blueprint/mdsal-blueprint-binding/src/main/java/org/opendaylight/controller/blueprint/ext/BindingContext.java [moved from opendaylight/blueprint/src/main/java/org/opendaylight/controller/blueprint/ext/BindingContext.java with 100% similarity]
blueprint/mdsal-blueprint-binding/src/main/java/org/opendaylight/controller/blueprint/ext/ComponentProcessor.java [moved from opendaylight/blueprint/src/main/java/org/opendaylight/controller/blueprint/ext/ComponentProcessor.java with 100% similarity]
blueprint/mdsal-blueprint-binding/src/main/java/org/opendaylight/controller/blueprint/ext/ConfigXMLReaderException.java [moved from opendaylight/blueprint/src/main/java/org/opendaylight/controller/blueprint/ext/ConfigXMLReaderException.java with 100% similarity]
blueprint/mdsal-blueprint-binding/src/main/java/org/opendaylight/controller/blueprint/ext/DataStoreAppConfigDefaultXMLReader.java [moved from opendaylight/blueprint/src/main/java/org/opendaylight/controller/blueprint/ext/DataStoreAppConfigDefaultXMLReader.java with 99% similarity]
blueprint/mdsal-blueprint-binding/src/main/java/org/opendaylight/controller/blueprint/ext/DataStoreAppConfigMetadata.java [moved from opendaylight/blueprint/src/main/java/org/opendaylight/controller/blueprint/ext/DataStoreAppConfigMetadata.java with 83% similarity]
blueprint/mdsal-blueprint-binding/src/main/java/org/opendaylight/controller/blueprint/ext/MandatoryServiceReferenceMetadata.java [moved from opendaylight/blueprint/src/main/java/org/opendaylight/controller/blueprint/ext/MandatoryServiceReferenceMetadata.java with 100% similarity]
blueprint/mdsal-blueprint-binding/src/main/java/org/opendaylight/controller/blueprint/ext/NotificationListenerBean.java [moved from opendaylight/blueprint/src/main/java/org/opendaylight/controller/blueprint/ext/NotificationListenerBean.java with 100% similarity]
blueprint/mdsal-blueprint-binding/src/main/java/org/opendaylight/controller/blueprint/ext/OpendaylightNamespaceHandler.java [moved from opendaylight/blueprint/src/main/java/org/opendaylight/controller/blueprint/ext/OpendaylightNamespaceHandler.java with 99% similarity]
blueprint/mdsal-blueprint-binding/src/main/java/org/opendaylight/controller/blueprint/ext/RoutedRpcMetadata.java [moved from opendaylight/blueprint/src/main/java/org/opendaylight/controller/blueprint/ext/RoutedRpcMetadata.java with 90% similarity]
blueprint/mdsal-blueprint-binding/src/main/java/org/opendaylight/controller/blueprint/ext/RoutedRpcRegistrationConverter.java [moved from opendaylight/blueprint/src/main/java/org/opendaylight/controller/blueprint/ext/RoutedRpcRegistrationConverter.java with 100% similarity]
blueprint/mdsal-blueprint-binding/src/main/java/org/opendaylight/controller/blueprint/ext/RpcImplementationBean.java [moved from opendaylight/blueprint/src/main/java/org/opendaylight/controller/blueprint/ext/RpcImplementationBean.java with 100% similarity]
blueprint/mdsal-blueprint-binding/src/main/java/org/opendaylight/controller/blueprint/ext/RpcServiceMetadata.java [moved from opendaylight/blueprint/src/main/java/org/opendaylight/controller/blueprint/ext/RpcServiceMetadata.java with 100% similarity]
blueprint/mdsal-blueprint-binding/src/main/java/org/opendaylight/controller/blueprint/ext/RpcUtil.java [moved from opendaylight/blueprint/src/main/java/org/opendaylight/controller/blueprint/ext/RpcUtil.java with 100% similarity]
blueprint/mdsal-blueprint-binding/src/main/java/org/opendaylight/controller/blueprint/ext/SpecificReferenceListMetadata.java [moved from opendaylight/blueprint/src/main/java/org/opendaylight/controller/blueprint/ext/SpecificReferenceListMetadata.java with 100% similarity]
blueprint/mdsal-blueprint-binding/src/main/java/org/opendaylight/controller/blueprint/ext/StaticReferenceMetadata.java [moved from opendaylight/blueprint/src/main/java/org/opendaylight/controller/blueprint/ext/StaticReferenceMetadata.java with 100% similarity]
blueprint/mdsal-blueprint-binding/src/main/java/org/opendaylight/controller/blueprint/ext/StaticServiceReferenceRecipe.java [moved from opendaylight/blueprint/src/main/java/org/opendaylight/controller/blueprint/ext/StaticServiceReferenceRecipe.java with 98% similarity]
blueprint/mdsal-blueprint-binding/src/main/java/org/opendaylight/controller/blueprint/ext/UpdateStrategy.java [moved from opendaylight/blueprint/src/main/java/org/opendaylight/controller/blueprint/ext/UpdateStrategy.java with 100% similarity]
blueprint/mdsal-blueprint-binding/src/main/resources/opendaylight-blueprint-ext-1.0.0.xsd [moved from opendaylight/blueprint/src/main/resources/opendaylight-blueprint-ext-1.0.0.xsd with 100% similarity]
blueprint/mdsal-blueprint-binding/src/test/java/org/opendaylight/controller/blueprint/tests/DataStoreAppConfigDefaultXMLReaderTest.java [moved from opendaylight/blueprint/src/test/java/org/opendaylight/controller/blueprint/tests/DataStoreAppConfigDefaultXMLReaderTest.java with 96% similarity]
blueprint/mdsal-blueprint-binding/src/test/resources/opendaylight-sal-test-store-config.xml [moved from opendaylight/blueprint/src/test/resources/opendaylight-sal-test-store-config.xml with 100% similarity]
opendaylight/blueprint/pom.xml [deleted file]

diff --git a/blueprint/mdsal-blueprint-binding/pom.xml b/blueprint/mdsal-blueprint-binding/pom.xml
new file mode 100644 (file)
index 0000000..69debd1
--- /dev/null
@@ -0,0 +1,123 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- vi: set et smarttab sw=4 tabstop=4: -->
+<!--
+ Copyright © 2019 Pantheon Technologies, s.r.o. and others. All rights reserved.
+
+ This program and the accompanying materials are made available under the
+ terms of the Eclipse Public License v1.0 which accompanies this distribution,
+ and is available at http://www.eclipse.org/legal/epl-v10.html
+-->
+<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.opendaylight.mdsal</groupId>
+        <artifactId>dom-parent</artifactId>
+        <version>3.0.4-SNAPSHOT</version>
+        <relativePath>../../dom/dom-parent</relativePath>
+    </parent>
+
+    <artifactId>mdsal-blueprint-binding</artifactId>
+    <packaging>bundle</packaging>
+    <name>${project.artifactId}</name>
+    <version>1.0.4-SNAPSHOT</version>
+
+    <dependencies>
+        <dependency>
+            <groupId>com.google.guava</groupId>
+            <artifactId>guava</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.aries.blueprint</groupId>
+            <artifactId>org.apache.aries.blueprint.core</artifactId>
+            <scope>provided</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.aries</groupId>
+            <artifactId>org.apache.aries.util</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.opendaylight.mdsal</groupId>
+            <artifactId>mdsal-dom-api</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.opendaylight.mdsal</groupId>
+            <artifactId>mdsal-dom-spi</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.opendaylight.mdsal</groupId>
+            <artifactId>mdsal-binding-api</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.opendaylight.mdsal</groupId>
+            <artifactId>mdsal-binding-dom-codec</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.opendaylight.yangtools</groupId>
+            <artifactId>yang-data-codec-xml</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.osgi</groupId>
+            <artifactId>org.osgi.core</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.osgi</groupId>
+            <artifactId>org.osgi.compendium</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.slf4j</groupId>
+            <artifactId>slf4j-api</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.osgi</groupId>
+            <artifactId>org.osgi.service.event</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>com.google.truth</groupId>
+            <artifactId>truth</artifactId>
+        </dependency>
+        <!--dependency>
+            <groupId>org.opendaylight.controller</groupId>
+            <artifactId>sal-test-model</artifactId>
+            <scope>test</scope>
+        </dependency-->
+        <dependency>
+            <groupId>org.opendaylight.mdsal</groupId>
+            <artifactId>mdsal-binding-dom-adapter</artifactId>
+            <type>test-jar</type>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.opendaylight.mdsal</groupId>
+            <artifactId>mdsal-binding-dom-adapter</artifactId>
+            <scope>test</scope>
+        </dependency>
+    </dependencies>
+
+    <build>
+        <plugins>
+            <plugin>
+                <groupId>org.apache.felix</groupId>
+                <artifactId>maven-bundle-plugin</artifactId>
+                <configuration>
+                    <instructions>
+                        <Bundle-Activator>org.opendaylight.controller.blueprint.BlueprintBundleTracker</Bundle-Activator>
+                    </instructions>
+                </configuration>
+            </plugin>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-checkstyle-plugin</artifactId>
+                <configuration>
+                    <propertyExpansion>checkstyle.violationSeverity=error</propertyExpansion>
+                </configuration>
+            </plugin>
+            <plugin>
+                <groupId>com.github.spotbugs</groupId>
+                <artifactId>spotbugs-maven-plugin</artifactId>
+                <configuration>
+                    <failOnError>true</failOnError>
+                </configuration>
+            </plugin>
+        </plugins>
+    </build>
+</project>
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 d3db3277425bcd0d5c22dca72352e9a055baa904..8c45359103d1703966eda46ec8a3d50793c87352 100644 (file)
@@ -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<String, Object> 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<>());
     }
 
     /**
@@ -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;
@@ -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<DataObject> dataTreeId = new DataTreeIdentifier<>(LogicalDatastoreType.CONFIGURATION,
+        DataTreeIdentifier<DataObject> dataTreeId = DataTreeIdentifier.create(LogicalDatastoreType.CONFIGURATION,
                 bindingContext.appConfigPath);
         appConfigChangeListenerReg = dataBroker.registerDataTreeChangeListener(dataTreeId,
                 (ClusteredDataTreeChangeListener<DataObject>) this::onAppConfigChanged);
@@ -159,32 +157,28 @@ public class DataStoreAppConfigMetadata extends AbstractDependentComponentFactor
     }
 
     private void readInitialAppConfig(final DataBroker dataBroker) {
-        final ReadOnlyTransaction readOnlyTx = dataBroker.newReadOnlyTransaction();
-        ListenableFuture<Optional<DataObject>> future = readOnlyTx.read(
-                LogicalDatastoreType.CONFIGURATION, bindingContext.appConfigPath);
-        Futures.addCallback(future, new FutureCallback<Optional<DataObject>>() {
-            @Override
-            public void onSuccess(final Optional<DataObject> 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<Optional<DataObject>>() {
+                    @Override
+                    public void onSuccess(final Optional<DataObject> 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<DataTreeModification<DataObject>> 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
@@ -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),
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 725e568785efd2bf2367335d7d9cc82210dc2417..d9f464cff5a0b4c5d536b6f5830f2323bed0a4d1 100644 (file)
@@ -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<String> 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);
 
@@ -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/pom.xml b/opendaylight/blueprint/pom.xml
deleted file mode 100644 (file)
index 73f3f38..0000000
+++ /dev/null
@@ -1,155 +0,0 @@
-<?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.opendaylight.odlparent</groupId>
-    <artifactId>bundle-parent</artifactId>
-    <version>3.1.3</version>
-    <relativePath/>
-  </parent>
-
-  <groupId>org.opendaylight.controller</groupId>
-  <artifactId>blueprint</artifactId>
-  <packaging>bundle</packaging>
-  <name>${project.artifactId}</name>
-  <version>0.10.3-SNAPSHOT</version>
-
-  <dependencyManagement>
-    <dependencies>
-      <dependency>
-        <groupId>org.opendaylight.mdsal</groupId>
-        <artifactId>mdsal-artifacts</artifactId>
-        <version>2.6.3-SNAPSHOT</version>
-        <type>pom</type>
-        <scope>import</scope>
-      </dependency>
-      <dependency>
-        <groupId>org.opendaylight.controller</groupId>
-        <artifactId>mdsal-artifacts</artifactId>
-        <version>1.9.3-SNAPSHOT</version>
-        <type>pom</type>
-        <scope>import</scope>
-      </dependency>
-      <dependency>
-        <groupId>org.opendaylight.yangtools</groupId>
-        <artifactId>yangtools-artifacts</artifactId>
-        <version>2.0.10</version>
-        <type>pom</type>
-        <scope>import</scope>
-      </dependency>
-    </dependencies>
-  </dependencyManagement>
-
-  <dependencies>
-    <dependency>
-      <groupId>com.google.guava</groupId>
-      <artifactId>guava</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.aries.blueprint</groupId>
-      <artifactId>org.apache.aries.blueprint.core</artifactId>
-      <scope>provided</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.aries</groupId>
-      <artifactId>org.apache.aries.util</artifactId>
-      <version>1.1.3</version>
-    </dependency>
-    <dependency>
-      <groupId>org.opendaylight.controller</groupId>
-      <artifactId>sal-binding-api</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>org.opendaylight.controller</groupId>
-      <artifactId>sal-core-api</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>org.opendaylight.controller</groupId>
-      <artifactId>sal-core-spi</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>org.opendaylight.mdsal</groupId>
-      <artifactId>mdsal-binding-api</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>org.opendaylight.mdsal</groupId>
-      <artifactId>mdsal-binding-dom-codec</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>org.opendaylight.yangtools</groupId>
-      <artifactId>yang-data-codec-xml</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>org.osgi</groupId>
-      <artifactId>org.osgi.core</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>org.osgi</groupId>
-      <artifactId>org.osgi.compendium</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>org.slf4j</groupId>
-      <artifactId>slf4j-api</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>org.osgi</groupId>
-      <artifactId>org.osgi.service.event</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>junit</groupId>
-      <artifactId>junit</artifactId>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
-      <groupId>com.google.truth</groupId>
-      <artifactId>truth</artifactId>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.opendaylight.controller</groupId>
-      <artifactId>sal-test-model</artifactId>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.opendaylight.controller</groupId>
-      <artifactId>sal-binding-broker-impl</artifactId>
-      <type>test-jar</type>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.opendaylight.controller</groupId>
-      <artifactId>sal-binding-broker-impl</artifactId>
-      <scope>test</scope>
-    </dependency>
-  </dependencies>
-
-  <build>
-    <plugins>
-      <plugin>
-        <groupId>org.apache.felix</groupId>
-        <artifactId>maven-bundle-plugin</artifactId>
-        <configuration>
-          <instructions>
-            <Bundle-Activator>org.opendaylight.controller.blueprint.BlueprintBundleTracker</Bundle-Activator>
-          </instructions>
-        </configuration>
-      </plugin>
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-checkstyle-plugin</artifactId>
-        <configuration>
-          <propertyExpansion>checkstyle.violationSeverity=error</propertyExpansion>
-        </configuration>
-      </plugin>
-      <plugin>
-        <groupId>org.codehaus.mojo</groupId>
-        <artifactId>findbugs-maven-plugin</artifactId>
-        <configuration>
-          <failOnError>true</failOnError>
-        </configuration>
-      </plugin>
-    </plugins>
-  </build>
-
-</project>