HONEYCOMB-360 - Separate ProviderTrait to dedicated project 87/7387/2
authorJan Srnicek <jsrnicek@cisco.com>
Mon, 3 Jul 2017 11:01:36 +0000 (13:01 +0200)
committerJan Srnicek <jsrnicek@cisco.com>
Mon, 3 Jul 2017 11:01:36 +0000 (13:01 +0200)
This change is necessary to break dep cycle, that would by introduced
by splitting netconf and data-core modules. Also allows to reduce
use in hc2vpp(some project incude whole minimal-distribution-core
just because of this one interface)

Change-Id: I7744b4dc78f6d6797263b10bbc4ead545a2f6593
Signed-off-by: Jan Srnicek <jsrnicek@cisco.com>
59 files changed:
infra/binding-init/asciidoc/Readme.adoc [new file with mode: 0644]
infra/binding-init/pom.xml [new file with mode: 0644]
infra/binding-init/src/main/java/io/fd/honeycomb/binding/init/ProviderTrait.java [moved from infra/minimal-distribution-core/src/main/java/io/fd/honeycomb/infra/distro/ProviderTrait.java with 92% similarity]
infra/it/management/src/main/java/io/fd/honeycomb/management/jmx/ConnectorServerProvider.java
infra/it/management/src/main/java/io/fd/honeycomb/management/jmx/JMXServiceUrlProvider.java
infra/minimal-distribution-core/pom.xml
infra/minimal-distribution-core/src/main/java/io/fd/honeycomb/infra/distro/data/BindingDataBrokerProvider.java
infra/minimal-distribution-core/src/main/java/io/fd/honeycomb/infra/distro/data/DOMNotificationServiceProvider.java
infra/minimal-distribution-core/src/main/java/io/fd/honeycomb/infra/distro/data/DataStoreProvider.java
infra/minimal-distribution-core/src/main/java/io/fd/honeycomb/infra/distro/data/DataTreeProvider.java
infra/minimal-distribution-core/src/main/java/io/fd/honeycomb/infra/distro/data/HoneycombDOMBrokerProvider.java
infra/minimal-distribution-core/src/main/java/io/fd/honeycomb/infra/distro/data/HoneycombDOMDataBrokerProvider.java
infra/minimal-distribution-core/src/main/java/io/fd/honeycomb/infra/distro/data/HoneycombDOMRpcServiceProvider.java
infra/minimal-distribution-core/src/main/java/io/fd/honeycomb/infra/distro/data/HoneycombNotificationManagerProvider.java
infra/minimal-distribution-core/src/main/java/io/fd/honeycomb/infra/distro/data/InmemoryDOMDataBrokerProvider.java
infra/minimal-distribution-core/src/main/java/io/fd/honeycomb/infra/distro/data/ModifiableDTDelegProvider.java
infra/minimal-distribution-core/src/main/java/io/fd/honeycomb/infra/distro/data/PersistingDataTreeProvider.java
infra/minimal-distribution-core/src/main/java/io/fd/honeycomb/infra/distro/data/RpcRegistryBuilderProvider.java
infra/minimal-distribution-core/src/main/java/io/fd/honeycomb/infra/distro/data/RpcRegistryProvider.java
infra/minimal-distribution-core/src/main/java/io/fd/honeycomb/infra/distro/data/config/WriterRegistryProvider.java
infra/minimal-distribution-core/src/main/java/io/fd/honeycomb/infra/distro/data/context/HoneycombContextDOMDataBrokerProvider.java
infra/minimal-distribution-core/src/main/java/io/fd/honeycomb/infra/distro/data/context/ModifiableDTMgrProvider.java
infra/minimal-distribution-core/src/main/java/io/fd/honeycomb/infra/distro/data/context/RealtimeMappingContextProvider.java
infra/minimal-distribution-core/src/main/java/io/fd/honeycomb/infra/distro/data/oper/ReadableDTDelegProvider.java
infra/minimal-distribution-core/src/main/java/io/fd/honeycomb/infra/distro/data/oper/ReaderRegistryProvider.java
infra/minimal-distribution-core/src/main/java/io/fd/honeycomb/infra/distro/initializer/InitializerRegistryAdapterProvider.java
infra/minimal-distribution-core/src/main/java/io/fd/honeycomb/infra/distro/initializer/ModifiableDTDelegInitProvider.java
infra/minimal-distribution-core/src/main/java/io/fd/honeycomb/infra/distro/initializer/PersistedFileInitializerProvider.java
infra/minimal-distribution-core/src/main/java/io/fd/honeycomb/infra/distro/netconf/HoneycombNotification2NetconfProvider.java
infra/minimal-distribution-core/src/main/java/io/fd/honeycomb/infra/distro/netconf/NetconfBindingBrokerProvider.java
infra/minimal-distribution-core/src/main/java/io/fd/honeycomb/infra/distro/netconf/NetconfMdsalMapperProvider.java
infra/minimal-distribution-core/src/main/java/io/fd/honeycomb/infra/distro/netconf/NetconfMonitoringMapperProvider.java
infra/minimal-distribution-core/src/main/java/io/fd/honeycomb/infra/distro/netconf/NetconfMonitoringReaderFactoryProvider.java
infra/minimal-distribution-core/src/main/java/io/fd/honeycomb/infra/distro/netconf/NetconfMonitoringServiceProvider.java
infra/minimal-distribution-core/src/main/java/io/fd/honeycomb/infra/distro/netconf/NetconfNotificationMapperProvider.java
infra/minimal-distribution-core/src/main/java/io/fd/honeycomb/infra/distro/netconf/NetconfNotificationsReaderFactoryProvider.java
infra/minimal-distribution-core/src/main/java/io/fd/honeycomb/infra/distro/netconf/NetconfServerDispatcherProvider.java
infra/minimal-distribution-core/src/main/java/io/fd/honeycomb/infra/distro/netconf/NetconfSshServerProvider.java
infra/minimal-distribution-core/src/main/java/io/fd/honeycomb/infra/distro/netconf/NetconfTcpServerProvider.java
infra/minimal-distribution-core/src/main/java/io/fd/honeycomb/infra/distro/netconf/NettyThreadGroupProvider.java
infra/minimal-distribution-core/src/main/java/io/fd/honeycomb/infra/distro/restconf/HttpConnectorProvider.java
infra/minimal-distribution-core/src/main/java/io/fd/honeycomb/infra/distro/restconf/HttpsConnectorProvider.java
infra/minimal-distribution-core/src/main/java/io/fd/honeycomb/infra/distro/restconf/JettyServerProvider.java
infra/minimal-distribution-core/src/main/java/io/fd/honeycomb/infra/distro/restconf/RestconfProvider.java
infra/minimal-distribution-core/src/main/java/io/fd/honeycomb/infra/distro/schema/ModuleInfoBackedCtxProvider.java
infra/minimal-distribution-core/src/main/java/io/fd/honeycomb/infra/distro/schema/SchemaServiceProvider.java
infra/minimal-distribution-core/src/main/java/io/fd/honeycomb/infra/distro/schema/SerializerProvider.java
infra/northbound/bgp/pom.xml
infra/northbound/bgp/src/main/java/io/fd/honeycomb/infra/bgp/BGPDispatcherImplProvider.java
infra/northbound/bgp/src/main/java/io/fd/honeycomb/infra/bgp/BGPExtensionConsumerContextProvider.java
infra/northbound/bgp/src/main/java/io/fd/honeycomb/infra/bgp/BgpNeighboursProvider.java
infra/northbound/bgp/src/main/java/io/fd/honeycomb/infra/bgp/BgpNettyThreadGroupProvider.java
infra/northbound/bgp/src/main/java/io/fd/honeycomb/infra/bgp/BgpRIBProvider.java
infra/northbound/bgp/src/main/java/io/fd/honeycomb/infra/bgp/BgpReaderFactoryProvider.java
infra/northbound/bgp/src/main/java/io/fd/honeycomb/infra/bgp/BgpServerProvider.java
infra/northbound/bgp/src/main/java/io/fd/honeycomb/infra/bgp/BgpWriterFactoryProvider.java
infra/northbound/bgp/src/main/java/io/fd/honeycomb/infra/bgp/LocRibWriterProvider.java
infra/northbound/bgp/src/main/java/io/fd/honeycomb/infra/bgp/RIBExtensionConsumerContextProvider.java
infra/pom.xml

