Bump to odlparent 2.0.0 76/50176/13
authorRobert Varga <robert.varga@pantheon.tech>
Wed, 21 Jun 2017 13:40:28 +0000 (15:40 +0200)
committerRobert Varga <robert.varga@pantheon.tech>
Wed, 21 Jun 2017 20:40:22 +0000 (22:40 +0200)
This takes odlparent 2.0.0, adjusts for guava update and feature
movement. Since jenkins is failing on the distro run, that is
disabled and a follow-up patch will re-enable it to get us going
again.

Change-Id: If3e1289ed7f73a79a5a47428c634bda9702e824d
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
143 files changed:
benchmark/artifacts/pom.xml
benchmark/pom.xml
features/benchmark/features-mdsal-benchmark/pom.xml
features/benchmark/features-mdsal-benchmark/src/main/features/features.xml [deleted file]
features/benchmark/features4-mdsal-benchmark/pom.xml [deleted file]
features/benchmark/odl-benchmark-api/pom.xml
features/benchmark/odl-dsbenchmark/pom.xml
features/benchmark/odl-mdsal-benchmark/pom.xml
features/benchmark/odl-ntfbenchmark/pom.xml
features/benchmark/pom.xml
features/config-netty/features-config-netty/pom.xml
features/config-netty/features-config-netty/src/main/features/features.xml [deleted file]
features/config-netty/features4-config-netty/pom.xml [deleted file]
features/config-netty/odl-config-netty/pom.xml
features/config-netty/pom.xml
features/config-persister/features-config-persister/pom.xml
features/config-persister/features-config-persister/src/main/features/features.xml [deleted file]
features/config-persister/features4-config-persister/pom.xml [deleted file]
features/config-persister/odl-config-manager-facade-xml/pom.xml
features/config-persister/odl-config-persister-all/pom.xml
features/config-persister/odl-config-persister/pom.xml
features/config-persister/odl-config-startup/pom.xml
features/config-persister/pom.xml
features/config/features-config/pom.xml
features/config/features-config/src/main/features/features.xml [deleted file]
features/config/features4-config/pom.xml [deleted file]
features/config/odl-config-all/pom.xml
features/config/odl-config-api/pom.xml
features/config/odl-config-core/pom.xml
features/config/odl-config-manager/pom.xml
features/config/odl-config-netty-config-api/pom.xml
features/config/pom.xml
features/extras/features-extras/pom.xml
features/extras/features-extras/src/main/features/features.xml [deleted file]
features/extras/features4-extras/pom.xml [deleted file]
features/extras/odl-extras-all/pom.xml
features/extras/odl-jolokia/pom.xml
features/extras/pom.xml
features/mdsal/features-mdsal/pom.xml
features/mdsal/features-mdsal/src/main/features/features.xml [deleted file]
features/mdsal/features4-mdsal/pom.xml [deleted file]
features/mdsal/odl-clustering-test-app/pom.xml
features/mdsal/odl-mdsal-all/pom.xml
features/mdsal/odl-mdsal-broker-local/pom.xml
features/mdsal/odl-mdsal-broker/pom.xml
features/mdsal/odl-mdsal-clustering-commons/pom.xml
features/mdsal/odl-mdsal-clustering/pom.xml
features/mdsal/odl-mdsal-common/pom.xml
features/mdsal/odl-mdsal-distributed-datastore/pom.xml
features/mdsal/odl-mdsal-remoterpc-connector/pom.xml
features/mdsal/odl-message-bus-collector/pom.xml
features/mdsal/odl-toaster/pom.xml
features/mdsal/pom.xml
features/pom.xml
features/protocol-framework/features-protocol-framework/pom.xml
features/protocol-framework/features-protocol-framework/src/main/features/features.xml [deleted file]
features/protocol-framework/features4-protocol-framework/pom.xml [deleted file]
features/protocol-framework/odl-protocol-framework/pom.xml
features/protocol-framework/pom.xml
karaf/karaf-parent/pom.xml [deleted file]
karaf/opendaylight-karaf/pom.xml
karaf/pom.xml
opendaylight/archetypes/opendaylight-startup/src/main/resources/archetype-resources/artifacts/pom.xml
opendaylight/archetypes/opendaylight-startup/src/main/resources/archetype-resources/features/pom.xml
opendaylight/archetypes/opendaylight-startup/src/main/resources/archetype-resources/karaf/pom.xml
opendaylight/archetypes/opendaylight-startup/src/main/resources/archetype-resources/pom.xml
opendaylight/archetypes/pom.xml
opendaylight/blueprint/pom.xml
opendaylight/commons/jolokia/pom.xml
opendaylight/commons/liblldp/pom.xml
opendaylight/commons/logback_settings/pom.xml
opendaylight/commons/protocol-framework/pom.xml
opendaylight/config/config-artifacts/pom.xml
opendaylight/config/config-it-base/pom.xml
opendaylight/config/config-netty-config/pom.xml
opendaylight/config/config-persister-feature-adapter/src/main/java/org/opendaylight/controller/configpusherfeature/internal/AbstractFeatureWrapper.java
opendaylight/config/config-persister-feature-adapter/src/main/java/org/opendaylight/controller/configpusherfeature/internal/FeatureConfigPusher.java
opendaylight/config/config-persister-feature-adapter/src/main/java/org/opendaylight/controller/configpusherfeature/internal/FeatureServiceCustomizer.java
opendaylight/config/config-persister-feature4-adapter/pom.xml [deleted file]
opendaylight/config/config-persister-feature4-adapter/src/main/java/org/opendaylight/controller/configpusherfeature/ConfigPusherFeatureActivator.java [deleted file]
opendaylight/config/config-persister-feature4-adapter/src/main/java/org/opendaylight/controller/configpusherfeature/internal/AbstractFeatureWrapper.java [deleted file]
opendaylight/config/config-persister-feature4-adapter/src/main/java/org/opendaylight/controller/configpusherfeature/internal/ChildAwareFeatureWrapper.java [deleted file]
opendaylight/config/config-persister-feature4-adapter/src/main/java/org/opendaylight/controller/configpusherfeature/internal/ConfigFeaturesListener.java [deleted file]
opendaylight/config/config-persister-feature4-adapter/src/main/java/org/opendaylight/controller/configpusherfeature/internal/ConfigPusherCustomizer.java [deleted file]
opendaylight/config/config-persister-feature4-adapter/src/main/java/org/opendaylight/controller/configpusherfeature/internal/ConfigPushingRunnable.java [deleted file]
opendaylight/config/config-persister-feature4-adapter/src/main/java/org/opendaylight/controller/configpusherfeature/internal/FeatureConfigPusher.java [deleted file]
opendaylight/config/config-persister-feature4-adapter/src/main/java/org/opendaylight/controller/configpusherfeature/internal/FeatureConfigSnapshotHolder.java [deleted file]
opendaylight/config/config-persister-feature4-adapter/src/main/java/org/opendaylight/controller/configpusherfeature/internal/FeatureServiceCustomizer.java [deleted file]
opendaylight/config/pom.xml
opendaylight/md-sal/benchmark-data-store/pom.xml
opendaylight/md-sal/cds-access-api/pom.xml
opendaylight/md-sal/cds-access-client/pom.xml
opendaylight/md-sal/cds-dom-api/pom.xml
opendaylight/md-sal/md-sal-config/pom.xml
opendaylight/md-sal/mdsal-artifacts/pom.xml
opendaylight/md-sal/mdsal-it-base/pom.xml
opendaylight/md-sal/mdsal-it-parent/pom.xml
opendaylight/md-sal/mdsal-trace/binding-impl/pom.xml
opendaylight/md-sal/mdsal-trace/features/features-mdsal-trace/pom.xml
opendaylight/md-sal/mdsal-trace/features/features-mdsal-trace/src/main/features/features.xml [deleted file]
opendaylight/md-sal/mdsal-trace/features/features4-mdsal-trace/pom.xml [deleted file]
opendaylight/md-sal/mdsal-trace/features/odl-mdsal-trace/pom.xml
opendaylight/md-sal/mdsal-trace/features/pom.xml
opendaylight/md-sal/mdsal-trace/pom.xml
opendaylight/md-sal/messagebus-config/pom.xml
opendaylight/md-sal/messagebus-util/pom.xml
opendaylight/md-sal/pom.xml
opendaylight/md-sal/sal-akka-raft-example/pom.xml
opendaylight/md-sal/sal-akka-raft/pom.xml
opendaylight/md-sal/sal-binding-api/pom.xml
opendaylight/md-sal/sal-binding-broker/pom.xml
opendaylight/md-sal/sal-binding-dom-it/pom.xml
opendaylight/md-sal/sal-binding-util/pom.xml
opendaylight/md-sal/sal-clustering-config/pom.xml
opendaylight/md-sal/sal-common-impl/pom.xml
opendaylight/md-sal/sal-common-impl/src/main/java/org/opendaylight/controller/md/sal/common/impl/service/AbstractDataTransaction.java
opendaylight/md-sal/sal-common-testutil/pom.xml
opendaylight/md-sal/sal-common-util/pom.xml
opendaylight/md-sal/sal-connector-api/pom.xml
opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/DebugThreePhaseCommitCohort.java
opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/LocalTransactionContext.java
opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/TransactionProxy.java
opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/sharding/PrefixedShardConfigWriter.java
opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/sharding/ShardProxyTransaction.java
opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/databroker/ClientBackedReadTransactionTest.java
opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/databroker/ConcurrentDOMDataBrokerTest.java
opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/databroker/actors/dds/ClientSnapshotTest.java
opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/AbstractTransactionProxyTest.java
opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/ShardTest.java
opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/TransactionProxyTest.java
opendaylight/md-sal/sal-dom-api/pom.xml
opendaylight/md-sal/sal-dom-broker/pom.xml
opendaylight/md-sal/sal-dom-broker/src/main/java/org/opendaylight/controller/md/sal/dom/broker/impl/legacy/sharded/adapter/ShardedDOMDataBrokerDelegatingReadWriteTransaction.java
opendaylight/md-sal/sal-dom-broker/src/main/java/org/opendaylight/controller/md/sal/dom/broker/impl/legacy/sharded/adapter/ShardedDOMDataBrokerDelegatingWriteTransaction.java
opendaylight/md-sal/sal-dom-spi/pom.xml
opendaylight/md-sal/sal-dummy-distributed-datastore/pom.xml
opendaylight/md-sal/sal-remoterpc-connector/pom.xml
opendaylight/md-sal/sal-remoterpc-connector/src/main/java/org/opendaylight/controller/remote/rpc/RpcInvoker.java
opendaylight/md-sal/sal-schema-service/pom.xml
opendaylight/md-sal/samples/toaster-consumer/pom.xml
opendaylight/md-sal/samples/toaster-consumer/src/main/java/org/opendaylight/controller/sample/kitchen/impl/KitchenServiceImpl.java
opendaylight/md-sal/samples/toaster-provider/src/main/java/org/opendaylight/controller/sample/toaster/provider/OpendaylightToaster.java
pom.xml

index ff13d7d7eee1f9e3a6cdb75aa08702348a6c61d3..aad3cea4c6832b9fd4d14b7c150ce0235c23c24c 100644 (file)
@@ -14,7 +14,7 @@ and is available at http://www.eclipse.org/legal/epl-v10.html
   <parent>
     <groupId>org.opendaylight.odlparent</groupId>
     <artifactId>odlparent-lite</artifactId>
-    <version>1.9.0</version>
+    <version>2.0.0</version>
     <relativePath/>
   </parent>
 
index a48d78efbc678fdff2d85bbf4f6da1f925233e73..cb9f0432d78649669500c99bd63a2ec9777c090d 100644 (file)
@@ -9,7 +9,7 @@ and is available at http://www.eclipse.org/legal/epl-v10.html INTERNAL
   <parent>
     <groupId>org.opendaylight.odlparent</groupId>
     <artifactId>odlparent-lite</artifactId>
-    <version>1.9.0</version>
+    <version>2.0.0</version>
     <relativePath/>
   </parent>
   <groupId>org.opendaylight.controller</groupId>
index 5f71359c912d75ec94e9ed447304c658259957d2..9659014787a5de482dc8bdc32490b50eea583bc2 100644 (file)
@@ -1,82 +1,57 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!--
-Copyright (c) 2015 Cisco Systems 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 INTERNAL
--->
-<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>
-    <groupId>org.opendaylight.odlparent</groupId>
-    <artifactId>features-parent</artifactId>
-    <version>1.9.0</version>
-    <relativePath/>
-  </parent>
-  <groupId>org.opendaylight.controller</groupId>
-  <artifactId>features-mdsal-benchmark</artifactId>
-  <version>1.4.0-SNAPSHOT</version>
-  <name>${project.artifactId}</name>
-  <modelVersion>4.0.0</modelVersion>
+ Copyright Â© 2016, 2017 Red Hat, Inc. and others.
 
-  <properties>
-    <controller.mdsal.version>1.6.0-SNAPSHOT</controller.mdsal.version>
-    <mdsal.version>2.3.0-SNAPSHOT</mdsal.version>
-    <mdsal.model.version>0.11.0-SNAPSHOT</mdsal.model.version>
-    <yangtools.version>1.2.0-SNAPSHOT</yangtools.version>
-  </properties>
+ 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.odlparent</groupId>
+        <artifactId>feature-repo-parent</artifactId>
+        <version>2.0.0</version>
+        <relativePath/>
+    </parent>
+
+    <groupId>org.opendaylight.controller</groupId>
+    <artifactId>features-mdsal-benchmark</artifactId>
+    <version>1.4.0-SNAPSHOT</version>
+    <packaging>feature</packaging>
+
+    <dependencies>
+        <dependency>
+            <groupId>${project.groupId}</groupId>
+            <artifactId>odl-benchmark-api</artifactId>
+            <version>${project.version}</version>
+            <type>xml</type>
+            <classifier>features</classifier>
+        </dependency>
+        <dependency>
+            <groupId>${project.groupId}</groupId>
+            <artifactId>odl-dsbenchmark</artifactId>
+            <version>${project.version}</version>
+            <type>xml</type>
+            <classifier>features</classifier>
+        </dependency>
+        <dependency>
+            <groupId>${project.groupId}</groupId>
+            <artifactId>odl-mdsal-benchmark</artifactId>
+            <version>${project.version}</version>
+            <type>xml</type>
+            <classifier>features</classifier>
+        </dependency>
+        <dependency>
+            <groupId>${project.groupId}</groupId>
+            <artifactId>odl-ntfbenchmark</artifactId>
+            <version>${project.version}</version>
+            <type>xml</type>
+            <classifier>features</classifier>
+        </dependency>
+    </dependencies>
 
-  <dependencies>
-    <dependency>
-      <groupId>org.opendaylight.yangtools</groupId>
-      <artifactId>features-yangtools</artifactId>
-      <classifier>features</classifier>
-      <version>${yangtools.version}</version>
-      <type>xml</type>
-      <scope>runtime</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.opendaylight.mdsal</groupId>
-      <artifactId>features-mdsal</artifactId>
-      <version>${mdsal.version}</version>
-      <classifier>features</classifier>
-      <type>xml</type>
-      <scope>runtime</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.opendaylight.mdsal.model</groupId>
-      <artifactId>features-mdsal-model</artifactId>
-      <version>${mdsal.model.version}</version>
-      <classifier>features</classifier>
-      <type>xml</type>
-      <scope>runtime</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.opendaylight.controller</groupId>
-      <artifactId>features-mdsal</artifactId>
-      <classifier>features</classifier>
-      <version>${controller.mdsal.version}</version>
-      <type>xml</type>
-      <scope>runtime</scope>
-    </dependency>
-    <dependency>
-      <groupId>${project.groupId}</groupId>
-      <artifactId>dsbenchmark</artifactId>
-      <version>${project.version}</version>
-    </dependency>
-    <dependency>
-      <groupId>${project.groupId}</groupId>
-      <artifactId>ntfbenchmark</artifactId>
-      <version>${project.version}</version>
-    </dependency>
-    <dependency>
-      <groupId>${project.groupId}</groupId>
-      <artifactId>rpcbenchmark</artifactId>
-      <version>${project.version}</version>
-    </dependency>
-    <dependency>
-      <groupId>${project.groupId}</groupId>
-      <artifactId>benchmark-api</artifactId>
-      <version>${project.version}</version>
-    </dependency>
-  </dependencies>
 </project>
diff --git a/features/benchmark/features-mdsal-benchmark/src/main/features/features.xml b/features/benchmark/features-mdsal-benchmark/src/main/features/features.xml
deleted file mode 100644 (file)
index 7e2b451..0000000
+++ /dev/null
@@ -1,36 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- vi: set et smarttab sw=4 tabstop=4: -->
-<!--
-Copyright (c) 2015 Cisco Systems
-
-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
--->
-<features name="odl-dsbenchmark-${project.version}" xmlns="http://karaf.apache.org/xmlns/features/v1.2.0"
-  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-  xsi:schemaLocation="http://karaf.apache.org/xmlns/features/v1.2.0 http://karaf.apache.org/xmlns/features/v1.2.0">
-  <repository>mvn:org.opendaylight.yangtools/features-yangtools/{{VERSION}}/xml/features</repository>
-  <repository>mvn:org.opendaylight.controller/features-mdsal/{{VERSION}}/xml/features</repository>
-  <repository>mvn:org.opendaylight.mdsal.model/features-mdsal-model/{{VERSION}}/xml/features</repository>
-
-    <feature name='odl-benchmark-api' version='${project.version}' description='OpenDaylight :: dsbenchmark :: api '>
-    <feature version='${mdsal.model.version}'>odl-mdsal-models</feature>
-    <bundle>mvn:org.opendaylight.controller/benchmark-api/{{VERSION}}</bundle>
-  </feature>
-  <feature name='odl-dsbenchmark' version='${project.version}' description='OpenDaylight :: dsbenchmark :: '>
-    <feature version='${controller.mdsal.version}'>odl-mdsal-broker</feature>
-    <feature version='${project.version}'>odl-benchmark-api</feature>
-    <bundle>mvn:org.opendaylight.controller/dsbenchmark/{{VERSION}}</bundle>
-  </feature>
-  <feature name='odl-ntfbenchmark' version='${project.version}' description='OpenDaylight :: ntfbenchmark :: '>
-    <feature version='${controller.mdsal.version}'>odl-mdsal-broker</feature>
-    <feature version='${project.version}'>odl-benchmark-api</feature>
-    <bundle>mvn:org.opendaylight.controller/ntfbenchmark/{{VERSION}}</bundle>
-  </feature>
-  <feature name='odl-mdsal-benchmark' version='${project.version}' description='OpenDaylight :: dsbenchmark :: '>
-    <feature version='${project.version}'>odl-dsbenchmark</feature>
-    <feature version='${project.version}'>odl-ntfbenchmark</feature>
-    <bundle>mvn:org.opendaylight.controller/rpcbenchmark/{{VERSION}}</bundle>
-  </feature>
-</features>
diff --git a/features/benchmark/features4-mdsal-benchmark/pom.xml b/features/benchmark/features4-mdsal-benchmark/pom.xml
deleted file mode 100644 (file)
index c15ba1f..0000000
+++ /dev/null
@@ -1,57 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Copyright Â© 2016, 2017 Red Hat, Inc. and others.
-
- 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.odlparent</groupId>
-        <artifactId>feature-repo-parent</artifactId>
-        <version>1.9.0</version>
-        <relativePath/>
-    </parent>
-
-    <groupId>org.opendaylight.controller</groupId>
-    <artifactId>features4-mdsal-benchmark</artifactId>
-    <version>1.4.0-SNAPSHOT</version>
-    <packaging>feature</packaging>
-
-    <dependencies>
-        <dependency>
-            <groupId>${project.groupId}</groupId>
-            <artifactId>odl-benchmark-api</artifactId>
-            <version>${project.version}</version>
-            <type>xml</type>
-            <classifier>features</classifier>
-        </dependency>
-        <dependency>
-            <groupId>${project.groupId}</groupId>
-            <artifactId>odl-dsbenchmark</artifactId>
-            <version>${project.version}</version>
-            <type>xml</type>
-            <classifier>features</classifier>
-        </dependency>
-        <dependency>
-            <groupId>${project.groupId}</groupId>
-            <artifactId>odl-mdsal-benchmark</artifactId>
-            <version>${project.version}</version>
-            <type>xml</type>
-            <classifier>features</classifier>
-        </dependency>
-        <dependency>
-            <groupId>${project.groupId}</groupId>
-            <artifactId>odl-ntfbenchmark</artifactId>
-            <version>${project.version}</version>
-            <type>xml</type>
-            <classifier>features</classifier>
-        </dependency>
-    </dependencies>
-
-</project>
\ No newline at end of file
index e3ca306d22ed3c29e80ebb4d1a848419b05e28c6..3dd8ac742af051d2350bcae6f949689e4e93d94a 100644 (file)
@@ -14,7 +14,7 @@
     <parent>
         <groupId>org.opendaylight.odlparent</groupId>
         <artifactId>single-feature-parent</artifactId>
-        <version>1.9.0</version>
+        <version>2.0.0</version>
         <relativePath/>
     </parent>
 
index 56d78b37ab9b8c8282a5389ae6e0e5911573030d..6623738a09fd0e515514d272dad08bb704651aa4 100644 (file)
@@ -14,7 +14,7 @@
     <parent>
         <groupId>org.opendaylight.odlparent</groupId>
         <artifactId>single-feature-parent</artifactId>
-        <version>1.9.0</version>
+        <version>2.0.0</version>
         <relativePath/>
     </parent>
 
index c8c720f046266885b3a9999f8075a780db40af3a..2864ddc8efdfff4408101b02781d6b4995fa996d 100644 (file)
@@ -14,7 +14,7 @@
     <parent>
         <groupId>org.opendaylight.odlparent</groupId>
         <artifactId>single-feature-parent</artifactId>
-        <version>1.9.0</version>
+        <version>2.0.0</version>
         <relativePath/>
     </parent>
 
index 6c850f2f3d06c4cf1508ec3430c1963ddd6f7280..a9fb582be7c035f71da9d277c3ab542dd9fdc009 100644 (file)
@@ -14,7 +14,7 @@
     <parent>
         <groupId>org.opendaylight.odlparent</groupId>
         <artifactId>single-feature-parent</artifactId>
-        <version>1.9.0</version>
+        <version>2.0.0</version>
         <relativePath/>
     </parent>
 
index f96ee96192a802daff5a54f7107d143907401fe0..8cd2a140ad81163613caf2432e9da7ad76b16591 100644 (file)
@@ -11,7 +11,7 @@ and is available at http://www.eclipse.org/legal/epl-v10.html INTERNAL
     <parent>
         <groupId>org.opendaylight.odlparent</groupId>
         <artifactId>odlparent-lite</artifactId>
-        <version>1.9.0</version>
+        <version>2.0.0</version>
         <relativePath/>
     </parent>
     <groupId>org.opendaylight.controller</groupId>
@@ -22,7 +22,6 @@ and is available at http://www.eclipse.org/legal/epl-v10.html INTERNAL
 
     <modules>
         <module>features-mdsal-benchmark</module>
-        <module>features4-mdsal-benchmark</module>
         <module>odl-benchmark-api</module>
         <module>odl-dsbenchmark</module>
         <module>odl-mdsal-benchmark</module>
index 1c9ce88c4674824576a00035a76527030add16e0..4f5a3dac1f13eb3450f52382c9444672b4808472 100644 (file)
@@ -1,77 +1,36 @@
 <?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>features-parent</artifactId>
-    <version>1.9.0</version>
-    <relativePath/>
-  </parent>
+<!--
+ Copyright Â© 2016, 2017 Red Hat, Inc. and others.
 
-  <groupId>org.opendaylight.controller</groupId>
-  <artifactId>features-config-netty</artifactId>
-  <version>0.7.0-SNAPSHOT</version>
-  <packaging>jar</packaging>
+ 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>
 
-  <properties>
-    <config.version>0.7.0-SNAPSHOT</config.version>
-    <config.configfile.directory>etc/opendaylight/karaf</config.configfile.directory>
-    <config.netty.configfile>00-netty.xml</config.netty.configfile>
-  </properties>
+    <parent>
+        <groupId>org.opendaylight.odlparent</groupId>
+        <artifactId>feature-repo-parent</artifactId>
+        <version>2.0.0</version>
+        <relativePath/>
+    </parent>
+
+    <groupId>org.opendaylight.controller</groupId>
+    <artifactId>features-config-netty</artifactId>
+    <version>0.7.0-SNAPSHOT</version>
+    <packaging>feature</packaging>
 
-  <dependencyManagement>
     <dependencies>
-       <dependency>
-        <groupId>org.opendaylight.controller</groupId>
-        <artifactId>config-artifacts</artifactId>
-        <version>${config.version}</version>
-        <scope>import</scope>
-        <type>pom</type>
-      </dependency>
+        <dependency>
+            <groupId>${project.groupId}</groupId>
+            <artifactId>odl-config-netty</artifactId>
+            <version>${project.version}</version>
+            <type>xml</type>
+            <classifier>features</classifier>
+        </dependency>
     </dependencies>
-  </dependencyManagement>
-
-  <dependencies>
-    <dependency>
-      <groupId>org.opendaylight.controller</groupId>
-      <artifactId>features-config-persister</artifactId>
-      <classifier>features</classifier>
-      <type>xml</type>
-    </dependency>
-    <dependency>
-      <groupId>org.opendaylight.controller</groupId>
-      <artifactId>netty-event-executor-config</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>org.opendaylight.controller</groupId>
-      <artifactId>netty-threadgroup-config</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>org.opendaylight.controller</groupId>
-      <artifactId>netty-timer-config</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>org.opendaylight.controller</groupId>
-      <artifactId>threadpool-config-api</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>org.opendaylight.controller</groupId>
-      <artifactId>threadpool-config-impl</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>org.opendaylight.controller</groupId>
-      <artifactId>config-netty-config</artifactId>
-      <version>${config.version}</version>
-      <type>xml</type>
-      <classifier>config</classifier>
-    </dependency>
-  </dependencies>
-
 
-  <scm>
-    <connection>scm:git:http://git.opendaylight.org/gerrit/controller.git</connection>
-    <developerConnection>scm:git:ssh://git.opendaylight.org:29418/controller.git</developerConnection>
-    <tag>HEAD</tag>
-    <url>https://wiki.opendaylight.org/view/OpenDaylight_Controller:MD-SAL</url>
-  </scm>
 </project>
diff --git a/features/config-netty/features-config-netty/src/main/features/features.xml b/features/config-netty/features-config-netty/src/main/features/features.xml
deleted file mode 100644 (file)
index a66f7e5..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<features name="odl-config-persister-${project.version}" xmlns="http://karaf.apache.org/xmlns/features/v1.2.0"
-          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-          xsi:schemaLocation="http://karaf.apache.org/xmlns/features/v1.2.0 http://karaf.apache.org/xmlns/features/v1.2.0">
-  <repository>mvn:org.opendaylight.controller/features-config-persister/${config.version}/xml/features</repository>
-  <feature name='odl-config-netty' version='${project.version}' description="OpenDaylight :: Config-Netty">
-    <feature version='${project.version}'>odl-config-netty-config-api</feature>
-    <bundle>mvn:org.opendaylight.controller/netty-event-executor-config/${project.version}</bundle>
-    <bundle>mvn:org.opendaylight.controller/netty-threadgroup-config/${project.version}</bundle>
-    <bundle>mvn:org.opendaylight.controller/netty-timer-config/${project.version}</bundle>
-    <bundle>mvn:org.opendaylight.controller/threadpool-config-api/${project.version}</bundle>
-    <bundle>mvn:org.opendaylight.controller/threadpool-config-impl/${project.version}</bundle>
-    <feature version='${project.version}'>odl-config-startup</feature>
-    <configfile finalname="${config.configfile.directory}/${config.netty.configfile}">mvn:org.opendaylight.controller/config-netty-config/${config.version}/xml/config</configfile>
-  </feature>
-</features>
diff --git a/features/config-netty/features4-config-netty/pom.xml b/features/config-netty/features4-config-netty/pom.xml
deleted file mode 100644 (file)
index 248d5fe..0000000
+++ /dev/null
@@ -1,36 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Copyright Â© 2016, 2017 Red Hat, Inc. and others.
-
- 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.odlparent</groupId>
-        <artifactId>feature-repo-parent</artifactId>
-        <version>1.9.0</version>
-        <relativePath/>
-    </parent>
-
-    <groupId>org.opendaylight.controller</groupId>
-    <artifactId>features4-config-netty</artifactId>
-    <version>0.7.0-SNAPSHOT</version>
-    <packaging>feature</packaging>
-
-    <dependencies>
-        <dependency>
-            <groupId>${project.groupId}</groupId>
-            <artifactId>odl-config-netty</artifactId>
-            <version>${project.version}</version>
-            <type>xml</type>
-            <classifier>features</classifier>
-        </dependency>
-    </dependencies>
-
-</project>
\ No newline at end of file
index 4d9848838390f5cee1acc4145bbf390799d19373..3ff3297f2c165d0bb3dc2c4d1c5c4d3ee076159a 100644 (file)
@@ -14,7 +14,7 @@
     <parent>
         <groupId>org.opendaylight.odlparent</groupId>
         <artifactId>single-feature-parent</artifactId>