diff --git a/infra/binding-init/asciidoc/Readme.adoc b/infra/binding-init/asciidoc/Readme.adoc
new file mode 100644 (file)
index 0000000..c1c6383
--- /dev/null
@@ -0,0 +1,3 @@
+= binding-init
+
+Overview of binding-init
\ No newline at end of file
diff --git a/infra/binding-init/pom.xml b/infra/binding-init/pom.xml
new file mode 100644 (file)
index 0000000..2050217
--- /dev/null
@@ -0,0 +1,48 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  ~ Copyright (c) 2017 Cisco and/or its affiliates.
+  ~
+  ~ 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.
+  -->
+
+<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">
+    <parent>
+        <artifactId>impl-parent</artifactId>
+        <groupId>io.fd.honeycomb.common</groupId>
+        <version>1.17.07-SNAPSHOT</version>
+        <relativePath>../../common/impl-parent</relativePath>
+    </parent>
+    <modelVersion>4.0.0</modelVersion>
+
+    <groupId>io.fd.honeycomb</groupId>
+    <artifactId>binding-init</artifactId>
+    <version>1.17.07-SNAPSHOT</version>
+
+    <properties>
+        <slf4j-api.version>1.7.25</slf4j-api.version>
+    </properties>
+
+    <dependencies>
+        <dependency>
+            <groupId>com.google.inject</groupId>
+            <artifactId>guice</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.slf4j</groupId>
+            <artifactId>slf4j-api</artifactId>
+            <version>${slf4j-api.version}</version>
+        </dependency>
+    </dependencies>
+</project>
\ No newline at end of file
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2016 Cisco and/or its affiliates.
+ * Copyright (c) 2017 Cisco and/or its affiliates.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package io.fd.honeycomb.infra.distro;
+package io.fd.honeycomb.binding.init;
 
 import com.google.inject.Provider;
 import org.slf4j.Logger;
index 625c63c..9d7b356 100644 (file)
 package io.fd.honeycomb.management.jmx;
 
 import com.google.inject.Inject;