-        <version>1.9.0</version>
+        <version>2.0.0</version>
         <relativePath/>
     </parent>
 
index 763b3b889312e5019e2c7926a705f9cc0a278d94..aa332b7d3533c57a092df78891b5beb4e7acfe39 100644 (file)
@@ -12,7 +12,7 @@
     <parent>
         <groupId>org.opendaylight.odlparent</groupId>
         <artifactId>odlparent-lite</artifactId>
-        <version>1.9.0</version>
+        <version>2.0.0</version>
         <relativePath/>
     </parent>
 
@@ -23,7 +23,6 @@
 
     <modules>
         <module>features-config-netty</module>
-        <module>features4-config-netty</module>
         <module>odl-config-netty</module>
     </modules>
 
index 8ab966b0bf713a9e840eda4539bfb4a8380b0818..4f221144f723fa631fa0249f42ca839772f823e0 100644 (file)
 <?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>features-parent</artifactId>
-    <version>1.9.0</version>
-    <relativePath/>
-  </parent>
+<!--
+ Copyright Â© 2016, 2017 Red Hat, Inc. and others.
 
-  <groupId>org.opendaylight.controller</groupId>
-  <artifactId>features-config-persister</artifactId>
-  <version>0.7.0-SNAPSHOT</version>
-  <packaging>jar</packaging>
+ 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>
 
-  <properties>
-    <mdsal.version>2.3.0-SNAPSHOT</mdsal.version>
-    <config.version>0.7.0-SNAPSHOT</config.version>
-    <features.file>features.xml</features.file>
-  </properties>
+    <parent>
+        <groupId>org.opendaylight.odlparent</groupId>
+        <artifactId>feature-repo-parent</artifactId>
+        <version>2.0.0</version>
+        <relativePath/>
+    </parent>
+
+    <groupId>org.opendaylight.controller</groupId>
+    <artifactId>features-config-persister</artifactId>
+    <version>0.7.0-SNAPSHOT</version>
+    <packaging>feature</packaging>
 
-  <dependencyManagement>
     <dependencies>
-      <dependency>
-        <groupId>org.opendaylight.mdsal</groupId>
-        <artifactId>mdsal-artifacts</artifactId>
-        <version>${mdsal.version}</version>
-        <scope>import</scope>
-        <type>pom</type>
-      </dependency>
-       <dependency>
-        <groupId>org.opendaylight.controller</groupId>
-        <artifactId>config-artifacts</artifactId>
-        <version>${config.version}</version>
-        <scope>import</scope>
-        <type>pom</type>
-      </dependency>
+        <dependency>
+            <groupId>${project.groupId}</groupId>
+            <artifactId>odl-config-manager-facade-xml</artifactId>
+            <version>${project.version}</version>
+            <type>xml</type>
+            <classifier>features</classifier>
+        </dependency>
+        <dependency>
+            <groupId>${project.groupId}</groupId>
+            <artifactId>odl-config-persister</artifactId>
+            <version>${project.version}</version>
+            <type>xml</type>
+            <classifier>features</classifier>
+        </dependency>
+        <dependency>
+            <groupId>${project.groupId}</groupId>
+            <artifactId>odl-config-persister-all</artifactId>
+            <version>${project.version}</version>
+            <type>xml</type>
+            <classifier>features</classifier>
+        </dependency>
+        <dependency>
+            <groupId>${project.groupId}</groupId>
+            <artifactId>odl-config-startup</artifactId>
+            <version>${project.version}</version>
+            <type>xml</type>
+            <classifier>features</classifier>
+        </dependency>
     </dependencies>
-  </dependencyManagement>
-
-  <dependencies>
-    <dependency>
-      <groupId>org.opendaylight.mdsal</groupId>
-      <artifactId>features-mdsal</artifactId>
-      <version>${mdsal.version}</version>
-      <classifier>features</classifier>
-      <type>xml</type>
-    </dependency>
-    <dependency>
-      <groupId>org.opendaylight.controller</groupId>
-      <artifactId>features-config</artifactId>
-      <classifier>features</classifier>
-      <type>xml</type>
-    </dependency>
-    <dependency>
-      <groupId>org.opendaylight.controller</groupId>
-      <artifactId>config-persister-api</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>org.opendaylight.controller</groupId>
-      <artifactId>config-manager-facade-xml</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>org.opendaylight.controller</groupId>
-      <artifactId>config-util</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>org.opendaylight.controller</groupId>
-      <artifactId>config-persister-file-xml-adapter</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>org.opendaylight.controller</groupId>
-      <artifactId>config-persister-impl</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>org.opendaylight.controller</groupId>
-      <artifactId>config-persister-feature-adapter</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>commons-io</groupId>
-      <artifactId>commons-io</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.commons</groupId>
-      <artifactId>commons-lang3</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>javax.validation</groupId>
-      <artifactId>validation-api</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>org.eclipse.persistence</groupId>
-      <artifactId>org.eclipse.persistence.core</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>org.eclipse.persistence</groupId>
-      <artifactId>org.eclipse.persistence.moxy</artifactId>
-    </dependency>
-
-  </dependencies>
 
-  <scm>
-    <connection>scm:git:http://git.opendaylight.org/gerrit/controller.git</connection>
-    <developerConnection>scm:git:ssh://git.opendaylight.org:29418/controller.git</developerConnection>
-    <tag>HEAD</tag>
-    <url>https://wiki.opendaylight.org/view/OpenDaylight_Controller:MD-SAL</url>
-  </scm>
 </project>
diff --git a/features/config-persister/features-config-persister/src/main/features/features.xml b/features/config-persister/features-config-persister/src/main/features/features.xml
deleted file mode 100644 (file)
index 9a2fb9d..0000000
+++ /dev/null
@@ -1,38 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<features name="odl-config-persister-${project.version}" xmlns="http://karaf.apache.org/xmlns/features/v1.2.0"
-          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-          xsi:schemaLocation="http://karaf.apache.org/xmlns/features/v1.2.0 http://karaf.apache.org/xmlns/features/v1.2.0">
-  <repository>mvn:org.opendaylight.mdsal/features-mdsal/{{VERSION}}/xml/features</repository>
-  <repository>mvn:org.opendaylight.controller/features-config/{{VERSION}}/xml/features</repository>
-  <feature name='odl-config-persister-all' version='${project.version}' description="OpenDaylight :: Config Persister:: All">
-    <feature version='${project.version}'>odl-config-persister</feature>
-    <feature version='${project.version}'>odl-config-startup</feature>
-  </feature>
-  <feature name='odl-config-persister' version='${project.version}' description="OpenDaylight :: Config Persister ">
-    <feature version='${project.version}'>odl-config-api</feature>
-    <feature version='${project.version}'>odl-config-core</feature>
-    <feature version='${project.version}'>odl-config-manager</feature>
-    <feature version='${mdsal.version}'>odl-mdsal-binding-runtime</feature>
-    <bundle>mvn:org.opendaylight.controller/yang-jmx-generator/{{VERSION}}</bundle>
-    <bundle>mvn:org.opendaylight.controller/config-persister-api/{{VERSION}}</bundle>
-    <bundle>mvn:org.opendaylight.controller/config-util/{{VERSION}}</bundle>
-    <bundle>mvn:org.opendaylight.controller/config-manager-facade-xml/{{VERSION}}</bundle>
-    <bundle>mvn:org.opendaylight.controller/config-persister-file-xml-adapter/{{VERSION}}</bundle>
-    <bundle>mvn:org.opendaylight.controller/config-persister-impl/{{VERSION}}</bundle>
-    <bundle>mvn:org.opendaylight.controller/config-persister-feature-adapter/{{VERSION}}</bundle>
-
-    <bundle>mvn:commons-io/commons-io/{{VERSION}}</bundle>
-    <bundle>mvn:org.apache.commons/commons-lang3/{{VERSION}}</bundle>
-    <bundle>wrap:mvn:javax.validation/validation-api/{{VERSION}}</bundle>
-    <bundle>mvn:org.eclipse.persistence/org.eclipse.persistence.core/{{VERSION}}</bundle>
-    <bundle>mvn:org.eclipse.persistence/org.eclipse.persistence.moxy/{{VERSION}}</bundle>
-  </feature>
-  <feature name='odl-config-startup' version='${project.version}' description="OpenDaylight :: Config Persister:: Config Startup">
-    <feature version='${project.version}'>odl-config-persister</feature>
-  </feature>
-  <feature name='odl-config-manager-facade-xml' version='${project.version}' description="Opendaylight :: Config Persister:: Mapping for Config Subsystem">
-    <feature version='${project.version}'>odl-config-core</feature>
-    <bundle>mvn:org.opendaylight.controller/config-manager-facade-xml/{{VERSION}}</bundle>
-  </feature>
-</features>
diff --git a/features/config-persister/features4-config-persister/pom.xml b/features/config-persister/features4-config-persister/pom.xml
deleted file mode 100644 (file)
index 58d5e7e..0000000
+++ /dev/null
@@ -1,57 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Copyright Â© 2016, 2017 Red Hat, Inc. and others.
-
- 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.odlparent</groupId>
-        <artifactId>feature-repo-parent</artifactId>
-        <version>1.9.0</version>
-        <relativePath/>
-    </parent>
-
-    <groupId>org.opendaylight.controller</groupId>
-    <artifactId>features4-config-persister</artifactId>
-    <version>0.7.0-SNAPSHOT</version>
-    <packaging>feature</packaging>
-
-    <dependencies>
-        <dependency>
-            <groupId>${project.groupId}</groupId>
-            <artifactId>odl-config-manager-facade-xml</artifactId>
-            <version>${project.version}</version>
-            <type>xml</type>
-            <classifier>features</classifier>
-        </dependency>
-        <dependency>
-            <groupId>${project.groupId}</groupId>
-            <artifactId>odl-config-persister</artifactId>
-            <version>${project.version}</version>
-            <type>xml</type>
-            <classifier>features</classifier>
-        </dependency>
-        <dependency>
-            <groupId>${project.groupId}</groupId>
-            <artifactId>odl-config-persister-all</artifactId>
-            <version>${project.version}</version>
-            <type>xml</type>
-            <classifier>features</classifier>
-        </dependency>
-        <dependency>
-            <groupId>${project.groupId}</groupId>
-            <artifactId>odl-config-startup</artifactId>
-            <version>${project.version}</version>
-            <type>xml</type>
-            <classifier>features</classifier>
-        </dependency>
-    </dependencies>
-
-</project>
\ No newline at end of file
index f05e2da5d2a68168f8af483288f2ab06151944b1..f5a0e610fc62a3f9236c925f0a05318179b71194 100644 (file)
@@ -14,7 +14,7 @@
     <parent>
         <groupId>org.opendaylight.odlparent</groupId>
         <artifactId>single-feature-parent</artifactId>
-        <version>1.9.0</version>
+        <version>2.0.0</version>
         <relativePath/>
     </parent>
 
index 6dffea01b2cfb6f355ef72e237969be0d5d1e7d3..aff9a581b101518bf6e02158484c9e542b157556 100644 (file)
@@ -14,7 +14,7 @@
     <parent>
         <groupId>org.opendaylight.odlparent</groupId>
         <artifactId>single-feature-parent</artifactId>
-        <version>1.9.0</version>
+        <version>2.0.0</version>
         <relativePath/>
     </parent>
 
index 4c51f1f4738bba15deced64325cd027dd3311d50..46377892593da5980aa1a02aee4adb90f7f72359 100644 (file)
@@ -14,7 +14,7 @@
     <parent>
         <groupId>org.opendaylight.odlparent</groupId>
         <artifactId>single-feature-parent</artifactId>
-        <version>1.9.0</version>
+        <version>2.0.0</version>
         <relativePath/>
     </parent>
 
         </dependency>
         <dependency>
             <groupId>${project.groupId}</groupId>
-            <artifactId>config-persister-feature4-adapter</artifactId>
+            <artifactId>config-persister-feature-adapter</artifactId>
         </dependency>
-        <!-- For some reason config-persister-feature4-adapter needs this -->
+        <!-- For some reason config-persister-feature-adapter needs this -->
         <dependency>
             <groupId>org.apache.karaf</groupId>
             <artifactId>org.apache.karaf.util</artifactId>
-            <version>${karaf4.version}</version>
+            <version>${karaf.version}</version>
         </dependency>
     </dependencies>
 
-</project>
\ No newline at end of file
+</project>
index 2db6078ce825fcc7d06ec649c50f54f2c53e5148..8bdd04f1537e10b4b941556af3c12f3d6eac67bc 100644 (file)
@@ -14,7 +14,7 @@
     <parent>
         <groupId>org.opendaylight.odlparent</groupId>
         <artifactId>single-feature-parent</artifactId>
-        <version>1.9.0</version>
+        <version>2.0.0</version>
         <relativePath/>
     </parent>
 
index 65c084bb4c701c708acaecd159449d46803f6275..45d907405b772767179525780140c30f3571cf77 100644 (file)
@@ -12,7 +12,7 @@
     <parent>
         <groupId>org.opendaylight.odlparent</groupId>
         <artifactId>odlparent-lite</artifactId>
-        <version>1.9.0</version>
+        <version>2.0.0</version>
         <relativePath/>
     </parent>
 
@@ -23,7 +23,6 @@
 
     <modules>
         <module>features-config-persister</module>
-        <module>features4-config-persister</module>
         <module>odl-config-manager-facade-xml</module>
         <module>odl-config-persister</module>
         <module>odl-config-persister-all</module>
index 694d7889586391d8573b62c91cb51dc3c98da3e0..8c406859e8a7dca78f67b9635f2c7cbe2a7e4417 100644 (file)
 <?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>features-parent</artifactId>
-    <version>1.9.0</version>
-    <relativePath/>
-  </parent>
+<!--
+ Copyright Â© 2016, 2017 Red Hat, Inc. and others.
 
-  <groupId>org.opendaylight.controller</groupId>
-  <artifactId>features-config</artifactId>
-  <version>0.7.0-SNAPSHOT</version>
-  <packaging>jar</packaging>
+ 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>
 
-  <properties>
-    <yangtools.version>1.2.0-SNAPSHOT</yangtools.version>
-    <mdsal.version>2.3.0-SNAPSHOT</mdsal.version>
-    <config.version>0.7.0-SNAPSHOT</config.version>
-    <odlparent.version>1.9.0</odlparent.version>
-    <features.file>features.xml</features.file>
-    <config.configfile.directory>etc/opendaylight/karaf</config.configfile.directory>
-  </properties>
+    <parent>
+        <groupId>org.opendaylight.odlparent</groupId>
+        <artifactId>feature-repo-parent</artifactId>
+        <version>2.0.0</version>
+        <relativePath/>
+    </parent>
 
+    <groupId>org.opendaylight.controller</groupId>
+    <artifactId>features-config</artifactId>
+    <version>0.7.0-SNAPSHOT</version>
+    <packaging>feature</packaging>
 
-  <dependencyManagement>
     <dependencies>
-       <dependency>
-        <groupId>org.opendaylight.odlparent</groupId>
-        <artifactId>odlparent-artifacts</artifactId>
-        <version>1.9.0</version>
-        <scope>import</scope>
-        <type>pom</type>
-      </dependency>
-      <dependency>
-        <groupId>org.opendaylight.yangtools</groupId>
-        <artifactId>yangtools-artifacts</artifactId>
-        <version>${yangtools.version}</version>
-        <scope>import</scope>
-        <type>pom</type>
-      </dependency>
-      <dependency>
-        <groupId>org.opendaylight.mdsal</groupId>
-        <artifactId>mdsal-artifacts</artifactId>
-        <version>${mdsal.version}</version>
-        <scope>import</scope>
-        <type>pom</type>
-      </dependency>
-       <dependency>
-        <groupId>org.opendaylight.controller</groupId>
-        <artifactId>config-artifacts</artifactId>
-        <version>${config.version}</version>
-        <scope>import</scope>
-        <type>pom</type>
-      </dependency>
+        <dependency>
+            <groupId>${project.groupId}</groupId>
+            <artifactId>odl-config-all</artifactId>
+            <version>${project.version}</version>
+            <type>xml</type>
+            <classifier>features</classifier>
+        </dependency>
+        <dependency>
+            <groupId>${project.groupId}</groupId>
+            <artifactId>odl-config-api</artifactId>
+            <version>${project.version}</version>
+            <type>xml</type>
+            <classifier>features</classifier>
+        </dependency>
+        <dependency>
+            <groupId>${project.groupId}</groupId>
+            <artifactId>odl-config-core</artifactId>
+            <version>${project.version}</version>
+            <type>xml</type>
+            <classifier>features</classifier>
+        </dependency>
+        <dependency>
+            <groupId>${project.groupId}</groupId>
+            <artifactId>odl-config-manager</artifactId>
+            <version>${project.version}</version>
+            <type>xml</type>
+            <classifier>features</classifier>
+        </dependency>
+        <dependency>
+            <groupId>${project.groupId}</groupId>
+            <artifactId>odl-config-netty-config-api</artifactId>
+            <version>${project.version}</version>
+            <type>xml</type>
+            <classifier>features</classifier>
+        </dependency>
     </dependencies>
-  </dependencyManagement>
-
-
-  <dependencies>
-
-    <!-- Required features repositories -->
-    <dependency>
-      <groupId>org.opendaylight.odlparent</groupId>
-      <artifactId>features-odlparent</artifactId>
-      <classifier>features</classifier>
-      <type>xml</type>
-    </dependency>
-    <dependency>
-      <groupId>org.opendaylight.yangtools</groupId>
-      <artifactId>features-yangtools</artifactId>
-      <classifier>features</classifier>
-      <type>xml</type>
-    </dependency>
-    <dependency>
-      <groupId>org.opendaylight.mdsal</groupId>
-      <artifactId>features-mdsal</artifactId>
-      <classifier>features</classifier>
-      <type>xml</type>
-    </dependency>
-
-    <!-- Config artifacts -->
-    <dependency>
-      <groupId>org.opendaylight.controller</groupId>
-      <artifactId>config-api</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>org.opendaylight.controller</groupId>
-      <artifactId>netty-config-api</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>io.netty</groupId>
-      <artifactId>netty-transport</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>io.netty</groupId>
-      <artifactId>netty-common</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>io.netty</groupId>
-      <artifactId>netty-codec</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>io.netty</groupId>
-      <artifactId>netty-handler</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>io.netty</groupId>
-      <artifactId>netty-buffer</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>org.opendaylight.controller</groupId>
-      <artifactId>config-util</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>org.opendaylight.controller</groupId>
-      <artifactId>yang-jmx-generator</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>org.opendaylight.controller</groupId>
-      <artifactId>shutdown-api</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>org.opendaylight.controller</groupId>
-      <artifactId>shutdown-impl</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>org.osgi</groupId>
-      <artifactId>org.osgi.core</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>com.google.guava</groupId>
-      <artifactId>guava</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>org.javassist</groupId>
-      <artifactId>javassist</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>org.opendaylight.controller</groupId>
-      <artifactId>config-manager</artifactId>
-    </dependency>
-  </dependencies>
 
-  <scm>
-    <connection>scm:git:http://git.opendaylight.org/gerrit/controller.git</connection>
-    <developerConnection>scm:git:ssh://git.opendaylight.org:29418/controller.git</developerConnection>
-    <tag>HEAD</tag>
-    <url>https://wiki.opendaylight.org/view/OpenDaylight_Controller:MD-SAL</url>
-  </scm>
 </project>
diff --git a/features/config/features-config/src/main/features/features.xml b/features/config/features-config/src/main/features/features.xml
deleted file mode 100644 (file)
index 47d0df0..0000000
+++ /dev/null
@@ -1,42 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<features name="odl-config-${project.version}" xmlns="http://karaf.apache.org/xmlns/features/v1.2.0"
-          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-          xsi:schemaLocation="http://karaf.apache.org/xmlns/features/v1.2.0 http://karaf.apache.org/xmlns/features/v1.2.0">
-
-  <repository>mvn:org.opendaylight.mdsal/features-mdsal/{{VERSION}}/xml/features</repository>
-  <repository>mvn:org.opendaylight.odlparent/features-odlparent/{{VERSION}}/xml/features</repository>
-
-  <feature name='odl-config-all' version='${project.version}' description="OpenDaylight :: Config :: All">
-      <feature version='${project.version}'>odl-config-api</feature>
-      <feature version='${project.version}'>odl-config-netty-config-api</feature>
-      <feature version='${project.version}'>odl-config-core</feature>
-      <feature version='${project.version}'>odl-config-manager</feature>
-  </feature>
-
-  <feature name='odl-config-api' version='${project.version}' description="OpenDaylight :: Config :: API">
-    <feature version='${mdsal.version}'>odl-mdsal-binding-base</feature>
-    <bundle>mvn:org.opendaylight.controller/config-api/{{VERSION}}</bundle>
-  </feature>
-
-  <feature name='odl-config-netty-config-api' version='${project.version}' description="OpenDaylight :: Config :: Netty Config API">
-    <feature version='${project.version}'>odl-config-api</feature>
-    <feature version="${odlparent.version}">odl-netty-4</feature>
-    <bundle>mvn:org.opendaylight.controller/netty-config-api/{{VERSION}}</bundle>
-  </feature>
-
-  <feature name='odl-config-core' version='${project.version}' description="OpenDaylight :: Config :: Core">
-    <feature version='${yangtools.version}'>odl-yangtools-common</feature>
-    <!-- FIXME: Bug 4202: Switch to MD-SAL provided odl-mdsal-binding-runtime -->
-    <feature version='${mdsal.version}'>odl-mdsal-binding-runtime</feature>
-    <feature version='${project.version}'>odl-config-api</feature>
-    <bundle>mvn:org.opendaylight.controller/config-util/{{VERSION}}</bundle>
-    <bundle>mvn:org.opendaylight.controller/yang-jmx-generator/{{VERSION}}</bundle>
-    <bundle>mvn:org.opendaylight.controller/shutdown-api/{{VERSION}}</bundle>
-    <bundle>mvn:org.opendaylight.controller/shutdown-impl/{{VERSION}}</bundle>
-  </feature>
-  <feature name='odl-config-manager' version='${project.version}' description="OpenDaylight :: Config :: Manager">
-    <feature version='${project.version}'>odl-config-core</feature>
-    <bundle start-level="35">mvn:org.opendaylight.controller/config-manager/{{VERSION}}</bundle>
-  </feature>
-</features>
diff --git a/features/config/features4-config/pom.xml b/features/config/features4-config/pom.xml
deleted file mode 100644 (file)
index 8ece2ca..0000000
+++ /dev/null
@@ -1,64 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Copyright Â© 2016, 2017 Red Hat, Inc. and others.
-
- 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.odlparent</groupId>
-        <artifactId>feature-repo-parent</artifactId>
-        <version>1.9.0</version>
-        <relativePath/>
-    </parent>
-
-    <groupId>org.opendaylight.controller</groupId>
-    <artifactId>features4-config</artifactId>
-    <version>0.7.0-SNAPSHOT</version>
-    <packaging>feature</packaging>
-
-    <dependencies>
-        <dependency>
-            <groupId>${project.groupId}</groupId>
-            <artifactId>odl-config-all</artifactId>
-            <version>${project.version}</version>
-            <type>xml</type>
-            <classifier>features</classifier>
-        </dependency>
-        <dependency>
-            <groupId>${project.groupId}</groupId>
-            <artifactId>odl-config-api</artifactId>
-            <version>${project.version}</version>
-            <type>xml</type>
-            <classifier>features</classifier>
-        </dependency>
-        <dependency>
-            <groupId>${project.groupId}</groupId>
-            <artifactId>odl-config-core</artifactId>
-            <version>${project.version}</version>
-            <type>xml</type>
-            <classifier>features</classifier>
-        </dependency>
-        <dependency>
-            <groupId>${project.groupId}</groupId>
-            <artifactId>odl-config-manager</artifactId>
-            <version>${project.version}</version>
-            <type>xml</type>
-            <classifier>features</classifier>
-        </dependency>
-        <dependency>
-            <groupId>${project.groupId}</groupId>
-            <artifactId>odl-config-netty-config-api</artifactId>
-            <version>${project.version}</version>
-            <type>xml</type>
-            <classifier>features</classifier>
-        </dependency>
-    </dependencies>
-
-</project>
\ No newline at end of file
index 0990fce7074cd7fb30714da3b72d25582291d6b3..762013082131b14b6ec5b6f88367cdd2d06da7f6 100644 (file)
@@ -14,7 +14,7 @@
     <parent>
         <groupId>org.opendaylight.odlparent</groupId>
         <artifactId>single-feature-parent</artifactId>
-        <version>1.9.0</version>
+        <version>2.0.0</version>
         <relativePath/>
     </parent>
 
index 74e49dcec4957be30b5de62047d07261ce912f2c..06b8ac22683824359b3642f854d6dfd673136d4b 100644 (file)
@@ -14,7 +14,7 @@
     <parent>
         <groupId>org.opendaylight.odlparent</groupId>
         <artifactId>single-feature-parent</artifactId>
-        <version>1.9.0</version>
+        <version>2.0.0</version>
         <relativePath/>
     </parent>
 
index 5696d68f37af646518ba681295b1d6bf9342ff5a..a8ddb6141236d31dd0dc5c25d17c6372955b5c2a 100644 (file)
@@ -14,7 +14,7 @@
     <parent>
         <groupId>org.opendaylight.odlparent</groupId>
         <artifactId>single-feature-parent</artifactId>
-        <version>1.9.0</version>
+        <version>2.0.0</version>
         <relativePath/>
     </parent>
 
index 0b2a353579c2c5f1ff9a77fb204434515c0fd828..9d7ac187446d97be3e4d0f4c18037ab6aaffd062 100644 (file)
@@ -14,7 +14,7 @@
     <parent>
         <groupId>org.opendaylight.odlparent</groupId>
         <artifactId>single-feature-parent</artifactId>
-        <version>1.9.0</version>
+        <version>2.0.0</version>
         <relativePath/>
     </parent>
 
index 4ac7ae013f8a8ce37385558404c875441de75f01..2f267afab84a2b99396713ad33c1984893373966 100644 (file)
@@ -14,7 +14,7 @@
     <parent>
         <groupId>org.opendaylight.odlparent</groupId>
         <artifactId>single-feature-parent</artifactId>
-        <version>1.9.0</version>
+        <version>2.0.0</version>
         <relativePath/>
     </parent>
 
@@ -33,8 +33,8 @@
         </dependency>
         <dependency>
             <groupId>org.opendaylight.odlparent</groupId>
-            <artifactId>odl4-netty-4</artifactId>
-            <version>1.9.0</version>
+            <artifactId>odl-netty-4</artifactId>
+            <version>2.0.0</version>
             <type>xml</type>
             <classifier>features</classifier>
         </dependency>
@@ -45,4 +45,4 @@
         </dependency>
     </dependencies>
 
-</project>
\ No newline at end of file
+</project>
index 5d411ff74a6f5bdaaf9b3ee3bc3aa0bf57c2669e..5d68cb249be3ed8934666b64d3291a843efbc9c8 100644 (file)
@@ -12,7 +12,7 @@
     <parent>
         <groupId>org.opendaylight.odlparent</groupId>
         <artifactId>odlparent-lite</artifactId>
-        <version>1.9.0</version>
+        <version>2.0.0</version>
         <relativePath/>
     </parent>
 
@@ -23,7 +23,6 @@
 
     <modules>
         <module>features-config</module>
-        <module>features4-config</module>
         <module>odl-config-all</module>
         <module>odl-config-api</module>
         <module>odl-config-core</module>
index 991d7b83c15c88c745647835345e87c2de647561..84d7f93f545014ad4e97d2e5ca2ba469a16dd682 100644 (file)
@@ -1,45 +1,43 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!--
+ Copyright Â© 2016, 2017 Red Hat, Inc. and others.
+
  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">
+ -->
+<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>features-parent</artifactId>
-        <version>1.9.0</version>
+        <artifactId>feature-repo-parent</artifactId>
+        <version>2.0.0</version>
         <relativePath/>
     </parent>
 
     <groupId>org.opendaylight.controller</groupId>
     <artifactId>features-extras</artifactId>
     <version>1.9.0-SNAPSHOT</version>
-    <packaging>jar</packaging>
-    <properties>
-        <odl-jolokia-osgi.version>0.6.0-SNAPSHOT</odl-jolokia-osgi.version>
-    </properties>
+    <packaging>feature</packaging>
 
     <dependencies>
         <dependency>