-import io.fd.honeycomb.infra.distro.ProviderTrait;
+import io.fd.honeycomb.binding.init.ProviderTrait;
+import javax.management.remote.JMXServiceURL;
 import org.eclipse.jetty.jmx.ConnectorServer;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-import javax.management.remote.JMXServiceURL;
-
 /**
  * Provides and start JMX connector server
  * */
index 1b91365..32ad578 100644 (file)
 package io.fd.honeycomb.management.jmx;
 
 import com.google.inject.Inject;
-import io.fd.honeycomb.infra.distro.ProviderTrait;
-
-import javax.management.remote.JMXServiceURL;
+import io.fd.honeycomb.binding.init.ProviderTrait;
 import java.net.MalformedURLException;
+import javax.management.remote.JMXServiceURL;
 
 /**
  * Provides properly binded {@link JMXServiceURL}
index 1763cce..53fea8c 100644 (file)
             <groupId>com.google.inject.extensions</groupId>
             <artifactId>guice-multibindings</artifactId>
         </dependency>
+        <dependency>
+            <groupId>io.fd.honeycomb</groupId>
+            <artifactId>binding-init</artifactId>
+            <version>${project.version}</version>
+        </dependency>
         <!-- ODL -->
         <dependency>
             <groupId>org.opendaylight.yangtools</groupId>
index e173551..2f71a30 100644 (file)
@@ -17,7 +17,7 @@
 package io.fd.honeycomb.infra.distro.data;
 
 import com.google.inject.Inject;
-import io.fd.honeycomb.infra.distro.ProviderTrait;
+import io.fd.honeycomb.binding.init.ProviderTrait;
 import org.opendaylight.controller.md.sal.binding.api.DataBroker;
 import org.opendaylight.controller.md.sal.binding.impl.BindingDOMDataBrokerAdapter;
 import org.opendaylight.controller.md.sal.binding.impl.BindingToNormalizedNodeCodec;
index 424393b..4c419a8 100644 (file)
@@ -17,7 +17,7 @@
 package io.fd.honeycomb.infra.distro.data;
 
 import com.google.inject.Inject;
-import io.fd.honeycomb.infra.distro.ProviderTrait;
+import io.fd.honeycomb.binding.init.ProviderTrait;
 import io.fd.honeycomb.infra.distro.cfgattrs.HoneycombConfiguration;
 import org.opendaylight.controller.md.sal.dom.broker.impl.DOMNotificationRouter;
 
index 5b09f21..82b1ed3 100644 (file)
@@ -17,7 +17,7 @@
 package io.fd.honeycomb.infra.distro.data;
 
 import com.google.inject.Inject;
-import io.fd.honeycomb.infra.distro.ProviderTrait;
+import io.fd.honeycomb.binding.init.ProviderTrait;
 import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType;
 import org.opendaylight.controller.md.sal.dom.store.impl.InMemoryDOMDataStore;
 import org.opendaylight.controller.md.sal.dom.store.impl.InMemoryDOMDataStoreFactory;
index c5fcc05..225102e 100644 (file)
@@ -17,7 +17,7 @@
 package io.fd.honeycomb.infra.distro.data;
 
 import com.google.inject.Inject;
-import io.fd.honeycomb.infra.distro.ProviderTrait;
+import io.fd.honeycomb.binding.init.ProviderTrait;
 import io.fd.honeycomb.infra.distro.cfgattrs.HoneycombConfiguration;
 import org.opendaylight.controller.sal.core.api.model.SchemaService;
 import org.opendaylight.yangtools.yang.data.api.schema.tree.DataTree;
index dd34c6c..3c66536 100644 (file)
@@ -17,8 +17,8 @@
 package io.fd.honeycomb.infra.distro.data;
 
 import com.google.inject.Inject;
+import io.fd.honeycomb.binding.init.ProviderTrait;
 import io.fd.honeycomb.impl.NorthboundFacadeHoneycombDOMBroker;
-import io.fd.honeycomb.infra.distro.ProviderTrait;
 import org.opendaylight.controller.md.sal.dom.api.DOMDataBroker;
 import org.opendaylight.controller.md.sal.dom.api.DOMRpcService;
 import org.opendaylight.controller.md.sal.dom.broker.impl.DOMNotificationRouter;
index 92bbc51..c23530d 100644 (file)
 package io.fd.honeycomb.infra.distro.data;
 
 import com.google.inject.Inject;
+import io.fd.honeycomb.binding.init.ProviderTrait;
 import io.fd.honeycomb.data.ModifiableDataManager;
 import io.fd.honeycomb.data.ReadableDataManager;
 import io.fd.honeycomb.data.impl.DataBroker;
-import io.fd.honeycomb.infra.distro.ProviderTrait;
 import org.opendaylight.controller.md.sal.dom.api.DOMDataBroker;
 
 public final class HoneycombDOMDataBrokerProvider extends ProviderTrait<DOMDataBroker> {
index 0459b2f..324d636 100644 (file)
@@ -17,7 +17,7 @@
 package io.fd.honeycomb.infra.distro.data;
 
 import com.google.inject.Inject;
-import io.fd.honeycomb.infra.distro.ProviderTrait;
+import io.fd.honeycomb.binding.init.ProviderTrait;
 import io.fd.honeycomb.rpc.HoneycombDOMRpcService;
 import io.fd.honeycomb.rpc.RpcRegistry;
 import org.opendaylight.controller.md.sal.binding.impl.BindingToNormalizedNodeCodec;
index f2e81a9..b318038 100644 (file)
@@ -18,7 +18,7 @@ package io.fd.honeycomb.infra.distro.data;
 
 import com.google.common.collect.Lists;
 import com.google.inject.Inject;
-import io.fd.honeycomb.infra.distro.ProviderTrait;
+import io.fd.honeycomb.binding.init.ProviderTrait;
 import io.fd.honeycomb.notification.ManagedNotificationProducer;
 import io.fd.honeycomb.notification.NotificationCollector;
 import io.fd.honeycomb.notification.impl.HoneycombNotificationCollector;
index f5f04d2..550b9be 100644 (file)
@@ -18,7 +18,7 @@ package io.fd.honeycomb.infra.distro.data;
 
 import com.google.inject.Inject;
 import com.google.inject.name.Named;
-import io.fd.honeycomb.infra.distro.ProviderTrait;
+import io.fd.honeycomb.binding.init.ProviderTrait;
 import java.util.LinkedHashMap;
 import java.util.Map;
 import java.util.concurrent.ExecutorService;
index b49381a..419130c 100644 (file)
@@ -18,9 +18,9 @@ package io.fd.honeycomb.infra.distro.data;
 
 import com.google.inject.Inject;
 import com.google.inject.name.Named;
+import io.fd.honeycomb.binding.init.ProviderTrait;
 import io.fd.honeycomb.data.ModifiableDataManager;
 import io.fd.honeycomb.data.impl.ModifiableDataTreeDelegator;
-import io.fd.honeycomb.infra.distro.ProviderTrait;
 import io.fd.honeycomb.infra.distro.data.context.ContextPipelineModule;
 import io.fd.honeycomb.translate.write.registry.WriterRegistry;
 import org.opendaylight.controller.md.sal.binding.api.DataBroker;
index e7a654c..4e940d6 100644 (file)
@@ -18,8 +18,8 @@ package io.fd.honeycomb.infra.distro.data;
 
 import com.google.inject.Inject;
 import com.google.inject.name.Named;
+import io.fd.honeycomb.binding.init.ProviderTrait;
 import io.fd.honeycomb.data.impl.PersistingDataTreeAdapter;
-import io.fd.honeycomb.infra.distro.ProviderTrait;
 import io.fd.honeycomb.infra.distro.cfgattrs.HoneycombConfiguration;
 import io.fd.honeycomb.infra.distro.data.context.ContextPipelineModule;
 import java.nio.file.Paths;
index 92d9ce9..3184363 100644 (file)
@@ -17,7 +17,7 @@
 package io.fd.honeycomb.infra.distro.data;
 
 import com.google.inject.Inject;
-import io.fd.honeycomb.infra.distro.ProviderTrait;
+import io.fd.honeycomb.binding.init.ProviderTrait;
 import io.fd.honeycomb.rpc.RpcRegistryBuilder;
 import io.fd.honeycomb.rpc.RpcService;
 import java.util.HashSet;
index 4e09a9d..fd6499b 100644 (file)
@@ -17,7 +17,7 @@
 package io.fd.honeycomb.infra.distro.data;
 
 import com.google.inject.Inject;
-import io.fd.honeycomb.infra.distro.ProviderTrait;
+import io.fd.honeycomb.binding.init.ProviderTrait;
 import io.fd.honeycomb.rpc.RpcRegistry;
 import io.fd.honeycomb.rpc.RpcRegistryBuilder;
 
index 6546ba2..fa37d10 100644 (file)
@@ -17,7 +17,7 @@
 package io.fd.honeycomb.infra.distro.data.config;
 
 import com.google.inject.Inject;
-import io.fd.honeycomb.infra.distro.ProviderTrait;
+import io.fd.honeycomb.binding.init.ProviderTrait;
 import io.fd.honeycomb.translate.impl.write.registry.FlatWriterRegistryBuilder;
 import io.fd.honeycomb.translate.util.YangDAG;
 import io.fd.honeycomb.translate.write.WriterFactory;
index 8e17820..1ceed92 100644 (file)
@@ -17,9 +17,9 @@
 package io.fd.honeycomb.infra.distro.data.context;
 
 import com.google.inject.Inject;
+import io.fd.honeycomb.binding.init.ProviderTrait;
 import io.fd.honeycomb.data.ModifiableDataManager;
 import io.fd.honeycomb.data.impl.DataBroker;
-import io.fd.honeycomb.infra.distro.ProviderTrait;
 import org.opendaylight.controller.md.sal.dom.api.DOMDataBroker;
 
 public final class HoneycombContextDOMDataBrokerProvider extends ProviderTrait<DOMDataBroker> {
index 9da97a8..c703e95 100644 (file)
@@ -17,9 +17,9 @@
 package io.fd.honeycomb.infra.distro.data.context;
 
 import com.google.inject.Inject;
+import io.fd.honeycomb.binding.init.ProviderTrait;
 import io.fd.honeycomb.data.ModifiableDataManager;
 import io.fd.honeycomb.data.impl.ModifiableDataTreeManager;
-import io.fd.honeycomb.infra.distro.ProviderTrait;
 import org.opendaylight.yangtools.yang.data.api.schema.tree.DataTree;
 
 public final class ModifiableDTMgrProvider extends ProviderTrait<ModifiableDataManager> {
index cc1a8b1..3f39ce1 100644 (file)
@@ -18,7 +18,7 @@ package io.fd.honeycomb.infra.distro.data.context;
 
 import com.google.inject.Inject;
 import com.google.inject.name.Named;
-import io.fd.honeycomb.infra.distro.ProviderTrait;
+import io.fd.honeycomb.binding.init.ProviderTrait;
 import io.fd.honeycomb.translate.MappingContext;
 import io.fd.honeycomb.translate.util.RealtimeMappingContext;
 import org.opendaylight.controller.md.sal.binding.api.DataBroker;
index caac736..cdd3596 100644 (file)
@@ -18,9 +18,9 @@ package io.fd.honeycomb.infra.distro.data.oper;
 
 import com.google.inject.Inject;
 import com.google.inject.name.Named;
+import io.fd.honeycomb.binding.init.ProviderTrait;
 import io.fd.honeycomb.data.ReadableDataManager;
 import io.fd.honeycomb.data.impl.ReadableDataTreeDelegator;
-import io.fd.honeycomb.infra.distro.ProviderTrait;
 import io.fd.honeycomb.infra.distro.data.context.ContextPipelineModule;
 import io.fd.honeycomb.translate.read.registry.ReaderRegistry;
 import org.opendaylight.controller.md.sal.binding.api.DataBroker;
index 8f6bb0e..8e0b776 100644 (file)
@@ -17,7 +17,7 @@
 package io.fd.honeycomb.infra.distro.data.oper;
 
 import com.google.inject.Inject;
-import io.fd.honeycomb.infra.distro.ProviderTrait;
+import io.fd.honeycomb.binding.init.ProviderTrait;
 import io.fd.honeycomb.translate.impl.read.registry.CompositeReaderRegistryBuilder;
 import io.fd.honeycomb.translate.read.ReaderFactory;
 import io.fd.honeycomb.translate.read.registry.ReaderRegistry;
index 4f5185c..5bf5991 100644 (file)
@@ -22,9 +22,9 @@ import static io.fd.honeycomb.infra.distro.initializer.InitializerPipelineModule
 
 import com.google.inject.Inject;
 import com.google.inject.name.Named;
+import io.fd.honeycomb.binding.init.ProviderTrait;
 import io.fd.honeycomb.data.init.DataTreeInitializer;
 import io.fd.honeycomb.data.init.InitializerRegistry;
-import io.fd.honeycomb.infra.distro.ProviderTrait;
 import io.fd.honeycomb.translate.MappingContext;
 import io.fd.honeycomb.translate.read.registry.ReaderRegistry;
 import org.opendaylight.controller.md.sal.binding.api.DataBroker;
index 3579ff1..2ac315f 100644 (file)
@@ -18,9 +18,9 @@ package io.fd.honeycomb.infra.distro.initializer;
 
 import com.google.inject.Inject;
 import com.google.inject.name.Named;
+import io.fd.honeycomb.binding.init.ProviderTrait;
 import io.fd.honeycomb.data.ModifiableDataManager;
 import io.fd.honeycomb.data.impl.ModifiableDataTreeDelegator;
-import io.fd.honeycomb.infra.distro.ProviderTrait;
 import io.fd.honeycomb.infra.distro.data.ConfigAndOperationalPipelineModule;
 import io.fd.honeycomb.infra.distro.data.context.ContextPipelineModule;
 import io.fd.honeycomb.translate.util.write.NoopWriterRegistry;
index 58d63cf..b2c3cbb 100644 (file)
@@ -17,8 +17,8 @@
 package io.fd.honeycomb.infra.distro.initializer;
 
 import com.google.inject.Inject;
+import io.fd.honeycomb.binding.init.ProviderTrait;
 import io.fd.honeycomb.data.init.RestoringInitializer;
-import io.fd.honeycomb.infra.distro.ProviderTrait;
 import io.fd.honeycomb.infra.distro.cfgattrs.HoneycombConfiguration;
 import java.nio.file.Paths;
 import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType;
index f60366c..49872ea 100644 (file)
@@ -17,7 +17,7 @@
 package io.fd.honeycomb.infra.distro.netconf;
 
 import com.google.inject.Inject;
-import io.fd.honeycomb.infra.distro.ProviderTrait;
+import io.fd.honeycomb.binding.init.ProviderTrait;
 import io.fd.honeycomb.infra.distro.cfgattrs.HoneycombConfiguration;
 import io.fd.honeycomb.notification.NotificationCollector;
 import io.fd.honeycomb.notification.impl.NotificationProducerRegistry;
index 3d06b8d..0ca25f6 100644 (file)
@@ -18,8 +18,8 @@ package io.fd.honeycomb.infra.distro.netconf;
 
 import com.google.inject.Inject;
 import com.google.inject.name.Named;
+import io.fd.honeycomb.binding.init.ProviderTrait;
 import io.fd.honeycomb.impl.FakeBindingAwareBroker;
-import io.fd.honeycomb.infra.distro.ProviderTrait;
 import org.opendaylight.controller.md.sal.binding.api.DataBroker;
 import org.opendaylight.controller.sal.binding.api.BindingAwareBroker;
 
index 9ede54f..0cb68ba 100644 (file)
@@ -17,7 +17,7 @@
 package io.fd.honeycomb.infra.distro.netconf;
 
 import com.google.inject.Inject;
-import io.fd.honeycomb.infra.distro.ProviderTrait;
+import io.fd.honeycomb.binding.init.ProviderTrait;
 import org.opendaylight.controller.sal.core.api.Broker;
 import org.opendaylight.controller.sal.core.api.model.SchemaService;
 import org.opendaylight.netconf.mapping.api.NetconfOperationServiceFactory;
index f617ded..9169409 100644 (file)
@@ -18,7 +18,7 @@ package io.fd.honeycomb.infra.distro.netconf;
 
 import com.google.inject.Inject;
 import com.google.inject.name.Named;
-import io.fd.honeycomb.infra.distro.ProviderTrait;
+import io.fd.honeycomb.binding.init.ProviderTrait;
 import java.lang.reflect.Constructor;
 import org.opendaylight.controller.sal.binding.api.BindingAwareBroker;
 import org.opendaylight.controller.sal.binding.api.BindingAwareProvider;
index 3a4c136..1931a57 100644 (file)
@@ -18,7 +18,7 @@ package io.fd.honeycomb.infra.distro.netconf;
 
 import com.google.inject.Inject;
 import com.google.inject.name.Named;
-import io.fd.honeycomb.infra.distro.ProviderTrait;
+import io.fd.honeycomb.binding.init.ProviderTrait;
 import io.fd.honeycomb.translate.read.ReaderFactory;
 import io.fd.honeycomb.translate.read.registry.ModifiableReaderRegistryBuilder;
 import io.fd.honeycomb.translate.util.read.BindingBrokerReader;
index 9858003..d8d7ade 100644 (file)
@@ -18,7 +18,7 @@ package io.fd.honeycomb.infra.distro.netconf;
 
 import com.google.inject.Inject;
 import com.google.inject.name.Named;
-import io.fd.honeycomb.infra.distro.ProviderTrait;
+import io.fd.honeycomb.binding.init.ProviderTrait;
 import org.opendaylight.netconf.api.monitoring.NetconfMonitoringService;
 import org.opendaylight.netconf.impl.osgi.NetconfMonitoringServiceImpl;
 import org.opendaylight.netconf.mapping.api.NetconfOperationServiceFactory;
index 2554d02..4f869b1 100644 (file)
@@ -18,7 +18,7 @@ package io.fd.honeycomb.infra.distro.netconf;
 
 import com.google.inject.Inject;
 import com.google.inject.name.Named;
-import io.fd.honeycomb.infra.distro.ProviderTrait;
+import io.fd.honeycomb.binding.init.ProviderTrait;
 import java.lang.reflect.Constructor;
 import org.opendaylight.controller.md.sal.binding.api.DataBroker;
 import org.opendaylight.controller.md.sal.binding.api.DataTreeChangeListener;
index b699439..326abec 100644 (file)
@@ -18,7 +18,7 @@ package io.fd.honeycomb.infra.distro.netconf;
 
 import com.google.inject.Inject;
 import com.google.inject.name.Named;
-import io.fd.honeycomb.infra.distro.ProviderTrait;
+import io.fd.honeycomb.binding.init.ProviderTrait;
 import io.fd.honeycomb.translate.read.ReaderFactory;
 import io.fd.honeycomb.translate.read.registry.ModifiableReaderRegistryBuilder;
 import io.fd.honeycomb.translate.util.read.BindingBrokerReader;
index 00c2d16..c5f0fc3 100644 (file)
@@ -18,7 +18,7 @@ package io.fd.honeycomb.infra.distro.netconf;
 
 import com.google.inject.Inject;
 import com.google.inject.name.Named;
-import io.fd.honeycomb.infra.distro.ProviderTrait;
+import io.fd.honeycomb.binding.init.ProviderTrait;
 import io.netty.channel.nio.NioEventLoopGroup;
 import io.netty.util.Timer;
 import java.util.concurrent.TimeUnit;
index 8d86677..b13d9c1 100644 (file)
@@ -18,8 +18,8 @@ package io.fd.honeycomb.infra.distro.netconf;
 
 import com.google.common.util.concurrent.ThreadFactoryBuilder;
 import com.google.inject.Inject;
+import io.fd.honeycomb.binding.init.ProviderTrait;
 import io.fd.honeycomb.infra.distro.InitializationException;
-import io.fd.honeycomb.infra.distro.ProviderTrait;
 import io.fd.honeycomb.infra.distro.cfgattrs.HoneycombConfiguration;
 import io.fd.honeycomb.northbound.CredentialsConfiguration;
 import io.netty.channel.ChannelFuture;
index 66b82ee..37679d0 100644 (file)
@@ -17,8 +17,8 @@
 package io.fd.honeycomb.infra.distro.netconf;
 
 import com.google.inject.Inject;
+import io.fd.honeycomb.binding.init.ProviderTrait;
 import io.fd.honeycomb.infra.distro.InitializationException;
-import io.fd.honeycomb.infra.distro.ProviderTrait;
 import io.fd.honeycomb.infra.distro.cfgattrs.HoneycombConfiguration;
 import io.netty.channel.ChannelFuture;
 import io.netty.util.concurrent.GenericFutureListener;
index e14952b..c34d8c1 100644 (file)
@@ -18,7 +18,7 @@ package io.fd.honeycomb.infra.distro.netconf;
 
 import com.google.common.util.concurrent.ThreadFactoryBuilder;
 import com.google.inject.Inject;
-import io.fd.honeycomb.infra.distro.ProviderTrait;
+import io.fd.honeycomb.binding.init.ProviderTrait;
 import io.fd.honeycomb.infra.distro.cfgattrs.HoneycombConfiguration;
 import io.netty.channel.nio.NioEventLoopGroup;
 
index f298df1..678791c 100644 (file)
@@ -17,7 +17,7 @@
 package io.fd.honeycomb.infra.distro.restconf;
 
 import com.google.inject.Inject;
-import io.fd.honeycomb.infra.distro.ProviderTrait;
+import io.fd.honeycomb.binding.init.ProviderTrait;
 import io.fd.honeycomb.infra.distro.cfgattrs.HoneycombConfiguration;
 import org.eclipse.jetty.server.Server;
 import org.eclipse.jetty.server.ServerConnector;
index 68c0fb5..3387c0f 100644 (file)
@@ -17,7 +17,7 @@
 package io.fd.honeycomb.infra.distro.restconf;
 
 import com.google.inject.Inject;
-import io.fd.honeycomb.infra.distro.ProviderTrait;
+import io.fd.honeycomb.binding.init.ProviderTrait;
 import io.fd.honeycomb.infra.distro.cfgattrs.HoneycombConfiguration;
 import java.net.URL;
 import org.eclipse.jetty.http.HttpVersion;
index 0c80873..e596b27 100644 (file)
@@ -17,7 +17,7 @@
 package io.fd.honeycomb.infra.distro.restconf;
 
 import com.google.inject.Inject;
-import io.fd.honeycomb.infra.distro.ProviderTrait;
+import io.fd.honeycomb.binding.init.ProviderTrait;
 import io.fd.honeycomb.infra.distro.cfgattrs.HoneycombConfiguration;
 import io.fd.honeycomb.northbound.CredentialsConfiguration;
 import java.net.URL;
index 6664c7d..01f177e 100644 (file)
@@ -17,7 +17,7 @@
 package io.fd.honeycomb.infra.distro.restconf;
 
 import com.google.inject.Inject;
-import io.fd.honeycomb.infra.distro.ProviderTrait;
+import io.fd.honeycomb.binding.init.ProviderTrait;
 import io.fd.honeycomb.infra.distro.cfgattrs.HoneycombConfiguration;
 import org.opendaylight.controller.sal.core.api.Broker;
 import org.opendaylight.netconf.sal.rest.api.RestConnector;
index e2d0fbf..b810980 100644 (file)
@@ -20,7 +20,7 @@ import static io.fd.honeycomb.infra.distro.schema.YangModulesProvider.YangModule
 
 import com.google.common.base.MoreObjects;
 import com.google.inject.Inject;
-import io.fd.honeycomb.infra.distro.ProviderTrait;
+import io.fd.honeycomb.binding.init.ProviderTrait;
 import java.util.stream.Collectors;
 import org.opendaylight.yangtools.sal.binding.generator.impl.ModuleInfoBackedContext;
 import org.opendaylight.yangtools.yang.binding.YangModelBindingProvider;
index eb3552c..157473a 100644 (file)
@@ -17,7 +17,7 @@
 package io.fd.honeycomb.infra.distro.schema;
 
 import com.google.inject.Inject;
-import io.fd.honeycomb.infra.distro.ProviderTrait;
+import io.fd.honeycomb.binding.init.ProviderTrait;
 import org.opendaylight.controller.sal.core.api.model.SchemaService;
 import org.opendaylight.yangtools.concepts.ListenerRegistration;
 import org.opendaylight.yangtools.sal.binding.generator.impl.ModuleInfoBackedContext;
index 2a1963c..ddc6667 100644 (file)
@@ -17,7 +17,7 @@
 package io.fd.honeycomb.infra.distro.schema;
 
 import com.google.inject.Inject;
-import io.fd.honeycomb.infra.distro.ProviderTrait;
+import io.fd.honeycomb.binding.init.ProviderTrait;
 import javassist.ClassPool;
 import org.opendaylight.controller.md.sal.binding.impl.BindingToNormalizedNodeCodec;
 import org.opendaylight.yangtools.binding.data.codec.gen.impl.DataObjectSerializerGenerator;
index 60860a5..c55abc6 100644 (file)
             <groupId>net.jmob</groupId>
             <artifactId>guice.conf</artifactId>
         </dependency>
+        <dependency>
+            <groupId>io.fd.honeycomb</groupId>
+            <artifactId>binding-init</artifactId>
+            <version>${project.version}</version>
+        </dependency>
 
         <!-- BGP translation layer -->
         <dependency>
index c9ec39f..92b7436 100644 (file)
@@ -17,7 +17,7 @@
 package io.fd.honeycomb.infra.bgp;
 
 import com.google.inject.Inject;
-import io.fd.honeycomb.infra.distro.ProviderTrait;
+import io.fd.honeycomb.binding.init.ProviderTrait;
 import io.netty.channel.EventLoopGroup;
 import org.opendaylight.protocol.bgp.parser.spi.BGPExtensionConsumerContext;
 import org.opendaylight.protocol.bgp.rib.impl.BGPDispatcherImpl;
index 00e99ab..106a882 100644 (file)
@@ -17,7 +17,7 @@
 package io.fd.honeycomb.infra.bgp;
 
 import com.google.inject.Inject;
-import io.fd.honeycomb.infra.distro.ProviderTrait;
+import io.fd.honeycomb.binding.init.ProviderTrait;
 import java.util.ArrayList;
 import java.util.Set;
 import org.opendaylight.protocol.bgp.parser.spi.BGPExtensionConsumerContext;
index b624441..9356b32 100644 (file)
@@ -24,7 +24,7 @@ import static org.opendaylight.yangtools.sal.binding.generator.impl.BindingSchem
 
 import com.google.common.base.Optional;
 import com.google.inject.Inject;
-import io.fd.honeycomb.infra.distro.ProviderTrait;
+import io.fd.honeycomb.binding.init.ProviderTrait;
 import java.io.InputStream;
 import java.util.Map;
 import javax.annotation.Nonnull;
index 8208a43..9c4722e 100644 (file)
@@ -18,7 +18,7 @@ package io.fd.honeycomb.infra.bgp;
 
 import com.google.common.util.concurrent.ThreadFactoryBuilder;
 import com.google.inject.Inject;
-import io.fd.honeycomb.infra.distro.ProviderTrait;
+import io.fd.honeycomb.binding.init.ProviderTrait;
 import io.netty.channel.nio.NioEventLoopGroup;
 
 final class BgpNettyThreadGroupProvider extends ProviderTrait<NioEventLoopGroup> {
index a2bd56d..9cd02b4 100644 (file)
@@ -18,7 +18,7 @@ package io.fd.honeycomb.infra.bgp;
 
 import com.google.common.collect.ImmutableList;
 import com.google.inject.Inject;
-import io.fd.honeycomb.infra.distro.ProviderTrait;
+import io.fd.honeycomb.binding.init.ProviderTrait;
 import java.util.List;
 import java.util.Map;
 import java.util.stream.Collectors;
index b79074f..728bb14 100644 (file)
@@ -18,7 +18,7 @@ package io.fd.honeycomb.infra.bgp;
 
 import com.google.inject.Inject;
 import com.google.inject.name.Named;
-import io.fd.honeycomb.infra.distro.ProviderTrait;
+import io.fd.honeycomb.binding.init.ProviderTrait;
 import io.fd.honeycomb.translate.read.ReaderFactory;
 import io.fd.honeycomb.translate.read.registry.ModifiableReaderRegistryBuilder;
 import io.fd.honeycomb.translate.util.read.BindingBrokerReader;
index b972ee2..ba95d32 100644 (file)
@@ -18,7 +18,7 @@ package io.fd.honeycomb.infra.bgp;
 
 import com.google.common.base.Preconditions;
 import com.google.inject.Inject;
-import io.fd.honeycomb.infra.distro.ProviderTrait;
+import io.fd.honeycomb.binding.init.ProviderTrait;
 import io.netty.channel.Channel;
 import io.netty.channel.ChannelConfig;
 import io.netty.channel.ChannelFuture;
index 81faabb..f4d5b94 100644 (file)
@@ -19,7 +19,7 @@ package io.fd.honeycomb.infra.bgp;
 import com.google.common.collect.Sets;
 import com.google.inject.Inject;
 import com.google.inject.name.Named;
-import io.fd.honeycomb.infra.distro.ProviderTrait;
+import io.fd.honeycomb.binding.init.ProviderTrait;
 import io.fd.honeycomb.translate.util.write.BindingBrokerWriter;
 import io.fd.honeycomb.translate.write.WriterFactory;
 import io.fd.honeycomb.translate.write.registry.ModifiableWriterRegistryBuilder;
index 1fc6b25..528b3a2 100644 (file)
@@ -19,7 +19,7 @@ package io.fd.honeycomb.infra.bgp;
 import com.google.inject.Inject;
 import com.google.inject.name.Named;
 import io.fd.honeycomb.bgp.translate.impl.LocRibWriter;
-import io.fd.honeycomb.infra.distro.ProviderTrait;
+import io.fd.honeycomb.binding.init.ProviderTrait;
 import io.fd.honeycomb.translate.bgp.RouteWriterFactory;
 import java.util.HashSet;
 import java.util.Set;
index b90b788..696726a 100644 (file)
@@ -17,7 +17,7 @@
 package io.fd.honeycomb.infra.bgp;
 
 import com.google.inject.Inject;
-import io.fd.honeycomb.infra.distro.ProviderTrait;
+import io.fd.honeycomb.binding.init.ProviderTrait;
 import java.util.ArrayList;
 import java.util.Set;
 import org.opendaylight.protocol.bgp.rib.spi.RIBExtensionConsumerContext;
index 845cad0..5c61168 100644 (file)
@@ -50,6 +50,7 @@
     <module>bgp-distribution-test</module>
     <module>minimal-distribution-core</module>
     <module>northbound</module>
+    <module>binding-init</module>
   </modules>
 
   <!-- DO NOT install or deploy the repo root pom as it's only needed to initiate a build -->