-            <groupId>org.jolokia</groupId>
-            <artifactId>jolokia-osgi</artifactId>
+            <groupId>${project.groupId}</groupId>
+            <artifactId>odl-extras-all</artifactId>
+            <version>${project.version}</version>
+            <type>xml</type>
+            <classifier>features</classifier>
         </dependency>
         <dependency>
-            <groupId>org.opendaylight.controller</groupId>
-            <artifactId>odl-jolokia-osgi</artifactId>
-            <version>${odl-jolokia-osgi.version}</version>
-            <type>cfg</type>
-            <classifier>configuration</classifier>
+            <groupId>${project.groupId}</groupId>
+            <artifactId>odl-jolokia</artifactId>
+            <version>${project.version}</version>
+            <type>xml</type>
+            <classifier>features</classifier>
         </dependency>
     </dependencies>
 
-    <scm>
-        <connection>scm:git:http://git.opendaylight.org/gerrit/controller.git</connection>
-        <developerConnection>scm:git:ssh://git.opendaylight.org:29418/controller.git</developerConnection>
-        <tag>HEAD</tag>
-        <url>https://git.opendaylight.org/gerrit/gitweb?p=controller.git;a=summary</url>
-    </scm>
 </project>
diff --git a/features/extras/features-extras/src/main/features/features.xml b/features/extras/features-extras/src/main/features/features.xml
deleted file mode 100644 (file)
index 99111e7..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- vi: set et smarttab sw=4 tabstop=4: -->
-<!--
- 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
--->
-
-<!--
-
- This feature file is intended to contain only third party features that cannot be accommodated in any
- other feature file. This is a good place to add features like jolokia which no other feature depends on
- but which provides a utility.
--->
-<features name="odl-extras-${project.version}" xmlns="http://karaf.apache.org/xmlns/features/v1.2.0"
-          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-          xsi:schemaLocation="http://karaf.apache.org/xmlns/features/v1.2.0 http://karaf.apache.org/xmlns/features/v1.2.0">
-    <feature name='odl-extras-all' version='${project.version}' description='OpenDaylight :: Extras :: All'>
-        <feature version="${project.version}">odl-jolokia</feature>
-    </feature>
-    <feature name="odl-jolokia" version="${project.version}" description="Jolokia JMX/HTTP bridge">
-        <configfile finalname="/etc/org.jolokia.osgi.cfg">mvn:org.opendaylight.controller/odl-jolokia-osgi/{{VERSION}}/cfg/configuration</configfile>
-        <feature>http</feature>
-        <bundle>mvn:org.jolokia/jolokia-osgi/{{VERSION}}</bundle>
-    </feature>
-</features>
diff --git a/features/extras/features4-extras/pom.xml b/features/extras/features4-extras/pom.xml
deleted file mode 100644 (file)
index a602774..0000000
+++ /dev/null
@@ -1,43 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Copyright Â© 2016, 2017 Red Hat, Inc. and others.
-
- 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.odlparent</groupId>
-        <artifactId>feature-repo-parent</artifactId>
-        <version>1.9.0</version>
-        <relativePath/>
-    </parent>
-
-    <groupId>org.opendaylight.controller</groupId>
-    <artifactId>features4-extras</artifactId>
-    <version>1.9.0-SNAPSHOT</version>
-    <packaging>feature</packaging>
-
-    <dependencies>
-        <dependency>
-            <groupId>${project.groupId}</groupId>
-            <artifactId>odl-extras-all</artifactId>
-            <version>${project.version}</version>
-            <type>xml</type>
-            <classifier>features</classifier>
-        </dependency>
-        <dependency>
-            <groupId>${project.groupId}</groupId>
-            <artifactId>odl-jolokia</artifactId>
-            <version>${project.version}</version>
-            <type>xml</type>
-            <classifier>features</classifier>
-        </dependency>
-    </dependencies>
-
-</project>
index 95657aafd97f3b1af09021955a5a7558b4282399..6edba87478a007d46f08e14e4103ad3a70fed0bb 100644 (file)
@@ -14,7 +14,7 @@
     <parent>
         <groupId>org.opendaylight.odlparent</groupId>
         <artifactId>single-feature-parent</artifactId>
-        <version>1.9.0</version>
+        <version>2.0.0</version>
         <relativePath/>
     </parent>
 
index 90dc97961fbc8beb717dbdce0831f12ce06cc967..23106e83bbfebed92bdc45710bb543688c9756e5 100644 (file)
@@ -14,7 +14,7 @@
     <parent>
         <groupId>org.opendaylight.odlparent</groupId>
         <artifactId>single-feature-parent</artifactId>
-        <version>1.9.0</version>
+        <version>2.0.0</version>
         <relativePath/>
     </parent>
 
index f1c373ee703e59923277663b3a9126aea32a13ac..76ab3b6a7ae9a98026035abc819e6912cf5ec8a5 100644 (file)
@@ -12,7 +12,7 @@
     <parent>
         <groupId>org.opendaylight.odlparent</groupId>
         <artifactId>odlparent-lite</artifactId>
-        <version>1.9.0</version>
+        <version>2.0.0</version>
         <relativePath/>
     </parent>
 
@@ -23,7 +23,6 @@
 
     <modules>
         <module>features-extras</module>
-        <module>features4-extras</module>
         <module>odl-extras-all</module>
         <module>odl-jolokia</module>
     </modules>
index 5a86a60960bced647778b521f8fdb83d9a160bca..4b99c844b65c43fcd3786e73c81c1044d1ca84dd 100644 (file)
 <?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>features-parent</artifactId>
-    <version>1.9.0</version>
-    <relativePath/>
-  </parent>
-
-  <groupId>org.opendaylight.controller</groupId>
-  <artifactId>features-mdsal</artifactId>
-  <version>1.6.0-SNAPSHOT</version>
-
-  <packaging>jar</packaging>
+<!--
+ Copyright Â© 2016, 2017 Red Hat, Inc. and others.
+
+ 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.odlparent</groupId>
+        <artifactId>feature-repo-parent</artifactId>
+        <version>2.0.0</version>
+        <relativePath/>
+    </parent>
 
-  <properties>
-    <blueprint.version>0.7.0-SNAPSHOT</blueprint.version>
-    <yangtools.version>1.2.0-SNAPSHOT</yangtools.version>
-    <mdsal.version>2.3.0-SNAPSHOT</mdsal.version>
-    <mdsal.model.version>0.11.0-SNAPSHOT</mdsal.model.version>
-    <odlparent.version>1.9.0</odlparent.version>
-    <controller.mdsal.version>1.6.0-SNAPSHOT</controller.mdsal.version>
-    <config.version>0.7.0-SNAPSHOT</config.version>
-    <commons.opendaylight.version>1.9.0-SNAPSHOT</commons.opendaylight.version>
-    <akka.features.version>1.9.0</akka.features.version>
-    <features.file>features.xml</features.file>
-    <config.configfile.directory>etc/opendaylight/karaf</config.configfile.directory>
-    <config.clustering.configfile>05-clustering.xml</config.clustering.configfile>
-    <config.clustered-entity-ownership.configfile>06-clustered-entity-ownership.xml</config.clustered-entity-ownership.configfile>
-    <config.netty.configfile>00-netty.xml</config.netty.configfile>
-    <config.mdsal.configfile>01-md-sal.xml</config.mdsal.configfile>
-  </properties>
+    <groupId>org.opendaylight.controller</groupId>
+    <artifactId>features-mdsal</artifactId>
+    <version>1.6.0-SNAPSHOT</version>
+    <packaging>feature</packaging>
 
-  <dependencyManagement>
     <dependencies>
-      <dependency>
-        <groupId>org.opendaylight.odlparent</groupId>
-        <artifactId>odlparent-artifacts</artifactId>
-        <version>1.9.0</version>
-        <scope>import</scope>
-        <type>pom</type>
-      </dependency>
-      <dependency>
-        <groupId>org.opendaylight.yangtools</groupId>
-        <artifactId>yangtools-artifacts</artifactId>
-        <version>${yangtools.version}</version>
-        <scope>import</scope>
-        <type>pom</type>
-      </dependency>
-      <dependency>
-        <groupId>org.opendaylight.mdsal</groupId>
-        <artifactId>mdsal-artifacts</artifactId>
-        <version>${mdsal.version}</version>
-        <scope>import</scope>
-        <type>pom</type>
-      </dependency>
-       <dependency>
-        <groupId>org.opendaylight.controller</groupId>
-        <artifactId>config-artifacts</artifactId>
-        <version>${config.version}</version>
-        <scope>import</scope>
-        <type>pom</type>
-      </dependency>
-      <dependency>
-        <groupId>org.opendaylight.controller</groupId>
-        <artifactId>mdsal-artifacts</artifactId>
-        <version>${controller.mdsal.version}</version>
-        <scope>import</scope>
-        <type>pom</type>
-      </dependency>
+        <dependency>
+            <groupId>${project.groupId}</groupId>
+            <artifactId>odl-clustering-test-app</artifactId>
+            <version>${project.version}</version>
+            <type>xml</type>
+            <classifier>features</classifier>
+        </dependency>
+        <dependency>
+            <groupId>${project.groupId}</groupId>
+            <artifactId>odl-mdsal-all</artifactId>
+            <version>${project.version}</version>
+            <type>xml</type>
+            <classifier>features</classifier>
+        </dependency>
+        <dependency>
+            <groupId>${project.groupId}</groupId>
+            <artifactId>odl-mdsal-broker</artifactId>
+            <version>${project.version}</version>
+            <type>xml</type>
+            <classifier>features</classifier>
+        </dependency>
+        <dependency>
+            <groupId>${project.groupId}</groupId>
+            <artifactId>odl-mdsal-broker-local</artifactId>
+            <version>${project.version}</version>
+            <type>xml</type>
+            <classifier>features</classifier>
+        </dependency>
+        <dependency>
+            <groupId>${project.groupId}</groupId>
+            <artifactId>odl-mdsal-clustering</artifactId>
+            <version>${project.version}</version>
+            <type>xml</type>
+            <classifier>features</classifier>
+        </dependency>
+        <dependency>
+            <groupId>${project.groupId}</groupId>
+            <artifactId>odl-mdsal-clustering-commons</artifactId>
+            <version>${project.version}</version>
+            <type>xml</type>
+            <classifier>features</classifier>
+        </dependency>
+        <dependency>
+            <groupId>${project.groupId}</groupId>
+            <artifactId>odl-mdsal-common</artifactId>
+            <version>${project.version}</version>
+            <type>xml</type>
+            <classifier>features</classifier>
+        </dependency>
+        <dependency>
+            <groupId>${project.groupId}</groupId>
+            <artifactId>odl-mdsal-distributed-datastore</artifactId>
+            <version>${project.version}</version>
+            <type>xml</type>
+            <classifier>features</classifier>
+        </dependency>
+        <dependency>
+            <groupId>${project.groupId}</groupId>
+            <artifactId>odl-mdsal-remoterpc-connector</artifactId>
+            <version>${project.version}</version>
+            <type>xml</type>
+            <classifier>features</classifier>
+        </dependency>
+        <dependency>
+            <groupId>${project.groupId}</groupId>
+            <artifactId>odl-message-bus-collector</artifactId>
+            <version>${project.version}</version>
+            <type>xml</type>
+            <classifier>features</classifier>
+        </dependency>
+        <dependency>
+            <groupId>${project.groupId}</groupId>
+            <artifactId>odl-toaster</artifactId>
+            <version>${project.version}</version>
+            <type>xml</type>
+            <classifier>features</classifier>
+        </dependency>
     </dependencies>
-  </dependencyManagement>
-
-  <dependencies>
-
-    <dependency>
-      <groupId>net.java.dev.stax-utils</groupId>
-      <artifactId>stax-utils</artifactId>
-    </dependency>
-
-    <dependency>
-      <groupId>org.opendaylight.controller</groupId>
-      <artifactId>blueprint</artifactId>
-      <version>${blueprint.version}</version>
-    </dependency>
-
-    <!-- Required features repositories -->
-    <dependency>
-      <groupId>org.opendaylight.odlparent</groupId>
-      <artifactId>features-odlparent</artifactId>
-      <classifier>features</classifier>
-      <type>xml</type>
-    </dependency>
-    <dependency>
-      <groupId>org.opendaylight.yangtools</groupId>
-      <artifactId>features-yangtools</artifactId>
-      <classifier>features</classifier>
-      <type>xml</type>
-    </dependency>
-    <dependency>
-      <groupId>org.opendaylight.mdsal</groupId>
-      <artifactId>features-mdsal</artifactId>
-      <classifier>features</classifier>
-      <type>xml</type>
-    </dependency>
-    <dependency>
-      <groupId>org.opendaylight.mdsal.model</groupId>
-      <artifactId>features-mdsal-model</artifactId>
-      <classifier>features</classifier>
-      <version>${mdsal.model.version}</version>
-      <type>xml</type>
-    </dependency>
-    <dependency>
-      <groupId>org.opendaylight.odlparent</groupId>
-      <artifactId>features-akka</artifactId>
-      <version>${akka.features.version}</version>
-      <classifier>features</classifier>
-      <type>xml</type>
-    </dependency>
-    <dependency>
-      <groupId>org.opendaylight.controller</groupId>
-      <artifactId>features-config</artifactId>
-      <classifier>features</classifier>
-      <type>xml</type>
-    </dependency>
-    <dependency>
-      <groupId>org.opendaylight.controller</groupId>
-      <artifactId>features-config-persister</artifactId>
-      <classifier>features</classifier>
-      <type>xml</type>
-    </dependency>
-    <dependency>
-      <groupId>org.opendaylight.controller</groupId>
-      <artifactId>features-config-netty</artifactId>
-      <classifier>features</classifier>
-      <type>xml</type>
-    </dependency>
-
-    <dependency>
-      <groupId>org.opendaylight.controller</groupId>
-      <artifactId>md-sal-config</artifactId>
-      <version>${controller.mdsal.version}</version>
-      <type>xml</type>
-      <classifier>config</classifier>
-    </dependency>
-
-    <dependency>
-      <groupId>org.opendaylight.controller</groupId>
-      <artifactId>sal-akka-raft</artifactId>
-      <version>${controller.mdsal.version}</version>
-    </dependency>
-    <dependency>
-      <groupId>org.opendaylight.controller</groupId>
-      <artifactId>sal-common-api</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>org.opendaylight.controller</groupId>
-      <artifactId>sal-common-impl</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>org.opendaylight.controller</groupId>
-      <artifactId>sal-common-util</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>org.opendaylight.controller</groupId>
-      <artifactId>sal-core-spi</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>org.opendaylight.controller</groupId>
-      <artifactId>sal-broker-impl</artifactId>
-    </dependency>
-
-    <dependency>
-      <groupId>org.opendaylight.controller</groupId>
-      <artifactId>sal-binding-api</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>org.opendaylight.controller</groupId>
-      <artifactId>sal-binding-config</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>org.opendaylight.controller</groupId>
-      <artifactId>sal-binding-broker-impl</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>org.opendaylight.controller</groupId>
-      <artifactId>sal-binding-util</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>org.opendaylight.controller</groupId>
-      <artifactId>sal-connector-api</artifactId>
-    </dependency>
-
-    <dependency>
-      <groupId>org.opendaylight.controller</groupId>
-      <artifactId>sal-clustering-commons</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>org.opendaylight.controller</groupId>
-      <artifactId>sal-clustering-config</artifactId>
-      <version>${controller.mdsal.version}</version>
-      <type>xml</type>
-      <classifier>moduleshardconf</classifier>
-    </dependency>
-    <dependency>
-      <groupId>org.opendaylight.controller</groupId>
-      <artifactId>sal-clustering-config</artifactId>
-      <version>${controller.mdsal.version}</version>
-      <type>xml</type>
-      <classifier>moduleconf</classifier>
-    </dependency>
-    <dependency>
-      <groupId>org.opendaylight.controller</groupId>
-      <artifactId>sal-clustering-config</artifactId>
-      <version>${controller.mdsal.version}</version>
-      <type>xml</type>
-      <classifier>akkaconf</classifier>
-    </dependency>
-    <dependency>
-      <groupId>org.opendaylight.controller</groupId>
-      <artifactId>sal-clustering-config</artifactId>
-      <version>${controller.mdsal.version}</version>
-      <type>xml</type>
-      <classifier>factoryakkaconf</classifier>
-    </dependency>
-    <dependency>
-      <groupId>org.opendaylight.controller</groupId>
-      <artifactId>sal-clustering-config</artifactId>
-      <version>${controller.mdsal.version}</version>
-      <type>xml</type>
-      <classifier>config</classifier>
-    </dependency>
-    <dependency>
-      <groupId>org.opendaylight.controller</groupId>
-      <artifactId>sal-clustering-config</artifactId>
-      <version>${controller.mdsal.version}</version>
-      <type>xml</type>
-      <classifier>entityownershipconfig</classifier>
-    </dependency>
-    <dependency>
-      <groupId>org.opendaylight.controller</groupId>
-      <artifactId>sal-clustering-config</artifactId>
-      <version>${controller.mdsal.version}</version>
-      <type>cfg</type>
-      <classifier>datastore</classifier>
-    </dependency>
-    <dependency>
-      <groupId>org.opendaylight.controller</groupId>
-      <artifactId>sal-cluster-admin-api</artifactId>
-      <version>${controller.mdsal.version}</version>
-    </dependency>
-    <dependency>
-      <groupId>org.opendaylight.controller</groupId>
-      <artifactId>sal-cluster-admin-impl</artifactId>
-      <version>${controller.mdsal.version}</version>
-    </dependency>
-    <dependency>
-      <groupId>org.opendaylight.controller</groupId>
-      <artifactId>sal-distributed-datastore</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>org.opendaylight.controller</groupId>
-      <artifactId>sal-dom-broker-config</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>org.opendaylight.controller</groupId>
-      <artifactId>sal-schema-service</artifactId>
-    </dependency>
-
-    <!-- message-bus -->
-    <dependency>
-      <groupId>org.opendaylight.controller</groupId>
-      <artifactId>messagebus-api</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>org.opendaylight.controller</groupId>
-      <artifactId>messagebus-impl</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>org.opendaylight.controller</groupId>
-      <artifactId>messagebus-config</artifactId>
-      <version>${controller.mdsal.version}</version>
-      <type>xml</type>
-      <classifier>config</classifier>
-    </dependency>
-
-    <dependency>
-      <groupId>org.opendaylight.controller</groupId>
-      <artifactId>sal-inmemory-datastore</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>org.opendaylight.controller</groupId>
-      <artifactId>sal-remoterpc-connector</artifactId>
-    </dependency>
-
-    <dependency>
-      <groupId>org.opendaylight.controller.model</groupId>
-      <artifactId>model-inventory</artifactId>
-    </dependency>
-
-    <dependency>
-      <groupId>org.opendaylight.controller.samples</groupId>
-      <artifactId>clustering-it-config</artifactId>
-      <version>${controller.mdsal.version}</version>
-      <type>xml</type>
-      <classifier>testmoduleconf</classifier>
-    </dependency>
-    <dependency>
-      <groupId>org.opendaylight.controller.samples</groupId>
-      <artifactId>clustering-it-config</artifactId>
-      <version>${controller.mdsal.version}</version>
-      <type>xml</type>
-      <classifier>testmoduleshardconf</classifier>
-    </dependency>
-    <dependency>
-      <groupId>org.opendaylight.controller.samples</groupId>
-      <artifactId>clustering-it-model</artifactId>
-      <version>${controller.mdsal.version}</version>
-    </dependency>
-    <dependency>
-      <groupId>org.opendaylight.controller.samples</groupId>
-      <artifactId>clustering-it-provider</artifactId>
-      <version>${controller.mdsal.version}</version>
-    </dependency>
-
-
-    <!-- toaster -->
-    <dependency>
-      <groupId>org.opendaylight.controller.samples</groupId>
-      <artifactId>sample-toaster</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>org.opendaylight.controller.samples</groupId>
-      <artifactId>sample-toaster-consumer</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>org.opendaylight.controller.samples</groupId>
-      <artifactId>sample-toaster-provider</artifactId>
-    </dependency>
-
-  </dependencies>
-
-  <scm>
-    <connection>scm:git:http://git.opendaylight.org/gerrit/controller.git</connection>
-    <developerConnection>scm:git:ssh://git.opendaylight.org:29418/controller.git</developerConnection>
-    <tag>HEAD</tag>
-    <url>https://wiki.opendaylight.org/view/OpenDaylight_Controller:MD-SAL</url>
-  </scm>
 </project>
diff --git a/features/mdsal/features-mdsal/src/main/features/features.xml b/features/mdsal/features-mdsal/src/main/features/features.xml
deleted file mode 100644 (file)
index 00bb515..0000000
+++ /dev/null
@@ -1,125 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<features name="odl-mdsal-${project.version}" xmlns="http://karaf.apache.org/xmlns/features/v1.2.0"
-   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-   xsi:schemaLocation="http://karaf.apache.org/xmlns/features/v1.2.0 http://karaf.apache.org/xmlns/features/v1.2.0">
-
-    <repository>mvn:org.opendaylight.odlparent/features-odlparent/{{VERSION}}/xml/features</repository>
-    <repository>mvn:org.opendaylight.yangtools/features-yangtools/{{VERSION}}/xml/features</repository>
-
-    <repository>mvn:org.opendaylight.mdsal/features-mdsal/{{VERSION}}/xml/features</repository>
-    <repository>mvn:org.opendaylight.mdsal.model/features-mdsal-model/{{VERSION}}/xml/features</repository>
-
-    <repository>mvn:org.opendaylight.controller/features-config/{{VERSION}}/xml/features</repository>
-    <repository>mvn:org.opendaylight.controller/features-config-persister/{{VERSION}}/xml/features</repository>
-    <repository>mvn:org.opendaylight.controller/features-config-netty/{{VERSION}}/xml/features</repository>
-    <repository>mvn:org.opendaylight.odlparent/features-akka/{{VERSION}}/xml/features</repository>
-    <feature name='odl-mdsal-all' version='${project.version}' description="OpenDaylight :: MDSAL :: All">
-        <feature version='${project.version}'>odl-mdsal-broker</feature>
-        <feature version='${project.version}'>odl-mdsal-broker-local</feature>
-        <feature version='${project.version}'>odl-toaster</feature>
-    </feature>
-    <feature name='odl-mdsal-common' version='${project.version}' description="OpenDaylight :: Config :: All">
-      <feature version='${yangtools.version}'>odl-yangtools-yang-data</feature>
-      <feature version='${config.version}'>odl-config-api</feature>
-      <feature version='${mdsal.version}'>odl-mdsal-binding-runtime</feature>
-      <bundle>wrap:mvn:net.java.dev.stax-utils/stax-utils/{{VERSION}}</bundle>
-      <bundle>mvn:org.opendaylight.controller/sal-common-api/{{VERSION}}</bundle>
-      <bundle>mvn:org.opendaylight.controller/sal-common-impl/{{VERSION}}</bundle>
-      <bundle>mvn:org.opendaylight.controller/sal-common-util/{{VERSION}}</bundle>
-    </feature>
-
-    <feature name='odl-mdsal-broker-local' version='${project.version}' description="OpenDaylight :: MDSAL :: Broker">
-        <feature version='${yangtools.version}'>odl-yangtools-common</feature>
-        <feature version='${mdsal.version}'>odl-mdsal-binding-dom-adapter</feature>
-        <feature version='${mdsal.model.version}'>odl-mdsal-models</feature>
-        <feature version='${project.version}'>odl-mdsal-common</feature>
-        <feature version='${config.version}'>odl-config-startup</feature>
-        <feature version='${config.version}'>odl-config-netty</feature>
-        <feature version="${odlparent.version}">odl-lmax-3</feature>
-        <!-- FIXME: Bug 4202: Add MD-SAL provided odl-mdsal-binding-adapter -->
-        <!-- FIXME: Bug 4202: Add MD-SAL provided odl-mdsal-dom-broker -->
-        <feature version='${mdsal.version}'>odl-mdsal-dom</feature>
-        <feature version='${mdsal.version}'>odl-mdsal-eos-dom</feature>
-        <feature version='${mdsal.version}'>odl-mdsal-eos-binding</feature>
-        <feature version='${mdsal.version}'>odl-mdsal-singleton-dom</feature>
-        <bundle>mvn:org.opendaylight.controller/sal-core-api/{{VERSION}}</bundle>
-        <bundle>mvn:org.opendaylight.controller/sal-core-spi/{{VERSION}}</bundle>
-        <bundle start-level="70">mvn:org.opendaylight.controller/sal-schema-service/{{VERSION}}</bundle>
-        <bundle>mvn:org.opendaylight.controller/sal-broker-impl/{{VERSION}}</bundle>
-        <bundle>mvn:org.opendaylight.controller/sal-binding-api/{{VERSION}}</bundle>
-        <bundle>mvn:org.opendaylight.controller/sal-binding-broker-impl/{{VERSION}}</bundle>
-        <bundle>mvn:org.opendaylight.controller/sal-binding-util/{{VERSION}}</bundle>
-        <bundle>mvn:org.opendaylight.controller/sal-connector-api/{{VERSION}}</bundle>
-        <bundle>mvn:org.opendaylight.controller/sal-dom-config/{{VERSION}}</bundle>
-        <bundle>mvn:org.opendaylight.controller/sal-binding-config/{{VERSION}}</bundle>
-        <bundle>mvn:org.opendaylight.controller/sal-inmemory-datastore/{{VERSION}}</bundle>
-        <bundle>mvn:org.opendaylight.controller/sal-dom-broker-config/{{VERSION}}</bundle>
-        <bundle start-level="40">mvn:org.opendaylight.controller/blueprint/{{VERSION}}</bundle>
-        <configfile finalname="${config.configfile.directory}/${config.mdsal.configfile}" override="true">mvn:org.opendaylight.controller/md-sal-config/{{VERSION}}/xml/config</configfile>
-    </feature>
-    <feature name='odl-toaster' version='${project.version}' description="OpenDaylight :: Toaster">
-        <feature version='${yangtools.version}'>odl-yangtools-common</feature>
-        <feature version='${mdsal.version}'>odl-mdsal-binding-runtime</feature>
-        <feature version='${project.version}'>odl-mdsal-broker</feature>
-        <bundle>mvn:org.opendaylight.controller.samples/sample-toaster/{{VERSION}}</bundle>
-        <bundle>mvn:org.opendaylight.controller.samples/sample-toaster-consumer/{{VERSION}}</bundle>
-        <bundle>mvn:org.opendaylight.controller.samples/sample-toaster-provider/{{VERSION}}</bundle>
-    </feature>
-    <feature name ='odl-mdsal-clustering-commons' version='${project.version}'>
-        <feature version='${project.version}'>odl-mdsal-broker-local</feature>
-        <feature version="${odlparent.version}">odl-akka-system-2.4</feature>
-        <feature version="${odlparent.version}">odl-akka-persistence-2.4</feature>
-        <feature version="${odlparent.version}">odl-akka-clustering-2.4</feature>
-        <bundle>mvn:org.opendaylight.controller/sal-clustering-commons/{{VERSION}}</bundle>
-        <bundle>mvn:org.opendaylight.controller/sal-akka-raft/{{VERSION}}</bundle>
-        <bundle>mvn:io.dropwizard.metrics/metrics-core/{{VERSION}}</bundle>
-    </feature>
-    <feature name ='odl-mdsal-distributed-datastore' version='${project.version}'>
-        <feature version='${project.version}'>odl-mdsal-broker-local</feature>
-        <feature version='${project.version}'>odl-mdsal-clustering-commons</feature>
-        <bundle>mvn:org.opendaylight.controller/cds-access-api/{{VERSION}}</bundle>
-        <bundle>mvn:org.opendaylight.controller/cds-access-client/{{VERSION}}</bundle>
-        <bundle>mvn:org.opendaylight.controller/cds-dom-api/{{VERSION}}</bundle>
-        <bundle>mvn:org.opendaylight.controller/sal-distributed-datastore/{{VERSION}}</bundle>
-        <bundle>mvn:org.opendaylight.controller/sal-cluster-admin-api/{{VERSION}}</bundle>
-        <bundle>mvn:org.opendaylight.controller/sal-cluster-admin-impl/{{VERSION}}</bundle>
-    </feature>
-    <feature name ='odl-mdsal-remoterpc-connector' version='${project.version}'>
-        <feature version='${project.version}'>odl-mdsal-broker-local</feature>
-        <feature version='${project.version}'>odl-mdsal-clustering-commons</feature>
-        <feature version="${odlparent.version}">odl-akka-leveldb-0.7</feature>
-        <bundle>mvn:org.opendaylight.controller/sal-remoterpc-connector/{{VERSION}}</bundle>
-    </feature>
-    <feature name ='odl-mdsal-broker' version='${project.version}'>
-        <feature version='${project.version}'>odl-mdsal-remoterpc-connector</feature>
-        <feature version='${project.version}'>odl-mdsal-distributed-datastore</feature>
-        <configfile finalname="${config.configfile.directory}/${config.clustering.configfile}" override="true" >mvn:org.opendaylight.controller/sal-clustering-config/{{VERSION}}/xml/config</configfile>
-        <configfile finalname="${config.configfile.directory}/${config.clustered-entity-ownership.configfile}">mvn:org.opendaylight.controller/sal-clustering-config/{{VERSION}}/xml/entityownershipconfig</configfile>
-        <configfile finalname="configuration/initial/akka.conf">mvn:org.opendaylight.controller/sal-clustering-config/{{VERSION}}/xml/akkaconf</configfile>
-        <configfile finalname="configuration/factory/akka.conf" override="true">mvn:org.opendaylight.controller/sal-clustering-config/{{VERSION}}/xml/factoryakkaconf</configfile>
-        <configfile finalname="configuration/initial/module-shards.conf">mvn:org.opendaylight.controller/sal-clustering-config/{{VERSION}}/xml/moduleshardconf</configfile>
-        <configfile finalname="configuration/initial/modules.conf">mvn:org.opendaylight.controller/sal-clustering-config/{{VERSION}}/xml/moduleconf</configfile>
-        <configfile finalname="etc/org.opendaylight.controller.cluster.datastore.cfg">mvn:org.opendaylight.controller/sal-clustering-config/{{VERSION}}/cfg/datastore</configfile>
-    </feature>
-    <feature name ='odl-mdsal-clustering' version='${project.version}'>
-      <feature version='${project.version}'>odl-mdsal-broker</feature>
-    </feature>
-    <feature name='odl-clustering-test-app' version='${project.version}'>
-        <feature version='${mdsal.model.version}'>odl-mdsal-models</feature>
-        <feature version='${project.version}'>odl-mdsal-broker</feature>
-        <bundle>mvn:org.opendaylight.controller.samples/clustering-it-model/{{VERSION}}</bundle>
-        <bundle>mvn:org.opendaylight.controller.samples/clustering-it-provider/{{VERSION}}</bundle>
-    </feature>
-
-    <feature name='odl-message-bus-collector' version='${project.version}'>
-        <!-- FIXME: Bug 4202: Switch to MD-SAL provided odl-mdsal-binding-base -->
-        <bundle>mvn:org.opendaylight.controller.model/model-inventory/{{VERSION}}</bundle>
-        <feature version='${project.version}'>odl-mdsal-broker</feature>
-        <bundle>mvn:org.opendaylight.controller/messagebus-api/{{VERSION}}</bundle>
-        <bundle>mvn:org.opendaylight.controller/messagebus-spi/{{VERSION}}</bundle>
-        <bundle>mvn:org.opendaylight.controller/messagebus-util/{{VERSION}}</bundle>
-        <bundle>mvn:org.opendaylight.controller/messagebus-impl/{{VERSION}}</bundle>
-        <configfile finalname="${config.configfile.directory}/05-message-bus.xml">mvn:org.opendaylight.controller/messagebus-config/{{VERSION}}/xml/config</configfile>
-    </feature>
-</features>
diff --git a/features/mdsal/features4-mdsal/pom.xml b/features/mdsal/features4-mdsal/pom.xml
deleted file mode 100644 (file)
index 45d8431..0000000
+++ /dev/null
@@ -1,105 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Copyright Â© 2016, 2017 Red Hat, Inc. and others.
-
- 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.odlparent</groupId>
-        <artifactId>feature-repo-parent</artifactId>
-        <version>1.9.0</version>
-        <relativePath/>
-    </parent>
-
-    <groupId>org.opendaylight.controller</groupId>
-    <artifactId>features4-mdsal</artifactId>
-    <version>1.6.0-SNAPSHOT</version>
-    <packaging>feature</packaging>
-
-    <dependencies>
-        <dependency>
-            <groupId>${project.groupId}</groupId>
-            <artifactId>odl-clustering-test-app</artifactId>
-            <version>${project.version}</version>
-            <type>xml</type>
-            <classifier>features</classifier>
-        </dependency>
-        <dependency>
-            <groupId>${project.groupId}</groupId>
-            <artifactId>odl-mdsal-all</artifactId>
-            <version>${project.version}</version>
-            <type>xml</type>
-            <classifier>features</classifier>
-        </dependency>
-        <dependency>
-            <groupId>${project.groupId}</groupId>
-            <artifactId>odl-mdsal-broker</artifactId>
-            <version>${project.version}</version>
-            <type>xml</type>
-            <classifier>features</classifier>
-        </dependency>
-        <dependency>
-            <groupId>${project.groupId}</groupId>
-            <artifactId>odl-mdsal-broker-local</artifactId>
-            <version>${project.version}</version>
-            <type>xml</type>
-            <classifier>features</classifier>
-        </dependency>
-        <dependency>
-            <groupId>${project.groupId}</groupId>
-            <artifactId>odl-mdsal-clustering</artifactId>
-            <version>${project.version}</version>
-            <type>xml</type>
-            <classifier>features</classifier>
-        </dependency>
-        <dependency>
-            <groupId>${project.groupId}</groupId>
-            <artifactId>odl-mdsal-clustering-commons</artifactId>
-            <version>${project.version}</version>
-            <type>xml</type>
-            <classifier>features</classifier>
-        </dependency>
-        <dependency>
-            <groupId>${project.groupId}</groupId>
-            <artifactId>odl-mdsal-common</artifactId>
-            <version>${project.version}</version>
-            <type>xml</type>
-            <classifier>features</classifier>
-        </dependency>
-        <dependency>
-            <groupId>${project.groupId}</groupId>
-            <artifactId>odl-mdsal-distributed-datastore</artifactId>
-            <version>${project.version}</version>
-            <type>xml</type>
-            <classifier>features</classifier>
-        </dependency>
-        <dependency>
-            <groupId>${project.groupId}</groupId>
-            <artifactId>odl-mdsal-remoterpc-connector</artifactId>
-            <version>${project.version}</version>
-            <type>xml</type>
-            <classifier>features</classifier>
-        </dependency>
-        <dependency>
-            <groupId>${project.groupId}</groupId>
-            <artifactId>odl-message-bus-collector</artifactId>
-            <version>${project.version}</version>
-            <type>xml</type>
-            <classifier>features</classifier>
-        </dependency>
-        <dependency>
-            <groupId>${project.groupId}</groupId>
-            <artifactId>odl-toaster</artifactId>
-            <version>${project.version}</version>
-            <type>xml</type>
-            <classifier>features</classifier>
-        </dependency>
-    </dependencies>
-</project>
index 93eecc9ea217ebc15f447f9cbc81d4629ccca0eb..b1a4f96bb361b77236ace9fdd7137fdfa6cc9ce2 100644 (file)
@@ -14,7 +14,7 @@
     <parent>
         <groupId>org.opendaylight.odlparent</groupId>
         <artifactId>single-feature-parent</artifactId>
-        <version>1.9.0</version>
+        <version>2.0.0</version>
         <relativePath/>
     </parent>
 
index cd044c9a5ad99d57182273ce5afe21f2eefb4f75..fc706706d86a511f96aee057779061938af08a92 100644 (file)
@@ -14,7 +14,7 @@
     <parent>
         <groupId>org.opendaylight.odlparent</groupId>
         <artifactId>single-feature-parent</artifactId>
-        <version>1.9.0</version>
+        <version>2.0.0</version>
         <relativePath/>
     </parent>
 
index fe7dbf83ca1f4b59bb0888be625f36fa2d3ae1eb..7334bb07d806e4784b1390e1fd8b95cd09f61732 100644 (file)
@@ -14,7 +14,7 @@
     <parent>
         <groupId>org.opendaylight.odlparent</groupId>
         <artifactId>single-feature-parent</artifactId>
-        <version>1.9.0</version>
+        <version>2.0.0</version>
         <relativePath/>
     </parent>
 
@@ -36,7 +36,7 @@
             <dependency>
                 <groupId>org.opendaylight.odlparent</groupId>
                 <artifactId>odlparent-artifacts</artifactId>
-                <version>1.9.0</version>
+                <version>2.0.0</version>
                 <type>pom</type>
                 <scope>import</scope>
             </dependency>
         </dependency>
         <dependency>
             <groupId>org.opendaylight.odlparent</groupId>
-            <artifactId>odl4-lmax-3</artifactId>
+            <artifactId>odl-lmax-3</artifactId>
             <type>xml</type>
             <classifier>features</classifier>
         </dependency>
         </dependency>
     </dependencies>
 
-</project>
\ No newline at end of file
+</project>
index 8fa01f53acf3adb3bada1597477d2602758d587e..940f78f56cdfc80ed5bd0131b499e05efa77d00d 100644 (file)
@@ -14,7 +14,7 @@
     <parent>
         <groupId>org.opendaylight.odlparent</groupId>
         <artifactId>single-feature-parent</artifactId>
-        <version>1.9.0</version>
+        <version>2.0.0</version>
         <relativePath/>
     </parent>
 
index 88daffa735132a5cf8746a093833ae514e0cd293..7b5e41b3794c577d91ba39abae402e7ed67fb1e7 100644 (file)
@@ -14,7 +14,7 @@
     <parent>
         <groupId>org.opendaylight.odlparent</groupId>
         <artifactId>single-feature-parent</artifactId>
-        <version>1.9.0</version>
+        <version>2.0.0</version>
         <relativePath/>
     </parent>
 
@@ -28,7 +28,7 @@
             <dependency>
                 <groupId>org.opendaylight.odlparent</groupId>
                 <artifactId>odlparent-artifacts</artifactId>
-                <version>1.9.0</version>
+                <version>2.0.0</version>
                 <type>pom</type>
                 <scope>import</scope>
             </dependency>
         </dependency>
         <dependency>
             <groupId>org.opendaylight.odlparent</groupId>
-            <artifactId>odl4-akka-system-2.4</artifactId>
+            <artifactId>odl-akka-system-2.4</artifactId>
             <type>xml</type>
             <classifier>features</classifier>
         </dependency>
         <dependency>
             <groupId>org.opendaylight.odlparent</groupId>
-            <artifactId>odl4-akka-persistence-2.4</artifactId>
+            <artifactId>odl-akka-persistence-2.4</artifactId>
             <type>xml</type>
             <classifier>features</classifier>
         </dependency>
         <dependency>
             <groupId>org.opendaylight.odlparent</groupId>
-            <artifactId>odl4-akka-clustering-2.4</artifactId>
+            <artifactId>odl-akka-clustering-2.4</artifactId>
             <type>xml</type>
             <classifier>features</classifier>
         </dependency>
@@ -77,4 +77,4 @@
         </dependency>
     </dependencies>
 
-</project>
\ No newline at end of file
+</project>
index ff3e6eac2e001fe287e2966c441797ed69834159..685fec578d773314ebced1f6a44fae6d084eebdd 100644 (file)
@@ -14,7 +14,7 @@
     <parent>
         <groupId>org.opendaylight.odlparent</groupId>
         <artifactId>single-feature-parent</artifactId>
-        <version>1.9.0</version>
+        <version>2.0.0</version>
         <relativePath/>
     </parent>
 
index 40e84f453f4708bdc091b84daa5a9db12633a5a4..d18464af9efba3028f09c375a2c22c9cfc8963e2 100644 (file)
@@ -14,7 +14,7 @@
     <parent>
         <groupId>org.opendaylight.odlparent</groupId>
         <artifactId>single-feature-parent</artifactId>
-        <version>1.9.0</version>
+        <version>2.0.0</version>
         <relativePath/>
     </parent>
 
index c03b154f39ff7a617701896e5a0cf9ba9abc96e3..370004fa08bbce27613c3ccb7e12b59ea9b17f62 100644 (file)
@@ -14,7 +14,7 @@
     <parent>
         <groupId>org.opendaylight.odlparent</groupId>
         <artifactId>single-feature-parent</artifactId>
-        <version>1.9.0</version>
+        <version>2.0.0</version>
         <relativePath/>
     </parent>
 
index 80fb3b6a39928efb2f5750c3312d3f463fb8592f..4e3a94aab59871312f6e60aa7fc3da3fdaac6a1d 100644 (file)
@@ -14,7 +14,7 @@
     <parent>
         <groupId>org.opendaylight.odlparent</groupId>
         <artifactId>single-feature-parent</artifactId>
-        <version>1.9.0</version>
+        <version>2.0.0</version>
         <relativePath/>
     </parent>
 
@@ -40,8 +40,8 @@
         </dependency>
         <dependency>
             <groupId>org.opendaylight.odlparent</groupId>
-            <artifactId>odl4-akka-leveldb-0.7</artifactId>
-            <version>1.9.0</version>
+            <artifactId>odl-akka-leveldb-0.7</artifactId>
+            <version>2.0.0</version>
             <type>xml</type>
             <classifier>features</classifier>
         </dependency>
@@ -51,4 +51,4 @@
             <version>${project.version}</version>
         </dependency>
     </dependencies>
-</project>
\ No newline at end of file
+</project>
index c5aa9df70e81fae9d90ed74894b30cc7c7695c4c..334285c20d3a68d0db47c79a112907b3f6633e84 100644 (file)
@@ -14,7 +14,7 @@
     <parent>
         <groupId>org.opendaylight.odlparent</groupId>
         <artifactId>single-feature-parent</artifactId>
-        <version>1.9.0</version>
+        <version>2.0.0</version>
         <relativePath/>
     </parent>
 
index a5e745b91e07bda6bf682ede87c724d741e18d28..6797fc3781c9a02a195911c1c92c7d3446334398 100644 (file)
@@ -14,7 +14,7 @@
     <parent>
         <groupId>org.opendaylight.odlparent</groupId>
         <artifactId>single-feature-parent</artifactId>
-        <version>1.9.0</version>
+        <version>2.0.0</version>
         <relativePath/>
     </parent>
 
index d4cc76274fef01f1fbf0e8b916b7d9e3882d2caa..8b29fe941c20f6947730c5e389f046a17cc44ad5 100644 (file)
@@ -12,7 +12,7 @@
     <parent>
         <groupId>org.opendaylight.odlparent</groupId>
         <artifactId>odlparent-lite</artifactId>
-        <version>1.9.0</version>
+        <version>2.0.0</version>
         <relativePath/>
     </parent>
 
@@ -24,7 +24,6 @@
 
     <modules>
         <module>features-mdsal</module>
-        <module>features4-mdsal</module>
         <module>odl-clustering-test-app</module>
         <module>odl-mdsal-all</module>
         <module>odl-mdsal-broker</module>
index 62f88f11d6fd07ed078fde0aecf928d856913116..5f09aa9a5bc3cb7423f6cf7ebe0b948b0fa23ad5 100644 (file)
@@ -4,7 +4,7 @@
   <parent>
     <groupId>org.opendaylight.odlparent</groupId>
     <artifactId>odlparent-lite</artifactId>
-    <version>1.9.0</version>
+    <version>2.0.0</version>
     <relativePath/>
   </parent>
 
index c9ed8f68ac82189607b86d63c13a30b832ee4495..13d297e593811978f8d410772f0a81f26ba59680 100644 (file)
@@ -1,47 +1,36 @@
 <?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>features-parent</artifactId>
-    <version>1.9.0</version>
-    <relativePath/>
-  </parent>
+<!--
+ Copyright Â© 2016, 2017 Red Hat, Inc. and others.
 
-  <groupId>org.opendaylight.controller</groupId>
-  <artifactId>features-protocol-framework</artifactId>
-  <version>0.10.0-SNAPSHOT</version>
-  <packaging>jar</packaging>
+ 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>
 
-  <properties>
-    <config.version>0.7.0-SNAPSHOT</config.version>
-  </properties>
+    <parent>
+        <groupId>org.opendaylight.odlparent</groupId>
+        <artifactId>feature-repo-parent</artifactId>
+        <version>2.0.0</version>
+        <relativePath/>
+    </parent>
+
+    <groupId>org.opendaylight.controller</groupId>
+    <artifactId>features-protocol-framework</artifactId>
+    <version>0.10.0-SNAPSHOT</version>
+    <packaging>feature</packaging>
+
+    <dependencies>
+        <dependency>
+            <groupId>org.opendaylight.controller</groupId>
+            <artifactId>odl-protocol-framework</artifactId>
+            <version>0.10.0-SNAPSHOT</version>
+            <type>xml</type>
+            <classifier>features</classifier>
+        </dependency>
+    </dependencies>
 
-  <dependencies>
-    <dependency>
-      <groupId>org.opendaylight.controller</groupId>
-      <artifactId>features-config</artifactId>
-      <classifier>features</classifier>
-      <version>${config.version}</version>
-      <type>xml</type>
-    </dependency>
-    <dependency>
-      <groupId>org.opendaylight.controller</groupId>
-      <artifactId>features-config-netty</artifactId>
-      <version>${config.version}</version>
-      <classifier>features</classifier>
-      <type>xml</type>
-    </dependency>
-    <dependency>
-      <groupId>org.opendaylight.controller</groupId>
-      <artifactId>protocol-framework</artifactId>
-      <version>${project.version}</version>
-    </dependency>
-  </dependencies>
-  <scm>
-    <connection>scm:git:http://git.opendaylight.org/gerrit/controller.git</connection>
-    <developerConnection>scm:git:ssh://git.opendaylight.org:29418/controller.git</developerConnection>
-    <tag>HEAD</tag>
-    <url>https://wiki.opendaylight.org/view/OpenDaylight_Controller:MD-SAL</url>
-  </scm>
 </project>
diff --git a/features/protocol-framework/features-protocol-framework/src/main/features/features.xml b/features/protocol-framework/features-protocol-framework/src/main/features/features.xml
deleted file mode 100644 (file)
index 01ff469..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<features name="odl-protocol-framework-${project.version}" xmlns="http://karaf.apache.org/xmlns/features/v1.2.0"
-          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-          xsi:schemaLocation="http://karaf.apache.org/xmlns/features/v1.2.0 http://karaf.apache.org/xmlns/features/v1.2.0">
-  <repository>mvn:org.opendaylight.controller/features-config/{{VERSION}}/xml/features</repository>
-  <repository>mvn:org.opendaylight.controller/features-config-netty/{{VERSION}}/xml/features</repository>
-  <feature name='odl-protocol-framework' version='${project.version}' description="OpenDaylight :: Protocol Framework">
-    <feature version='${config.version}'>odl-config-api</feature>
-    <feature version='${config.version}'>odl-config-netty-config-api</feature>
-    <bundle>mvn:org.opendaylight.controller/protocol-framework/{{VERSION}}</bundle>
-  </feature>
-</features>
diff --git a/features/protocol-framework/features4-protocol-framework/pom.xml b/features/protocol-framework/features4-protocol-framework/pom.xml
deleted file mode 100644 (file)
index ad8bf68..0000000
+++ /dev/null
@@ -1,36 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Copyright Â© 2016, 2017 Red Hat, Inc. and others.
-
- 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.odlparent</groupId>
-        <artifactId>feature-repo-parent</artifactId>
-        <version>1.9.0</version>
-        <relativePath/>
-    </parent>
-
-    <groupId>org.opendaylight.controller</groupId>
-    <artifactId>features4-protocol-framework</artifactId>
-    <version>0.10.0-SNAPSHOT</version>
-    <packaging>feature</packaging>
-
-    <dependencies>
-        <dependency>
-            <groupId>org.opendaylight.controller</groupId>
-            <artifactId>odl-protocol-framework</artifactId>
-            <version>0.10.0-SNAPSHOT</version>
-            <type>xml</type>
-            <classifier>features</classifier>
-        </dependency>
-    </dependencies>
-
-</project>
\ No newline at end of file
index b6a754a1a5be48100625401ef9930b9ac94d06ee..5e54f4e53c1e91ac3403eb5ad371f1a8eb2963c2 100644 (file)
@@ -14,7 +14,7 @@
     <parent>
         <groupId>org.opendaylight.odlparent</groupId>
         <artifactId>single-feature-parent</artifactId>
-        <version>1.9.0</version>
+        <version>2.0.0</version>
         <relativePath/>
     </parent>
 
index e422061221a34d300851e707cf84f03ed9eb8b75..afc0fd9d1c691156a6d838f284aff19c58b0bc6b 100644 (file)
@@ -12,7 +12,7 @@
     <parent>
         <groupId>org.opendaylight.odlparent</groupId>
         <artifactId>odlparent-lite</artifactId>
-        <version>1.9.0</version>
+        <version>2.0.0</version>
         <relativePath/>
     </parent>
 
@@ -23,7 +23,6 @@
 
     <modules>
         <module>features-protocol-framework</module>
-        <module>features4-protocol-framework</module>
         <module>odl-protocol-framework</module>
     </modules>
 
diff --git a/karaf/karaf-parent/pom.xml b/karaf/karaf-parent/pom.xml
deleted file mode 100644 (file)
index e343943..0000000
+++ /dev/null
@@ -1,24 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-Copyright (c) 2014 Cisco Systems, Inc. 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">
-  <parent>
-    <groupId>org.opendaylight.odlparent</groupId>
-    <artifactId>karaf-parent</artifactId>
-    <version>1.9.0</version>
-    <relativePath/>
-  </parent>
-  <modelVersion>4.0.0</modelVersion>
-  <groupId>org.opendaylight.controller</groupId>
-  <artifactId>karaf-parent</artifactId>
-  <version>1.9.0-SNAPSHOT</version>
-  <name>${project.artifactId}</name>
-  <packaging>pom</packaging>
-
-</project>
index 47797e77c70b5778decee87adef1434649ac1f54..deba74b67c7bd3ea53e339ee798ec129b678ebc1 100644 (file)
@@ -3,10 +3,11 @@
   <modelVersion>4.0.0</modelVersion>
   <parent>
     <groupId>org.opendaylight.odlparent</groupId>
-    <artifactId>karaf-parent</artifactId>
-    <version>1.9.0</version>
+    <artifactId>karaf4-parent</artifactId>
+    <version>2.0.0</version>
     <relativePath/>
   </parent>
+
   <groupId>org.opendaylight.controller</groupId>
   <artifactId>distribution.opendaylight-karaf</artifactId>
   <version>1.9.0-SNAPSHOT</version>
index 6c1563d36554789eb60e4d3d577dc6339198b271..d571aa0d3dafef0e14fabcb04baa91ecb0e96e0e 100644 (file)
@@ -12,15 +12,17 @@ and is available at http://www.eclipse.org/legal/epl-v10.html
   <parent>
     <groupId>org.opendaylight.odlparent</groupId>
     <artifactId>odlparent-lite</artifactId>
-    <version>1.9.0</version>
+    <version>2.0.0</version>
     <relativePath/>
   </parent>
+
   <groupId>org.opendaylight.controller</groupId>
   <artifactId>karaf-aggregator</artifactId>
   <version>1.5.0-SNAPSHOT</version>
   <packaging>pom</packaging>
+
   <modules>
-    <module>karaf-parent</module>
-    <module>opendaylight-karaf</module>
+    <!-- FIXME: re-enable this once we are on 2.0.0
+    <module>opendaylight-karaf</module-->
   </modules>
 </project>
index f31eb3b5d887eafc590cb526a79f465b6e7e1ccc..9b17f6f902642bbfe9629462b36141644a2147d2 100644 (file)
@@ -17,7 +17,7 @@ and is available at http://www.eclipse.org/legal/epl-v10.html
   <parent>
     <groupId>org.opendaylight.odlparent</groupId>
     <artifactId>odlparent-lite</artifactId>
-    <version>1.9.0</version>
+    <version>2.0.0</version>
     <relativePath/>
   </parent>
 
index 0f0046da83fabe8a6b6dcc941077d9b6a19a7a1a..cd39f56d5ebae2d731d86f2f28a2c1ecbab17c98 100644 (file)
@@ -17,7 +17,7 @@ and is available at http://www.eclipse.org/legal/epl-v10.html INTERNAL
   <parent>
     <groupId>org.opendaylight.odlparent</groupId>
     <artifactId>features-parent</artifactId>
-    <version>1.9.0</version>
+    <version>2.0.0</version>
     <relativePath/>
   </parent>
 
index 149241dfa63417be2583cf5eebb77f8b1de16ed3..5093f84cd237200a64f515914939a9bd9e7a7ed4 100644 (file)
@@ -16,7 +16,7 @@ and is available at http://www.eclipse.org/legal/epl-v10.html INTERNAL
   <parent>
     <groupId>org.opendaylight.odlparent</groupId>
     <artifactId>karaf-parent</artifactId>
-    <version>1.9.0</version>
+    <version>2.0.0</version>
   </parent>
 
   <groupId>${groupId}</groupId>
index d4a8d5e08c8b3295c86e77b8555120d0e52942c8..5f205c0eddd08f2608a64e026c8f084809aca0c7 100644 (file)
@@ -11,7 +11,7 @@ and is available at http://www.eclipse.org/legal/epl-v10.html INTERNAL
   <parent>
     <groupId>org.opendaylight.odlparent</groupId>
     <artifactId>odlparent</artifactId>
-    <version>1.9.0</version>
+    <version>2.0.0</version>
     <relativePath/>
   </parent>
 
index 0618446d1ed392d35ec0bbdc834c6b902693a720..e0a7180bd32bc0a9523546ea0d2431a8b7b0e761 100644 (file)
@@ -5,7 +5,7 @@
   <parent>
     <groupId>org.opendaylight.odlparent</groupId>
     <artifactId>odlparent</artifactId>
-    <version>1.9.0</version>
+    <version>2.0.0</version>
     <relativePath/>
   </parent>
 
index 9bb8ce8737e6e742cf0b5d9530713a4fe86272d9..c030bfbc96e894bd1c52dffeb117c04596f7c532 100644 (file)
@@ -5,7 +5,7 @@
   <parent>
     <groupId>org.opendaylight.odlparent</groupId>
     <artifactId>bundle-parent</artifactId>
-    <version>1.9.0</version>
+    <version>2.0.0</version>
     <relativePath/>
   </parent>
 
index 77d5c7d8b739bcafa57c25defbefb4a382f11767..aa6737feca3285c96555b582c2ab6a49a2a5cff3 100644 (file)
@@ -4,7 +4,7 @@
   <parent>
     <groupId>org.opendaylight.odlparent</groupId>
     <artifactId>odlparent</artifactId>
-    <version>1.9.0</version>
+    <version>2.0.0</version>
     <relativePath/>
   </parent>
 
index 17953ac0be3cc07f66f828a10d195942ef2d6801..a1687b6845687a391b749ba46ed247cf0a9ad0bd 100644 (file)
@@ -5,7 +5,7 @@
   <parent>
     <groupId>org.opendaylight.odlparent</groupId>
     <artifactId>bundle-parent</artifactId>
-    <version>1.9.0</version>
+    <version>2.0.0</version>
     <relativePath/>
   </parent>
 
index af006c71428d3c77043aefa5671fcc2f4a33b25f..3ed2b0b5ed5163b74dc9bd45a31b6992d69bee66 100644 (file)
@@ -4,7 +4,7 @@
   <parent>
     <groupId>org.opendaylight.odlparent</groupId>
     <artifactId>odlparent</artifactId>
-    <version>1.9.0</version>
+    <version>2.0.0</version>
     <relativePath/>
   </parent>
   <groupId>org.opendaylight.controller</groupId>
index 314fdea7ccd7037df9ff6ea1ca3a2d15b2d6a2c2..570ae8148ed10399a1d2597387fd7c6455dd3f39 100644 (file)
@@ -7,7 +7,7 @@
   <parent>
     <groupId>org.opendaylight.odlparent</groupId>
     <artifactId>bundle-parent</artifactId>
-    <version>1.9.0</version>
+    <version>2.0.0</version>
     <relativePath/>
   </parent>
 
index 2d40551d0c5b63af16b734509151ae77998bfaaf..b70b3da53d338857a77b900603636b6860131b67 100644 (file)
                 <artifactId>config-persister-feature-adapter</artifactId>
                 <version>${project.version}</version>
             </dependency>
-            <dependency>
-                <groupId>${project.groupId}</groupId>
-                <artifactId>config-persister-feature4-adapter</artifactId>
-                <version>${project.version}</version>
-            </dependency>
             <dependency>
                 <groupId>${project.groupId}</groupId>
                 <artifactId>config-persister-file-adapter</artifactId>
index cf62269e501a82a8208a9219adf2cc5e8d63a695..ef0d04afa94d2b4bc388599162cc6c04b88299f5 100644 (file)
@@ -19,7 +19,7 @@ and is available at http://www.eclipse.org/legal/epl-v10.html
   <packaging>bundle</packaging>
 
   <properties>
-    <opendaylight.karaf.version>1.9.0</opendaylight.karaf.version>
+    <opendaylight.karaf.version>2.0.0</opendaylight.karaf.version>
   </properties>
 
   <dependencyManagement>
index 46e45f6e491259dfe855e0810c1622ac6cb0a55c..e173abe80e5543ce91201ef907de0a6bc9ab67f3 100644 (file)
@@ -13,7 +13,7 @@
     <parent>
         <groupId>org.opendaylight.odlparent</groupId>
         <artifactId>bundle-parent</artifactId>
-        <version>1.9.0</version>
+        <version>2.0.0</version>
         <relativePath/>
     </parent>
 
index 7e33ceea2a424543be139dc0641ea9bd9f2c163a..bce4d3c0c51ab9c884fea5cad29399cdcac88dfb 100644 (file)
@@ -19,11 +19,15 @@ import javax.xml.bind.JAXBException;
 import javax.xml.parsers.DocumentBuilderFactory;
 import javax.xml.stream.XMLStreamException;
 import org.apache.karaf.features.BundleInfo;
+import org.apache.karaf.features.Capability;
 import org.apache.karaf.features.Conditional;
 import org.apache.karaf.features.ConfigFileInfo;
 import org.apache.karaf.features.ConfigInfo;
 import org.apache.karaf.features.Dependency;
 import org.apache.karaf.features.Feature;
+import org.apache.karaf.features.Library;
+import org.apache.karaf.features.Requirement;
+import org.apache.karaf.features.Scoping;
 import org.opendaylight.controller.config.persist.storage.file.xml.model.ConfigSnapshot;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -151,139 +155,114 @@ public class AbstractFeatureWrapper implements Feature {
         return feature.getName();
     }
 
-    /**
-     * @return
-     * @see org.apache.karaf.features.Feature#getId()
-     */
     @Override
     public String getId() {
         return feature.getId();
     }
 
-    /**
-     * @return
-     * @see org.apache.karaf.features.Feature#getName()
-     */
     @Override
     public String getName() {
         return feature.getName();
     }
 
-    /**
-     * @return
-     * @see org.apache.karaf.features.Feature#getDescription()
-     */
     @Override
     public String getDescription() {
         return feature.getDescription();
     }
 
-    /**
-     * @return
-     * @see org.apache.karaf.features.Feature#getDetails()
-     */
     @Override
     public String getDetails() {
         return feature.getDetails();
     }
 
-    /**
-     * @return
-     * @see org.apache.karaf.features.Feature#getVersion()
-     */
     @Override
     public String getVersion() {
         return feature.getVersion();
     }
 
-    /**
-     * @return
-     * @see org.apache.karaf.features.Feature#hasVersion()
-     */
     @Override
     public boolean hasVersion() {
         return feature.hasVersion();
     }
 
-    /**
-     * @return
-     * @see org.apache.karaf.features.Feature#getResolver()
-     */
     @Override
     public String getResolver() {
         return feature.getResolver();
     }
 
-    /**
-     * @return
-     * @see org.apache.karaf.features.Feature#getInstall()
-     */
     @Override
     public String getInstall() {
         return feature.getInstall();
     }
 
-    /**
-     * @return
-     * @see org.apache.karaf.features.Feature#getDependencies()
-     */
     @Override
     public List<Dependency> getDependencies() {
         return feature.getDependencies();
     }
 
-    /**
-     * @return
-     * @see org.apache.karaf.features.Feature#getBundles()
-     */
     @Override
     public List<BundleInfo> getBundles() {
         return feature.getBundles();
     }
 
-    /**
-     * @return
-     * @see org.apache.karaf.features.Feature#getConfigurations()
-     */
     @Override
     public List<ConfigInfo> getConfigurations() {
         return feature.getConfigurations();
     }
 
-    /**
-     * @return
-     * @see org.apache.karaf.features.Feature#getConfigurationFiles()
-     */
     @Override
     public List<ConfigFileInfo> getConfigurationFiles() {
         return feature.getConfigurationFiles();
     }
 
-    /**
-     * @return
-     * @see org.apache.karaf.features.Feature#getConditional()
-     */
     @Override
     public List<? extends Conditional> getConditional() {
         return feature.getConditional();
     }
 
-    /**
-     * @return
-     * @see org.apache.karaf.features.Feature#getStartLevel()
-     */
     @Override
     public int getStartLevel() {
         return feature.getStartLevel();
     }
 
-    /**
-     * @return
-     * @see org.apache.karaf.features.Feature#getRegion()
-     */
     @Override
-    public String getRegion() {
-        return feature.getRegion();
+    public List<? extends Capability> getCapabilities() {
+        return feature.getCapabilities();
+    }
+
+    @Override
+    public List<? extends Library> getLibraries() {
+        return feature.getLibraries();
+    }
+
+    @Override
+    public String getNamespace() {
+        return feature.getNamespace();
+    }
+
+    @Override
+    public String getRepositoryUrl() {
+        return feature.getRepositoryUrl();
+    }
+
+    @Override
+    public List<? extends Requirement> getRequirements() {
+        return feature.getRequirements();
+    }
+
+    @Override
+    public List<String> getResourceRepositories() {
+        return feature.getResourceRepositories();
+    }
+
+    @Override
+    public Scoping getScoping() {
+        return feature.getScoping();
+    }
+
+    @Override
+    public boolean isHidden() {
+        return feature.isHidden();
     }
 
 }
index 15223a8f9f8844d9e06d641df8487e1acdcde744..5d487e0b9cd8ff6aa427450679291135e320f65c 100644 (file)
@@ -11,14 +11,14 @@ import com.google.common.base.Optional;
 import com.google.common.collect.LinkedHashMultimap;
 import java.util.ArrayList;
 import java.util.Arrays;
-import java.util.ConcurrentModificationException;
+import java.util.Collections;
 import java.util.LinkedHashSet;
 import java.util.List;
 import java.util.Set;
+import java.util.concurrent.TimeUnit;
 import org.apache.karaf.features.Feature;
 import org.apache.karaf.features.FeaturesService;
 import org.opendaylight.controller.config.persist.api.ConfigPusher;
-import org.opendaylight.controller.config.persist.api.ConfigSnapshotHolder;
 import org.opendaylight.controller.config.persist.storage.file.xml.XmlFileStorageAdapter;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -27,14 +27,12 @@ import org.slf4j.LoggerFactory;
  * Simple class to push configs to the config subsystem from Feature's configfiles
  */
 public class FeatureConfigPusher {
-
     private static final Logger LOG = LoggerFactory.getLogger(FeatureConfigPusher.class);
+    private static final int MAX_RETRIES = 100;
+    private static final int RETRY_PAUSE_MILLIS = 1;
 
-    private static final int MAX_RETRIES = 10;
-    private static final int RETRY_PAUSE_MILLIS = 100;
-
-    private final FeaturesService featuresService;
-    private final ConfigPusher pusher;
+    private FeaturesService featuresService = null;
+    private ConfigPusher pusher = null;
 
     /*
      * A LinkedHashSet (to preserve order and insure uniqueness) of the pushedConfigs
@@ -42,20 +40,20 @@ public class FeatureConfigPusher {
      * chains.  Also, preserves the *original* Feature chain for which we pushed the config.
      * (which is handy for logging).
      */
-    Set<FeatureConfigSnapshotHolder> pushedConfigs = new LinkedHashSet<>();
+    private final Set<FeatureConfigSnapshotHolder> pushedConfigs = new LinkedHashSet<>();
 
     /*
      * LinkedHashMultimap to track which configs we pushed for each Feature installation
      * For future use
      */
-    LinkedHashMultimap<Feature,FeatureConfigSnapshotHolder> feature2configs = LinkedHashMultimap.create();
+    private final LinkedHashMultimap<Feature,FeatureConfigSnapshotHolder> feature2configs = LinkedHashMultimap.create();
 
     /*
      * @param p - ConfigPusher to push ConfigSnapshotHolders
      */
-    public FeatureConfigPusher(final ConfigPusher pusher, final FeaturesService featuresService) {
-        this.pusher = pusher;
-        this.featuresService = featuresService;
+    public FeatureConfigPusher(final ConfigPusher p, final FeaturesService f) {
+        pusher = p;
+        featuresService = f;
     }
     /*
      * Push config files from Features to config subsystem
@@ -66,11 +64,10 @@ public class FeatureConfigPusher {
      * If a Feature is not in the returned LinkedHashMultimap then we couldn't push its configs
      * (Ususally because it was not yet installed)
      */
-    public LinkedHashMultimap<Feature, FeatureConfigSnapshotHolder> pushConfigs(final List<Feature> features) throws Exception {
+    public LinkedHashMultimap<Feature, FeatureConfigSnapshotHolder> pushConfigs(final List<Feature> features)
+            throws Exception {
         LinkedHashMultimap<Feature, FeatureConfigSnapshotHolder> pushedFeatures = LinkedHashMultimap.create();
         for (Feature feature : features) {
-
-
             Set<FeatureConfigSnapshotHolder> configSnapShots = pushConfig(feature);
             if (!configSnapShots.isEmpty()) {
                 pushedFeatures.putAll(feature, configSnapShots);
@@ -80,57 +77,60 @@ public class FeatureConfigPusher {
     }
 
     private Set<FeatureConfigSnapshotHolder> pushConfig(final Feature feature) throws Exception {
-        Set<FeatureConfigSnapshotHolder> configs = new LinkedHashSet<>();
-        if(isInstalled(feature)) {
-            // FIXME Workaround for BUG-2836, features service returns null for feature: standard-condition-webconsole_0_0_0, 3.0.1
-            if(featuresService.getFeature(feature.getName(), feature.getVersion()) == null) {
-                LOG.debug("Feature: {}, {} is missing from features service. Skipping", feature.getName(), feature.getVersion());
-            } else {
-                ChildAwareFeatureWrapper wrappedFeature = new ChildAwareFeatureWrapper(feature, featuresService);
-                configs = wrappedFeature.getFeatureConfigSnapshotHolders();
-                if (!configs.isEmpty()) {
-                    configs = pushConfig(configs, feature);
-                    feature2configs.putAll(feature, configs);
-                }
-            }
+        // Ignore feature conditions â€” these encode conditions on other features and shouldn't be processed here
+        if (feature.getName().contains("-condition-")) {
+            LOG.debug("Ignoring conditional feature {}", feature);
+            return Collections.emptySet();
+        }
+        // pax-exam's Karaf container generates a wrapper feature holding the test dependencies. Ignore it.
+        if ("test-dependencies".equals(feature.getName())) {
+            LOG.debug("Ignoring pax-exam wrapper feature {}", feature);
+            return Collections.emptySet();
+        }
+
+        if (!isInstalled(feature)) {
+            return Collections.emptySet();
+        }
+        // FIXME Workaround for BUG-2836, features service returns null for feature:
+        // standard-condition-webconsole_0_0_0, 3.0.1
+        if (featuresService.getFeature(feature.getName(), feature.getVersion()) == null) {
+            LOG.debug("Feature: {}, {} is missing from features service. Skipping", feature.getName(),
+                feature.getVersion());
+            return Collections.emptySet();
+        }
+
+        ChildAwareFeatureWrapper wrappedFeature = new ChildAwareFeatureWrapper(feature, featuresService);
+        Set<FeatureConfigSnapshotHolder> configs = wrappedFeature.getFeatureConfigSnapshotHolders();
+        if (!configs.isEmpty()) {
+            configs = pushConfig(configs, feature);
+            feature2configs.putAll(feature, configs);
         }
         return configs;
     }
 
-    private boolean isInstalled(final Feature feature) {
-        Exception lastException = null;
+    private boolean isInstalled(final Feature feature) throws InterruptedException {
         for (int retries = 0; retries < MAX_RETRIES; retries++) {
             try {
                 List<Feature> installedFeatures = Arrays.asList(featuresService.listInstalledFeatures());
                 if (installedFeatures.contains(feature)) {
                     return true;
-                } else {
-                    LOG.warn("Karaf featuresService.listInstalledFeatures() has not yet finished installing feature (retry {}) {} {}", retries, feature.getName(), feature.getVersion());
                 }
-            // TODO This catch of ConcurrentModificationException may be able to simply be removed after
-            // we're fully on Karaf 4 only, as a comment in BUG-6787 indicates that (in Karaf 4) :
-            // "the 'installed' Map of FeaturesServiceImpl .. appears to be correctly synchronized/thread-safe".
-            // (Or, if it's still NOK, then it could be fixed properly upstream in Karaf once we're on recent.)
-            } catch (final ConcurrentModificationException e) {
-                // BUG-6787 experience shows that a LOG.warn (or info) here is very confusing to end-users;
-                // as we have a retry loop anyway, there is no point informing (and confusing) users of this
-                // intermediate state of, so ... NOOP, do not log here.
-                lastException = e;
-            }
-            try {
-                Thread.sleep(RETRY_PAUSE_MILLIS);
-            } catch (final InterruptedException e1) {
-                throw new IllegalStateException(e1);
+
+                LOG.info("Karaf Feature Service has not yet finished installing feature {}/{} (retry {})",
+                    feature.getName(), feature.getVersion(), retries);
+            } catch (final Exception e) {
+                LOG.warn("Karaf featuresService.listInstalledFeatures() has thrown an exception, retry {}", retries, e);
             }
+
+            TimeUnit.MILLISECONDS.sleep(RETRY_PAUSE_MILLIS);
         }
-        LOG.error("Giving up (after {} retries) on Karaf featuresService.listInstalledFeatures() "
-                        + "which has not yet finished installing feature {} {} (stack trace is last exception caught)",
-                MAX_RETRIES, feature.getName(), feature.getVersion(), lastException);
+        LOG.error("Giving up (after {} retries) on Karaf featuresService.listInstalledFeatures() which has not yet finished installing feature {} {}",
+            MAX_RETRIES, feature.getName(), feature.getVersion());
         return false;
     }
 
-    private Set<FeatureConfigSnapshotHolder> pushConfig(final Set<FeatureConfigSnapshotHolder> configs, final Feature feature)
-            throws InterruptedException {
+    private Set<FeatureConfigSnapshotHolder> pushConfig(final Set<FeatureConfigSnapshotHolder> configs,
+            final Feature feature) throws InterruptedException {
         Set<FeatureConfigSnapshotHolder> configsToPush = new LinkedHashSet<>(configs);
         configsToPush.removeAll(pushedConfigs);
         if (!configsToPush.isEmpty()) {
@@ -142,7 +142,7 @@ public class FeatureConfigPusher {
                 LOG.warn("Ignoring default configuration {} for feature {}, the configuration is present in {}",
                         configsToPush, feature.getId(), currentCfgPusher.get());
             } else {
-                pusher.pushConfigs(new ArrayList<ConfigSnapshotHolder>(configsToPush));
+                pusher.pushConfigs(new ArrayList<>(configsToPush));
             }
 
             pushedConfigs.addAll(configsToPush);
index 0320ea2743c6adbedbc4239b1bf4034b18273386..68ae3d31cbafd2776cfa17fd645f14e685ac63e4 100644 (file)
@@ -9,7 +9,9 @@ package org.opendaylight.controller.configpusherfeature.internal;
 
 import com.google.common.base.Optional;
 import com.google.common.collect.Sets;
+
 import java.util.Set;
+
 import org.apache.karaf.features.Feature;
 import org.apache.karaf.features.FeaturesListener;
 import org.apache.karaf.features.FeaturesService;
@@ -19,8 +21,11 @@ import org.osgi.framework.BundleContext;
 import org.osgi.framework.ServiceReference;
 import org.osgi.framework.ServiceRegistration;
 import org.osgi.util.tracker.ServiceTrackerCustomizer;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 public class FeatureServiceCustomizer implements ServiceTrackerCustomizer<FeaturesService, FeaturesService>, AutoCloseable {
+    private static final Logger LOG = LoggerFactory.getLogger(FeatureServiceCustomizer.class);
     private ConfigPusher configPusher = null;
     private ServiceRegistration<?> registration;
 
@@ -34,10 +39,14 @@ public class FeatureServiceCustomizer implements ServiceTrackerCustomizer<Featur
         final FeaturesService featureService = bc.getService(reference);
         final Optional<XmlFileStorageAdapter> currentPersister = XmlFileStorageAdapter.getInstance();
 
-        if(XmlFileStorageAdapter.getInstance().isPresent()) {
+        if (XmlFileStorageAdapter.getInstance().isPresent()) {
             final Set<String> installedFeatureIds = Sets.newHashSet();
-            for (final Feature installedFeature : featureService.listInstalledFeatures()) {
-                installedFeatureIds.add(installedFeature.getId());
+            try {
+                for (final Feature installedFeature : featureService.listInstalledFeatures()) {
+                    installedFeatureIds.add(installedFeature.getId());
+                }
+            } catch (final Exception e) {
+                LOG.error("Error listing installed features", e);
             }
 
             currentPersister.get().setFeaturesService(() -> installedFeatureIds);
@@ -49,19 +58,19 @@ public class FeatureServiceCustomizer implements ServiceTrackerCustomizer<Featur
 
     @Override
     public void modifiedService(final ServiceReference<FeaturesService> reference,
-            final FeaturesService service) {
+                                final FeaturesService service) {
         // we don't care if the properties change
     }
 
     @Override
     public void removedService(final ServiceReference<FeaturesService> reference,
-            final FeaturesService service) {
+                               final FeaturesService service) {
         close();
     }
 
     @Override
     public void close() {
-        if(registration != null) {
+        if (registration != null) {
             registration.unregister();
             registration = null;
         }
diff --git a/opendaylight/config/config-persister-feature4-adapter/pom.xml b/opendaylight/config/config-persister-feature4-adapter/pom.xml
deleted file mode 100644 (file)
index eb22b90..0000000
+++ /dev/null
@@ -1,74 +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.controller</groupId>
-        <artifactId>config-subsystem</artifactId>
-        <version>0.7.0-SNAPSHOT</version>
-        <relativePath>..</relativePath>
-    </parent>
-
-    <artifactId>config-persister-feature4-adapter</artifactId>
-    <packaging>bundle</packaging>
-
-    <dependencies>
-        <dependency>
-            <groupId>org.osgi</groupId>
-            <artifactId>org.osgi.core</artifactId>
-            <scope>provided</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.karaf.features</groupId>
-            <artifactId>org.apache.karaf.features.core</artifactId>
-            <version>${karaf4.version}</version>
-            <scope>provided</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.opendaylight.controller</groupId>
-            <artifactId>config-persister-impl</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.opendaylight.controller</groupId>
-            <artifactId>config-persister-api</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.opendaylight.controller</groupId>
-            <artifactId>config-persister-directory-xml-adapter</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.felix</groupId>
-            <artifactId>org.apache.felix.utils</artifactId>
-            <version>1.6.0</version>
-            <scope>provided</scope>
-        </dependency>
-        <dependency>
-           <groupId>com.google.guava</groupId>
-           <artifactId>guava</artifactId>
-        </dependency>
-    </dependencies>
-
-    <build>
-        <plugins>
-            <plugin>
-                <groupId>org.apache.felix</groupId>
-                <artifactId>maven-bundle-plugin</artifactId>
-                <extensions>true</extensions>
-                <configuration>
-                    <instructions>
-                        <Bundle-SymbolicName>${project.artifactId}</Bundle-SymbolicName>
-                        <Bundle-Version>${project.version}</Bundle-Version>
-                        <Bundle-Activator>org.opendaylight.controller.configpusherfeature.ConfigPusherFeatureActivator</Bundle-Activator>
-                        <Private-Package>
-                            org.apache.karaf.features.internal.model,
-                            org.apache.felix.utils.version,
-                            org.opendaylight.controller.configpusherfeature.internal
-                        </Private-Package>
-                    </instructions>
-                </configuration>
-            </plugin>
-        </plugins>
-    </build>
-
-</project>
diff --git a/opendaylight/config/config-persister-feature4-adapter/src/main/java/org/opendaylight/controller/configpusherfeature/ConfigPusherFeatureActivator.java b/opendaylight/config/config-persister-feature4-adapter/src/main/java/org/opendaylight/controller/configpusherfeature/ConfigPusherFeatureActivator.java
deleted file mode 100644 (file)
index c20c6f9..0000000
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- * Copyright (c) 2014 Cisco Systems, Inc. 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
- */
-package org.opendaylight.controller.configpusherfeature;
-
-import org.opendaylight.controller.config.persist.api.ConfigPusher;
-import org.opendaylight.controller.configpusherfeature.internal.ConfigPusherCustomizer;
-import org.osgi.framework.BundleActivator;
-import org.osgi.framework.BundleContext;
-import org.osgi.util.tracker.ServiceTracker;
-
-public class ConfigPusherFeatureActivator implements BundleActivator {
-
-    BundleContext bc = null;
-    ConfigPusherCustomizer cpc = null;
-    ServiceTracker<ConfigPusher,ConfigPusher> cpst = null;
-
-    public void start(final BundleContext context) throws Exception {
-        bc = context;
-        cpc = new ConfigPusherCustomizer();
-        cpst = new ServiceTracker<>(bc, ConfigPusher.class.getName(), cpc);
-        cpst.open();
-    }
-
-    public void stop(final BundleContext context) throws Exception {
-        if(cpst != null) {
-            cpst.close();
-            cpst = null;
-        }
-        if(cpc != null) {
-            cpc.close();
-            cpc = null;
-        }
-        bc = null;
-    }
-}
diff --git a/opendaylight/config/config-persister-feature4-adapter/src/main/java/org/opendaylight/controller/configpusherfeature/internal/AbstractFeatureWrapper.java b/opendaylight/config/config-persister-feature4-adapter/src/main/java/org/opendaylight/controller/configpusherfeature/internal/AbstractFeatureWrapper.java
deleted file mode 100644 (file)
index bce4d3c..0000000
+++ /dev/null
@@ -1,268 +0,0 @@
-/*
- * Copyright (c) 2014 Cisco Systems, Inc. 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
- */
-package org.opendaylight.controller.configpusherfeature.internal;
-
-import com.google.common.base.Optional;
-import com.google.common.base.Preconditions;
-import com.google.common.io.Files;
-import java.io.File;
-import java.io.FileInputStream;
-import java.util.LinkedHashSet;
-import java.util.List;
-import java.util.Set;
-import javax.xml.bind.JAXBException;
-import javax.xml.parsers.DocumentBuilderFactory;
-import javax.xml.stream.XMLStreamException;
-import org.apache.karaf.features.BundleInfo;
-import org.apache.karaf.features.Capability;
-import org.apache.karaf.features.Conditional;
-import org.apache.karaf.features.ConfigFileInfo;
-import org.apache.karaf.features.ConfigInfo;
-import org.apache.karaf.features.Dependency;
-import org.apache.karaf.features.Feature;
-import org.apache.karaf.features.Library;
-import org.apache.karaf.features.Requirement;
-import org.apache.karaf.features.Scoping;
-import org.opendaylight.controller.config.persist.storage.file.xml.model.ConfigSnapshot;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.w3c.dom.Element;
-
-/*
- * Wrap a Feature for the purposes of extracting the FeatureConfigSnapshotHolders from
- * its underlying ConfigFileInfo's
- *
- * Delegates the the contained feature and provides additional methods.
- */
-public class AbstractFeatureWrapper implements Feature {
-    private static final Logger LOG = LoggerFactory.getLogger(AbstractFeatureWrapper.class);
-
-    protected static final String CONFIG_FILE_SUFFIX = "xml";
-
-    protected Feature feature = null;
-
-    protected AbstractFeatureWrapper() {
-        // prevent instantiation without Feature
-    }
-
-    /*
-     * @param f Feature to wrap
-     */
-    public AbstractFeatureWrapper(final Feature f) {
-        Preconditions.checkNotNull(f,"FeatureWrapper requires non-null Feature in constructor");
-        this.feature = f;
-    }
-
-    /*
-     * Get FeatureConfigSnapshotHolders appropriate to feed to the config subsystem
-     * from the underlying Feature Config files
-     */
-    public Set<FeatureConfigSnapshotHolder> getFeatureConfigSnapshotHolders() throws Exception {
-        final Set<FeatureConfigSnapshotHolder> snapShotHolders = new LinkedHashSet<>();
-        for(final ConfigFileInfo c: getConfigurationFiles()) {
-            // Skip non config snapshot XML files
-            if(isConfigSnapshot(c.getFinalname())) {
-                final Optional<FeatureConfigSnapshotHolder> featureConfigSnapshotHolder = getFeatureConfigSnapshotHolder(c);
-                if(featureConfigSnapshotHolder.isPresent()) {
-                    snapShotHolders.add(featureConfigSnapshotHolder.get());
-                }
-            }
-        }
-        return snapShotHolders;
-    }
-
-    protected Optional<FeatureConfigSnapshotHolder> getFeatureConfigSnapshotHolder(final ConfigFileInfo c) {
-        try {
-            return Optional.of(new FeatureConfigSnapshotHolder(c, this));
-        } catch (final JAXBException e) {
-            LOG.warn("Unable to parse configuration snapshot. Config from '{}' will be IGNORED. " +
-                    "Note that subsequent config files may fail due to this problem. " +
-                    "Xml markup in this file needs to be fixed, for detailed information see enclosed exception.",
-                    c.getFinalname(), e);
-        } catch (final XMLStreamException e) {
-            // Files that cannot be loaded are ignored as non config subsystem files e.g. jetty.xml
-            LOG.debug("Unable to read configuration file '{}'. Not a configuration snapshot",
-                    c.getFinalname(), e);
-        }
-        return Optional.absent();
-    }
-
-    private static boolean isConfigSnapshot(final String fileName) {
-        if(!Files.getFileExtension(fileName).equals(CONFIG_FILE_SUFFIX)) {
-            return false;
-        }
-
-        if(fileName.endsWith("jetty.xml")) {
-            // Special case - ignore the jetty.xml file as it contains a DTD and causes a "Connection refused"
-            // error when it tries to go out to the network to retrieve it. We don't want it trying to go out
-            // to the network nor do we want an error logged trying to parse it.
-            return false;
-        }
-
-        File file = new File(System.getProperty("karaf.home"), fileName);
-        try(FileInputStream fis = new FileInputStream(file)) {
-            DocumentBuilderFactory builderFactory = DocumentBuilderFactory.newInstance();
-            builderFactory.setNamespaceAware(true);
-            builderFactory.setCoalescing(true);
-            builderFactory.setIgnoringElementContentWhitespace(true);
-            builderFactory.setIgnoringComments(true);
-
-            Element root = builderFactory.newDocumentBuilder().parse(fis).getDocumentElement();
-            return ConfigSnapshot.SNAPSHOT_ROOT_ELEMENT_NAME.equals(root.getLocalName());
-        } catch (final Exception e) {
-            LOG.error("Could not parse XML file {}", file, e);
-            return false;
-        }
-    }
-
-    @Override
-    public int hashCode() {
-        final int prime = 31;
-        int result = 1;
-        result = prime * result + (feature == null ? 0 : feature.hashCode());
-        return result;
-    }
-
-    @Override
-    public boolean equals(final Object obj) {
-        if (this == obj) {
-            return true;
-        }
-        if (obj == null) {
-            return false;
-        }
-        if (getClass() != obj.getClass()) {
-            return false;
-        }
-        final AbstractFeatureWrapper other = (AbstractFeatureWrapper) obj;
-        if (feature == null) {
-            if (other.feature != null) {
-                return false;
-            }
-        } else if (!feature.equals(other.feature)) {
-            return false;
-        }
-        return true;
-    }
-
-    @Override
-    public String toString() {
-        return feature.getName();
-    }
-
-    @Override
-    public String getId() {
-        return feature.getId();
-    }
-
-    @Override
-    public String getName() {
-        return feature.getName();
-    }
-
-    @Override
-    public String getDescription() {
-        return feature.getDescription();
-    }
-
-    @Override
-    public String getDetails() {
-        return feature.getDetails();
-    }
-
-    @Override
-    public String getVersion() {
-        return feature.getVersion();
-    }
-
-    @Override
-    public boolean hasVersion() {
-        return feature.hasVersion();
-    }
-
-    @Override
-    public String getResolver() {
-        return feature.getResolver();
-    }
-
-    @Override
-    public String getInstall() {
-        return feature.getInstall();
-    }
-
-    @Override
-    public List<Dependency> getDependencies() {
-        return feature.getDependencies();
-    }
-
-    @Override
-    public List<BundleInfo> getBundles() {
-        return feature.getBundles();
-    }
-
-    @Override
-    public List<ConfigInfo> getConfigurations() {
-        return feature.getConfigurations();
-    }
-
-    @Override
-    public List<ConfigFileInfo> getConfigurationFiles() {
-        return feature.getConfigurationFiles();
-    }
-
-    @Override
-    public List<? extends Conditional> getConditional() {
-        return feature.getConditional();
-    }
-
-    @Override
-    public int getStartLevel() {
-        return feature.getStartLevel();
-    }
-
-    @Override
-    public List<? extends Capability> getCapabilities() {
-        return feature.getCapabilities();
-    }
-
-    @Override
-    public List<? extends Library> getLibraries() {
-        return feature.getLibraries();
-    }
-
-    @Override
-    public String getNamespace() {
-        return feature.getNamespace();
-    }
-
-    @Override
-    public String getRepositoryUrl() {
-        return feature.getRepositoryUrl();
-    }
-
-    @Override
-    public List<? extends Requirement> getRequirements() {
-        return feature.getRequirements();
-    }
-
-    @Override
-    public List<String> getResourceRepositories() {
-        return feature.getResourceRepositories();
-    }
-
-    @Override
-    public Scoping getScoping() {
-        return feature.getScoping();
-    }
-
-    @Override
-    public boolean isHidden() {
-        return feature.isHidden();
-    }
-
-}
diff --git a/opendaylight/config/config-persister-feature4-adapter/src/main/java/org/opendaylight/controller/configpusherfeature/internal/ChildAwareFeatureWrapper.java b/opendaylight/config/config-persister-feature4-adapter/src/main/java/org/opendaylight/controller/configpusherfeature/internal/ChildAwareFeatureWrapper.java
deleted file mode 100644 (file)
index f51bf47..0000000
+++ /dev/null
@@ -1,108 +0,0 @@
-/*
- * Copyright (c) 2014 Cisco Systems, Inc. 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
- */
-package org.opendaylight.controller.configpusherfeature.internal;
-
-import com.google.common.base.Optional;
-import com.google.common.base.Preconditions;
-import java.util.LinkedHashSet;
-import java.util.List;
-import java.util.Set;
-import org.apache.felix.utils.version.VersionRange;
-import org.apache.felix.utils.version.VersionTable;
-import org.apache.karaf.features.Dependency;
-import org.apache.karaf.features.Feature;
-import org.apache.karaf.features.FeaturesService;
-import org.osgi.framework.Version;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-/*
- * Wrap a Feature for the purposes of extracting the FeatureConfigSnapshotHolders from
- * its underlying ConfigFileInfo's and those of its children recursively
- *
- * Delegates the the contained feature and provides additional methods.
- */
-public class ChildAwareFeatureWrapper extends AbstractFeatureWrapper implements Feature {
-    private static final Logger LOG = LoggerFactory.getLogger(ChildAwareFeatureWrapper.class);
-    private FeaturesService featuresService= null;
-
-    protected ChildAwareFeatureWrapper(final Feature f) {
-        // Don't use without a feature service
-    }
-
-    /*
-     * @param f Feature to wrap
-     * @param s FeaturesService to look up dependencies
-     */
-    ChildAwareFeatureWrapper(final Feature f, final FeaturesService s) throws Exception {
-        super(s.getFeature(f.getName(), f.getVersion()));
-        Preconditions.checkNotNull(s, "FeatureWrapper requires non-null FeatureService in constructor");
-        this.featuresService = s;
-    }
-
-    protected FeaturesService getFeaturesService() {
-        return featuresService;
-    }
-
-    /*
-     * Get FeatureConfigSnapshotHolders appropriate to feed to the config subsystem
-     * from the underlying Feature Config files and those of its children recursively
-     */
-    public Set<? extends ChildAwareFeatureWrapper> getChildFeatures() throws Exception {
-        List<Dependency> dependencies = feature.getDependencies();
-        Set<ChildAwareFeatureWrapper> childFeatures = new LinkedHashSet<>();
-        if(dependencies != null) {
-            for(Dependency dependency: dependencies) {
-                Feature fi = extractFeatureFromDependency(dependency);
-                if (fi != null) {
-                    if (featuresService.getFeature(fi.getName(), fi.getVersion()) == null) {
-                        LOG.warn("Feature: {}, {} is missing from features service. Skipping", fi.getName(), fi.getVersion());
-                    } else {
-                        ChildAwareFeatureWrapper wrappedFeature = new ChildAwareFeatureWrapper(fi, featuresService);
-                        childFeatures.add(wrappedFeature);
-                    }
-                }
-            }
-        }
-        return childFeatures;
-    }
-
-    @Override
-    public Set<FeatureConfigSnapshotHolder> getFeatureConfigSnapshotHolders() throws Exception {
-        Set<FeatureConfigSnapshotHolder> snapShotHolders = new LinkedHashSet<>();
-        for(ChildAwareFeatureWrapper c: getChildFeatures()) {
-            for(FeatureConfigSnapshotHolder h: c.getFeatureConfigSnapshotHolders()) {
-                final Optional<FeatureConfigSnapshotHolder> featureConfigSnapshotHolder = getFeatureConfigSnapshotHolder(h.getFileInfo());
-                if(featureConfigSnapshotHolder.isPresent()) {
-                    snapShotHolders.add(featureConfigSnapshotHolder.get());
-                }
-            }
-        }
-        snapShotHolders.addAll(super.getFeatureConfigSnapshotHolders());
-        return snapShotHolders;
-    }
-
-    protected Feature extractFeatureFromDependency(final Dependency dependency) throws Exception {
-        Feature[] features = featuresService.listFeatures();
-        VersionRange range = org.apache.karaf.features.internal.model.Feature.DEFAULT_VERSION.equals(dependency.getVersion())
-                ? VersionRange.ANY_VERSION : new VersionRange(dependency.getVersion(), true, true);
-        Feature fi = null;
-        for(Feature f: features) {
-            if (f.getName().equals(dependency.getName())) {
-                Version v = VersionTable.getVersion(f.getVersion());
-                if (range.contains(v) &&
-                    (fi == null || VersionTable.getVersion(fi.getVersion()).compareTo(v) < 0)) {
-                    fi = f;
-                    break;
-                }
-            }
-        }
-        return fi;
-    }
-
-}
diff --git a/opendaylight/config/config-persister-feature4-adapter/src/main/java/org/opendaylight/controller/configpusherfeature/internal/ConfigFeaturesListener.java b/opendaylight/config/config-persister-feature4-adapter/src/main/java/org/opendaylight/controller/configpusherfeature/internal/ConfigFeaturesListener.java
deleted file mode 100644 (file)
index 075db50..0000000
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
- * Copyright (c) 2014 Cisco Systems, Inc. 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
- */
-package org.opendaylight.controller.configpusherfeature.internal;
-
-import java.util.concurrent.BlockingQueue;
-import java.util.concurrent.LinkedBlockingQueue;
-import org.apache.karaf.features.FeatureEvent;
-import org.apache.karaf.features.FeaturesListener;
-import org.apache.karaf.features.FeaturesService;
-import org.apache.karaf.features.RepositoryEvent;
-import org.opendaylight.controller.config.persist.api.ConfigPusher;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-public class ConfigFeaturesListener implements  FeaturesListener,  AutoCloseable {
-    private static final Logger LOG = LoggerFactory.getLogger(ConfigFeaturesListener.class);
-    private static final int QUEUE_SIZE = 1000;
-    private BlockingQueue<FeatureEvent> queue = new LinkedBlockingQueue<>(QUEUE_SIZE);
-    Thread pushingThread = null;
-
-    public ConfigFeaturesListener(final ConfigPusher p, final FeaturesService f) {
-        pushingThread = new Thread(new ConfigPushingRunnable(p, f, queue), "ConfigFeatureListener - ConfigPusher");
-        pushingThread.start();
-    }
-
-    @Override
-    public void featureEvent(final FeatureEvent event) {
-        queue.offer(event);
-    }
-
-    @Override
-    public void repositoryEvent(final RepositoryEvent event) {
-        LOG.debug("Repository: {} {}", event.getType(), event.getRepository());
-    }
-
-    @Override
-    public void close() {
-        if(pushingThread != null) {
-            pushingThread.interrupt();
-            pushingThread = null;
-        }
-    }
-}
diff --git a/opendaylight/config/config-persister-feature4-adapter/src/main/java/org/opendaylight/controller/configpusherfeature/internal/ConfigPusherCustomizer.java b/opendaylight/config/config-persister-feature4-adapter/src/main/java/org/opendaylight/controller/configpusherfeature/internal/ConfigPusherCustomizer.java
deleted file mode 100644 (file)
index ac10c68..0000000
+++ /dev/null
@@ -1,61 +0,0 @@
-/*
- * Copyright (c) 2014 Cisco Systems, Inc. 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
- */
-package org.opendaylight.controller.configpusherfeature.internal;
-
-import org.apache.karaf.features.FeaturesService;
-import org.opendaylight.controller.config.persist.api.ConfigPusher;
-import org.osgi.framework.BundleContext;
-import org.osgi.framework.ServiceReference;
-import org.osgi.util.tracker.ServiceTracker;
-import org.osgi.util.tracker.ServiceTrackerCustomizer;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-public class ConfigPusherCustomizer implements ServiceTrackerCustomizer<ConfigPusher, ConfigPusher>, AutoCloseable {
-    private static final Logger LOG = LoggerFactory.getLogger(ConfigPusherCustomizer.class);
-    private ConfigFeaturesListener configFeaturesListener = null;
-    private FeatureServiceCustomizer featureServiceCustomizer = null;
-    private ServiceTracker<FeaturesService,FeaturesService> fsst = null;
-
-    @Override
-    public ConfigPusher addingService(final ServiceReference<ConfigPusher> configPusherServiceReference) {
-        LOG.trace("Got ConfigPusherCustomizer.addingService {}", configPusherServiceReference);
-        BundleContext bc = configPusherServiceReference.getBundle().getBundleContext();
-        ConfigPusher cpService = bc.getService(configPusherServiceReference);
-        featureServiceCustomizer = new FeatureServiceCustomizer(cpService);
-        fsst = new ServiceTracker<>(bc, FeaturesService.class.getName(), featureServiceCustomizer);
-        fsst.open();
-        return cpService;
-    }
-
-    @Override
-    public void modifiedService(final ServiceReference<ConfigPusher> configPusherServiceReference, final ConfigPusher configPusher) {
-        // we don't care if the properties change
-    }
-
-    @Override
-    public void removedService(final ServiceReference<ConfigPusher> configPusherServiceReference, final ConfigPusher configPusher) {
-        this.close();
-    }
-
-    @Override
-    public void close() {
-        if(fsst != null) {
-            fsst.close();
-            fsst = null;
-        }
-        if(configFeaturesListener != null) {
-            configFeaturesListener.close();
-            configFeaturesListener = null;
-        }
-        if(featureServiceCustomizer != null) {
-            featureServiceCustomizer.close();
-            featureServiceCustomizer = null;
-        }
-    }
-}
\ No newline at end of file
diff --git a/opendaylight/config/config-persister-feature4-adapter/src/main/java/org/opendaylight/controller/configpusherfeature/internal/ConfigPushingRunnable.java b/opendaylight/config/config-persister-feature4-adapter/src/main/java/org/opendaylight/controller/configpusherfeature/internal/ConfigPushingRunnable.java
deleted file mode 100644 (file)
index 48c494b..0000000
+++ /dev/null
@@ -1,77 +0,0 @@
-/*
- * Copyright (c) 2014 Cisco Systems, Inc. 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
- */
-package org.opendaylight.controller.configpusherfeature.internal;
-
-import com.google.common.collect.LinkedHashMultimap;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.concurrent.BlockingQueue;
-import java.util.concurrent.TimeUnit;
-import org.apache.karaf.features.Feature;
-import org.apache.karaf.features.FeatureEvent;
-import org.apache.karaf.features.FeatureEvent.EventType;
-import org.apache.karaf.features.FeaturesService;
-import org.opendaylight.controller.config.persist.api.ConfigPusher;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-public class ConfigPushingRunnable implements Runnable {
-    private static final Logger LOG = LoggerFactory.getLogger(ConfigPushingRunnable.class);
-    private static final int POLL_TIME = 1;
-    private BlockingQueue<FeatureEvent> queue;
-    private FeatureConfigPusher configPusher;
-    public ConfigPushingRunnable(final ConfigPusher p, final FeaturesService f, final BlockingQueue<FeatureEvent> q) {
-        queue = q;
-        configPusher = new FeatureConfigPusher(p, f);
-    }
-
-    @Override
-    public void run() {
-        List<Feature> toInstall = new ArrayList<>();
-        FeatureEvent event = null;
-        boolean interuppted = false;
-        while(true) {
-            try {
-                if(!interuppted) {
-                    if(toInstall.isEmpty()) {
-                        event = queue.take();
-                    } else {
-                        event = queue.poll(POLL_TIME, TimeUnit.MILLISECONDS);
-                    }
-                    if(event != null && event.getFeature() !=null) {
-                        processFeatureEvent(event,toInstall);
-                    }
-                } else if(toInstall.isEmpty()) {
-                    LOG.error("ConfigPushingRunnable - exiting");
-                    return;
-                }
-            } catch (final InterruptedException e) {
-                LOG.error("ConfigPushingRunnable - interupted");
-                interuppted = true;
-            } catch (final Exception e) {
-                LOG.error("Exception while processing features {} event {}", toInstall, event, e);
-            }
-        }
-    }
-
-    protected void processFeatureEvent(final FeatureEvent event, final List<Feature> toInstall) throws Exception {
-        if(event.getType() == EventType.FeatureInstalled) {
-            toInstall.add(event.getFeature());
-            LinkedHashMultimap<Feature,FeatureConfigSnapshotHolder> result = configPusher.pushConfigs(toInstall);
-            toInstall.removeAll(result.keySet());
-        } else if(event.getType() == EventType.FeatureUninstalled) {
-            toInstall.remove(event.getFeature());
-        }
-    }
-
-    protected void logPushResult(final LinkedHashMultimap<Feature,FeatureConfigSnapshotHolder> results) {
-        for(Feature f:results.keySet()) {
-            LOG.info("Pushed configs for feature {} {}",f,results.get(f));
-        }
-    }
-}
diff --git a/opendaylight/config/config-persister-feature4-adapter/src/main/java/org/opendaylight/controller/configpusherfeature/internal/FeatureConfigPusher.java b/opendaylight/config/config-persister-feature4-adapter/src/main/java/org/opendaylight/controller/configpusherfeature/internal/FeatureConfigPusher.java
deleted file mode 100644 (file)
index 5d487e0..0000000
+++ /dev/null
@@ -1,154 +0,0 @@
-/*
- * Copyright (c) 2014 Cisco Systems, Inc. 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
- */
-package org.opendaylight.controller.configpusherfeature.internal;
-
-import com.google.common.base.Optional;
-import com.google.common.collect.LinkedHashMultimap;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.LinkedHashSet;
-import java.util.List;
-import java.util.Set;
-import java.util.concurrent.TimeUnit;
-import org.apache.karaf.features.Feature;
-import org.apache.karaf.features.FeaturesService;
-import org.opendaylight.controller.config.persist.api.ConfigPusher;
-import org.opendaylight.controller.config.persist.storage.file.xml.XmlFileStorageAdapter;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-/*
- * Simple class to push configs to the config subsystem from Feature's configfiles
- */
-public class FeatureConfigPusher {
-    private static final Logger LOG = LoggerFactory.getLogger(FeatureConfigPusher.class);
-    private static final int MAX_RETRIES = 100;
-    private static final int RETRY_PAUSE_MILLIS = 1;
-
-    private FeaturesService featuresService = null;
-    private ConfigPusher pusher = null;
-
-    /*
-     * A LinkedHashSet (to preserve order and insure uniqueness) of the pushedConfigs
-     * This is used to prevent pushing duplicate configs if a Feature is in multiple dependency
-     * chains.  Also, preserves the *original* Feature chain for which we pushed the config.
-     * (which is handy for logging).
-     */
-    private final Set<FeatureConfigSnapshotHolder> pushedConfigs = new LinkedHashSet<>();
-
-    /*
-     * LinkedHashMultimap to track which configs we pushed for each Feature installation
-     * For future use
-     */
-    private final LinkedHashMultimap<Feature,FeatureConfigSnapshotHolder> feature2configs = LinkedHashMultimap.create();
-
-    /*
-     * @param p - ConfigPusher to push ConfigSnapshotHolders
-     */
-    public FeatureConfigPusher(final ConfigPusher p, final FeaturesService f) {
-        pusher = p;
-        featuresService = f;
-    }
-    /*
-     * Push config files from Features to config subsystem
-     * @param features - list of Features to extract config files from recursively and push
-     * to the config subsystem
-     *
-     * @return A LinkedHashMultimap of Features to the FeatureConfigSnapshotHolder actually pushed
-     * If a Feature is not in the returned LinkedHashMultimap then we couldn't push its configs
-     * (Ususally because it was not yet installed)
-     */
-    public LinkedHashMultimap<Feature, FeatureConfigSnapshotHolder> pushConfigs(final List<Feature> features)
-            throws Exception {
-        LinkedHashMultimap<Feature, FeatureConfigSnapshotHolder> pushedFeatures = LinkedHashMultimap.create();
-        for (Feature feature : features) {
-            Set<FeatureConfigSnapshotHolder> configSnapShots = pushConfig(feature);
-            if (!configSnapShots.isEmpty()) {
-                pushedFeatures.putAll(feature, configSnapShots);
-            }
-        }
-        return pushedFeatures;
-    }
-
-    private Set<FeatureConfigSnapshotHolder> pushConfig(final Feature feature) throws Exception {
-        // Ignore feature conditions â€” these encode conditions on other features and shouldn't be processed here
-        if (feature.getName().contains("-condition-")) {
-            LOG.debug("Ignoring conditional feature {}", feature);
-            return Collections.emptySet();
-        }
-        // pax-exam's Karaf container generates a wrapper feature holding the test dependencies. Ignore it.
-        if ("test-dependencies".equals(feature.getName())) {
-            LOG.debug("Ignoring pax-exam wrapper feature {}", feature);
-            return Collections.emptySet();
-        }
-
-        if (!isInstalled(feature)) {
-            return Collections.emptySet();
-        }
-        // FIXME Workaround for BUG-2836, features service returns null for feature:
-        // standard-condition-webconsole_0_0_0, 3.0.1
-        if (featuresService.getFeature(feature.getName(), feature.getVersion()) == null) {
-            LOG.debug("Feature: {}, {} is missing from features service. Skipping", feature.getName(),
-                feature.getVersion());
-            return Collections.emptySet();
-        }
-
-        ChildAwareFeatureWrapper wrappedFeature = new ChildAwareFeatureWrapper(feature, featuresService);
-        Set<FeatureConfigSnapshotHolder> configs = wrappedFeature.getFeatureConfigSnapshotHolders();
-        if (!configs.isEmpty()) {
-            configs = pushConfig(configs, feature);
-            feature2configs.putAll(feature, configs);
-        }
-        return configs;
-    }
-
-    private boolean isInstalled(final Feature feature) throws InterruptedException {
-        for (int retries = 0; retries < MAX_RETRIES; retries++) {
-            try {
-                List<Feature> installedFeatures = Arrays.asList(featuresService.listInstalledFeatures());
-                if (installedFeatures.contains(feature)) {
-                    return true;
-                }
-
-                LOG.info("Karaf Feature Service has not yet finished installing feature {}/{} (retry {})",
-                    feature.getName(), feature.getVersion(), retries);
-            } catch (final Exception e) {
-                LOG.warn("Karaf featuresService.listInstalledFeatures() has thrown an exception, retry {}", retries, e);
-            }
-
-            TimeUnit.MILLISECONDS.sleep(RETRY_PAUSE_MILLIS);
-        }
-        LOG.error("Giving up (after {} retries) on Karaf featuresService.listInstalledFeatures() which has not yet finished installing feature {} {}",
-            MAX_RETRIES, feature.getName(), feature.getVersion());
-        return false;
-    }
-
-    private Set<FeatureConfigSnapshotHolder> pushConfig(final Set<FeatureConfigSnapshotHolder> configs,
-            final Feature feature) throws InterruptedException {
-        Set<FeatureConfigSnapshotHolder> configsToPush = new LinkedHashSet<>(configs);
-        configsToPush.removeAll(pushedConfigs);
-        if (!configsToPush.isEmpty()) {
-
-            // Ignore features that are present in persisted current config
-            final Optional<XmlFileStorageAdapter> currentCfgPusher = XmlFileStorageAdapter.getInstance();
-            if (currentCfgPusher.isPresent() &&
-                    currentCfgPusher.get().getPersistedFeatures().contains(feature.getId())) {
-                LOG.warn("Ignoring default configuration {} for feature {}, the configuration is present in {}",
-                        configsToPush, feature.getId(), currentCfgPusher.get());
-            } else {
-                pusher.pushConfigs(new ArrayList<>(configsToPush));
-            }
-
-            pushedConfigs.addAll(configsToPush);
-        }
-        Set<FeatureConfigSnapshotHolder> configsPushed = new LinkedHashSet<>(pushedConfigs);
-        configsPushed.retainAll(configs);
-        return configsPushed;
-    }
-}
diff --git a/opendaylight/config/config-persister-feature4-adapter/src/main/java/org/opendaylight/controller/configpusherfeature/internal/FeatureConfigSnapshotHolder.java b/opendaylight/config/config-persister-feature4-adapter/src/main/java/org/opendaylight/controller/configpusherfeature/internal/FeatureConfigSnapshotHolder.java
deleted file mode 100644 (file)
index 7107cc9..0000000
+++ /dev/null
@@ -1,173 +0,0 @@
-/*
- * Copyright (c) 2014 Cisco Systems, Inc. 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
- */
-package org.opendaylight.controller.configpusherfeature.internal;
-
-import com.google.common.base.Preconditions;
-import com.google.common.collect.ImmutableList;
-import com.google.common.collect.Iterables;
-import com.google.common.collect.Lists;
-import java.io.File;
-import java.nio.file.Path;
-import java.nio.file.Paths;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.SortedSet;
-import javax.xml.bind.JAXBContext;
-import javax.xml.bind.JAXBException;
-import javax.xml.bind.Unmarshaller;
-import javax.xml.stream.XMLInputFactory;
-import javax.xml.stream.XMLStreamException;
-import javax.xml.stream.XMLStreamReader;
-import javax.xml.transform.stream.StreamSource;
-import org.apache.karaf.features.ConfigFileInfo;
-import org.apache.karaf.features.Feature;
-import org.opendaylight.controller.config.persist.api.ConfigSnapshotHolder;
-import org.opendaylight.controller.config.persist.storage.file.xml.model.ConfigSnapshot;
-
-/*
- * A ConfigSnapshotHolder that can track all the additional information
- * relavent to the fact we are getting these from a Feature.
- *
- * Includes tracking the 'featureChain' - an reverse ordered list of the dependency
- * graph of features that caused us to push this FeatureConfigSnapshotHolder.
- * So if A -> B -> C, then the feature chain would be C -> B -> A
- */
-public class FeatureConfigSnapshotHolder implements ConfigSnapshotHolder {
-    private ConfigSnapshot unmarshalled = null;
-    private ConfigFileInfo fileInfo = null;
-    private List<Feature> featureChain = new ArrayList<>();
-
-    /*
-     * @param holder - FeatureConfigSnapshotHolder that we
-     * @param feature - new
-     */
-    public FeatureConfigSnapshotHolder(final FeatureConfigSnapshotHolder holder, final Feature feature) throws JAXBException, XMLStreamException {
-        this(holder.fileInfo,holder.getFeature());
-        this.featureChain.add(feature);
-    }
-
-    /*
-     * Create a FeatureConfigSnapshotHolder for a given ConfigFileInfo and record the associated
-     * feature we are creating it from.
-     * @param fileInfo - ConfigFileInfo to read into the ConfigSnapshot
-     * @param feature - Feature the ConfigFileInfo was attached to
-     */
-    public FeatureConfigSnapshotHolder(final ConfigFileInfo fileInfo, final Feature feature) throws JAXBException, XMLStreamException {
-        Preconditions.checkNotNull(fileInfo);
-        Preconditions.checkNotNull(fileInfo.getFinalname());
-        Preconditions.checkNotNull(feature);
-        this.fileInfo = fileInfo;
-        this.featureChain.add(feature);
-        // TODO extract utility method for umarshalling config snapshots
-        JAXBContext jaxbContext = JAXBContext.newInstance(ConfigSnapshot.class);
-        Unmarshaller um = jaxbContext.createUnmarshaller();
-        XMLInputFactory xif = XMLInputFactory.newFactory();
-        xif.setProperty(XMLInputFactory.IS_SUPPORTING_EXTERNAL_ENTITIES, false);
-        xif.setProperty(XMLInputFactory.SUPPORT_DTD, false);
-
-        XMLStreamReader xsr = xif.createXMLStreamReader(new StreamSource(new File(fileInfo.getFinalname())));
-        unmarshalled = (ConfigSnapshot) um.unmarshal(xsr);
-    }
-    /*
-     * (non-Javadoc)
-     * @see java.lang.Object#hashCode()
-     *
-     * We really care most about the underlying ConfigShapshot, so compute hashcode on that
-     */
-    @Override
-    public int hashCode() {
-        final int prime = 31;
-        int result = 1;
-        result = prime * result + ((unmarshalled != null && unmarshalled.getConfigSnapshot() == null) ? 0 : unmarshalled.getConfigSnapshot().hashCode());
-        return result;
-    }
-    /*
-     * (non-Javadoc)
-     * @see java.lang.Object#equals(java.lang.Object)
-     * *
-     * We really care most about the underlying ConfigShapshot, so compute equality on that
-     */
-    @Override
-    public boolean equals(final Object obj) {
-        if (this == obj) {
-            return true;
-        }
-        if (obj == null) {
-            return false;
-        }
-        if (getClass() != obj.getClass()) {
-            return false;
-        }
-        FeatureConfigSnapshotHolder fcsh = (FeatureConfigSnapshotHolder)obj;
-        if(this.unmarshalled.getConfigSnapshot().equals(fcsh.unmarshalled.getConfigSnapshot())) {
-            return true;
-        }
-        return false;
-    }
-
-    @Override
-    public String toString() {
-        StringBuilder b = new StringBuilder();
-        Path p = Paths.get(fileInfo.getFinalname());
-        b.append(p.getFileName())
-            .append("(")
-            .append(getCauseFeature())
-            .append(",")
-            .append(getFeature())
-            .append(")");
-        return b.toString();
-    }
-
-    @Override
-    public String getConfigSnapshot() {
-        return unmarshalled.getConfigSnapshot();
-    }
-
-    @Override
-    public SortedSet<String> getCapabilities() {
-        return unmarshalled.getCapabilities();
-    }
-
-    public ConfigFileInfo getFileInfo() {
-        return fileInfo;
-    }
-
-    /*
-     * @returns The original feature to which the ConfigFileInfo was attached
-     * Example:
-     * A -> B -> C, ConfigFileInfo Foo is attached to C.
-     * feature:install A
-     * thus C is the 'Feature' Foo was attached.
-     */
-    public Feature getFeature() {
-        return featureChain.get(0);
-    }
-
-    /*
-     * @return The dependency chain of the features that caused the ConfigFileInfo to be pushed in reverse order.
-     * Example:
-     * A -> B -> C, ConfigFileInfo Foo is attached to C.
-     * The returned list is
-     * [C,B,A]
-     */
-    public ImmutableList<Feature> getFeatureChain() {
-        return ImmutableList.copyOf(Lists.reverse(featureChain));
-    }
-
-    /*
-     * @return The feature the installation of which was the root cause
-     * of this pushing of the ConfigFileInfo.
-     * Example:
-     * A -> B -> C, ConfigFileInfo Foo is attached to C.
-     * feature:install A
-     * this A is the 'Cause' of the installation of Foo.
-     */
-    public Feature getCauseFeature() {
-        return Iterables.getLast(featureChain);
-    }
-}
diff --git a/opendaylight/config/config-persister-feature4-adapter/src/main/java/org/opendaylight/controller/configpusherfeature/internal/FeatureServiceCustomizer.java b/opendaylight/config/config-persister-feature4-adapter/src/main/java/org/opendaylight/controller/configpusherfeature/internal/FeatureServiceCustomizer.java
deleted file mode 100644 (file)
index 68ae3d3..0000000
+++ /dev/null
@@ -1,78 +0,0 @@
-/*
- * Copyright (c) 2014 Cisco Systems, Inc. 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
- */
-package org.opendaylight.controller.configpusherfeature.internal;
-
-import com.google.common.base.Optional;
-import com.google.common.collect.Sets;
-
-import java.util.Set;
-
-import org.apache.karaf.features.Feature;
-import org.apache.karaf.features.FeaturesListener;
-import org.apache.karaf.features.FeaturesService;
-import org.opendaylight.controller.config.persist.api.ConfigPusher;
-import org.opendaylight.controller.config.persist.storage.file.xml.XmlFileStorageAdapter;
-import org.osgi.framework.BundleContext;
-import org.osgi.framework.ServiceReference;
-import org.osgi.framework.ServiceRegistration;
-import org.osgi.util.tracker.ServiceTrackerCustomizer;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-public class FeatureServiceCustomizer implements ServiceTrackerCustomizer<FeaturesService, FeaturesService>, AutoCloseable {
-    private static final Logger LOG = LoggerFactory.getLogger(FeatureServiceCustomizer.class);
-    private ConfigPusher configPusher = null;
-    private ServiceRegistration<?> registration;
-
-    FeatureServiceCustomizer(final ConfigPusher c) {
-        configPusher = c;
-    }
-
-    @Override
-    public FeaturesService addingService(final ServiceReference<FeaturesService> reference) {
-        BundleContext bc = reference.getBundle().getBundleContext();
-        final FeaturesService featureService = bc.getService(reference);
-        final Optional<XmlFileStorageAdapter> currentPersister = XmlFileStorageAdapter.getInstance();
-
-        if (XmlFileStorageAdapter.getInstance().isPresent()) {
-            final Set<String> installedFeatureIds = Sets.newHashSet();
-            try {
-                for (final Feature installedFeature : featureService.listInstalledFeatures()) {
-                    installedFeatureIds.add(installedFeature.getId());
-                }
-            } catch (final Exception e) {
-                LOG.error("Error listing installed features", e);
-            }
-
-            currentPersister.get().setFeaturesService(() -> installedFeatureIds);
-        }
-        ConfigFeaturesListener configFeaturesListener = new ConfigFeaturesListener(configPusher, featureService);
-        registration = bc.registerService(FeaturesListener.class.getCanonicalName(), configFeaturesListener, null);
-        return featureService;
-    }
-
-    @Override
-    public void modifiedService(final ServiceReference<FeaturesService> reference,
-                                final FeaturesService service) {
-        // we don't care if the properties change
-    }
-
-    @Override
-    public void removedService(final ServiceReference<FeaturesService> reference,
-                               final FeaturesService service) {
-        close();
-    }
-
-    @Override
-    public void close() {
-        if (registration != null) {
-            registration.unregister();
-            registration = null;
-        }
-    }
-}
index 238065596e8033e36a3caf67198a4097bfde3ffb..dc650d8560938a0562b20998e3558a87224ac86f 100644 (file)
@@ -23,7 +23,6 @@
     <module>config-persister-api</module>
     <module>config-persister-file-xml-adapter</module>
     <module>config-persister-feature-adapter</module>
-    <module>config-persister-feature4-adapter</module>
     <module>config-manager-facade-xml</module>
     <module>yang-jmx-generator</module>
     <module>yang-jmx-generator-plugin</module>
index 5a94e5855dc6381c3e5db007db42ddf479db7223..8345bdc0dbd7f7adde1fb116b0ce11941a481423 100644 (file)
@@ -13,7 +13,7 @@ and is available at http://www.eclipse.org/legal/epl-v10.html
   <parent>
     <groupId>org.opendaylight.odlparent</groupId>
     <artifactId>odlparent</artifactId>
-    <version>1.9.0</version>
+    <version>2.0.0</version>
     <relativePath/>
   </parent>
 
index 92f8e5ea237c88d3b5a4dffefecacf2f18ac3ecd..1cd5d2e0763622a0c6481b57f4feba5feb9e81d2 100644 (file)
@@ -5,7 +5,7 @@
     <parent>
         <groupId>org.opendaylight.odlparent</groupId>
         <artifactId>bundle-parent</artifactId>
-        <version>1.9.0</version>
+        <version>2.0.0</version>
         <relativePath/>
     </parent>
 
index a90a7db57da2aa552370e3f25d2e59a2fb601511..962ef8ed7031c540311173ab1089c15a2d910a2f 100644 (file)
@@ -5,7 +5,7 @@
     <parent>
         <groupId>org.opendaylight.odlparent</groupId>
         <artifactId>bundle-parent</artifactId>
-        <version>1.9.0</version>
+        <version>2.0.0</version>
         <relativePath/>
     </parent>
 
index 361f3e135c74f7bedc40067e47dc919aaf2d5326..97e6897048f63d0dbcc8ab2c1a134c7f2dea0914 100644 (file)
@@ -5,7 +5,7 @@
     <parent>
         <groupId>org.opendaylight.odlparent</groupId>
         <artifactId>bundle-parent</artifactId>
-        <version>1.9.0</version>
+        <version>2.0.0</version>
         <relativePath/>
     </parent>
 
index 500359579900c18fc5327503b4d9a9fb1458f31a..d4a467c8dad95bbe3e2b4c0462829b8050bee459 100644 (file)
@@ -12,7 +12,7 @@
   <parent>
     <groupId>org.opendaylight.odlparent</groupId>
     <artifactId>odlparent-lite</artifactId>
-    <version>1.9.0</version>
+    <version>2.0.0</version>
     <relativePath/>
   </parent>
 
index 1b31edffaf9238087cbb8db72b8111ea2fa355e5..d9a30fffbbc8fcea2a6214f296965351faada217 100644 (file)
@@ -14,7 +14,7 @@
     <parent>
         <groupId>org.opendaylight.odlparent</groupId>
         <artifactId>odlparent-lite</artifactId>
-        <version>1.9.0</version>
+        <version>2.0.0</version>
         <relativePath/>
     </parent>
 
index 95b23c184bff18407ef389503e5eabf4c1a11072..dab1caa4bf33594472eeb0194f3c2535246854a8 100644 (file)
@@ -11,7 +11,7 @@ and is available at http://www.eclipse.org/legal/epl-v10.html
   <parent>
     <groupId>org.opendaylight.odlparent</groupId>
     <artifactId>bundle-parent</artifactId>
-    <version>1.9.0</version>
+    <version>2.0.0</version>
     <relativePath/>
   </parent>
   <modelVersion>4.0.0</modelVersion>
index a5791c399a15fb77b29a050ee38bb2c92cb277b4..9ade146a9b09c4a9afbfc882000c258f7e4d66e0 100644 (file)
@@ -11,7 +11,7 @@ and is available at http://www.eclipse.org/legal/epl-v10.html
   <parent>
     <groupId>org.opendaylight.odlparent</groupId>
     <artifactId>bundle-parent</artifactId>
-    <version>1.9.0</version>
+    <version>2.0.0</version>
     <relativePath/>
   </parent>
   <modelVersion>4.0.0</modelVersion>
@@ -23,7 +23,7 @@ and is available at http://www.eclipse.org/legal/epl-v10.html
     <mdsal.version>1.6.0-SNAPSHOT</mdsal.version>
     <karaf.distro.groupId>org.opendaylight.odlparent</karaf.distro.groupId>
     <karaf.distro.artifactId>opendaylight-karaf-empty</karaf.distro.artifactId>
-    <karaf.distro.version>1.9.0</karaf.distro.version>
+    <karaf.distro.version>2.0.0</karaf.distro.version>
     <karaf.distro.type>zip</karaf.distro.type>
     <karaf.keep.unpack>false</karaf.keep.unpack>
   </properties>
index 9bb7badba106f1b8d85d3b4c127d14c0db68fe65..e00fa4353083e7f115c4c263fa239167be55431a 100644 (file)
@@ -13,7 +13,7 @@ and is available at http://www.eclipse.org/legal/epl-v10.html
   <parent>
     <groupId>org.opendaylight.odlparent</groupId>
     <artifactId>bundle-parent</artifactId>
-    <version>1.9.0</version>
+    <version>2.0.0</version>
     <relativePath/>
   </parent>
 
index f82d97f80c0691e6f426d89826cce76e8f975bc9..8170e0155f7a0ef0addfc55f94fe0ac7cf670750 100644 (file)
@@ -1,64 +1,28 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<!--
-Copyright Â© 2016 Red Hat and others. All rights reserved.
+<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>
 
-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 INTERNAL
--->
-<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>feature-repo-parent</artifactId>
+        <version>2.0.0</version>
+        <relativePath/>
+    </parent>
 
-  <parent>
-    <groupId>org.opendaylight.odlparent</groupId>
-    <artifactId>features-parent</artifactId>
-    <version>1.9.0</version>
-    <relativePath/>
-  </parent>
-
-  <groupId>org.opendaylight.controller</groupId>
-  <artifactId>mdsal-trace-features</artifactId>
-  <version>1.6.0-SNAPSHOT</version>
-  <name>${project.artifactId}</name>
-
-  <dependencyManagement>
+    <groupId>org.opendaylight.controller</groupId>
+    <artifactId>features-mdsal-trace</artifactId>
+    <version>1.6.0-SNAPSHOT</version>
+    <name>OpenDaylight :: TracingBroker</name>
+    <packaging>feature</packaging>
     <dependencies>
-      <!-- project specific dependencies -->
-      <dependency>
-        <groupId>org.opendaylight.mdsal</groupId>
-        <artifactId>mdsal-artifacts</artifactId>
-        <version>2.3.0-SNAPSHOT</version>
-        <type>pom</type>
-        <scope>import</scope>
-      </dependency>
-      <dependency>
-        <groupId>org.opendaylight.controller</groupId>
-        <artifactId>mdsal-artifacts</artifactId>
-        <version>${project.version}</version>
-        <type>pom</type>
-        <scope>import</scope>
-      </dependency>
+        <dependency>
+            <groupId>org.opendaylight.controller</groupId>
+            <artifactId>odl-mdsal-trace</artifactId>
+            <version>${project.version}</version>
+            <type>xml</type>
+            <classifier>features</classifier>
+        </dependency>
     </dependencies>
-  </dependencyManagement>
-
-  <dependencies>
-    <dependency>
-      <groupId>org.opendaylight.controller</groupId>
-      <artifactId>features-mdsal</artifactId>
-      <classifier>features</classifier>
-      <type>xml</type>
-    </dependency>
-    <dependency>
-      <groupId>${project.groupId}</groupId>
-      <artifactId>mdsal-trace-dom-impl</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>${project.groupId}</groupId>
-      <artifactId>mdsal-trace-binding-impl</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>${project.groupId}</groupId>
-      <artifactId>mdsal-trace-api</artifactId>
-    </dependency>
-  </dependencies>
 </project>
diff --git a/opendaylight/md-sal/mdsal-trace/features/features-mdsal-trace/src/main/features/features.xml b/opendaylight/md-sal/mdsal-trace/features/features-mdsal-trace/src/main/features/features.xml
deleted file mode 100644 (file)
index 3eb6d7b..0000000
+++ /dev/null
@@ -1,24 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- vi: set et smarttab sw=4 tabstop=4: -->
-<!--
-Copyright Â© 2016 Red Hat 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
--->
-<features name="odl-mdsaltrace-${project.version}" xmlns="http://karaf.apache.org/xmlns/features/v1.2.0"
-  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-  xsi:schemaLocation="http://karaf.apache.org/xmlns/features/v1.2.0 http://karaf.apache.org/xmlns/features/v1.2.0">
-  <repository>mvn:org.opendaylight.controller/features-mdsal/{{VERSION}}/xml/features</repository>
-  <repository>mvn:org.opendaylight.yangtools/features-yangtools/{{VERSION}}/xml/features</repository>
-
-  <feature name='odl-mdsal-trace' version='${project.version}' description='OpenDaylight :: TracingBroker'>
-    <feature version='${project.version}'>odl-mdsal-broker</feature>
-    <feature version='${project.version}'>odl-mdsal-broker-local</feature>
-    <bundle>mvn:org.opendaylight.controller/mdsal-trace-api/{{VERSION}}</bundle>
-    <bundle>mvn:org.opendaylight.controller/mdsal-trace-dom-impl/{{VERSION}}</bundle>
-    <bundle>mvn:org.opendaylight.controller/mdsal-trace-binding-impl/{{VERSION}}</bundle>
-    <configfile finalname="etc/opendaylight/datastore/initial/config/mdsaltrace_config.xml">mvn:org.opendaylight.controller/mdsal-trace-api/{{VERSION}}/xml/config</configfile>
-  </feature>
-</features>
diff --git a/opendaylight/md-sal/mdsal-trace/features/features4-mdsal-trace/pom.xml b/opendaylight/md-sal/mdsal-trace/features/features4-mdsal-trace/pom.xml
deleted file mode 100644 (file)
index 55e319b..0000000
+++ /dev/null
@@ -1,28 +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>feature-repo-parent</artifactId>
-        <version>1.9.0</version>
-        <relativePath/>
-    </parent>
-
-    <groupId>org.opendaylight.controller</groupId>
-    <artifactId>features4-mdsal-trace</artifactId>
-    <version>1.6.0-SNAPSHOT</version>
-    <name>OpenDaylight :: TracingBroker</name>
-    <packaging>feature</packaging>
-    <dependencies>
-        <dependency>
-            <groupId>org.opendaylight.controller</groupId>
-            <artifactId>odl-mdsal-trace</artifactId>
-            <version>${project.version}</version>
-            <type>xml</type>
-            <classifier>features</classifier>
-        </dependency>
-    </dependencies>
-</project>
index 821889b751ab77d9c69d16d4e15f075ec99fcd00..238298a91c3e7c697cebc0d3f6151636b830b0c8 100644 (file)
@@ -7,7 +7,7 @@
     <parent>
         <groupId>org.opendaylight.odlparent</groupId>
         <artifactId>single-feature-parent</artifactId>
-        <version>1.9.0</version>
+        <version>2.0.0</version>
         <relativePath/>
     </parent>
 
index 9828efdfec7d04d89cd18ed3e26af7c39e2bf0df..d871d4719867838d573004b40c9a853f7ed5b75d 100644 (file)
@@ -12,7 +12,7 @@ and is available at http://www.eclipse.org/legal/epl-v10.html INTERNAL
   <parent>
     <groupId>org.opendaylight.odlparent</groupId>
     <artifactId>odlparent-lite</artifactId>
-    <version>1.9.0</version>
+    <version>2.0.0</version>
     <relativePath/>
   </parent>
 
@@ -24,6 +24,5 @@ and is available at http://www.eclipse.org/legal/epl-v10.html INTERNAL
   <modules>
     <module>features-mdsal-trace</module>
     <module>odl-mdsal-trace</module>
-    <module>features4-mdsal-trace</module>
   </modules>
 </project>
index 1e8aa6b7b10d511a8afa30e0706b75858c400098..1b129a772259459189d9ed8b8b9a2b82b9a8a71c 100644 (file)
@@ -11,7 +11,7 @@ and is available at http://www.eclipse.org/legal/epl-v10.html INTERNAL
   <parent>
     <groupId>org.opendaylight.odlparent</groupId>
     <artifactId>odlparent-lite</artifactId>
-    <version>1.9.0</version>
+    <version>2.0.0</version>
     <relativePath/>
   </parent>
 
index 55f181936f1e850fb793610c1ecb6b92ca775dd1..bd281b75d203ee6d893a9e65100abc3397b2932d 100644 (file)
@@ -12,7 +12,7 @@
   <parent>
     <groupId>org.opendaylight.odlparent</groupId>
     <artifactId>odlparent-lite</artifactId>
-    <version>1.9.0</version>
+    <version>2.0.0</version>
     <relativePath/>
   </parent>
 
index dcebde07ab405ad051f81c55dd9569f29df9b514..b2d90cfd17aa55ec0905105e399efaba530304b6 100644 (file)
@@ -14,7 +14,7 @@ and is available at http://www.eclipse.org/legal/epl-v10.html
     <parent>
         <groupId>org.opendaylight.odlparent</groupId>
         <artifactId>bundle-parent</artifactId>
-        <version>1.9.0</version>
+        <version>2.0.0</version>
         <relativePath/>
     </parent>
 
index 11daedd5ca7f3934ae6a9463f5484a27419e5626..0b1e89bc43c8ebdc512374eba96280976e0a955a 100644 (file)
@@ -5,7 +5,7 @@
   <parent>
     <groupId>org.opendaylight.odlparent</groupId>
     <artifactId>odlparent-lite</artifactId>
-    <version>1.9.0</version>
+    <version>2.0.0</version>
     <relativePath/>
   </parent>
 
index c492147892d3154136713cf97a666709ce1db458..e09f2fb44867840925cf2da93656e6d1e5bf3717 100644 (file)
@@ -4,7 +4,7 @@
   <parent>
     <groupId>org.opendaylight.odlparent</groupId>
     <artifactId>bundle-parent</artifactId>
-    <version>1.9.0</version>
+    <version>2.0.0</version>
     <relativePath/>
   </parent>
 
index 23f37bfe14ceb34df20d29ed8325ae829ac27bd4..62e2c24f52ec2b4947e09754a360290661d56eb3 100644 (file)
@@ -4,7 +4,7 @@
   <parent>
     <groupId>org.opendaylight.odlparent</groupId>
     <artifactId>bundle-parent</artifactId>
-    <version>1.9.0</version>
+    <version>2.0.0</version>
     <relativePath/>
   </parent>
 
index aa6c5b8373ad1dc0512aa1dbd3646b50c6a0947c..2330f612d4cf540673b4dce5584b366476b214b6 100644 (file)
@@ -4,7 +4,7 @@
   <parent>
     <groupId>org.opendaylight.odlparent</groupId>
     <artifactId>bundle-parent</artifactId>
-    <version>1.9.0</version>
+    <version>2.0.0</version>
     <relativePath/>
   </parent>
 
index 4c83b95dbb9a1f3700a36e5195329a1897792f94..1085705e840564ea1a7cabf3ab0f1f00e672155a 100644 (file)
@@ -4,7 +4,7 @@
   <parent>
     <groupId>org.opendaylight.odlparent</groupId>
     <artifactId>bundle-parent</artifactId>
-    <version>1.9.0</version>
+    <version>2.0.0</version>
     <relativePath/>
   </parent>
 
index 9ee450dde4166bc9ab8a5a71b4cc62729a3959fe..c188fddaf471692ba63019a6e7cf12b0373dcaf3 100644 (file)
@@ -4,7 +4,7 @@
   <parent>
     <groupId>org.opendaylight.odlparent</groupId>
     <artifactId>odlparent</artifactId>
-    <version>1.9.0</version>
+    <version>2.0.0</version>
     <relativePath/>
   </parent>
 
index 5f0dc083794df91932781f478deb73ca3e876be2..2211fbca60f3f91aef7ad50b58c66ee54eeb0373 100644 (file)
@@ -4,7 +4,7 @@
   <parent>
     <groupId>org.opendaylight.odlparent</groupId>
     <artifactId>bundle-parent</artifactId>
-    <version>1.9.0</version>
+    <version>2.0.0</version>
     <relativePath/>
   </parent>
 
index 6db9ec25c2284f99c512f77cab3a18135e6c4854..f9a5f9ba5415afb686946808f9bb492a7297346a 100644 (file)
@@ -12,7 +12,7 @@
   <parent>
     <groupId>org.opendaylight.odlparent</groupId>
     <artifactId>odlparent-lite</artifactId>
-    <version>1.9.0</version>
+    <version>2.0.0</version>
     <relativePath/>
   </parent>
 
index 065b52cba4404fe77410025988f50d416be11f99..474d55c985e17f022974942d6430cbd1046b59a9 100644 (file)
@@ -4,7 +4,7 @@
   <parent>
     <groupId>org.opendaylight.odlparent</groupId>
     <artifactId>bundle-parent</artifactId>
-    <version>1.9.0</version>
+    <version>2.0.0</version>
     <relativePath/>
   </parent>
 
index b9df496e3aae18312eeb8e07c2bea95cdfaac091..9b0dbb0f97b61bdd36e6e655058c8d8a6cb6dc20 100644 (file)
@@ -7,7 +7,6 @@
  */
 package org.opendaylight.controller.md.sal.common.impl.service;
 
-import com.google.common.util.concurrent.AsyncFunction;
 import com.google.common.util.concurrent.CheckedFuture;
 import com.google.common.util.concurrent.Futures;
 import com.google.common.util.concurrent.ListenableFuture;
@@ -25,6 +24,6 @@ public abstract class AbstractDataTransaction {
             Futures.immediateFuture(RpcResultBuilder.success(TransactionStatus.COMMITED).build());
 
     public static ListenableFuture<RpcResult<TransactionStatus>> convertToLegacyCommitFuture(final CheckedFuture<Void,TransactionCommitFailedException> from) {
-        return Futures.transform(from, (AsyncFunction<Void, RpcResult<TransactionStatus>>) input -> SUCCESS_FUTURE);
+        return Futures.transformAsync(from, input -> SUCCESS_FUTURE);
     }
 }
index b3208cd19bd570df98c9c2bbe81600a950b156c5..6f986284988c580ec88ae356615a20677d1b9576 100644 (file)
@@ -5,7 +5,7 @@
   <parent>
     <groupId>org.opendaylight.odlparent</groupId>
     <artifactId>odlparent</artifactId>
-    <version>1.9.0</version>
+    <version>2.0.0</version>
     <relativePath />
   </parent>
 
index 790ad7e74032482fcb0584ff198a77a79f067d90..674a94462099f0145e1a75cb64cedef8a8c2d6f4 100644 (file)
@@ -4,7 +4,7 @@
   <parent>
     <groupId>org.opendaylight.odlparent</groupId>
     <artifactId>bundle-parent</artifactId>
-    <version>1.9.0</version>
+    <version>2.0.0</version>
     <relativePath/>
   </parent>
 
index dfaa0f8642b5a145d95e37a596033ccdb6ef74f3..5779db693b044fbab6f2327c5dbc98a34961d475 100644 (file)
@@ -4,7 +4,7 @@
   <parent>
     <groupId>org.opendaylight.odlparent</groupId>
     <artifactId>bundle-parent</artifactId>
-    <version>1.9.0</version>
+    <version>2.0.0</version>
     <relativePath/>
   </parent>
 
index 12778541008b5eb84580be5ef1e828c1b091f428..a2a2bfca0850e746e045f561d1db0d6f5635732c 100644 (file)
@@ -12,6 +12,7 @@ import com.google.common.base.Preconditions;
 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.util.List;
 import org.opendaylight.controller.cluster.access.concepts.TransactionIdentifier;
 import org.slf4j.Logger;
@@ -32,26 +33,26 @@ class DebugThreePhaseCommitCohort extends AbstractThreePhaseCommitCohort<Object>
     private final TransactionIdentifier transactionId;
     private Logger log = LOG;
 
-    DebugThreePhaseCommitCohort(TransactionIdentifier transactionId, AbstractThreePhaseCommitCohort<?> delegate,
-            Throwable debugContext) {
+    DebugThreePhaseCommitCohort(final TransactionIdentifier transactionId,
+            final AbstractThreePhaseCommitCohort<?> delegate, final Throwable debugContext) {
         this.delegate = Preconditions.checkNotNull(delegate);
         this.debugContext = Preconditions.checkNotNull(debugContext);
         this.transactionId = Preconditions.checkNotNull(transactionId);
     }
 
-    private <V> ListenableFuture<V> addFutureCallback(ListenableFuture<V> future) {
+    private <V> ListenableFuture<V> addFutureCallback(final ListenableFuture<V> future) {
         Futures.addCallback(future, new FutureCallback<V>() {
             @Override
-            public void onSuccess(V result) {
+            public void onSuccess(final V result) {
                 // no-op
             }
 
             @Override
-            public void onFailure(Throwable failure) {
+            public void onFailure(final Throwable failure) {
                 log.warn("Transaction {} failed with error \"{}\" - was allocated in the following context",
                         transactionId, failure, debugContext);
             }
-        });
+        }, MoreExecutors.directExecutor());
 
         return future;
     }
@@ -83,7 +84,7 @@ class DebugThreePhaseCommitCohort extends AbstractThreePhaseCommitCohort<Object>
     }
 
     @VisibleForTesting
-    void setLogger(Logger log) {
+    void setLogger(final Logger log) {
         this.log = log;
     }
 }
index 76bafb75d3003a911f1b1207f55a919b0c08e2f0..9fad1f1016bd3e3e33af2566cc0defef2121cee9 100644 (file)
@@ -11,6 +11,7 @@ import akka.actor.ActorSelection;
 import com.google.common.base.Preconditions;
 import com.google.common.util.concurrent.FutureCallback;
 import com.google.common.util.concurrent.Futures;
+import com.google.common.util.concurrent.MoreExecutors;
 import com.google.common.util.concurrent.SettableFuture;
 import org.opendaylight.controller.cluster.access.concepts.TransactionIdentifier;
 import org.opendaylight.controller.cluster.datastore.messages.AbstractRead;
@@ -31,8 +32,8 @@ abstract class LocalTransactionContext extends AbstractTransactionContext {
     private final LocalTransactionReadySupport readySupport;
     private Exception operationError;
 
-    LocalTransactionContext(DOMStoreTransaction txDelegate, TransactionIdentifier identifier,
-            LocalTransactionReadySupport readySupport) {
+    LocalTransactionContext(final DOMStoreTransaction txDelegate, final TransactionIdentifier identifier,
+            final LocalTransactionReadySupport readySupport) {
         super(identifier);
         this.txDelegate = Preconditions.checkNotNull(txDelegate);
         this.readySupport = readySupport;
@@ -44,7 +45,7 @@ abstract class LocalTransactionContext extends AbstractTransactionContext {
 
     @Override
     @SuppressWarnings("checkstyle:IllegalCatch")
-    public void executeModification(AbstractModification modification) {
+    public void executeModification(final AbstractModification modification) {
         incrementModificationCount();
         if (operationError == null) {
             try {
@@ -56,7 +57,7 @@ abstract class LocalTransactionContext extends AbstractTransactionContext {
     }
 
     @Override
-    public <T> void executeRead(AbstractRead<T> readCmd, final SettableFuture<T> proxyFuture) {
+    public <T> void executeRead(final AbstractRead<T> readCmd, final SettableFuture<T> proxyFuture) {
         Futures.addCallback(readCmd.apply(getReadDelegate()), new FutureCallback<T>() {
             @Override
             public void onSuccess(final T result) {
@@ -67,7 +68,7 @@ abstract class LocalTransactionContext extends AbstractTransactionContext {
             public void onFailure(final Throwable failure) {
                 proxyFuture.setException(failure);
             }
-        });
+        }, MoreExecutors.directExecutor());
     }
 
     private LocalThreePhaseCommitCohort ready() {
index 405eb0f95bad82b2064240f524269260f93d5a8a..f91da9ade330135fed0d681dc9458555e216ea24 100644 (file)
@@ -17,6 +17,7 @@ import com.google.common.collect.Iterables;
 import com.google.common.util.concurrent.CheckedFuture;
 import com.google.common.util.concurrent.Futures;
 import com.google.common.util.concurrent.ListenableFuture;
+import com.google.common.util.concurrent.MoreExecutors;
 import com.google.common.util.concurrent.SettableFuture;
 import java.util.ArrayList;
 import java.util.Collection;
@@ -80,7 +81,8 @@ public class TransactionProxy extends AbstractDOMStoreTransaction<TransactionIde
         return executeRead(shardNameFromIdentifier(path), new DataExists(path, DataStoreVersions.CURRENT_VERSION));
     }
 
-    private <T> CheckedFuture<T, ReadFailedException> executeRead(String shardName, final AbstractRead<T> readCmd) {
+    private <T> CheckedFuture<T, ReadFailedException> executeRead(final String shardName,
+            final AbstractRead<T> readCmd) {
         Preconditions.checkState(type != TransactionType.WRITE_ONLY,
                 "Reads from write-only transactions are not allowed");
 
@@ -90,7 +92,7 @@ public class TransactionProxy extends AbstractDOMStoreTransaction<TransactionIde
         TransactionContextWrapper contextWrapper = getContextWrapper(shardName);
         contextWrapper.maybeExecuteTransactionOperation(new TransactionOperation() {
             @Override
-            public void invoke(TransactionContext transactionContext) {
+            public void invoke(final TransactionContext transactionContext) {
                 transactionContext.executeRead(readCmd, proxyFuture);
             }
         });
@@ -138,7 +140,7 @@ public class TransactionProxy extends AbstractDOMStoreTransaction<TransactionIde
                 } catch (DataValidationFailedException e) {
                     throw new IllegalArgumentException("Failed to aggregate", e);
                 }
-            });
+            }, MoreExecutors.directExecutor());
 
         return MappingCheckedFuture.create(aggregateFuture, ReadFailedException.MAPPER);
     }
@@ -167,7 +169,7 @@ public class TransactionProxy extends AbstractDOMStoreTransaction<TransactionIde
         TransactionContextWrapper contextWrapper = getContextWrapper(modification.getPath());
         contextWrapper.maybeExecuteTransactionOperation(new TransactionOperation() {
             @Override
-            protected void invoke(TransactionContext transactionContext) {
+            protected void invoke(final TransactionContext transactionContext) {
                 transactionContext.executeModification(modification);
             }
         });
@@ -201,7 +203,7 @@ public class TransactionProxy extends AbstractDOMStoreTransaction<TransactionIde
         for (TransactionContextWrapper contextWrapper : txContextWrappers.values()) {
             contextWrapper.maybeExecuteTransactionOperation(new TransactionOperation() {
                 @Override
-                public void invoke(TransactionContext transactionContext) {
+                public void invoke(final TransactionContext transactionContext) {
                     transactionContext.closeTransaction();
                 }
             });
@@ -255,7 +257,7 @@ public class TransactionProxy extends AbstractDOMStoreTransaction<TransactionIde
             final Promise promise = akka.dispatch.Futures.promise();
             contextWrapper.maybeExecuteTransactionOperation(new TransactionOperation() {
                 @Override
-                public void invoke(TransactionContext newTransactionContext) {
+                public void invoke(final TransactionContext newTransactionContext) {
                     promise.completeWith(getDirectCommitFuture(newTransactionContext, operationCallbackRef));
                 }
             });
@@ -269,8 +271,8 @@ public class TransactionProxy extends AbstractDOMStoreTransaction<TransactionIde
             operationCallbackRef);
     }
 
-    private Future<?> getDirectCommitFuture(TransactionContext transactionContext,
-            OperationCallback.Reference operationCallbackRef) {
+    private Future<?> getDirectCommitFuture(final TransactionContext transactionContext,
+            final OperationCallback.Reference operationCallbackRef) {
         TransactionRateLimitingCallback rateLimitingCallback = new TransactionRateLimitingCallback(
                 txContextFactory.getActorContext());
         operationCallbackRef.set(rateLimitingCallback);
index 0342a1351748aa77f2020bb179198ddf5bace2a9..2342e5eeb9c933ebd80a9bc80fe4d9410f901239 100644 (file)
@@ -11,6 +11,7 @@ package org.opendaylight.controller.cluster.sharding;
 import com.google.common.util.concurrent.AsyncFunction;
 import com.google.common.util.concurrent.Futures;
 import com.google.common.util.concurrent.ListenableFuture;
+import com.google.common.util.concurrent.MoreExecutors;
 import java.util.Collection;
 import java.util.concurrent.ExecutionException;
 import org.opendaylight.controller.cluster.access.concepts.MemberName;
@@ -100,8 +101,9 @@ class PrefixedShardConfigWriter {
         final AsyncFunction<Boolean, Void> validateFunction = input -> cohort.preCommit();
         final AsyncFunction<Void, Void> prepareFunction = input -> cohort.commit();
 
-        final ListenableFuture<Void> prepareFuture = Futures.transform(cohort.canCommit(), validateFunction);
-        return Futures.transform(prepareFuture, prepareFunction);
+        final ListenableFuture<Void> prepareFuture = Futures.transformAsync(cohort.canCommit(), validateFunction,
+            MoreExecutors.directExecutor());
+        return Futures.transformAsync(prepareFuture, prepareFunction, MoreExecutors.directExecutor());
     }
 
     boolean checkDefaultIsPresent() {
index d08b47ba466474ee2e2d4633aaa670cdea5b9508..52630eb4ba8ec76c681ddbcefe558a759adcd34b 100644 (file)
@@ -14,6 +14,7 @@ import com.google.common.util.concurrent.AsyncFunction;
 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 com.google.common.util.concurrent.SettableFuture;
 import java.util.ArrayList;
 import java.util.Collection;
@@ -129,9 +130,10 @@ class ShardProxyTransaction implements DOMDataTreeShardWriteTransaction {
         final AsyncFunction<Void, Void> prepareFunction = input -> commit();
 
         // transform validate into prepare
-        final ListenableFuture<Void> prepareFuture = Futures.transform(validate(), validateFunction);
+        final ListenableFuture<Void> prepareFuture = Futures.transformAsync(validate(), validateFunction,
+            MoreExecutors.directExecutor());
         // transform prepare into commit and return as submit result
-        return Futures.transform(prepareFuture, prepareFunction);
+        return Futures.transformAsync(prepareFuture, prepareFunction, MoreExecutors.directExecutor());
     }
 
     @Override
@@ -153,7 +155,7 @@ class ShardProxyTransaction implements DOMDataTreeShardWriteTransaction {
             public void onFailure(final Throwable throwable) {
                 ret.setException(throwable);
             }
-        });
+        }, MoreExecutors.directExecutor());
 
         return ret;
     }
@@ -177,7 +179,7 @@ class ShardProxyTransaction implements DOMDataTreeShardWriteTransaction {
             public void onFailure(final Throwable throwable) {
                 ret.setException(throwable);
             }
-        });
+        }, MoreExecutors.directExecutor());
 
         return ret;
     }
@@ -201,7 +203,7 @@ class ShardProxyTransaction implements DOMDataTreeShardWriteTransaction {
             public void onFailure(final Throwable throwable) {
                 ret.setException(throwable);
             }
-        });
+        }, MoreExecutors.directExecutor());
 
         return ret;
     }
index fcba12bdd7f3ef3ac9eae1dc9d9bff7699bb140e..8333b4875e4f6b5e29a366c17c6b838deaf6babd 100644 (file)
@@ -8,8 +8,8 @@
 package org.opendaylight.controller.cluster.databroker;
 
 import com.google.common.base.Optional;
-import com.google.common.util.concurrent.CheckedFuture;
 import com.google.common.util.concurrent.Futures;
+import com.google.common.util.concurrent.ListenableFuture;
 import org.junit.Assert;
 import org.junit.Before;
 import org.junit.Test;
@@ -18,7 +18,6 @@ import org.mockito.Mockito;
 import org.mockito.MockitoAnnotations;
 import org.opendaylight.controller.cluster.access.client.ClientActorContext;
 import org.opendaylight.controller.cluster.databroker.actors.dds.ClientSnapshot;
-import org.opendaylight.controller.md.sal.common.api.data.ReadFailedException;
 import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier;
 import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode;
 
@@ -54,7 +53,7 @@ public class ClientBackedReadTransactionTest extends ClientBackedTransactionTest
 
     @Test
     public void testRead() throws Exception {
-        final CheckedFuture<Optional<NormalizedNode<?, ?>>, ReadFailedException> result = object().read(
+        final ListenableFuture<Optional<NormalizedNode<?, ?>>> result = object().read(
                 YangInstanceIdentifier.EMPTY);
         final Optional<NormalizedNode<?, ?>> resultData = result.get();
         Assert.assertTrue(resultData.isPresent());
@@ -63,7 +62,7 @@ public class ClientBackedReadTransactionTest extends ClientBackedTransactionTest
 
     @Test
     public void testExists() throws Exception {
-        final CheckedFuture<Boolean, ReadFailedException> result = object().exists(YangInstanceIdentifier.EMPTY);
+        final ListenableFuture<Boolean> result = object().exists(YangInstanceIdentifier.EMPTY);
         Assert.assertTrue(result.get());
     }
 }
\ No newline at end of file
index bef18ffe200216502fb7fc42fe10de657b6f7799..8335fcdc3cddca33898e02846d41af7059e2208e 100644 (file)
@@ -136,8 +136,7 @@ public class ConcurrentDOMDataBrokerTest {
         doReturn(Futures.immediateFuture(null)).when(mockCohort2).preCommit();
         doReturn(Futures.immediateFuture(null)).when(mockCohort2).commit();
 
-        CheckedFuture<Void, TransactionCommitFailedException> future = coordinator.submit(
-                transaction, Arrays.asList(mockCohort1, mockCohort2));
+        ListenableFuture<Void> future = coordinator.submit(transaction, Arrays.asList(mockCohort1, mockCohort2));
 
         final CountDownLatch doneLatch = new CountDownLatch(1);
         final AtomicReference<Throwable> caughtEx = new AtomicReference<>();
@@ -152,7 +151,7 @@ public class ConcurrentDOMDataBrokerTest {
                 caughtEx.set(failure);
                 doneLatch.countDown();
             }
-        });
+        }, MoreExecutors.directExecutor());
 
         asyncCanCommitContinue.countDown();
 
index 709335cf534e7990f0290e508f67403342ead98a..d9b1e8efab53033eb22c4fffc8295b0d9ecb855f 100644 (file)
@@ -12,11 +12,10 @@ import static org.mockito.Mockito.when;
 import static org.opendaylight.controller.cluster.databroker.actors.dds.TestUtils.getWithTimeout;
 
 import com.google.common.base.Optional;
-import com.google.common.util.concurrent.CheckedFuture;
+import com.google.common.util.concurrent.ListenableFuture;
 import org.junit.Assert;
 import org.junit.Before;
 import org.junit.Test;
-import org.opendaylight.mdsal.common.api.ReadFailedException;
 import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier;
 import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode;
 
@@ -43,14 +42,14 @@ public class ClientSnapshotTest extends AbstractClientHandleTest<ClientSnapshot>
 
     @Test
     public void testExists() throws Exception {
-        final CheckedFuture<Boolean, ReadFailedException> exists = getHandle().exists(PATH);
+        final ListenableFuture<Boolean> exists = getHandle().exists(PATH);
         verify(getDataTreeSnapshot()).readNode(PATH);
         Assert.assertFalse(getWithTimeout(exists));
     }
 
     @Test
     public void testRead() throws Exception {
-        final CheckedFuture<Optional<NormalizedNode<?, ?>>, ReadFailedException> exists = getHandle().read(PATH);
+        final ListenableFuture<Optional<NormalizedNode<?, ?>>> exists = getHandle().read(PATH);
         verify(getDataTreeSnapshot()).readNode(PATH);
         Assert.assertFalse(getWithTimeout(exists).isPresent());
     }
index 1b9ea169b89a5f3bedd567e4607f6c94d6ac80b0..a80a0515fb8618711c40e7f3aede8fe260f244f2 100644 (file)
@@ -395,7 +395,7 @@ public abstract class AbstractTransactionProxyTest extends AbstractTest {
                 cause = e.getCause();
             }
 
-            Throwables.propagateIfInstanceOf(cause, Exception.class);
+            Throwables.throwIfInstanceOf(cause, Exception.class);
             Throwables.propagate(cause);
         }
     }
index 86a78a701f2e50d0ccc0fd112fd631fc3e6f6bc9..3eb84bde134bf648086e7a025ce41b31c8df9879 100644 (file)
@@ -810,7 +810,7 @@ public class ShardTest extends AbstractShardTest {
                 final Failure failure = expectMsgClass(duration("5 seconds"), akka.actor.Status.Failure.class);
 
                 if (failure != null) {
-                    Throwables.propagateIfInstanceOf(failure.cause(), Exception.class);
+                    Throwables.throwIfInstanceOf(failure.cause(), Exception.class);
                     Throwables.propagate(failure.cause());
                 }
             }
index 5ab1e5ade3fc5a2333fe14f3f31d36733019d133..ca804fdeee4db8f1fb2a4b5a7ddb0ae70cd9c14f 100644 (file)
@@ -34,6 +34,7 @@ import com.google.common.base.Throwables;
 import com.google.common.collect.Sets;
 import com.google.common.util.concurrent.CheckedFuture;
 import com.google.common.util.concurrent.FutureCallback;
+import com.google.common.util.concurrent.MoreExecutors;
 import com.google.common.util.concurrent.Uninterruptibles;
 import java.util.Collection;
 import java.util.List;
@@ -138,7 +139,8 @@ public class TransactionProxyTest extends AbstractTransactionProxyTest {
         propagateReadFailedExceptionCause(transactionProxy.read(TestModel.TEST_PATH));
     }
 
-    private void testExceptionOnInitialCreateTransaction(Exception exToThrow, Invoker invoker) throws Exception {
+    private void testExceptionOnInitialCreateTransaction(final Exception exToThrow, final Invoker invoker)
+            throws Exception {
         ActorRef actorRef = getSystem().actorOf(Props.create(DoNothingActor.class));
 
         if (exToThrow instanceof PrimaryNotFoundException) {
@@ -156,7 +158,7 @@ public class TransactionProxyTest extends AbstractTransactionProxyTest {
         propagateReadFailedExceptionCause(invoker.invoke(transactionProxy));
     }
 
-    private void testReadWithExceptionOnInitialCreateTransaction(Exception exToThrow) throws Exception {
+    private void testReadWithExceptionOnInitialCreateTransaction(final Exception exToThrow) throws Exception {
         testExceptionOnInitialCreateTransaction(exToThrow, proxy -> proxy.read(TestModel.TEST_PATH));
     }
 
@@ -355,7 +357,7 @@ public class TransactionProxyTest extends AbstractTransactionProxyTest {
         com.google.common.util.concurrent.Futures.addCallback(transactionProxy.read(TestModel.TEST_PATH),
                 new  FutureCallback<Optional<NormalizedNode<?, ?>>>() {
                     @Override
-                    public void onSuccess(Optional<NormalizedNode<?, ?>> result) {
+                    public void onSuccess(final Optional<NormalizedNode<?, ?>> result) {
                         try {
                             transactionProxy.write(TestModel.TEST_PATH, nodeToWrite);
                         } catch (Exception e) {
@@ -366,11 +368,11 @@ public class TransactionProxyTest extends AbstractTransactionProxyTest {
                     }
 
                     @Override
-                    public void onFailure(Throwable failure) {
+                    public void onFailure(final Throwable failure) {
                         caughtEx.set(failure);
                         readComplete.countDown();
                     }
-                });
+                }, MoreExecutors.directExecutor());
 
         createTxPromise.success(createTransactionReply(actorRef, DataStoreVersions.CURRENT_VERSION));
 
@@ -682,7 +684,7 @@ public class TransactionProxyTest extends AbstractTransactionProxyTest {
         verifyCohortFutures((SingleCommitCohortProxy)ready, RuntimeException.class);
     }
 
-    private void testWriteOnlyTxWithFindPrimaryShardFailure(Exception toThrow) throws Exception {
+    private void testWriteOnlyTxWithFindPrimaryShardFailure(final Exception toThrow) throws Exception {
         doReturn(Futures.failed(toThrow)).when(mockActorContext).findPrimaryShardAsync(anyString());
 
         TransactionProxy transactionProxy = new TransactionProxy(mockComponentFactory, WRITE_ONLY);
@@ -773,26 +775,27 @@ public class TransactionProxyTest extends AbstractTransactionProxyTest {
         void run(TransactionProxy transactionProxy);
     }
 
-    private PrimaryShardInfo newPrimaryShardInfo(ActorRef actorRef) {
+    private PrimaryShardInfo newPrimaryShardInfo(final ActorRef actorRef) {
         return new PrimaryShardInfo(getSystem().actorSelection(actorRef.path()), DataStoreVersions.CURRENT_VERSION);
     }
 
-    private PrimaryShardInfo newPrimaryShardInfo(ActorRef actorRef, DataTree dataTree) {
+    private PrimaryShardInfo newPrimaryShardInfo(final ActorRef actorRef, final DataTree dataTree) {
         return new PrimaryShardInfo(getSystem().actorSelection(actorRef.path()), DataStoreVersions.CURRENT_VERSION,
                 dataTree);
     }
 
-    private void throttleOperation(TransactionProxyOperation operation) {
+    private void throttleOperation(final TransactionProxyOperation operation) {
         throttleOperation(operation, 1, true);
     }
 
-    private void throttleOperation(TransactionProxyOperation operation, int outstandingOpsLimit, boolean shardFound) {
+    private void throttleOperation(final TransactionProxyOperation operation, final int outstandingOpsLimit,
+            final boolean shardFound) {
         throttleOperation(operation, outstandingOpsLimit, shardFound, TimeUnit.MILLISECONDS.toNanos(
                 mockActorContext.getDatastoreContext().getOperationTimeoutInMillis()));
     }
 
-    private void throttleOperation(TransactionProxyOperation operation, int outstandingOpsLimit, boolean shardFound,
-            long expectedCompletionTime) {
+    private void throttleOperation(final TransactionProxyOperation operation, final int outstandingOpsLimit,
+            final boolean shardFound, final long expectedCompletionTime) {
         ActorSystem actorSystem = getSystem();
         ActorRef shardActorRef = actorSystem.actorOf(Props.create(DoNothingActor.class));
 
@@ -834,11 +837,11 @@ public class TransactionProxyTest extends AbstractTransactionProxyTest {
 
     }
 
-    private void completeOperation(TransactionProxyOperation operation) {
+    private void completeOperation(final TransactionProxyOperation operation) {
         completeOperation(operation, true);
     }
 
-    private void completeOperation(TransactionProxyOperation operation, boolean shardFound) {
+    private void completeOperation(final TransactionProxyOperation operation, final boolean shardFound) {
         ActorSystem actorSystem = getSystem();
         ActorRef shardActorRef = actorSystem.actorOf(Props.create(DoNothingActor.class));
 
@@ -878,7 +881,7 @@ public class TransactionProxyTest extends AbstractTransactionProxyTest {
                 expected, end - start), end - start <= expected);
     }
 
-    private void completeOperationLocal(TransactionProxyOperation operation, DataTree dataTree) {
+    private void completeOperationLocal(final TransactionProxyOperation operation, final DataTree dataTree) {
         ActorSystem actorSystem = getSystem();
         ActorRef shardActorRef = actorSystem.actorOf(Props.create(DoNothingActor.class));
 
@@ -913,7 +916,7 @@ public class TransactionProxyTest extends AbstractTransactionProxyTest {
         return dataTree;
     }
 
-    private static DataTree createDataTree(NormalizedNode<?, ?> readResponse) {
+    private static DataTree createDataTree(final NormalizedNode<?, ?> readResponse) {
         DataTree dataTree = mock(DataTree.class);
         DataTreeSnapshot dataTreeSnapshot = mock(DataTreeSnapshot.class);
         DataTreeModification dataTreeModification = mock(DataTreeModification.class);
@@ -1238,7 +1241,7 @@ public class TransactionProxyTest extends AbstractTransactionProxyTest {
                 .getOperationTimeoutInMillis()) * 2);
     }
 
-    private void testModificationOperationBatching(TransactionType type) throws Exception {
+    private void testModificationOperationBatching(final TransactionType type) throws Exception {
         int shardBatchedModificationCount = 3;
         dataStoreContextBuilder.shardBatchedModificationCount(shardBatchedModificationCount);
 
@@ -1448,7 +1451,7 @@ public class TransactionProxyTest extends AbstractTransactionProxyTest {
     }
 
 
-    private void setUpReadData(String shardName, NormalizedNode<?, ?> expectedNode) {
+    private void setUpReadData(final String shardName, final NormalizedNode<?, ?> expectedNode) {
         ActorSystem actorSystem = getSystem();
         ActorRef shardActorRef = getSystem().actorOf(Props.create(DoNothingActor.class));
 
index fddc0677a6b754c5e266a04b323583b965d2eaf0..435536fe1f363d21f46892d8533a4a0db4810787 100644 (file)
@@ -4,7 +4,7 @@
   <parent>
     <groupId>org.opendaylight.odlparent</groupId>
     <artifactId>bundle-parent</artifactId>
-    <version>1.9.0</version>
+    <version>2.0.0</version>
     <relativePath/>
   </parent>
 
index c0ba23a68965108a86b3bee5ff61ad58a9dd0945..42a57ab9947cc8ac8514c6aaeaf1feed372427c5 100644 (file)
@@ -4,7 +4,7 @@
   <parent>
     <groupId>org.opendaylight.odlparent</groupId>
     <artifactId>bundle-parent</artifactId>
-    <version>1.9.0</version>
+    <version>2.0.0</version>
     <relativePath/>
   </parent>
 
index bd8643bd572a3eff9ceba4f4a9ccecf70eb86ffa..be27ddac52d8dd90d6f69c629990bdd5722d35da 100644 (file)
@@ -16,11 +16,11 @@ import com.google.common.base.Optional;
 import com.google.common.collect.ImmutableMap;
 import com.google.common.collect.Lists;
 import com.google.common.collect.Maps;
-import com.google.common.util.concurrent.AsyncFunction;
 import com.google.common.util.concurrent.CheckedFuture;
 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 com.google.common.util.concurrent.SettableFuture;
 import java.util.Map;
 import java.util.Queue;
@@ -116,7 +116,7 @@ class ShardedDOMDataBrokerDelegatingReadWriteTransaction implements DOMDataReadW
 
     @Override
     public ListenableFuture<RpcResult<TransactionStatus>> commit() {
-        return Futures.transform(submit(), (AsyncFunction<Void, RpcResult<TransactionStatus>>) input -> SUCCESS_FUTURE);
+        return Futures.transformAsync(submit(), input -> SUCCESS_FUTURE, MoreExecutors.directExecutor());
     }
 
     @Override
@@ -140,7 +140,7 @@ class ShardedDOMDataBrokerDelegatingReadWriteTransaction implements DOMDataReadW
             public void onFailure(final Throwable t) {
                 readResult.setException(t);
             }
-        });
+        }, MoreExecutors.directExecutor());
 
         return Futures.makeChecked(readResult, ReadFailedException.MAPPER);
     }
index b5191dd8a70c4a6e75540b5c874e73f4563560fe..7a45c8344597694ffeeb355a31f7ed1fec0aea9e 100644 (file)
@@ -10,7 +10,6 @@ package org.opendaylight.controller.md.sal.dom.broker.impl.legacy.sharded.adapte
 
 import static com.google.common.base.Preconditions.checkNotNull;
 
-import com.google.common.util.concurrent.AsyncFunction;
 import com.google.common.util.concurrent.CheckedFuture;
 import com.google.common.util.concurrent.Futures;
 import com.google.common.util.concurrent.ListenableFuture;
@@ -64,7 +63,7 @@ class ShardedDOMDataBrokerDelegatingWriteTransaction implements DOMDataWriteTran
 
     @Override
     public ListenableFuture<RpcResult<TransactionStatus>> commit() {
-        return Futures.transform(submit(), (AsyncFunction<Void, RpcResult<TransactionStatus>>) input -> SUCCESS_FUTURE);
+        return Futures.transformAsync(submit(), input -> SUCCESS_FUTURE);
     }
 
     @Override
index 966c906c6696069bf8b26338cb9ea533b2560626..5c19c4add0e02ce40e6bc79ef256ec8189081233 100644 (file)
@@ -4,7 +4,7 @@
   <parent>
     <groupId>org.opendaylight.odlparent</groupId>
     <artifactId>bundle-parent</artifactId>
-    <version>1.9.0</version>
+    <version>2.0.0</version>
     <relativePath/>
   </parent>
 
index 63b7ec3af5c3a61d58a00ed89d2c60b205abbc45..7f85cb0beec30963d206c6c038417ff568788e5a 100644 (file)
@@ -4,7 +4,7 @@
   <parent>
     <groupId>org.opendaylight.odlparent</groupId>
     <artifactId>bundle-parent</artifactId>
-    <version>1.9.0</version>
+    <version>2.0.0</version>
     <relativePath/>
   </parent>
 
index 41991804d8ae0fd6cb489876c1f28c4a9aafd141..a77ba4c43f3164d1ff5e18997093c2994a8a7fca 100644 (file)
@@ -5,7 +5,7 @@
     <parent>
         <groupId>org.opendaylight.odlparent</groupId>
         <artifactId>bundle-parent</artifactId>
-        <version>1.9.0</version>
+        <version>2.0.0</version>
         <relativePath/>
     </parent>
 
index 7bb4b932d62d2f70d92a3a19a905a79e4650f566..4c3ad7ef92790a639cfbfdeacc6bdf8e713af12e 100644 (file)
@@ -12,11 +12,11 @@ import akka.actor.ActorRef;
 import akka.actor.Props;
 import com.google.common.base.Preconditions;
 import com.google.common.base.Throwables;
-import com.google.common.util.concurrent.CheckedFuture;
 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 org.opendaylight.controller.cluster.common.actor.AbstractUntypedActor;
-import org.opendaylight.controller.md.sal.dom.api.DOMRpcException;
 import org.opendaylight.controller.md.sal.dom.api.DOMRpcResult;
 import org.opendaylight.controller.md.sal.dom.api.DOMRpcService;
 import org.opendaylight.controller.remote.rpc.messages.ExecuteRpc;
@@ -56,7 +56,7 @@ final class RpcInvoker extends AbstractUntypedActor {
         final ActorRef sender = getSender();
         final ActorRef self = self();
 
-        final CheckedFuture<DOMRpcResult, DOMRpcException> future;
+        final ListenableFuture<DOMRpcResult> future;
         try {
             future = rpcService.invokeRpc(schemaPath, msg.getInputNormalizedNode());
         } catch (final RuntimeException e) {
@@ -93,6 +93,6 @@ final class RpcInvoker extends AbstractUntypedActor {
                     msg.getRpc(), Throwables.getRootCause(failure));
                 sender.tell(new akka.actor.Status.Failure(failure), self);
             }
-        });
+        }, MoreExecutors.directExecutor());
     }
 }
index dcd520def77f06241d320dea91183c3f42055b9b..31b6741cfed31248865a7613dc7fedd06fdd7abd 100644 (file)
@@ -4,7 +4,7 @@
   <parent>
     <groupId>org.opendaylight.odlparent</groupId>
     <artifactId>bundle-parent</artifactId>
-    <version>1.9.0</version>
+    <version>2.0.0</version>
     <relativePath/>
   </parent>
 
index c8776839d7591eee6df8e095c283415ba7b4b53b..0933b0249fc6339b590fe55cc0e07ebff904dbb9 100644 (file)
@@ -4,7 +4,7 @@
   <parent>
     <groupId>org.opendaylight.odlparent</groupId>
     <artifactId>bundle-parent</artifactId>
-    <version>1.9.0</version>
+    <version>2.0.0</version>
     <relativePath/>
   </parent>
 
index 0583368c20f97e7601dbbf0c0b37f720116636b2..1899afb7078b52ca1b936a9669899c475499d5aa 100644 (file)
@@ -10,7 +10,6 @@ package org.opendaylight.controller.sample.kitchen.impl;
 
 import com.google.common.collect.ImmutableList;
 import com.google.common.collect.ImmutableList.Builder;
-import com.google.common.util.concurrent.AsyncFunction;
 import com.google.common.util.concurrent.Futures;
 import com.google.common.util.concurrent.JdkFutureAdapters;
 import com.google.common.util.concurrent.ListenableFuture;
@@ -73,23 +72,22 @@ public class KitchenServiceImpl extends AbstractMXBean
 
         // Then transform the RpcResults into 1.
 
-        return Futures.transform(combinedFutures,
-            (AsyncFunction<List<RpcResult<Void>>, RpcResult<Void>>) results -> {
-                boolean atLeastOneSucceeded = false;
-                Builder<RpcError> errorList = ImmutableList.builder();
-                for (RpcResult<Void> result : results) {
-                    if (result.isSuccessful()) {
-                        atLeastOneSucceeded = true;
-                    }
-
-                    if (result.getErrors() != null) {
-                        errorList.addAll(result.getErrors());
-                    }
+        return Futures.transformAsync(combinedFutures, results -> {
+            boolean atLeastOneSucceeded = false;
+            Builder<RpcError> errorList = ImmutableList.builder();
+            for (RpcResult<Void> result : results) {
+                if (result.isSuccessful()) {
+                    atLeastOneSucceeded = true;
                 }
 
-                return Futures.immediateFuture(RpcResultBuilder.<Void>status(atLeastOneSucceeded)
-                        .withRpcErrors(errorList.build()).build());
-            });
+                if (result.getErrors() != null) {
+                    errorList.addAll(result.getErrors());
+                }
+            }
+
+            return Futures.immediateFuture(RpcResultBuilder.<Void>status(atLeastOneSucceeded)
+                    .withRpcErrors(errorList.build()).build());
+        });
     }
 
     private ListenableFuture<RpcResult<Void>> makeEggs(EggsType eggsType) {
index e475c320d1e11c45258ebb6415083589fcf0302d..4078409a680be523f70f424d5e7e0801f2ccb1d2 100644 (file)
@@ -16,7 +16,6 @@ import static org.opendaylight.yangtools.yang.common.RpcError.ErrorType.APPLICAT
 import com.google.common.base.Function;
 import com.google.common.base.Optional;
 import com.google.common.base.Preconditions;
-import com.google.common.util.concurrent.AsyncFunction;
 import com.google.common.util.concurrent.FutureCallback;
 import com.google.common.util.concurrent.Futures;
 import com.google.common.util.concurrent.ListenableFuture;
@@ -229,7 +228,7 @@ public class OpendaylightToaster extends AbstractMXBean
         ListenableFuture<Optional<Toaster>> readFuture = tx.read(OPERATIONAL, TOASTER_IID);
 
         final ListenableFuture<Void> commitFuture =
-            Futures.transform(readFuture, (AsyncFunction<Optional<Toaster>, Void>) toasterData -> {
+            Futures.transformAsync(readFuture, toasterData -> {
                 ToasterStatus toasterStatus = ToasterStatus.Up;
                 if (toasterData.isPresent()) {
                     toasterStatus = toasterData.get().getToasterStatus();
diff --git a/pom.xml b/pom.xml
index b841648a57ed25cf40478fe37c34b71aa26425fd..20858821d2965a73d0ef1a3fe2b3e237c0351f65 100644 (file)
--- a/pom.xml
+++ b/pom.xml
@@ -4,7 +4,7 @@
   <parent>
     <groupId>org.opendaylight.odlparent</groupId>
     <artifactId>odlparent-lite</artifactId>
-    <version>1.9.0</version>
+    <version>2.0.0</version>
     <relativePath/>
   </parent>
   <groupId>org.opendaylight.controller</groupId>