Merge "sal-remoterpc-connector: sync ch.qos.logback:logback-classic version"
authorEd Warnicke <eaw@cisco.com>
Wed, 22 Jan 2014 05:21:23 +0000 (05:21 +0000)
committerGerrit Code Review <gerrit@opendaylight.org>
Wed, 22 Jan 2014 05:21:23 +0000 (05:21 +0000)
123 files changed:
opendaylight/appauth/pom.xml
opendaylight/arphandler/pom.xml
opendaylight/clustering/integrationtest/pom.xml
opendaylight/clustering/services_implementation/pom.xml
opendaylight/clustering/stub/pom.xml
opendaylight/clustering/test/pom.xml
opendaylight/commons/integrationtest/pom.xml
opendaylight/commons/opendaylight/pom.xml
opendaylight/config/logback-config/src/main/yang/config-logging.yang
opendaylight/config/netty-config-api/src/main/yang/netty.yang
opendaylight/config/netty-event-executor-config/src/main/yang/netty-event-executor.yang
opendaylight/config/netty-threadgroup-config/src/main/yang/netty-threadgroup.yang
opendaylight/config/netty-timer-config/src/main/yang/netty-timer.yang
opendaylight/config/threadpool-config-api/src/main/yang/threadpool.yang
opendaylight/config/threadpool-config-impl/src/main/yang/threadpool-impl-flexible.yang
opendaylight/config/threadpool-config-impl/src/main/yang/threadpool-impl-scheduled.yang
opendaylight/config/yang-store-api/src/main/java/org/opendaylight/controller/config/yang/store/api/YangStoreSnapshot.java
opendaylight/config/yang-store-impl/src/main/java/org/opendaylight/controller/config/yang/store/impl/ExtenderYangTracker.java
opendaylight/config/yang-store-impl/src/main/java/org/opendaylight/controller/config/yang/store/impl/MbeParser.java
opendaylight/config/yang-store-impl/src/main/java/org/opendaylight/controller/config/yang/store/impl/YangStoreCache.java [new file with mode: 0644]
opendaylight/config/yang-store-impl/src/main/java/org/opendaylight/controller/config/yang/store/impl/YangStoreSnapshotImpl.java
opendaylight/config/yang-store-impl/src/test/java/org/opendaylight/controller/config/yang/store/impl/ExtenderYangTrackerCustomizerTest.java
opendaylight/configuration/api/pom.xml
opendaylight/configuration/implementation/pom.xml
opendaylight/configuration/integrationtest/pom.xml
opendaylight/connectionmanager/api/pom.xml
opendaylight/containermanager/api/pom.xml
opendaylight/containermanager/implementation/pom.xml
opendaylight/containermanager/implementation/src/main/java/org/opendaylight/controller/containermanager/internal/ContainerManager.java
opendaylight/containermanager/it.implementation/pom.xml
opendaylight/distribution/opendaylight/pom.xml
opendaylight/distribution/opendaylight/src/main/resources/configuration/initial/01-md-sal.xml
opendaylight/forwarding/staticrouting/pom.xml
opendaylight/forwarding/staticrouting/src/main/java/org/opendaylight/controller/forwarding/staticrouting/internal/StaticRoutingImplementation.java
opendaylight/forwardingrulesmanager/api/pom.xml
opendaylight/forwardingrulesmanager/implementation/pom.xml
opendaylight/forwardingrulesmanager/implementation/src/main/java/org/opendaylight/controller/forwardingrulesmanager/internal/ForwardingRulesManager.java
opendaylight/forwardingrulesmanager/integrationtest/pom.xml
opendaylight/hosttracker/api/pom.xml
opendaylight/hosttracker/implementation/pom.xml
opendaylight/hosttracker/integrationtest/pom.xml
opendaylight/hosttracker_new/api/pom.xml
opendaylight/hosttracker_new/implementation/pom.xml
opendaylight/md-sal/pom.xml
opendaylight/md-sal/sal-binding-broker/src/main/java/org/opendaylight/controller/sal/binding/dom/serializer/impl/TransformerGenerator.xtend
opendaylight/md-sal/sal-common-api/pom.xml
opendaylight/md-sal/sal-common-util/pom.xml
opendaylight/md-sal/sal-netconf-connector/src/main/yang/odl-sal-netconf-connector-cfg.yang
opendaylight/md-sal/sal-rest-connector/src/main/java/org/opendaylight/controller/sal/rest/impl/JsonMapper.java
opendaylight/md-sal/sal-rest-connector/src/main/java/org/opendaylight/controller/sal/restconf/impl/ControllerContext.xtend
opendaylight/md-sal/sal-rest-connector/src/main/java/org/opendaylight/controller/sal/restconf/impl/RestconfImpl.xtend
opendaylight/md-sal/sal-rest-connector/src/test/java/org/opendaylight/controller/sal/restconf/impl/json/to/cnsn/test/JsonToCnSnTest.java
opendaylight/md-sal/sal-rest-connector/src/test/java/org/opendaylight/controller/sal/restconf/impl/test/RestGetAugmentedElementWhenEqualNamesTest.java [new file with mode: 0644]
opendaylight/md-sal/sal-rest-connector/src/test/java/org/opendaylight/controller/sal/restconf/impl/test/RestPostOperationTest.java
opendaylight/md-sal/sal-rest-connector/src/test/java/org/opendaylight/controller/sal/restconf/impl/xml/to/cnsn/test/XmlAugmentedElementToCnSnTest.java [new file with mode: 0644]
opendaylight/md-sal/sal-rest-connector/src/test/resources/common/augment/json/dataa.json [new file with mode: 0644]
opendaylight/md-sal/sal-rest-connector/src/test/resources/common/augment/json/datab.json [new file with mode: 0644]
opendaylight/md-sal/sal-rest-connector/src/test/resources/common/augment/xml/dataa.xml [new file with mode: 0644]
opendaylight/md-sal/sal-rest-connector/src/test/resources/common/augment/xml/datab.xml [new file with mode: 0644]
opendaylight/md-sal/sal-rest-connector/src/test/resources/common/augment/yang/augment-main-a.yang [new file with mode: 0644]
opendaylight/md-sal/sal-rest-connector/src/test/resources/common/augment/yang/augment-main-b.yang [new file with mode: 0644]
opendaylight/md-sal/sal-rest-connector/src/test/resources/common/augment/yang/main.yang [new file with mode: 0644]
opendaylight/md-sal/sal-rest-connector/src/test/resources/full-versions/test-data2/data3.xml [new file with mode: 0644]
opendaylight/md-sal/sal-rest-connector/src/test/resources/parts/ietf-interfaces_interfaces_interface_absolute_path.xml [new file with mode: 0644]
opendaylight/netconf/config-netconf-connector/src/main/java/org/opendaylight/controller/netconf/confignetconfconnector/osgi/NetconfOperationServiceImpl.java
opendaylight/netconf/netconf-impl/src/main/java/org/opendaylight/controller/netconf/impl/CapabilityProviderImpl.java
opendaylight/netconf/netconf-impl/src/test/java/org/opendaylight/controller/netconf/impl/ConcurrentClientsTest.java
opendaylight/networkconfiguration/neutron/implementation/pom.xml
opendaylight/networkconfiguration/neutron/implementation/src/main/java/org/opendaylight/controller/networkconfig/neutron/implementation/NeutronFloatingIPInterface.java
opendaylight/networkconfiguration/neutron/implementation/src/main/java/org/opendaylight/controller/networkconfig/neutron/implementation/NeutronNetworkInterface.java
opendaylight/networkconfiguration/neutron/implementation/src/main/java/org/opendaylight/controller/networkconfig/neutron/implementation/NeutronPortInterface.java
opendaylight/networkconfiguration/neutron/implementation/src/main/java/org/opendaylight/controller/networkconfig/neutron/implementation/NeutronRouterInterface.java
opendaylight/networkconfiguration/neutron/implementation/src/main/java/org/opendaylight/controller/networkconfig/neutron/implementation/NeutronSubnetInterface.java
opendaylight/networkconfiguration/neutron/pom.xml
opendaylight/northbound/bundlescanner/implementation/pom.xml
opendaylight/northbound/commons/pom.xml
opendaylight/northbound/connectionmanager/pom.xml
opendaylight/northbound/containermanager/pom.xml
opendaylight/northbound/controllermanager/pom.xml
opendaylight/northbound/flowprogrammer/pom.xml
opendaylight/northbound/hosttracker/pom.xml
opendaylight/northbound/integrationtest/pom.xml
opendaylight/northbound/java-client/pom.xml
opendaylight/northbound/jolokia/pom.xml
opendaylight/northbound/networkconfiguration/bridgedomain/pom.xml
opendaylight/northbound/networkconfiguration/neutron/pom.xml
opendaylight/northbound/staticrouting/pom.xml
opendaylight/northbound/statistics/pom.xml
opendaylight/northbound/subnets/pom.xml
opendaylight/northbound/switchmanager/pom.xml
opendaylight/northbound/topology/pom.xml
opendaylight/northbound/usermanager/pom.xml
opendaylight/northboundtest/unit_test_suite/pom.xml
opendaylight/protocol_plugins/openflow/pom.xml
opendaylight/protocol_plugins/stub/pom.xml
opendaylight/routing/dijkstra_implementation/pom.xml
opendaylight/sal/api/pom.xml
opendaylight/sal/connection/api/pom.xml
opendaylight/sal/connection/implementation/pom.xml
opendaylight/sal/networkconfiguration/api/pom.xml
opendaylight/sal/networkconfiguration/implementation/pom.xml
opendaylight/samples/loadbalancer/pom.xml
opendaylight/samples/northbound/loadbalancer/pom.xml
opendaylight/samples/simpleforwarding/pom.xml
opendaylight/security/pom.xml
opendaylight/statisticsmanager/api/pom.xml
opendaylight/statisticsmanager/implementation/pom.xml
opendaylight/statisticsmanager/integrationtest/pom.xml
opendaylight/switchmanager/api/pom.xml
opendaylight/switchmanager/implementation/pom.xml
opendaylight/switchmanager/implementation/src/main/java/org/opendaylight/controller/switchmanager/internal/SwitchManager.java
opendaylight/switchmanager/integrationtest/pom.xml
opendaylight/topologymanager/implementation/pom.xml
opendaylight/topologymanager/implementation/src/main/java/org/opendaylight/controller/topologymanager/internal/TopologyManagerImpl.java
opendaylight/topologymanager/integrationtest/pom.xml
opendaylight/usermanager/api/pom.xml
opendaylight/usermanager/implementation/pom.xml
opendaylight/usermanager/implementation/src/main/java/org/opendaylight/controller/usermanager/internal/UserManager.java
opendaylight/web/devices/pom.xml
opendaylight/web/flows/pom.xml
opendaylight/web/root/pom.xml
opendaylight/web/topology/pom.xml
opendaylight/web/troubleshoot/pom.xml

index f3a6a3bf4de5719fbc686a96c65906a7cbf6eb8b..157a341094b0b2919b0e8e01cec75bf799b940dc 100644 (file)
     </build>
 
     <dependencies>
-        <dependency>
-         <groupId>org.opendaylight.controller</groupId>
-           <artifactId>sal</artifactId>
-          <version>0.7.0-SNAPSHOT</version>
-        </dependency>
-        <dependency>
-         <groupId>org.opendaylight.controller</groupId>
-         <artifactId>containermanager</artifactId>
-         <version>0.5.1-SNAPSHOT</version>
-        </dependency>
-        <dependency>
-         <groupId>org.opendaylight.controller</groupId>
-           <artifactId>usermanager</artifactId>
-          <version>0.4.1-SNAPSHOT</version>
-        </dependency>
-        <dependency>
-          <groupId>junit</groupId>
+      <dependency>
+        <groupId>org.opendaylight.controller</groupId>
+        <artifactId>sal</artifactId>
+      </dependency>
+      <dependency>
+        <groupId>org.opendaylight.controller</groupId>
+        <artifactId>containermanager</artifactId>
+      </dependency>
+      <dependency>
+        <groupId>org.opendaylight.controller</groupId>
+        <artifactId>usermanager</artifactId>
+      </dependency>
+      <dependency>
+        <groupId>junit</groupId>
           <artifactId>junit</artifactId>
         </dependency>
         <dependency>
index 8d3df87c58b0104194368f320ee2fe2a8e3bdc6a..c04bccd00d673617edf966dfeaa7158e1b88f638 100644 (file)
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>connectionmanager</artifactId>
-      <version>0.1.1-SNAPSHOT</version>
     </dependency>
      <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>topologymanager</artifactId>
-      <version>0.4.1-SNAPSHOT</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>hosttracker</artifactId>
-      <version>${hosttracker.version}</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>sal</artifactId>
-      <version>0.7.0-SNAPSHOT</version>
     </dependency>
     <dependency>
       <groupId>junit</groupId>
index 1e317765c4085a1866e1ab7834123f1845658ce7..e0f03739bbb01f0acc5f922757027dbd73c4b7a0 100644 (file)
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>clustering.services</artifactId>
-      <version>0.5.0-SNAPSHOT</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>sal</artifactId>
-      <version>0.7.0-SNAPSHOT</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>sal.implementation</artifactId>
-      <version>0.4.1-SNAPSHOT</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>clustering.services-implementation</artifactId>
-      <version>0.4.1-SNAPSHOT</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>containermanager</artifactId>
-      <version>0.5.1-SNAPSHOT</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>containermanager.it.implementation</artifactId>
-      <version>0.5.1-SNAPSHOT</version>
     </dependency>
         <dependency>
       <groupId>junit</groupId>
index 536fb7dd2e61b2fdad57d661b5cb7b542868c557..2d48934cfdd27c8cb854825e63be3f98e379f4ac 100644 (file)
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>clustering.services</artifactId>
-      <version>0.5.0-SNAPSHOT</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>sal</artifactId>
-      <version>0.7.0-SNAPSHOT</version>
     </dependency>
     <dependency>
       <groupId>org.jboss.jbossts.jta</groupId>
index 26980e4ff574e4ea82c0b672d89e651afd9ca7f4..31577fc32e978c3b21168a6d9f8fd18540d37c30 100644 (file)
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>clustering.services</artifactId>
-      <version>0.5.0-SNAPSHOT</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>sal</artifactId>
-      <version>0.7.0-SNAPSHOT</version>
     </dependency>
     <dependency>
       <groupId>junit</groupId>
index e6f889c478df909e3aa46734792197f507642034..6d4fb57a3847a8730175733897dad5e318f0829c 100644 (file)
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>clustering.services</artifactId>
-      <version>0.5.0-SNAPSHOT</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>sal</artifactId>
-      <version>0.7.0-SNAPSHOT</version>
     </dependency>
     <dependency>
       <groupId>equinoxSDK381</groupId>
index fe5aa473a69c18090552f5e7c7fdf94971b30b34..42da74b8f4179880853cf91baf5c34d331d69ab9 100644 (file)
     <dependency>
       <groupId>equinoxSDK381</groupId>
       <artifactId>org.eclipse.equinox.console</artifactId>
-      <version>1.0.0.v20120522-1841</version>
     </dependency>
     <dependency>
       <groupId>equinoxSDK381</groupId>
       <artifactId>org.eclipse.equinox.util</artifactId>
-      <version>1.0.400.v20120522-2049</version>
     </dependency>
     <dependency>
       <groupId>equinoxSDK381</groupId>
       <artifactId>org.eclipse.osgi.services</artifactId>
-      <version>3.3.100.v20120522-1822</version>
     </dependency>
     <dependency>
       <groupId>equinoxSDK381</groupId>
       <artifactId>org.eclipse.equinox.ds</artifactId>
-      <version>1.4.0.v20120522-1841</version>
     </dependency>
     <dependency>
       <groupId>equinoxSDK381</groupId>
       <artifactId>org.apache.felix.gogo.command</artifactId>
-      <version>0.8.0.v201108120515</version>
     </dependency>
     <dependency>
       <groupId>equinoxSDK381</groupId>
       <artifactId>org.apache.felix.gogo.runtime</artifactId>
-      <version>0.8.0.v201108120515</version>
     </dependency>
     <dependency>
       <groupId>equinoxSDK381</groupId>
       <artifactId>org.apache.felix.gogo.shell</artifactId>
-      <version>0.8.0.v201110170705</version>
     </dependency>
     <dependency>
       <groupId>junit</groupId>
index 98a0bd196bb39c3be87e089dfe3178d1f8fbf57b..3eba5f0b3c202078f88a09e5d4381091a3d0c5aa 100644 (file)
@@ -76,7 +76,9 @@
     <yangtools.version>0.6.0-SNAPSHOT</yangtools.version>
     <!--versions for bits of the controller -->
     <controller.version>0.4.1-SNAPSHOT</controller.version>
-    <hosttracker.version>0.5.1-SNAPSHOT</hosttracker.version>
+    <hosttracker.api.version>0.5.1-SNAPSHOT</hosttracker.api.version>
+    <hosttracker_new.api.version>0.4.1-SNAPSHOT</hosttracker_new.api.version>
+    <hosttracker.implementation.version>0.5.1-SNAPSHOT</hosttracker.implementation.version>
     <arphandler.version>0.5.1-SNAPSHOT</arphandler.version>
     <forwarding.staticrouting>0.5.1-SNAPSHOT</forwarding.staticrouting>
     <samples.loadbalancer>0.5.1-SNAPSHOT</samples.loadbalancer>
@@ -84,6 +86,7 @@
     <netconf.version>0.2.3-SNAPSHOT</netconf.version>
     <mdsal.version>1.0-SNAPSHOT</mdsal.version>
     <containermanager.version>0.5.1-SNAPSHOT</containermanager.version>
+    <containermanager.it.version>0.5.1-SNAPSHOT</containermanager.it.version>
     <switchmanager.api.version>0.7.0-SNAPSHOT</switchmanager.api.version>
     <connectionmanager.version>0.1.1-SNAPSHOT</connectionmanager.version>
     <sal.version>0.7.0-SNAPSHOT</sal.version>
@@ -93,7 +96,6 @@
     <commons.httpclient.version>0.1.1-SNAPSHOT</commons.httpclient.version>
     <concepts.version>0.5.1-SNAPSHOT</concepts.version>
     <protocol-framework.version>0.4.0-SNAPSHOT</protocol-framework.version>
-    <jolokia.bridge.version>0.0.1-SNAPSHOT</jolokia.bridge.version>
     <netty.version>4.0.10.Final</netty.version>
     <commons.io.version>2.4</commons.io.version>
     <bundlescanner.version>0.4.1-SNAPSHOT</bundlescanner.version>
     <clustering.services.version>0.5.0-SNAPSHOT</clustering.services.version>
     <configuration.version>0.4.1-SNAPSHOT</configuration.version>
     <topologymanager.version>0.4.1-SNAPSHOT</topologymanager.version>
+    <protocol_plugin.stub.version>0.4.1-SNAPSHOT</protocol_plugin.stub.version>
+    <clustering.stub.version>0.4.1-SNAPSHOT</clustering.stub.version>
     <!-- Third party version -->
-    <jersey-servlet.version>1.18-SNAPSHOT</jersey-servlet.version>
-    <corsfilter.version>7.0.43-SNAPSHOT</corsfilter.version>
+    <jersey-servlet.version>1.17</jersey-servlet.version>
+    <corsfilter.version>7.0.42</corsfilter.version>
     <!-- Northbound API version -->
     <commons.northbound.version>0.4.1-SNAPSHOT</commons.northbound.version>
     <!-- Sonar properties using jacoco to retrieve integration test results -->
       <dependency>
         <groupId>com.google.code.gson</groupId>
         <artifactId>gson</artifactId>
-        <version>2.1</version>
-        <scope>compile</scope>
+        <version>2.2.4</version>
       </dependency>
       <dependency>
         <groupId>org.jboss.spec.javax.transaction</groupId>
         <artifactId>protocol-framework</artifactId>
         <version>${protocol-framework.version}</version>
       </dependency>
+      <dependency>
+        <groupId>org.opendaylight.yangtools</groupId>
+        <artifactId>concepts</artifactId>
+        <version>${yangtools.version}</version>
+      </dependency>
 
         <!--Netty-->
         <dependency>
        <artifactId>yang-model-api</artifactId>
        <version>${yangtools.version}</version>
       </dependency>
+      <dependency>
+        <groupId>org.opendaylight.controller</groupId>
+        <artifactId>hosttracker</artifactId>
+        <version>${hosttracker.api.version}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.opendaylight.controller</groupId>
+        <artifactId>hosttracker.implementation</artifactId>
+        <version>${hosttracker.implementation.version}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.opendaylight.controller</groupId>
+        <artifactId>hosttracker_new</artifactId>
+        <version>${hosttracker_new.api.version}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.opendaylight.controller</groupId>
+        <artifactId>forwarding.staticrouting</artifactId>
+        <version>${forwarding.staticrouting}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.opendaylight.controller</groupId>
+        <artifactId>clustering.services</artifactId>
+        <version>${clustering.services.version}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.opendaylight.controller</groupId>
+        <artifactId>clustering.services-implementation</artifactId>
+        <version>${controller.version}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.opendaylight.controller</groupId>
+        <artifactId>clustering.stub</artifactId>
+        <version>${clustering.stub.version}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.opendaylight.controller</groupId>
+        <artifactId>configuration</artifactId>
+        <version>${controller.version}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.opendaylight.controller</groupId>
+        <artifactId>configuration.implementation</artifactId>
+        <version>${controller.version}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.opendaylight.controller</groupId>
+        <artifactId>routing.dijkstra_implementation</artifactId>
+        <version>${controller.version}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.opendaylight.controller</groupId>
+        <artifactId>arphandler</artifactId>
+        <version>${arphandler.version}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.opendaylight.controller</groupId>
+        <artifactId>containermanager</artifactId>
+        <version>${containermanager.version}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.opendaylight.controller</groupId>
+        <artifactId>containermanager.implementation</artifactId>
+        <version>${containermanager.version}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.opendaylight.controller</groupId>
+        <artifactId>containermanager.it.implementation</artifactId>
+        <version>${containermanager.it.version}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.opendaylight.controller</groupId>
+        <artifactId>appauth</artifactId>
+        <version>${controller.version}</version>
+      </dependency>
       <dependency>
         <groupId>org.opendaylight.controller</groupId>
         <artifactId>switchmanager</artifactId>
         <version>${switchmanager.api.version}</version>
       </dependency>
       <dependency>
-        <groupId>org.opendaylight.yangtools</groupId>
-        <artifactId>concepts</artifactId>
-        <version>${yangtools.version}</version>
+        <groupId>org.opendaylight.controller</groupId>
+        <artifactId>switchmanager.implementation</artifactId>
+        <version>${controller.version}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.opendaylight.controller</groupId>
+        <artifactId>statisticsmanager</artifactId>
+        <version>${statisticsmanager.version}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.opendaylight.controller</groupId>
+        <artifactId>statisticsmanager.implementation</artifactId>
+        <version>${controller.version}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.opendaylight.controller</groupId>
+        <artifactId>topologymanager</artifactId>
+        <version>${topologymanager.version}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.opendaylight.controller</groupId>
+        <artifactId>usermanager</artifactId>
+        <version>${usermanager.version}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.opendaylight.controller</groupId>
+        <artifactId>usermanager.implementation</artifactId>
+        <version>${usermanager.version}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.opendaylight.controller</groupId>
+        <artifactId>connectionmanager</artifactId>
+        <version>${connectionmanager.version}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.opendaylight.controller</groupId>
+        <artifactId>connectionmanager.implementation</artifactId>
+        <version>${connectionmanager.version}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.opendaylight.controller</groupId>
+        <artifactId>security</artifactId>
+        <version>${controller.version}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.opendaylight.controller</groupId>
+        <artifactId>forwardingrulesmanager</artifactId>
+        <version>${forwardingrulesmanager.version}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.opendaylight.controller</groupId>
+        <artifactId>forwardingrulesmanager.implementation</artifactId>
+        <version>${controller.version}</version>
+      </dependency>
+
+      <!-- SAL bundles -->
+      <dependency>
+        <groupId>org.opendaylight.controller</groupId>
+        <artifactId>sal</artifactId>
+        <version>${sal.version}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.opendaylight.controller</groupId>
+        <artifactId>sal.implementation</artifactId>
+        <version>${controller.version}</version>
+      </dependency>
+
+      <!-- SAL Extension bundles -->
+      <dependency>
+        <groupId>org.opendaylight.controller</groupId>
+        <artifactId>sal.connection</artifactId>
+        <version>${sal.connection.version}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.opendaylight.controller</groupId>
+        <artifactId>sal.connection.implementation</artifactId>
+        <version>${sal.connection.version}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.opendaylight.controller</groupId>
+        <artifactId>sal.networkconfiguration</artifactId>
+        <version>${sal.networkconfiguration.version}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.opendaylight.controller</groupId>
+        <artifactId>sal.networkconfiguration.implementation</artifactId>
+        <version>${sal.networkconfiguration.version}</version>
+      </dependency>
+
+      <!--  Web bundles -->
+      <dependency>
+        <groupId>org.opendaylight.controller</groupId>
+        <artifactId>web</artifactId>
+        <version>${controller.version}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.opendaylight.controller</groupId>
+        <artifactId>flows.web</artifactId>
+        <version>${controller.version}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.opendaylight.controller</groupId>
+        <artifactId>devices.web</artifactId>
+        <version>${controller.version}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.opendaylight.controller</groupId>
+        <artifactId>troubleshoot.web</artifactId>
+        <version>${controller.version}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.opendaylight.controller</groupId>
+        <artifactId>topology.web</artifactId>
+        <version>${controller.version}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.opendaylight.controller</groupId>
+        <artifactId>osgi-brandfragment.web</artifactId>
+        <version>0.0.1-SNAPSHOT</version>
+      </dependency>
+
+      <!--  Neutron -->
+      <dependency>
+        <groupId>org.opendaylight.controller</groupId>
+        <artifactId>networkconfig.neutron</artifactId>
+        <version>${controller.version}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.opendaylight.controller</groupId>
+        <artifactId>networkconfig.neutron.implementation</artifactId>
+        <version>${controller.version}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.opendaylight.controller</groupId>
+        <artifactId>networkconfig.neutron.northbound</artifactId>
+        <version>${controller.version}</version>
+      </dependency>
+
+      <!-- Northbound bundles -->
+      <dependency>
+        <groupId>org.opendaylight.controller</groupId>
+        <artifactId>commons.northbound</artifactId>
+        <version>${controller.version}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.opendaylight.controller</groupId>
+        <artifactId>bundlescanner</artifactId>
+        <version>${bundlescanner.version}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.opendaylight.controller</groupId>
+        <artifactId>bundlescanner.implementation</artifactId>
+        <version>${bundlescanner.version}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.opendaylight.controller</groupId>
+        <artifactId>topology.northbound</artifactId>
+        <version>${controller.version}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.opendaylight.controller</groupId>
+        <artifactId>forwarding.staticrouting.northbound</artifactId>
+        <version>${controller.version}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.opendaylight.controller</groupId>
+        <artifactId>statistics.northbound</artifactId>
+        <version>${controller.version}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.opendaylight.controller</groupId>
+        <artifactId>flowprogrammer.northbound</artifactId>
+        <version>${controller.version}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.opendaylight.controller</groupId>
+        <artifactId>hosttracker.northbound</artifactId>
+        <version>${controller.version}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.opendaylight.controller</groupId>
+        <artifactId>subnets.northbound</artifactId>
+        <version>${controller.version}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.opendaylight.controller</groupId>
+        <artifactId>switchmanager.northbound</artifactId>
+        <version>${controller.version}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.opendaylight.controller</groupId>
+        <artifactId>containermanager.northbound</artifactId>
+        <version>${controller.version}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.opendaylight.controller</groupId>
+        <artifactId>networkconfig.bridgedomain.northbound</artifactId>
+        <version>${networkconfig.bridgedomain.northbound.version}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.opendaylight.controller</groupId>
+        <artifactId>httpservice-bridge</artifactId>
+        <version>0.0.1-SNAPSHOT</version>
+      </dependency>
+      <dependency>
+        <groupId>org.opendaylight.controller</groupId>
+        <artifactId>jolokia-bridge</artifactId>
+        <version>0.0.1-SNAPSHOT</version>
+      </dependency>
+      <dependency>
+        <groupId>org.opendaylight.controller</groupId>
+        <artifactId>connectionmanager.northbound</artifactId>
+        <version>${connectionmanager.version}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.opendaylight.controller</groupId>
+        <artifactId>usermanager.northbound</artifactId>
+        <version>0.0.1-SNAPSHOT</version>
+      </dependency>
+      <dependency>
+        <groupId>org.opendaylight.controller</groupId>
+        <artifactId>controllermanager.northbound</artifactId>
+        <version>0.0.1-SNAPSHOT</version>
+      </dependency>
+      <!-- Debug and logging -->
+      <dependency>
+        <groupId>org.opendaylight.controller</groupId>
+        <artifactId>logging.bridge</artifactId>
+        <version>${controller.version}</version>
+      </dependency>
+
+      <!-- Southbound bundles -->
+      <dependency>
+        <groupId>org.opendaylight.controller</groupId>
+        <artifactId>protocol_plugins.openflow</artifactId>
+        <version>${controller.version}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.opendaylight.controller</groupId>
+        <artifactId>protocol_plugins.stub</artifactId>
+        <version>${protocol_plugin.stub.version}</version>
+      </dependency>
+
+      <!-- samples -->
+      <dependency>
+        <groupId>org.opendaylight.controller</groupId>
+        <artifactId>samples.loadbalancer</artifactId>
+        <version>${samples.loadbalancer}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.opendaylight.controller</groupId>
+        <artifactId>samples.loadbalancer.northbound</artifactId>
+        <version>${controller.version}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.opendaylight.controller</groupId>
+        <artifactId>samples.simpleforwarding</artifactId>
+        <version>${controller.version}</version>
+      </dependency>
+
+      <!-- testing dependencies -->
+      <dependency>
+        <groupId>org.opendaylight.controller</groupId>
+        <artifactId>clustering.test</artifactId>
+        <version>${controller.version}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.opendaylight.controller</groupId>
+        <artifactId>commons.httpclient</artifactId>
+        <version>${commons.httpclient.version}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.opendaylight.controller</groupId>
+        <artifactId>sanitytest</artifactId>
+        <version>${controller.version}</version>
       </dependency>
 
       <!-- equinox http service bridge -->
         <version>0.0.1-SNAPSHOT</version>
         <scope>test</scope>
       </dependency>
+      <dependency>
+        <groupId>org.codehaus.enunciate</groupId>
+        <artifactId>enunciate-core-annotations</artifactId>
+        <version>${enunciate.version}</version>
+      </dependency>
     </dependencies>
   </dependencyManagement>
 
index 3b28b574696683540391dd53ab041b0b40dd7ebb..477876c66979dd6d3a0db8ce224d26174499ab5f 100644 (file)
@@ -32,7 +32,7 @@ module config-logging {
             when "/config:modules/config:module/config:type = 'logback'";
 
             list file-appenders {
-               leaf append {
+                leaf append {
                     type boolean;
                     mandatory false;
                 }
@@ -41,12 +41,12 @@ module config-logging {
                     type string;
                     mandatory true;
                 }
-                
+
                 leaf encoder-pattern {
                     type string;
                     mandatory true;
                 }
-                
+
                 leaf name {
                     type string;
                     mandatory true;
@@ -54,7 +54,7 @@ module config-logging {
                 key name;
                 config:java-name-prefix FileAppenderTO;
             }
-            
+
             list rolling-appenders {
                 leaf append {
                     type boolean;
@@ -96,17 +96,17 @@ module config-logging {
                     type string;
                     mandatory true;
                 }
-                
+
                 leaf rolling-policy-type {
                     type string;
                     mandatory true;
                 }
-                
+
                 leaf max-history {
                     type int32;
                     mandatory true;
                 }
-                
+
                 leaf clean-history-on-start {
                     type boolean;
                     default false;
index 7f7a3ff4ce83e7b5580a78455dce7943e9efac4c..7cac5ad5bc6202265be39f385b8749d61bc77e62 100644 (file)
@@ -1,14 +1,14 @@
 // vi: set smarttab et sw=4 tabstop=4:
 module netty {
-       yang-version 1;
-       namespace "urn:opendaylight:params:xml:ns:yang:controller:netty";
-       prefix "netty";
+    yang-version 1;
+    namespace "urn:opendaylight:params:xml:ns:yang:controller:netty";
+    prefix "netty";
 
-       import config { prefix config; revision-date 2013-04-05; }
+    import config { prefix config; revision-date 2013-04-05; }
 
-       organization "Cisco Systems, Inc.";
+    organization "Cisco Systems, Inc.";
 
-       contact "Milos Fabian <milfabia@cisco.com>";
+    contact "Milos Fabian <milfabia@cisco.com>";
 
     description
         "This module contains the base YANG definitions for
@@ -17,15 +17,15 @@ module netty {
         Copyright (c)2013 Cisco Systems, Inc. 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";
+        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";
 
     revision "2013-11-19" {
         description
             "Initial revision.";
     }
-    
+
     identity netty-threadgroup {
         description
             "Configuration wrapper around netty's threadgroup";
@@ -33,7 +33,7 @@ module netty {
         base "config:service-type";
         config:java-class "io.netty.channel.EventLoopGroup";
     }
-    
+
     identity netty-event-executor {
         description
             "Configuration wrapper around netty's event executor";
@@ -41,12 +41,12 @@ module netty {
         base "config:service-type";
         config:java-class "io.netty.util.concurrent.EventExecutor";
     }
-    
+
     identity netty-timer {
         description
             "Configuration wrapper around netty's timer";
 
         base "config:service-type";
-        config:java-class "io.netty.util.Timer";       
+        config:java-class "io.netty.util.Timer";
     }
 }
\ No newline at end of file
index 16e5c07356df97c6af8baf2f6e7eb80ac7d123f4..e9d1da3f2dd6de1f0c80701a68b21227fadd8c72 100644 (file)
@@ -1,7 +1,7 @@
 // vi: set smarttab et sw=4 tabstop=4:
 module netty-event-executor {
     yang-version 1;
-       namespace "urn:opendaylight:params:xml:ns:yang:controller:netty:eventexecutor";
+    namespace "urn:opendaylight:params:xml:ns:yang:controller:netty:eventexecutor";
     prefix "netty-ee";
 
     import config { prefix config; revision-date 2013-04-05; }
@@ -16,17 +16,17 @@ module netty-event-executor {
          netty event executor implementation.
 
         Copyright (c)2013 Cisco Systems, Inc. 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";
+        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";
 
     revision "2013-11-12" {
         description
             "Initial revision";
     }
-    
+
     identity netty-global-event-executor {
         base config:module-type;
         config:provided-service netty:netty-event-executor;
index e648c5328a71349f9261efa82f8c8ef02a798a58..71cbff4bcd136167dbf64afff8f741000965de8b 100644 (file)
@@ -1,7 +1,7 @@
 // vi: set smarttab et sw=4 tabstop=4:
 module threadgroup {
     yang-version 1;
-       namespace "urn:opendaylight:params:xml:ns:yang:controller:netty:threadgroup";
+    namespace "urn:opendaylight:params:xml:ns:yang:controller:netty:threadgroup";
     prefix "netty-th";
 
     import config { prefix config; revision-date 2013-04-05; }
@@ -49,5 +49,4 @@ module threadgroup {
         }
     }
 
-
 }
index b53b13f5a864c8be42f5c12e838a34d636685cc0..e622be39c7f1d944cb0a15ae4bc4e5343f3f1559 100644 (file)
@@ -1,7 +1,7 @@
 // vi: set smarttab et sw=4 tabstop=4:
 module netty-timer {
     yang-version 1;
-       namespace "urn:opendaylight:params:xml:ns:yang:controller:netty:timer";
+    namespace "urn:opendaylight:params:xml:ns:yang:controller:netty:timer";
     prefix "netty-timer";
 
     import config { prefix config; revision-date 2013-04-05; }
@@ -17,17 +17,17 @@ module netty-timer {
          netty timer implementation.
 
         Copyright (c)2013 Cisco Systems, Inc. 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";
+        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";
 
     revision "2013-11-19" {
         description
             "Initial revision";
     }
-    
+
     identity netty-hashed-wheel-timer {
         base config:module-type;
         config:provided-service netty:netty-timer;
@@ -37,23 +37,23 @@ module netty-timer {
     augment "/config:modules/config:module/config:configuration" {
         case netty-hashed-wheel-timer {
             when "/config:modules/config:module/config:type = 'netty-hashed-wheel-timer'";
-            
+
             leaf tick-duration {
                 type uint32;
             }
-            
+
             leaf ticks-per-wheel {
                 type uint16;
             }
-            
-                       container thread-factory {
-                               uses config:service-ref {
-                                       refine type {
-                                               mandatory false;
-                                               config:required-identity th:threadfactory;
-                                       }
-                               }
-                       }
+
+            container thread-factory {
+                uses config:service-ref {
+                    refine type {
+                        mandatory false;
+                        config:required-identity th:threadfactory;
+                    }
+                }
+            }
         }
     }
 }
\ No newline at end of file
index 8f3064822be319dfee6fd7c7061c8bee14db268f..4c34513591f51314769c89c8eaa3d409c0aea6a8 100644 (file)
@@ -1,14 +1,14 @@
 // vi: set smarttab et sw=4 tabstop=4:
 module threadpool {
-       yang-version 1;
-       namespace "urn:opendaylight:params:xml:ns:yang:controller:threadpool";
-       prefix "th";
+    yang-version 1;
+    namespace "urn:opendaylight:params:xml:ns:yang:controller:threadpool";
+    prefix "th";
 
-       import config { prefix config; revision-date 2013-04-05; }
+    import config { prefix config; revision-date 2013-04-05; }
 
-       organization "Cisco Systems, Inc.";
+    organization "Cisco Systems, Inc.";
 
-       contact "Robert Varga <rovarga@cisco.com>";
+    contact "Robert Varga <rovarga@cisco.com>";
 
     description
         "This module contains the base YANG definitions for
@@ -17,9 +17,9 @@ module threadpool {
         Copyright (c)2013 Cisco Systems, Inc. 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";
+        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";
 
     revision "2013-04-09" {
         description
@@ -57,20 +57,20 @@ module threadpool {
         config:java-class "java.util.concurrent.ThreadFactory";
     }
 
-       identity threadpool {
+    identity threadpool {
         description
             "A simple pool of threads able to execute work.";
 
-               base "config:service-type";
+        base "config:service-type";
         config:java-class "org.opendaylight.controller.config.threadpool.ThreadPool";
-       }
+    }
 
-       identity scheduled-threadpool {
+    identity scheduled-threadpool {
         description
             "An extension of the simple pool of threads able to schedule
              work to be executed at some point in time.";
 
-               base "threadpool";
+        base "threadpool";
         config:java-class "org.opendaylight.controller.config.threadpool.ScheduledThreadPool";
-       }
+    }
 }
index 8d1a6307b5e13ff65462ad9b6abe84e6050240a6..be275ef4870b3797e5195d61380a8c5935f3ff83 100644 (file)
@@ -13,7 +13,7 @@ module threadpool-impl-flexible {
 
     description
         "This module contains the base YANG definitions for
-         thread services pure Java implementation.
+        thread services pure Java implementation.
 
         Copyright (c)2013 Cisco Systems, Inc. All rights reserved.;
 
index 07f6c5b1983130f2da57cf35702ca57c6df48e9c..5bf277b328a5e9492993ec19428b32b5507d0806 100644 (file)
@@ -13,7 +13,7 @@ module threadpool-impl-scheduled {
 
     description
         "This module contains the base YANG definitions for
-         thread services pure Java implementation.
+        thread services pure Java implementation.
 
         Copyright (c)2013 Cisco Systems, Inc. All rights reserved.;
 
index da8b5e4ed14a2836cf9bc3edf71daad39af20f14..b912b0c7af90c8ef43e64bd0873e766ea4c4b9a2 100644 (file)
@@ -7,21 +7,50 @@
  */
 package org.opendaylight.controller.config.yang.store.api;
 
-import java.util.Map;
-import java.util.Map.Entry;
-
 import org.opendaylight.controller.config.yangjmxgenerator.ModuleMXBeanEntry;
+import org.opendaylight.yangtools.yang.common.QName;
 import org.opendaylight.yangtools.yang.model.api.Module;
 
+import java.util.Map;
+import java.util.Set;
+
 public interface YangStoreSnapshot extends AutoCloseable {
 
+    /**
+     * @deprecated Use {@link #getQNamesToIdentitiesToModuleMXBeanEntries()} instead. This method return only one
+     * module representation even if multiple revisions are available.
+     */
+    @Deprecated
     Map<String/* Namespace from yang file */,
             Map<String /* Name of module entry from yang file */, ModuleMXBeanEntry>> getModuleMXBeanEntryMap();
 
-    Map<String, Entry<Module, String>> getModuleMap();
 
+    Map<QName, Map<String /* identity local name */, ModuleMXBeanEntry>> getQNamesToIdentitiesToModuleMXBeanEntries();
+
+    /**
+     * Get number of parsed ModuleMXBeanEntry instances.
+     */
     int countModuleMXBeanEntries();
 
+    /**
+     * Get all modules discovered when this snapshot was created.
+     * @return all modules discovered. If one module exists with two different revisions, return both.
+     */
+    Set<Module> getModules();
+
+    /**
+     * Get all modules together with their yang sources.
+     */
+    Map<Module, String> getModulesToSources();
+
+    /**
+     * Retrieve source of module as it appeared during creation of this snapshot.
+     * @param module
+     * @return yang source of given module
+     * @throws java.lang.IllegalArgumentException if module does not belong to this snapshot
+     */
+    String getModuleSource(Module module);
+
     @Override
     void close();
 }
index 0d704a8f6aa49825da36d62b011d9294479fbb3d..b5efc51d8ba854a3d576f7673b1db22f7fcc9c39 100644 (file)
@@ -14,12 +14,9 @@ import com.google.common.base.Preconditions;
 import com.google.common.collect.Collections2;
 import com.google.common.collect.HashMultimap;
 import com.google.common.collect.Multimap;
-import com.google.common.collect.Sets;
 import org.opendaylight.controller.config.yang.store.api.YangStoreException;
 import org.opendaylight.controller.config.yang.store.api.YangStoreService;
 import org.opendaylight.controller.config.yang.store.api.YangStoreSnapshot;
-import org.opendaylight.controller.config.yangjmxgenerator.ModuleMXBeanEntry;
-import org.opendaylight.yangtools.yang.model.api.Module;
 import org.osgi.framework.Bundle;
 import org.osgi.framework.BundleContext;
 import org.osgi.framework.BundleEvent;
@@ -36,8 +33,6 @@ import java.util.Collection;
 import java.util.Collections;
 import java.util.Enumeration;
 import java.util.List;
-import java.util.Map;
-import java.util.Set;
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
 
@@ -220,78 +215,3 @@ public class ExtenderYangTracker extends BundleTracker<Object> implements YangSt
         cache.invalidate();
     }
 }
-
-class YangStoreCache {
-    private static final Logger logger = LoggerFactory.getLogger(YangStoreCache.class);
-
-    @GuardedBy("this")
-    private Set<URL> cachedUrls = null;
-    @GuardedBy("this")
-    private Optional<YangStoreSnapshot> cachedYangStoreSnapshot = getInitialSnapshot();
-    @GuardedBy("this")
-    private Collection<URL> inconsistentURLsForReporting = Collections.emptySet();
-
-    synchronized Optional<YangStoreSnapshot> getSnapshotIfPossible(Multimap<Bundle, URL> bundlesToYangURLs) {
-        Set<URL> urls = setFromMultimapValues(bundlesToYangURLs);
-
-        if (cachedUrls==null || cachedUrls.equals(urls)) {
-            Preconditions.checkState(cachedYangStoreSnapshot.isPresent());
-            YangStoreSnapshot freshSnapshot = new YangStoreSnapshotImpl(cachedYangStoreSnapshot.get());
-            if (inconsistentURLsForReporting.size() > 0){
-                logger.warn("Some yang URLs are ignored: {}", inconsistentURLsForReporting);
-            }
-            return Optional.of(freshSnapshot);
-        }
-
-        return Optional.absent();
-    }
-
-    private static Set<URL> setFromMultimapValues(
-            Multimap<Bundle, URL> bundlesToYangURLs) {
-        Set<URL> urls = Sets.newHashSet(bundlesToYangURLs.values());
-        Preconditions.checkState(bundlesToYangURLs.size() == urls.size());
-        return urls;
-    }
-
-    synchronized void cacheYangStore(Multimap<Bundle, URL> urls,
-                                     YangStoreSnapshot yangStoreSnapshot) {
-        this.cachedUrls = setFromMultimapValues(urls);
-        this.cachedYangStoreSnapshot = Optional.of(yangStoreSnapshot);
-    }
-
-    synchronized void invalidate() {
-        cachedUrls.clear();
-        if (cachedYangStoreSnapshot.isPresent()){
-            cachedYangStoreSnapshot.get().close();
-            cachedYangStoreSnapshot = Optional.absent();
-        }
-    }
-
-    public synchronized void setInconsistentURLsForReporting(Collection<URL> urls){
-        inconsistentURLsForReporting = urls;
-    }
-
-    private Optional<YangStoreSnapshot> getInitialSnapshot() {
-        YangStoreSnapshot initialSnapshot = new YangStoreSnapshot() {
-            @Override
-            public Map<String, Map<String, ModuleMXBeanEntry>> getModuleMXBeanEntryMap() {
-                return Collections.emptyMap();
-            }
-
-            @Override
-            public Map<String, Map.Entry<Module, String>> getModuleMap() {
-                return Collections.emptyMap();
-            }
-
-            @Override
-            public int countModuleMXBeanEntries() {
-                return 0;
-            }
-
-            @Override
-            public void close() {
-            }
-        };
-        return Optional.of(initialSnapshot);
-    }
-}
index d54996dbb77fcd38799e9a705bcc26a77a28b763..dd07c5a84fa81976fe5dd97937d0a2c2afedaf0b 100644 (file)
@@ -21,25 +21,27 @@ import org.opendaylight.yangtools.yang.model.api.IdentitySchemaNode;
 import org.opendaylight.yangtools.yang.model.api.Module;
 import org.opendaylight.yangtools.yang.model.api.SchemaContext;
 import org.opendaylight.yangtools.yang.parser.impl.YangParserImpl;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 import java.io.IOException;
 import java.io.InputStream;
 import java.util.Collection;
+import java.util.Collections;
 import java.util.HashMap;
 import java.util.Map;
 import java.util.Map.Entry;
 
 public class MbeParser {
+    private static final Logger logger = LoggerFactory.getLogger(MbeParser.class);
 
-    public YangStoreSnapshotImpl parseYangFiles(
-            Collection<? extends InputStream> allInput)
-            throws YangStoreException {
+    public YangStoreSnapshotImpl parseYangFiles(Collection<? extends InputStream> allInput) throws YangStoreException {
         YangParserImpl parser = YangParserWrapper.getYangParserInstance();
 
         Map<InputStream, Module> allYangModules = YangParserWrapper.parseYangFiles(parser, allInput);
 
         SchemaContext resolveSchemaContext = YangParserWrapper.getSchemaContextFromModules(parser, allYangModules);
-
+        logger.trace("Resolved modules:{}", resolveSchemaContext.getModules());
         // JMX generator
 
         Map<String, String> namespaceToPackageMapping = Maps.newHashMap();
@@ -69,35 +71,47 @@ public class MbeParser {
             }
         }
 
-        Map<String, Map<String, ModuleMXBeanEntry>> retVal = Maps.newHashMap();
-        Map<String, Entry<Module, String>> modulesMap = new HashMap<>();
+        Map<String, Map<String, ModuleMXBeanEntry>> moduleMXBeanEntryMap = Maps.newHashMap();
+        Map<Module, String> modulesToSources = new HashMap<>();
+        Map<QName, Map<String /* identity local name */, ModuleMXBeanEntry>>
+                qNamesToIdentitiesToModuleMXBeanEntries = new HashMap<>();
+
 
         for (Entry<InputStream, Module> moduleEntry : allYangModules.entrySet()) {
-            String packageName = packageTranslator.getPackageName(moduleEntry
-                    .getValue());
+            Module module = moduleEntry.getValue();
+            String packageName = packageTranslator.getPackageName(module);
             TypeProviderWrapper typeProviderWrapper = new TypeProviderWrapper(
                     new TypeProviderImpl(resolveSchemaContext));
-            String yangAsString;
-            try {
-                moduleEntry.getKey().reset();
-                yangAsString = IOUtils.toString(moduleEntry.getKey());
-            } catch (IOException e) {
-                throw new IllegalStateException(e);
-            }
-            modulesMap.put(moduleEntry.getValue().getName(),
-                    Maps.immutableEntry(moduleEntry.getValue(), yangAsString));
-            Map<String /* MB identity local name */, ModuleMXBeanEntry> namesToMBEs = ModuleMXBeanEntry
-                    .create(moduleEntry.getValue(), qNamesToSIEs, resolveSchemaContext, typeProviderWrapper,
-                            packageName);
-            retVal.put(moduleEntry.getValue().getNamespace().toString(),
-                    namesToMBEs);
+            String yangAsString = reReadInputStream(moduleEntry);
+
+            QName qName = new QName(module.getNamespace(), module.getRevision(), module.getName());
+
+            Map<String /* MB identity local name */, ModuleMXBeanEntry> namesToMBEs =
+                    Collections.unmodifiableMap(ModuleMXBeanEntry.create(module, qNamesToSIEs, resolveSchemaContext,
+                            typeProviderWrapper, packageName));
+            moduleMXBeanEntryMap.put(module.getNamespace().toString(), namesToMBEs);
+            modulesToSources.put(module, yangAsString);
+            qNamesToIdentitiesToModuleMXBeanEntries.put(qName, namesToMBEs);
         }
 
-        return new YangStoreSnapshotImpl(retVal, modulesMap);
+        return new YangStoreSnapshotImpl(moduleMXBeanEntryMap, modulesToSources, qNamesToIdentitiesToModuleMXBeanEntries);
+    }
+
+    private String reReadInputStream(Entry<InputStream, Module> moduleEntry) {
+        String yangAsString;
+        try {
+            moduleEntry.getKey().reset();
+            yangAsString = IOUtils.toString(moduleEntry.getKey());
+        } catch (IOException e) {
+            throw new IllegalStateException("Cannot reread " + moduleEntry.getValue(), e);
+        }
+        return yangAsString;
     }
 
-    public Map<Module, String> parseYangFilesToString(
-            Collection<? extends InputStream> allYangs) {
+    @Deprecated
+    public Map<Module, String> parseYangFilesToString(Collection<? extends InputStream> allYangs) {
+
+        logger.error("Using deprecated method that will be removed soon", new UnsupportedOperationException("Deprecated"));
         YangParserImpl parser = YangParserWrapper.getYangParserInstance();
 
         Map<InputStream, Module> allYangModules = parser
diff --git a/opendaylight/config/yang-store-impl/src/main/java/org/opendaylight/controller/config/yang/store/impl/YangStoreCache.java b/opendaylight/config/yang-store-impl/src/main/java/org/opendaylight/controller/config/yang/store/impl/YangStoreCache.java
new file mode 100644 (file)
index 0000000..321ce3a
--- /dev/null
@@ -0,0 +1,110 @@
+package org.opendaylight.controller.config.yang.store.impl;
+
+import com.google.common.base.Optional;
+import com.google.common.base.Preconditions;
+import com.google.common.collect.Multimap;
+import com.google.common.collect.Sets;
+import org.opendaylight.controller.config.yang.store.api.YangStoreSnapshot;
+import org.opendaylight.controller.config.yangjmxgenerator.ModuleMXBeanEntry;
+import org.opendaylight.yangtools.yang.common.QName;
+import org.opendaylight.yangtools.yang.model.api.Module;
+import org.osgi.framework.Bundle;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import javax.annotation.concurrent.GuardedBy;
+import java.net.URL;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.Map;
+import java.util.Set;
+
+class YangStoreCache {
+    private static final Logger logger = LoggerFactory.getLogger(YangStoreCache.class);
+
+    @GuardedBy("this")
+    private Set<URL> cachedUrls = null;
+    @GuardedBy("this")
+    private Optional<YangStoreSnapshot> cachedYangStoreSnapshot = getInitialSnapshot();
+    @GuardedBy("this")
+    private Collection<URL> inconsistentURLsForReporting = Collections.emptySet();
+
+    synchronized Optional<YangStoreSnapshot> getSnapshotIfPossible(Multimap<Bundle, URL> bundlesToYangURLs) {
+        Set<URL> urls = setFromMultimapValues(bundlesToYangURLs);
+
+        if (cachedUrls==null || cachedUrls.equals(urls)) {
+            Preconditions.checkState(cachedYangStoreSnapshot.isPresent());
+            YangStoreSnapshot freshSnapshot = YangStoreSnapshotImpl.copy(cachedYangStoreSnapshot.get());
+            if (inconsistentURLsForReporting.size() > 0){
+                logger.warn("Some yang URLs are ignored: {}", inconsistentURLsForReporting);
+            }
+            return Optional.of(freshSnapshot);
+        }
+
+        return Optional.absent();
+    }
+
+    private static Set<URL> setFromMultimapValues(
+            Multimap<Bundle, URL> bundlesToYangURLs) {
+        Set<URL> urls = Sets.newHashSet(bundlesToYangURLs.values());
+        Preconditions.checkState(bundlesToYangURLs.size() == urls.size());
+        return urls;
+    }
+
+    synchronized void cacheYangStore(Multimap<Bundle, URL> urls,
+                                     YangStoreSnapshot yangStoreSnapshot) {
+        this.cachedUrls = setFromMultimapValues(urls);
+        this.cachedYangStoreSnapshot = Optional.of(yangStoreSnapshot);
+    }
+
+    synchronized void invalidate() {
+        cachedUrls.clear();
+        if (cachedYangStoreSnapshot.isPresent()){
+            cachedYangStoreSnapshot.get().close();
+            cachedYangStoreSnapshot = Optional.absent();
+        }
+    }
+
+    public synchronized void setInconsistentURLsForReporting(Collection<URL> urls){
+        inconsistentURLsForReporting = urls;
+    }
+
+    private Optional<YangStoreSnapshot> getInitialSnapshot() {
+        YangStoreSnapshot initialSnapshot = new YangStoreSnapshot() {
+            @Override
+            public Map<String, Map<String, ModuleMXBeanEntry>> getModuleMXBeanEntryMap() {
+                return Collections.emptyMap();
+            }
+
+            @Override
+            public Map<QName, Map<String, ModuleMXBeanEntry>> getQNamesToIdentitiesToModuleMXBeanEntries() {
+                return Collections.emptyMap();
+            }
+
+            @Override
+            public Set<Module> getModules() {
+                return Collections.emptySet();
+            }
+
+            @Override
+            public Map<Module, String> getModulesToSources() {
+                return Collections.emptyMap();
+            }
+
+            @Override
+            public String getModuleSource(Module module) {
+                throw new IllegalArgumentException("Cannot get sources in empty snapshot");
+            }
+
+            @Override
+            public int countModuleMXBeanEntries() {
+                return 0;
+            }
+
+            @Override
+            public void close() {
+            }
+        };
+        return Optional.of(initialSnapshot);
+    }
+}
index ea709e1a45cd9d39d6447b72bc06affe2a744a76..474d7547984b73f0670d02e816a5a3309be2b079 100644 (file)
@@ -9,29 +9,39 @@ package org.opendaylight.controller.config.yang.store.impl;
 
 import org.opendaylight.controller.config.yang.store.api.YangStoreSnapshot;
 import org.opendaylight.controller.config.yangjmxgenerator.ModuleMXBeanEntry;
+import org.opendaylight.yangtools.yang.common.QName;
 import org.opendaylight.yangtools.yang.model.api.Module;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 import java.util.Collections;
 import java.util.Map;
-import java.util.Map.Entry;
+import java.util.Set;
 
 public class YangStoreSnapshotImpl implements YangStoreSnapshot {
+    private static final Logger logger = LoggerFactory.getLogger(YangStoreSnapshotImpl.class);
 
+    @Deprecated
     private final Map<String /* Namespace from yang file */,
             Map<String /* Name of module entry from yang file */, ModuleMXBeanEntry>> moduleMXBeanEntryMap;
 
-    private final Map<String, Entry<Module, String>> moduleMap;
+    private final Map<Module, String> modulesToSources;
+    private final Map<QName, Map<String, ModuleMXBeanEntry>> qNamesToIdentitiesToModuleMXBeanEntries;
+
+    public YangStoreSnapshotImpl(Map<String, Map<String, ModuleMXBeanEntry>> moduleMXBeanEntryMap,
+                                 Map<Module, String> modulesToSources,
+                                 Map<QName, Map<String, ModuleMXBeanEntry>> qNamesToIdentitiesToModuleMXBeanEntries) {
 
-    public YangStoreSnapshotImpl(
-            Map<String, Map<String, ModuleMXBeanEntry>> moduleMXBeanEntryMap,
-            Map<String, Entry<Module, String>> moduleMap) {
         this.moduleMXBeanEntryMap = Collections.unmodifiableMap(moduleMXBeanEntryMap);
-        this.moduleMap = Collections.unmodifiableMap(moduleMap);
+        this.modulesToSources = Collections.unmodifiableMap(modulesToSources);
+        this.qNamesToIdentitiesToModuleMXBeanEntries = Collections.unmodifiableMap(qNamesToIdentitiesToModuleMXBeanEntries);
     }
 
-    public YangStoreSnapshotImpl(YangStoreSnapshot yangStoreSnapshot) {
-        this.moduleMXBeanEntryMap = yangStoreSnapshot.getModuleMXBeanEntryMap();
-        this.moduleMap = yangStoreSnapshot.getModuleMap();
+    public static YangStoreSnapshotImpl copy(YangStoreSnapshot yangStoreSnapshot) {
+        return new YangStoreSnapshotImpl(
+                yangStoreSnapshot.getModuleMXBeanEntryMap(),
+                yangStoreSnapshot.getModulesToSources(),
+                yangStoreSnapshot.getQNamesToIdentitiesToModuleMXBeanEntries());
     }
 
     /**
@@ -44,8 +54,28 @@ public class YangStoreSnapshotImpl implements YangStoreSnapshot {
     }
 
     @Override
-    public Map<String, Entry<Module, String>> getModuleMap() {
-        return moduleMap;
+    public Map<QName, Map<String, ModuleMXBeanEntry>> getQNamesToIdentitiesToModuleMXBeanEntries() {
+        return qNamesToIdentitiesToModuleMXBeanEntries;
+    }
+
+    @Override
+    public Set<Module> getModules() {
+        return modulesToSources.keySet();
+    }
+
+    @Override
+    public String getModuleSource(Module module) {
+        String result = modulesToSources.get(module);
+        if (result == null) {
+            logger.trace("Cannot find module {} in {}", module, modulesToSources);
+            throw new IllegalArgumentException("Module not found in this snapshot:" + module);
+        }
+        return result;
+    }
+
+    @Override
+    public Map<Module, String> getModulesToSources() {
+        return modulesToSources;
     }
 
     @Override
index b4054c242cee5a938f8968d109adfe7b5f29acf3..8a7b95ff3ec47c6cbe2c9f7c2199932fee682624 100644 (file)
@@ -30,7 +30,6 @@ import java.util.List;
 import java.util.Map;
 import java.util.regex.Pattern;
 
-import static org.junit.Assert.assertEquals;
 import static org.mockito.Matchers.any;
 import static org.mockito.Matchers.anyCollectionOf;
 import static org.mockito.Mockito.doNothing;
@@ -82,8 +81,9 @@ public class ExtenderYangTrackerCustomizerTest {
         doReturn(22).when(yangStoreSnapshot).countModuleMXBeanEntries();
         doReturn("mock yang store").when(yangStoreSnapshot).toString();
         doNothing().when(yangStoreSnapshot).close();
-        doReturn(moduleMap).when(yangStoreSnapshot).getModuleMap();
         doReturn(Collections.emptyMap()).when(yangStoreSnapshot).getModuleMXBeanEntryMap();
+        doReturn(Collections.emptyMap()).when(yangStoreSnapshot).getModulesToSources();
+        doReturn(Collections.emptyMap()).when(yangStoreSnapshot).getQNamesToIdentitiesToModuleMXBeanEntries();
     }
 
     @Test
@@ -99,7 +99,6 @@ public class ExtenderYangTrackerCustomizerTest {
 
         returnedStore = tested.getYangStoreSnapshot();
 
-        assertEquals(yangStoreSnapshot.getModuleMap(), returnedStore.getModuleMap());
 
         tested.removedBundle(bundle, null, null);
         tested.getYangStoreSnapshot();
index 282185bd7013a94d3d79b51434da27ad16dec2c2..2e9104a4b05497c0178c16e2a2dc343d9f8a23bd 100644 (file)
@@ -44,7 +44,6 @@
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>sal</artifactId>
-      <version>0.7.0-SNAPSHOT</version>
     </dependency>
   </dependencies>
 </project>
index db596bf346b07a4b3c5bfa47f8595bff6d7c5636..9eb2e16809266cd36325bc9c42c4b720e204f10c 100644 (file)
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>clustering.services</artifactId>
-      <version>0.5.0-SNAPSHOT</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>configuration</artifactId>
-      <version>0.4.1-SNAPSHOT</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>sal</artifactId>
-      <version>0.7.0-SNAPSHOT</version>
     </dependency>
     <dependency>
       <groupId>junit</groupId>
index 65d46c3e0a269bd1584efd67c2f77148bb8d6cd6..aa3758142b829fbd8726690ff2628fda649bb7af 100644 (file)
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>protocol_plugins.stub</artifactId>
-      <version>0.4.1-SNAPSHOT</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>sal</artifactId>
-      <version>0.7.0-SNAPSHOT</version>
     </dependency>
      <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>sal.implementation</artifactId>
-      <version>0.4.1-SNAPSHOT</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>forwardingrulesmanager</artifactId>
-      <version>0.5.0-SNAPSHOT</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>clustering.services</artifactId>
-      <version>0.5.0-SNAPSHOT</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>clustering.services-implementation</artifactId>
-      <version>0.4.1-SNAPSHOT</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>clustering.stub</artifactId>
-      <version>0.4.1-SNAPSHOT</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>containermanager</artifactId>
-      <version>0.5.1-SNAPSHOT</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>containermanager.it.implementation</artifactId>
-      <version>0.5.1-SNAPSHOT</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>switchmanager.implementation</artifactId>
-      <version>0.4.1-SNAPSHOT</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>configuration</artifactId>
-      <version>0.4.1-SNAPSHOT</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>configuration.implementation</artifactId>
-      <version>0.4.1-SNAPSHOT</version>
     </dependency>
       <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>hosttracker</artifactId>
-      <version>${hosttracker.version}</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>topologymanager</artifactId>
-      <version>0.4.1-SNAPSHOT</version>
     </dependency>
     <dependency>
       <groupId>junit</groupId>
index ab0a32882e4b1376391033541d44b10ba7b90a5e..01799f996b5b6b87a39736b4b27d27f9cd5d2459 100644 (file)
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>sal</artifactId>
-      <version>0.7.0-SNAPSHOT</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>sal.connection</artifactId>
-      <version>0.1.1-SNAPSHOT</version>
     </dependency>
   </dependencies>
 </project>
index 1ca905054b5f2e6b32793e84badbf7838100a461..744198acf87e34b7502e7bc1ac025e369d287321 100644 (file)
@@ -54,7 +54,6 @@
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>sal</artifactId>
-      <version>0.7.0-SNAPSHOT</version>
     </dependency>
   </dependencies>
 </project>
index bd12bfc87dda36258d60234ab52104b5e94fecec..9c160dcf3e8f100f501f5a194dd118aab8a684e1 100644 (file)
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>clustering.services</artifactId>
-      <version>0.5.0-SNAPSHOT</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>containermanager</artifactId>
-      <version>0.5.1-SNAPSHOT</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>configuration</artifactId>
-      <version>0.4.1-SNAPSHOT</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>appauth</artifactId>
-      <version>0.4.1-SNAPSHOT</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>topologymanager</artifactId>
-      <version>0.4.1-SNAPSHOT</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>sal</artifactId>
-      <version>0.7.0-SNAPSHOT</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>usermanager</artifactId>
-      <version>0.4.1-SNAPSHOT</version>
     </dependency>
   </dependencies>
 </project>
index 7319d5a15d360ed7d5f834c8144bd35f562d9691..d9e941ef784348eaf0254691c9cee464cea371da 100644 (file)
@@ -30,6 +30,7 @@ import java.util.concurrent.CopyOnWriteArrayList;
 
 import org.eclipse.osgi.framework.console.CommandInterpreter;
 import org.eclipse.osgi.framework.console.CommandProvider;
+import org.opendaylight.controller.appauth.authorization.Authorization;
 import org.opendaylight.controller.clustering.services.CacheConfigException;
 import org.opendaylight.controller.clustering.services.CacheExistException;
 import org.opendaylight.controller.clustering.services.ICacheUpdateAware;
@@ -37,8 +38,14 @@ import org.opendaylight.controller.clustering.services.IClusterGlobalServices;
 import org.opendaylight.controller.clustering.services.IClusterServices;
 import org.opendaylight.controller.configuration.IConfigurationAware;
 import org.opendaylight.controller.configuration.IConfigurationService;
+import org.opendaylight.controller.containermanager.ContainerChangeEvent;
+import org.opendaylight.controller.containermanager.ContainerConfig;
+import org.opendaylight.controller.containermanager.ContainerData;
+import org.opendaylight.controller.containermanager.ContainerFlowChangeEvent;
+import org.opendaylight.controller.containermanager.ContainerFlowConfig;
 import org.opendaylight.controller.containermanager.IContainerAuthorization;
 import org.opendaylight.controller.containermanager.IContainerManager;
+import org.opendaylight.controller.containermanager.NodeConnectorsChangeEvent;
 import org.opendaylight.controller.sal.authorization.AppRoleLevel;
 import org.opendaylight.controller.sal.authorization.Privilege;
 import org.opendaylight.controller.sal.authorization.Resource;
@@ -65,14 +72,6 @@ import org.opendaylight.controller.topologymanager.ITopologyManager;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-import org.opendaylight.controller.appauth.authorization.Authorization;
-import org.opendaylight.controller.containermanager.ContainerFlowChangeEvent;
-import org.opendaylight.controller.containermanager.ContainerFlowConfig;
-import org.opendaylight.controller.containermanager.NodeConnectorsChangeEvent;
-import org.opendaylight.controller.containermanager.ContainerChangeEvent;
-import org.opendaylight.controller.containermanager.ContainerConfig;
-import org.opendaylight.controller.containermanager.ContainerData;
-
 public class ContainerManager extends Authorization<String> implements IContainerManager, IObjectReader,
         CommandProvider, ICacheUpdateAware<String, Object>, IContainerInternal, IContainerAuthorization,
         IConfigurationAware {
@@ -734,7 +733,7 @@ public class ContainerManager extends Authorization<String> implements IContaine
          * Read containers, container flows and finally containers' entries from file
          * and program the database accordingly
          */
-        if (containerConfigs.isEmpty()) {
+        if ((clusterServices != null) && (clusterServices.amICoordinator())) {
             loadContainerConfig();
         }
     }
index ee1ef12c11e0b565d60ddbc43053699011f9b0dd..c6d8c5911ccccc83ec68969ccc32cdcb8870c033 100644 (file)
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>clustering.services</artifactId>
-      <version>0.5.0-SNAPSHOT</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>containermanager</artifactId>
-      <version>0.5.1-SNAPSHOT</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>sal</artifactId>
-      <version>0.7.0-SNAPSHOT</version>
     </dependency>
     <dependency>
       <groupId>junit</groupId>
index 17d484a88cbd0c8fa38550073aef33ce80f85481..cdb4e35cdde94678310ac9db4727b79bd60e127a 100644 (file)
@@ -26,9 +26,7 @@
         </property>
       </activation>
       <dependencies>
-
         <!-- md-sal -->
-
         <dependency>
           <groupId>org.opendaylight.controller</groupId>
           <artifactId>sal-common</artifactId>
           <artifactId>yang-jmx-generator</artifactId>
           <version>${config.version}</version>
         </dependency>
-        <dependency>
-          <groupId>org.opendaylight.controller</groupId>
-          <artifactId>netty-event-executor-config</artifactId>
-          <version>${config.version}</version>
-        </dependency>
-        <dependency>
-          <groupId>org.opendaylight.controller</groupId>
-          <artifactId>netty-threadgroup-config</artifactId>
-          <version>${config.version}</version>
-        </dependency>
-        <dependency>
-          <groupId>org.opendaylight.controller</groupId>
-          <artifactId>threadpool-config-api</artifactId>
-          <version>${config.version}</version>
-        </dependency>
-        <dependency>
-          <groupId>org.opendaylight.controller</groupId>
-          <artifactId>threadpool-config-impl</artifactId>
-          <version>${config.version}</version>
-        </dependency>
-        <dependency>
-          <groupId>org.opendaylight.controller</groupId>
-          <artifactId>yang-store-api</artifactId>
-          <version>${config.version}</version>
-        </dependency>
         <dependency>
           <groupId>org.opendaylight.controller</groupId>
           <artifactId>yang-store-api</artifactId>
         </dependency>
         <dependency>
               <groupId>org.zeromq</groupId>
-              <artifactId>jeromq</artifactId>
-              <version>0.3.1</version>
-          </dependency>
+          <artifactId>jeromq</artifactId>
+          <version>0.3.1</version>
+        </dependency>
+        <!-- yang model dependencies -->
+        <dependency>
+          <groupId>org.opendaylight.yangtools.model</groupId>
+          <artifactId>ietf-inet-types</artifactId>
+        </dependency>
+        <dependency>
+          <groupId>org.opendaylight.yangtools.model</groupId>
+          <artifactId>ietf-yang-types</artifactId>
+        </dependency>
+        <dependency>
+          <groupId>org.opendaylight.yangtools.model</groupId>
+          <artifactId>opendaylight-l2-types</artifactId>
+        </dependency>
       </dependencies>
     </profile>
     <profile>
                 <artifactItem>
                   <groupId>org.opendaylight.controller</groupId>
                   <artifactId>sanitytest</artifactId>
-                  <version>${controller.version}</version>
                   <type>jar</type>
                 </artifactItem>
               </artifactItems>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>forwarding.staticrouting</artifactId>
-      <version>${forwarding.staticrouting}</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>clustering.services</artifactId>
-      <version>${clustering.services.version}</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>clustering.services-implementation</artifactId>
-      <version>${controller.version}</version>
     </dependency>
-      <dependency>
+    <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>configuration</artifactId>
-      <version>${controller.version}</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>configuration.implementation</artifactId>
-      <version>${controller.version}</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>routing.dijkstra_implementation</artifactId>
-      <version>${controller.version}</version>
     </dependency>
-      <dependency>
+    <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>arphandler</artifactId>
-      <version>${arphandler.version}</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>hosttracker</artifactId>
-      <version>${hosttracker.version}</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>hosttracker.implementation</artifactId>
-      <version>${hosttracker.version}</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>containermanager</artifactId>
-      <version>${containermanager.version}</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>containermanager.implementation</artifactId>
-      <version>${containermanager.version}</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>appauth</artifactId>
-      <version>${controller.version}</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>switchmanager</artifactId>
-      <version>${switchmanager.api.version}</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>switchmanager.implementation</artifactId>
-      <version>${controller.version}</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>statisticsmanager</artifactId>
-      <version>${statisticsmanager.version}</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>statisticsmanager.implementation</artifactId>
-      <version>${controller.version}</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>topologymanager</artifactId>
-      <version>${controller.version}</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>usermanager</artifactId>
-      <version>${controller.version}</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>usermanager.implementation</artifactId>
-      <version>${controller.version}</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>connectionmanager</artifactId>
-      <version>${connectionmanager.version}</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>connectionmanager.implementation</artifactId>
-      <version>${connectionmanager.version}</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>security</artifactId>
-      <version>${controller.version}</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>forwardingrulesmanager</artifactId>
-      <version>${forwardingrulesmanager.version}</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>forwardingrulesmanager.implementation</artifactId>
-      <version>${controller.version}</version>
     </dependency>
 
     <!-- SAL bundles -->
-
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>sal</artifactId>
-      <version>${sal.version}</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>sal.implementation</artifactId>
-      <version>${controller.version}</version>
     </dependency>
 
   <!-- SAL Extension bundles -->
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>sal.connection</artifactId>
-      <version>${sal.connection.version}</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>sal.connection.implementation</artifactId>
-      <version>${sal.connection.version}</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>sal.networkconfiguration</artifactId>
-      <version>${sal.networkconfiguration.version}</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>sal.networkconfiguration.implementation</artifactId>
-      <version>${sal.networkconfiguration.version}</version>
     </dependency>
 
     <!--  Web bundles -->
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>web</artifactId>
-      <version>${controller.version}</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>flows.web</artifactId>
-      <version>${controller.version}</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>devices.web</artifactId>
-      <version>${controller.version}</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>troubleshoot.web</artifactId>
-      <version>${controller.version}</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>topology.web</artifactId>
-      <version>${controller.version}</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>osgi-brandfragment.web</artifactId>
-      <version>0.0.1-SNAPSHOT</version>
     </dependency>
 
     <!--  Neutron -->
-
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>networkconfig.neutron</artifactId>
-      <version>${controller.version}</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>networkconfig.neutron.implementation</artifactId>
-      <version>${controller.version}</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>networkconfig.neutron.northbound</artifactId>
-      <version>${controller.version}</version>
     </dependency>
 
     <!-- Northbound bundles -->
-
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>commons.northbound</artifactId>
-      <version>${controller.version}</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>bundlescanner</artifactId>
-      <version>${controller.version}</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>bundlescanner.implementation</artifactId>
-      <version>${controller.version}</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>topology.northbound</artifactId>
-      <version>${controller.version}</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>forwarding.staticrouting.northbound</artifactId>
-      <version>${controller.version}</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>statistics.northbound</artifactId>
-      <version>${controller.version}</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>flowprogrammer.northbound</artifactId>
-      <version>${controller.version}</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>hosttracker.northbound</artifactId>
-      <version>${controller.version}</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>subnets.northbound</artifactId>
-      <version>${controller.version}</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>switchmanager.northbound</artifactId>
-      <version>${controller.version}</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>containermanager.northbound</artifactId>
-      <version>${controller.version}</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>networkconfig.bridgedomain.northbound</artifactId>
-      <version>${networkconfig.bridgedomain.northbound.version}</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>httpservice-bridge</artifactId>
-      <version>0.0.1-SNAPSHOT</version>
     </dependency>
     <dependency>
       <groupId>org.jolokia</groupId>
       <artifactId>jolokia-osgi</artifactId>
-      <version>${jolokia.version}</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>jolokia-bridge</artifactId>
-      <version>${jolokia.bridge.version}</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>connectionmanager.northbound</artifactId>
-      <version>${connectionmanager.version}</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>usermanager.northbound</artifactId>
-      <version>0.0.1-SNAPSHOT</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>controllermanager.northbound</artifactId>
-      <version>0.0.1-SNAPSHOT</version>
     </dependency>
     <!-- Debug and logging -->
 
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>logging.bridge</artifactId>
-      <version>${controller.version}</version>
     </dependency>
 
     <!-- Southbound bundles -->
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>protocol_plugins.openflow</artifactId>
-      <version>${controller.version}</version>
     </dependency>
 
     <!-- samples -->
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>samples.loadbalancer</artifactId>
-      <version>${samples.loadbalancer}</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>samples.loadbalancer.northbound</artifactId>
-      <version>${controller.version}</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>samples.simpleforwarding</artifactId>
-      <version>${controller.version}</version>
     </dependency>
 
     <!-- Third party depedencies -->
-
     <dependency>
       <groupId>org.slf4j</groupId>
       <artifactId>jcl-over-slf4j</artifactId>
     </dependency>
-    <dependency>
-      <groupId>org.osgi</groupId>
-      <artifactId>org.osgi.core</artifactId>
-      <scope>provided</scope>
-    </dependency>
     <dependency>
       <groupId>org.slf4j</groupId>
       <artifactId>slf4j-api</artifactId>
-      <scope>compile</scope>
     </dependency>
     <dependency>
       <groupId>org.slf4j</groupId>
     <dependency>
       <groupId>com.google.code.gson</groupId>
       <artifactId>gson</artifactId>
-      <version>2.2.4</version>
-      <scope>compile</scope>
     </dependency>
     <dependency>
       <groupId>org.jboss.spec.javax.transaction</groupId>
       <artifactId>javax.resource</artifactId>
     </dependency>
     <!-- Add Pax Exam -->
-    <dependency>
-      <groupId>org.ops4j.pax.exam</groupId>
-      <artifactId>pax-exam-container-native</artifactId>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.ops4j.pax.exam</groupId>
-      <artifactId>pax-exam-junit4</artifactId>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.ops4j.pax.exam</groupId>
-      <artifactId>pax-exam-link-mvn</artifactId>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.ops4j.pax.url</groupId>
-      <artifactId>pax-url-aether</artifactId>
-      <scope>test</scope>
-    </dependency>
     <dependency>
       <groupId>org.springframework</groupId>
       <artifactId>org.springframework.asm</artifactId>
     <dependency>
       <groupId>com.sun.jersey</groupId>
       <artifactId>jersey-core</artifactId>
-      <version>${jersey.version}</version>
     </dependency>
     <dependency>
       <groupId>com.sun.jersey</groupId>
       <artifactId>jersey-server</artifactId>
-      <version>${jersey.version}</version>
     </dependency>
     <dependency>
       <groupId>com.sun.jersey</groupId>
     <dependency>
       <groupId>org.eclipse.equinox.http</groupId>
       <artifactId>servlet</artifactId>
-      <!--
-      <version>1.0.0-v20070606</version>
-      -->
     </dependency>
     <!-- felix webconsole -->
     <dependency>
       <groupId>org.apache.felix</groupId>
       <artifactId>org.apache.felix.webconsole</artifactId>
-      <version>4.2.0</version>
       <classifier>all</classifier>
-      <!-- the all bundle includes all the necessary plugins -->
     </dependency>
 
     <!-- Third parties from opendaylight released -->
       <groupId>org.opendaylight.controller.thirdparty</groupId>
       <artifactId>org.apache.catalina.filters.CorsFilter</artifactId>
     </dependency>
-    <!-- yang model dependencies -->
-    <dependency>
-     <groupId>org.opendaylight.yangtools.model</groupId>
-     <artifactId>ietf-inet-types</artifactId>
-    </dependency>
-    <dependency>
-     <groupId>org.opendaylight.yangtools.model</groupId>
-     <artifactId>ietf-yang-types</artifactId>
-    </dependency>
-    <dependency>
-     <groupId>org.opendaylight.yangtools.model</groupId>
-     <artifactId>opendaylight-l2-types</artifactId>
-    </dependency>
 
     <!--Netty-->
     <dependency>
       <artifactId>netty-common</artifactId>
     </dependency>
 
-
-      <!-- testing dependencies I'm pretty sure we should trim -->
-    <dependency>
-     <groupId>org.opendaylight.controller</groupId>
-     <artifactId>clustering.test</artifactId>
-     <version>${controller.version}</version>
-    </dependency>
+    <!-- testing dependencies I'm pretty sure we should trim -->
     <dependency>
-     <groupId>org.opendaylight.controller</groupId>
-     <artifactId>commons.httpclient</artifactId>
-     <version>${commons.httpclient.version}</version>
+      <groupId>org.opendaylight.controller</groupId>
+      <artifactId>clustering.test</artifactId>
     </dependency>
-
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
-      <artifactId>sanitytest</artifactId>
-      <version>${controller.version}</version>
+      <artifactId>commons.httpclient</artifactId>
     </dependency>
-
-
   </dependencies>
 
-
   <build>
     <plugins>
       <plugin>
index 63ac8577ac868c30bf4ffda8a5f4c0ba5a30241a..f7330cbfafcf01acbd39fa9c47e8455f88f4b92b 100644 (file)
     </configuration>
     
     <required-capabilities>
-        <capability>urn:opendaylight:l2:types?module=opendaylight-l2-types&amp;revision=2013-08-27</capability>
-        <capability>urn:opendaylight:params:xml:ns:yang:controller:md:sal:binding?module=opendaylight-md-sal-binding&amp;revision=2013-10-28</capability>
+        <capability>urn:opendaylight:params:xml:ns:yang:controller:netty:eventexecutor?module=netty-event-executor&amp;revision=2013-11-12</capability>
         <capability>urn:opendaylight:params:xml:ns:yang:controller:threadpool?module=threadpool&amp;revision=2013-04-09</capability>
+        <capability>urn:opendaylight:params:xml:ns:yang:controller:md:sal:binding?module=opendaylight-md-sal-binding&amp;revision=2013-10-28</capability>
         <capability>urn:opendaylight:params:xml:ns:yang:controller:md:sal:dom?module=opendaylight-md-sal-dom&amp;revision=2013-10-28</capability>
-        <capability>urn:opendaylight:params:xml:ns:yang:controller:config?module=config&amp;revision=2013-04-05</capability>
-        <capability>urn:ietf:params:netconf:capability:candidate:1.0</capability>
-        <capability>urn:ietf:params:xml:ns:yang:ietf-netconf-monitoring?module=ietf-netconf-monitoring&amp;revision=2010-10-04</capability>
-        <capability>urn:opendaylight:params:xml:ns:yang:controller:netty:eventexecutor?module=netty-event-executor&amp;revision=2013-11-12</capability>
-        <capability>urn:ietf:params:xml:ns:yang:rpc-context?module=rpc-context&amp;revision=2013-06-17</capability>
         <capability>urn:opendaylight:params:xml:ns:yang:controller:md:sal:binding:impl?module=opendaylight-sal-binding-broker-impl&amp;revision=2013-10-28</capability>
-        <capability>urn:ietf:params:xml:ns:yang:ietf-inet-types?module=ietf-inet-types&amp;revision=2010-09-24</capability>
-        <capability>urn:ietf:params:netconf:capability:rollback-on-error:1.0</capability>
-        <capability>urn:ietf:params:xml:ns:yang:ietf-yang-types?module=ietf-yang-types&amp;revision=2010-09-24</capability>
-        <capability>urn:opendaylight:params:xml:ns:yang:controller:threadpool:impl?module=threadpool-impl&amp;revision=2013-04-05</capability>
         <capability>urn:opendaylight:params:xml:ns:yang:controller:md:sal:dom:impl?module=opendaylight-sal-dom-broker-impl&amp;revision=2013-10-28</capability>
-        <capability>urn:opendaylight:yang:extension:yang-ext?module=yang-ext&amp;revision=2013-07-09</capability>
         <capability>urn:opendaylight:params:xml:ns:yang:controller:md:sal:common?module=opendaylight-md-sal-common&amp;revision=2013-10-28</capability>
         <capability>urn:opendaylight:params:xml:ns:yang:controller:md:sal:dom:cluster:store?module=odl-sal-dom-clustered-store-cfg&amp;revision=2013-10-28</capability>
         <capability>urn:opendaylight:params:xml:ns:yang:controller:md:sal:remote:rpc?module=odl-sal-dom-rpc-remote-cfg&amp;revision=2013-10-28</capability>
     </required-capabilities>
+
 </snapshot>
 
index a0b7367acde6a2ccaeadb6e13c2195583da9f5f8..2a3c08e41f67a1cad618330acf2b2be000b10fa3 100644 (file)
   <dependency>
    <groupId>org.opendaylight.controller</groupId>
    <artifactId>topologymanager</artifactId>
-   <version>0.4.1-SNAPSHOT</version>
   </dependency>
   <dependency>
    <groupId>org.opendaylight.controller</groupId>
    <artifactId>forwardingrulesmanager</artifactId>
-   <version>0.5.0-SNAPSHOT</version>
   </dependency>
   <dependency>
    <groupId>org.opendaylight.controller</groupId>
    <artifactId>hosttracker</artifactId>
-   <version>${hosttracker.version}</version>
   </dependency>
   <dependency>
    <groupId>org.opendaylight.controller</groupId>
    <artifactId>configuration</artifactId>
-   <version>0.4.1-SNAPSHOT</version>
   </dependency>
   <dependency>
    <groupId>junit</groupId>
@@ -86,7 +82,6 @@
   <dependency>
    <groupId>org.opendaylight.controller</groupId>
    <artifactId>sal</artifactId>
-   <version>0.7.0-SNAPSHOT</version>
   </dependency>
  </dependencies>
 </project>
index 2ce2465d976e28a82a7a3bc8e66ddc9df144300c..e6651b86a19ee8d8055ecbf1c24044346f0e1d59 100644 (file)
@@ -427,7 +427,7 @@ public class StaticRoutingImplementation implements IfNewHostNotify, IForwarding
         allocateCaches();
         retrieveCaches();
         this.executor = Executors.newFixedThreadPool(1);
-        if (staticRouteConfigs.isEmpty()) {
+        if ((clusterContainerService != null) && (clusterContainerService.amICoordinator())) {
             loadConfiguration();
         }
 
index afd3d0ba7ce74f83a710cbbefdcff345ecad8693..5583b7a0dd58f2153391de2e9b9705e448ec71f9 100644 (file)
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>hosttracker</artifactId>
-      <version>${hosttracker.version}</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>configuration</artifactId>
-      <version>0.4.1-SNAPSHOT</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>clustering.services</artifactId>
-      <version>0.5.0-SNAPSHOT</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
@@ -87,7 +84,6 @@
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>sal</artifactId>
-      <version>0.7.0-SNAPSHOT</version>
     </dependency>
     <dependency>
       <groupId>junit</groupId>
index ef69b49ca91ff800ec1ee759f6d5c6f3fad7399d..deaa23e062b631c4f549c460ba3bc56239b2dc7b 100644 (file)
@@ -74,7 +74,6 @@
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>hosttracker</artifactId>
-      <version>${hosttracker.version}</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
index 41075b9554339d7bd503ba9e1dd952bcfa080ac0..21b747beee9d7f3eb5572a67832abe286eacadcd 100644 (file)
@@ -2631,10 +2631,9 @@ public class ForwardingRulesManager implements
         }
 
         /*
-         * Read startup and build database if we have not already gotten the
-         * configurations synced from another node
+         * Read startup and build database if we are the coordinator
          */
-        if (staticFlows.isEmpty()) {
+        if ((clusterContainerService != null) && (clusterContainerService.amICoordinator())) {
             loadFlowConfiguration();
         }
     }
index 1595f257d41fc173c686f8bf30ac25aac37dbf49..6fc318cd3a6799faf9f6d480da44a4b7ef91f98c 100644 (file)
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>hosttracker</artifactId>
-      <version>${hosttracker.version}</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>hosttracker.implementation</artifactId>
-      <version>${hosttracker.version}</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>connectionmanager</artifactId>
-      <version>0.1.1-SNAPSHOT</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>connectionmanager.implementation</artifactId>
-      <version>0.1.1-SNAPSHOT</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>configuration</artifactId>
-      <version>0.4.1-SNAPSHOT</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>sal.connection</artifactId>
-      <version>0.1.1-SNAPSHOT</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>sal.connection.implementation</artifactId>
-      <version>0.1.1-SNAPSHOT</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>configuration.implementation</artifactId>
-      <version>0.4.1-SNAPSHOT</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>clustering.services</artifactId>
-      <version>0.5.0-SNAPSHOT</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>clustering.stub</artifactId>
-      <version>0.4.1-SNAPSHOT</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>switchmanager</artifactId>
-      <version>0.7.0-SNAPSHOT</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>switchmanager.implementation</artifactId>
-      <version>0.4.1-SNAPSHOT</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>sal</artifactId>
-      <version>0.7.0-SNAPSHOT</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>sal.implementation</artifactId>
-      <version>0.4.1-SNAPSHOT</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>forwardingrulesmanager</artifactId>
-      <version>0.5.0-SNAPSHOT</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>forwardingrulesmanager.implementation</artifactId>
-      <version>0.4.1-SNAPSHOT</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>containermanager</artifactId>
-      <version>0.5.1-SNAPSHOT</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>containermanager.it.implementation</artifactId>
-      <version>0.5.1-SNAPSHOT</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>protocol_plugins.stub</artifactId>
-      <version>0.4.1-SNAPSHOT</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>topologymanager</artifactId>
-      <version>0.4.1-SNAPSHOT</version>
     </dependency>
     <dependency>
       <groupId>junit</groupId>
index bf2e360334b1221af3f8cc7eabde31084434e003..fbd13e13ef5b511cb52b03a4337afb9c6143736d 100644 (file)
@@ -57,7 +57,6 @@
   <dependency>
    <groupId>org.opendaylight.controller</groupId>
    <artifactId>topologymanager</artifactId>
-   <version>0.4.1-SNAPSHOT</version>
   </dependency>
   <dependency>
    <groupId>org.opendaylight.controller</groupId>
   <dependency>
    <groupId>org.opendaylight.controller</groupId>
    <artifactId>clustering.services</artifactId>
-   <version>0.5.0-SNAPSHOT</version>
   </dependency>
   <dependency>
    <groupId>org.opendaylight.controller</groupId>
    <artifactId>sal</artifactId>
-   <version>0.7.0-SNAPSHOT</version>
   </dependency>
   <dependency>
    <groupId>junit</groupId>
index 78c4ae4160f26c7e40f026353c6a5dcd614c98a7..f7ced8ee8983111bf28016a7334a9b7f8ff6b046 100644 (file)
       <dependency>
         <groupId>org.opendaylight.controller</groupId>
         <artifactId>connectionmanager</artifactId>
-        <version>0.1.1-SNAPSHOT</version>
       </dependency>
       <dependency>
         <groupId>org.opendaylight.controller</groupId>
         <artifactId>connectionmanager.implementation</artifactId>
-        <version>0.1.1-SNAPSHOT</version>
       </dependency>
       <dependency>
         <groupId>org.opendaylight.controller</groupId>
         <artifactId>sal.connection</artifactId>
-        <version>0.1.1-SNAPSHOT</version>
       </dependency>
       <dependency>
         <groupId>org.opendaylight.controller</groupId>
         <artifactId>sal.connection.implementation</artifactId>
-        <version>0.1.1-SNAPSHOT</version>
       </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>topologymanager</artifactId>
-      <version>0.4.1-SNAPSHOT</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>clustering.services</artifactId>
-      <version>0.5.0-SNAPSHOT</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>sal</artifactId>
-      <version>0.7.0-SNAPSHOT</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>hosttracker</artifactId>
-      <version>${hosttracker.version}</version>
     </dependency>
     <dependency>
       <groupId>junit</groupId>
index 03e70002d3b2c0b6e462af5f451213384efd0ab2..c2d30e78c64b7c0204252f4d0a40bfc526b0cc36 100644 (file)
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>hosttracker</artifactId>
-      <version>${hosttracker.version}</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>hosttracker.implementation</artifactId>
-      <version>${hosttracker.version}</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>sal</artifactId>
-      <version>0.7.0-SNAPSHOT</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>sal.implementation</artifactId>
-      <version>0.4.1-SNAPSHOT</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>containermanager</artifactId>
-      <version>0.5.1-SNAPSHOT</version>
     </dependency>
-
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>containermanager.it.implementation</artifactId>
-      <version>0.5.1-SNAPSHOT</version>
     </dependency>
-
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>arphandler</artifactId>
-      <version>${arphandler.version}</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>clustering.services</artifactId>
-      <version>0.5.0-SNAPSHOT</version>
     </dependency>
-
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>clustering.stub</artifactId>
-      <version>0.4.1-SNAPSHOT</version>
     </dependency>
-
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>switchmanager</artifactId>
-      <version>0.7.0-SNAPSHOT</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>switchmanager.implementation</artifactId>
-      <version>0.4.1-SNAPSHOT</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>configuration</artifactId>
-      <version>0.4.1-SNAPSHOT</version>
     </dependency>
-
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>configuration.implementation</artifactId>
-      <version>0.4.1-SNAPSHOT</version>
     </dependency>
-
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>topologymanager</artifactId>
-      <version>0.4.1-SNAPSHOT</version>
     </dependency>
     <dependency>
       <groupId>junit</groupId>
index ba3da5f764a9c524cd47a83a577268941d77202b..495058ff866dcf7ee3a6edddbc9f212d347bbe28 100644 (file)
@@ -56,7 +56,6 @@
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>topologymanager</artifactId>
-      <version>0.4.1-SNAPSHOT</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>clustering.services</artifactId>
-      <version>0.5.0-SNAPSHOT</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>sal</artifactId>
-      <version>0.7.0-SNAPSHOT</version>
     </dependency>
     <dependency>
       <groupId>junit</groupId>
index c5caa7f317bfa5647ed0e6c30f772f461a440399..c035be49ece65d46c6631dbad76b97ef71f48ea6 100644 (file)
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>topologymanager</artifactId>
-      <version>0.4.1-SNAPSHOT</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>clustering.services</artifactId>
-      <version>0.5.0-SNAPSHOT</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>sal</artifactId>
-      <version>0.7.0-SNAPSHOT</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>hosttracker_new</artifactId>
-      <version>0.4.1-SNAPSHOT</version>
     </dependency>
     <dependency>
       <groupId>junit</groupId>
index 3c4c8e3bb5230cfbf5232c525fd2d21ac1e56eae..acbdb9f33d81674e7646aa2f7ea581e45d79c3dd 100644 (file)
         <sonar.branch>${user.name}-private-view</sonar.branch>
         <sonar.language>java</sonar.language>
         <exam.version>3.0.0</exam.version>
+        <sal.version>0.7.0-SNAPSHOT</sal.version>
     </properties>
 
     <pluginRepositories>
index 5bc2d70c6a97a6cfba93ff15ee065ecbae352ae8..b22f3287782a3d4c84c00a6691e5e5c0bfa61df3 100644 (file)
@@ -408,7 +408,7 @@ class TransformerGenerator {
                 method(Object, "deserialize", Object) [
                     bodyChecked = '''
                         {
-                            ////System.out.println("«type.name»#deserialize: " +$1);
+                            //System.out.println("«type.name»#deserialize: " +$1);
                             java.util.Map.Entry _input = (java.util.Map.Entry) $1;
                             return fromDomStatic((«QName.name»)_input.getKey(),_input.getValue());
                         }
@@ -528,7 +528,7 @@ class TransformerGenerator {
                             return null;
                             }
                             java.util.Map _compositeNode = (java.util.Map) $2;
-                            System.out.println(_localQName + " " + _compositeNode);
+                            //System.out.println(_localQName + " " + _compositeNode);
                             Â«type.builderName» _builder = new Â«type.builderName»();
                             boolean _is_empty = true;
                             Â«FOR child : node.childNodes»
@@ -676,7 +676,7 @@ class TransformerGenerator {
                 return null;
             }
             java.util.Map _compositeNode = (java.util.Map) $2;
-            System.out.println(_localQName + " " + _compositeNode);
+            //System.out.println(_localQName + " " + _compositeNode);
             Â«type.builderName» _builder = new Â«type.builderName»();
             Â«deserializeKey(type, node)»
             Â«deserializeDataNodeContainerBody(type, node)»
@@ -692,7 +692,7 @@ class TransformerGenerator {
                 return null;
             }
             java.util.Map _compositeNode = (java.util.Map) $2;
-            System.out.println(_localQName + " " + _compositeNode);
+            //System.out.println(_localQName + " " + _compositeNode);
             Â«type.builderName» _builder = new Â«type.builderName»();
             Â«deserializeDataNodeContainerBody(type, node)»
             Â«deserializeAugmentations»
@@ -708,7 +708,7 @@ class TransformerGenerator {
                 return null;
             }
             java.util.Map _compositeNode = (java.util.Map) $2;
-            System.out.println(_localQName + " " + _compositeNode);
+            //System.out.println(_localQName + " " + _compositeNode);
             Â«type.builderName» _builder = new Â«type.builderName»();
             Â«deserializeDataNodeContainerBody(type, node)»
             Â«deserializeAugmentations»
index 0ce8520824013b9fc927437f73326cfcbd5b1adb..2557026ffb0f40ca3b637a4454efc07128d41b18 100644 (file)
@@ -26,7 +26,7 @@
         <dependency>
             <groupId>org.opendaylight.yangtools</groupId>
             <artifactId>concepts</artifactId>
-            <version>0.1.1-SNAPSHOT</version>
+            <version>0.6.0-SNAPSHOT</version>
         </dependency>
         <dependency>
             <groupId>org.osgi</groupId>
index adbe3d2a4997e183d6ce73d2420fe67b50db8dab..c65a2f51e51f55c7af6121f55388ea28f11eab55 100644 (file)
@@ -21,7 +21,7 @@
     <dependency>
       <groupId>org.opendaylight.yangtools</groupId>
       <artifactId>concepts</artifactId>
-      <version>0.1.1-SNAPSHOT</version>
+      <version>0.6.0-SNAPSHOT</version>
     </dependency>
     <dependency>
       <groupId>com.google.guava</groupId>
index 2fae7ee021d0bc074861e38b6b50fd042ac4a402..233151687797ce46e880f146d9f89e118e71f3ae 100644 (file)
@@ -6,7 +6,6 @@ module odl-sal-netconf-connector-cfg {
        import config { prefix config; revision-date 2013-04-05; }
        import threadpool {prefix th;}
        import netty {prefix netty;}
-       import ietf-inet-types {prefix inet;}
        import opendaylight-md-sal-dom {prefix dom;}
 
     description
index 8956f37ce531e535157f7c8366ab9fd0db96ef0b..627e2a9ce158083b192abc4c92827c91619be8ad 100644 (file)
@@ -207,10 +207,15 @@ class JsonMapper {
                 }
                 writer.value(moduleName + ":" + valueFromDTO.getValue());
             } else {
+                Object value = node.getValue();
                 logger.debug("Value of " + baseType.getQName().getNamespace() + ":"
                         + baseType.getQName().getLocalName() + " is not instance of " + QName.class + " but is "
-                        + node.getValue().getClass());
-                writer.value(String.valueOf(node.getValue()));
+                        + (value != null ? value.getClass() : "null"));
+                if (value == null) {
+                    writer.value("");
+                } else {
+                    writer.value(String.valueOf(value));
+                }
             }
         } else if (baseType instanceof DecimalTypeDefinition || baseType instanceof IntegerTypeDefinition
                 || baseType instanceof UnsignedIntegerTypeDefinition) {
index d0099bb3980f50ecd5fb59813a1ea0c795a62117..b26810347c160c1114057e3819263cfa2ee2890e 100644 (file)
@@ -45,7 +45,7 @@ class ControllerContext implements SchemaServiceListener {
     val static NULL_VALUE = "null"
     val static MOUNT_MODULE = "yang-ext"
     val static MOUNT_NODE = "mount"
-    val static MOUNT = "yang-ext:mount"
+    public val static MOUNT = "yang-ext:mount"
 
     @Property
     var SchemaContext globalSchema;
index 0f53e56b8493560b2ff82ca773c04b4cce158ebf..b134f9bf6b8acefb82974a2e0203da22e4063a97 100644 (file)
@@ -30,10 +30,12 @@ import org.opendaylight.yangtools.yang.model.api.TypeDefinition
 import org.opendaylight.yangtools.yang.model.api.type.IdentityrefTypeDefinition
 
 import static javax.ws.rs.core.Response.Status.*
+import org.opendaylight.yangtools.yang.model.api.SchemaContext
 
 class RestconfImpl implements RestconfService {
 
     val static RestconfImpl INSTANCE = new RestconfImpl
+    val static MOUNT_POINT_MODULE_NAME = "ietf-netconf"
 
     @Property
     BrokerFacade broker
@@ -157,16 +159,30 @@ class RestconfImpl implements RestconfService {
             throw new ResponseException(BAD_REQUEST,
                 "Data has bad format. Root element node must have namespace (XML format) or module name(JSON format)");
         }
-        val uncompleteInstIdWithData = identifier.toInstanceIdentifier
-        val schemaNode = uncompleteInstIdWithData.mountPoint.findModule(payload)?.getSchemaChildNode(payload)
-        val value = normalizeNode(payload, schemaNode, uncompleteInstIdWithData.mountPoint)
-        val completeInstIdWithData = uncompleteInstIdWithData.addLastIdentifierFromData(value, schemaNode)
+        var InstanceIdWithSchemaNode iiWithData;
+        var CompositeNode value;
+        if (payload.representsMountPointRootData) { // payload represents mount point data and URI represents path to the mount point
+            if (identifier.endsWithMountPoint) {
+                throw new ResponseException(BAD_REQUEST,
+                "URI has bad format. URI should be without \"" + ControllerContext.MOUNT + "\" for POST operation.");
+            }
+            val completIdentifier = identifier.addMountPointIdentifier
+            iiWithData = completIdentifier.toInstanceIdentifier
+            value = normalizeNode(payload, iiWithData.schemaNode, iiWithData.mountPoint)
+        } else {
+            val uncompleteInstIdWithData = identifier.toInstanceIdentifier
+            val parentSchema = uncompleteInstIdWithData.schemaNode as DataNodeContainer
+            val namespace = uncompleteInstIdWithData.mountPoint.findModule(payload)?.namespace
+            val schemaNode = parentSchema.findInstanceDataChild(payload.name, namespace)
+            value = normalizeNode(payload, schemaNode, uncompleteInstIdWithData.mountPoint)
+            iiWithData = uncompleteInstIdWithData.addLastIdentifierFromData(value, schemaNode)
+        }
         var RpcResult<TransactionStatus> status = null
-        if (completeInstIdWithData.mountPoint !== null) {
-            status = broker.commitConfigurationDataPostBehindMountPoint(completeInstIdWithData.mountPoint,
-                completeInstIdWithData.instanceIdentifier, value)?.get();
+        if (iiWithData.mountPoint !== null) {
+            status = broker.commitConfigurationDataPostBehindMountPoint(iiWithData.mountPoint,
+                iiWithData.instanceIdentifier, value)?.get();
         } else {
-            status = broker.commitConfigurationDataPost(completeInstIdWithData.instanceIdentifier, value)?.get();
+            status = broker.commitConfigurationDataPost(iiWithData.instanceIdentifier, value)?.get();
         }
         if (status === null) {
             return Response.status(ACCEPTED).build
@@ -182,7 +198,12 @@ class RestconfImpl implements RestconfService {
             throw new ResponseException(BAD_REQUEST,
                 "Data has bad format. Root element node must have namespace (XML format) or module name(JSON format)");
         }
-        val schemaNode = findModule(null, payload)?.getSchemaChildNode(payload)
+        val module = findModule(null, payload)
+        if (module === null) {
+            throw new ResponseException(BAD_REQUEST,
+                "Data has bad format. Root element node has incorrect namespace (XML format) or module name(JSON format)");
+        }
+        val schemaNode = module.findInstanceDataChild(payload.name, module.namespace)
         val value = normalizeNode(payload, schemaNode, null)
         val iiWithData = addLastIdentifierFromData(null, value, schemaNode)
         var RpcResult<TransactionStatus> status = null
@@ -223,6 +244,14 @@ class RestconfImpl implements RestconfService {
     private def dispatch URI namespace(CompositeNodeWrapper data) {
         return data.namespace
     }
+    
+    private def dispatch String localName(CompositeNode data) {
+        return data.nodeType.localName
+    }
+    
+    private def dispatch String localName(CompositeNodeWrapper data) {
+        return data.localName
+    }
 
     private def dispatch Module findModule(MountInstance mountPoint, CompositeNode data) {
         if (mountPoint !== null) {
@@ -249,14 +278,14 @@ class RestconfImpl implements RestconfService {
         return module
     }
     
-    private def dispatch DataSchemaNode getSchemaChildNode(DataNodeContainer parentSchemaNode, CompositeNode data) {
-        return parentSchemaNode?.getDataChildByName(data.nodeType.localName)
+    private def dispatch getName(CompositeNode data) {
+        return data.nodeType.localName
     }
     
-    private def dispatch DataSchemaNode getSchemaChildNode(DataNodeContainer parentSchemaNode, CompositeNodeWrapper data) {
-        return parentSchemaNode?.getDataChildByName(data.localName)
+    private def dispatch getName(CompositeNodeWrapper data) {
+        return data.localName
     }
-
+    
     private def InstanceIdWithSchemaNode addLastIdentifierFromData(InstanceIdWithSchemaNode identifierWithSchemaNode,
         CompositeNode data, DataSchemaNode schemaOfData) {
         val iiOriginal = identifierWithSchemaNode?.instanceIdentifier
@@ -288,7 +317,23 @@ class RestconfImpl implements RestconfService {
         }
         return keyValues
     }
-
+    
+    private def endsWithMountPoint(String identifier) {
+        return (identifier.endsWith(ControllerContext.MOUNT) || identifier.endsWith(ControllerContext.MOUNT + "/"))
+    }
+    
+    private def representsMountPointRootData(CompositeNode data) {
+        return ((data.namespace == SchemaContext.NAME.namespace || data.namespace == MOUNT_POINT_MODULE_NAME) &&
+            data.localName == SchemaContext.NAME.localName)
+    }
+    
+    private def addMountPointIdentifier(String identifier) {
+        if (identifier.endsWith("/")) {
+            return identifier + ControllerContext.MOUNT
+        }
+        return identifier + "/" + ControllerContext.MOUNT
+    }
+    
     private def CompositeNode normalizeNode(CompositeNode node, DataSchemaNode schema, MountInstance mountPoint) {
         if (schema === null) {
             throw new ResponseException(INTERNAL_SERVER_ERROR, "Data schema node was not found for " + node?.nodeType?.localName)
@@ -304,7 +349,7 @@ class RestconfImpl implements RestconfService {
         }
         return node
     }
-
+    
     private def void normalizeNode(NodeWrapper<?> nodeBuilder, DataSchemaNode schema, QName previousAugment,
         MountInstance mountPoint) {
         if (schema === null) {
@@ -325,7 +370,7 @@ class RestconfImpl implements RestconfService {
             moduleName = controllerContext.findModuleNameByNamespace(mountPoint, validQName.namespace)
         }
         if (nodeBuilder.namespace === null || nodeBuilder.namespace == validQName.namespace ||
-            nodeBuilder.namespace.toString == moduleName) {
+            nodeBuilder.namespace.toString == moduleName || nodeBuilder.namespace == MOUNT_POINT_MODULE_NAME) {
             nodeBuilder.qname = validQName
         } else {
             throw new ResponseException(BAD_REQUEST,
index afe458d6e0917e25903d4f655cf7b3a49640f8b5..3a90e73acbc4e8756ca88f127f2065245ac8dd05 100644 (file)
@@ -1,6 +1,7 @@
 package org.opendaylight.controller.sal.restconf.impl.json.to.cnsn.test;
 
 import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertTrue;
 
@@ -10,9 +11,11 @@ import java.util.Set;
 
 import javax.ws.rs.WebApplicationException;
 
+import org.junit.Ignore;
 import org.junit.Test;
 import org.opendaylight.controller.sal.rest.impl.JsonToCompositeNodeProvider;
 import org.opendaylight.controller.sal.restconf.impl.CompositeNodeWrapper;
+import org.opendaylight.controller.sal.restconf.impl.ResponseException;
 import org.opendaylight.controller.sal.restconf.impl.test.TestUtils;
 import org.opendaylight.yangtools.yang.common.QName;
 import org.opendaylight.yangtools.yang.data.api.CompositeNode;
@@ -264,9 +267,28 @@ public class JsonToCnSnTest {
         assertEquals("iden_local", ((QName) lf14.getValue()).getLocalName());
         assertEquals("identity:module", ((QName) lf14.getValue()).getNamespace().toString());
     }
+    
+    @Ignore
+    @Test
+    public void loadDataAugmentedSchemaMoreEqualNamesTest() {
+        boolean exceptionCaught = false;
+        try {
+            loadAndNormalizeData("/common/augment/json/dataa.json", "/common/augment/yang", "cont", "main");
+            loadAndNormalizeData("/common/augment/json/datab.json", "/common/augment/yang", "cont", "main");
+        } catch (ResponseException e) {
+            exceptionCaught = true;
+        }
+        
+        assertFalse(exceptionCaught);
+    }
 
     private void simpleTest(String jsonPath, String yangPath, String topLevelElementName, String namespace,
             String moduleName) {
+        CompositeNode compNode = loadAndNormalizeData(jsonPath, yangPath, topLevelElementName, moduleName);
+        verifyCompositeNode(compNode, namespace);
+    }
+
+    private CompositeNode loadAndNormalizeData(String jsonPath, String yangPath, String topLevelElementName, String moduleName) {
         CompositeNode compositeNode = TestUtils.readInputToCnSn(jsonPath, false, JsonToCompositeNodeProvider.INSTANCE);
         assertNotNull(compositeNode);
 
@@ -280,7 +302,7 @@ public class JsonToCnSnTest {
         CompositeNode compNode = ((CompositeNodeWrapper) compositeNode).unwrap();
 
         assertEquals(topLevelElementName, compNode.getNodeType().getLocalName());
-        verifyCompositeNode(compNode, namespace);
+        return compNode;
     }
 
     private void verityMultipleItemsInList(CompositeNode compositeNode) {
diff --git a/opendaylight/md-sal/sal-rest-connector/src/test/java/org/opendaylight/controller/sal/restconf/impl/test/RestGetAugmentedElementWhenEqualNamesTest.java b/opendaylight/md-sal/sal-rest-connector/src/test/java/org/opendaylight/controller/sal/restconf/impl/test/RestGetAugmentedElementWhenEqualNamesTest.java
new file mode 100644 (file)
index 0000000..5650be5
--- /dev/null
@@ -0,0 +1,45 @@
+package org.opendaylight.controller.sal.restconf.impl.test;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+
+import java.io.FileNotFoundException;
+import java.io.UnsupportedEncodingException;
+import java.net.URISyntaxException;
+
+import org.junit.Ignore;
+import org.junit.Test;
+import org.opendaylight.controller.sal.restconf.impl.ControllerContext;
+import org.opendaylight.controller.sal.restconf.impl.InstanceIdWithSchemaNode;
+import org.opendaylight.controller.sal.restconf.impl.ResponseException;
+import org.opendaylight.yangtools.yang.model.api.SchemaContext;
+
+public class RestGetAugmentedElementWhenEqualNamesTest {
+
+    @Ignore
+    @Test
+    public void getDataWithUrlMountPoint() throws UnsupportedEncodingException, URISyntaxException,
+            FileNotFoundException {
+        boolean exceptionCaught = false;
+
+        SchemaContext schemaContextTestModule = TestUtils.loadSchemaContext("/common/augment/yang");
+        ControllerContext controllerContext = ControllerContext.getInstance();
+        controllerContext.setSchemas(schemaContextTestModule);
+
+        try {
+            InstanceIdWithSchemaNode instanceIdentifierA = controllerContext
+                    .toInstanceIdentifier("main:cont/augment-main-a:cont1");
+            InstanceIdWithSchemaNode instanceIdentifierB = controllerContext
+                    .toInstanceIdentifier("main:cont/augment-main-b:cont1");
+
+            assertEquals("ns:augment:main:a", instanceIdentifierA.getSchemaNode().getQName().getNamespace().toString());
+            assertEquals("ns:augment:main:b", instanceIdentifierB.getSchemaNode().getQName().getNamespace());
+        } catch (ResponseException e) {
+            exceptionCaught = true;
+        }
+
+        assertFalse(exceptionCaught);
+
+    }
+
+}
index 833d030b920b46f8cdeb039b2ff16b6da70d8da3..819b5f8213d8b4a5c1931648cd680855c5309057 100644 (file)
@@ -43,9 +43,11 @@ import org.opendaylight.yangtools.yang.model.api.SchemaContext;
 public class RestPostOperationTest extends JerseyTest {
 
     private static String xmlDataAbsolutePath;
+    private static String xmlDataInterfaceAbsolutePath;
     private static String xmlDataRpcInput;
     private static CompositeNodeWrapper cnSnDataOutput;
     private static String xmlData2;
+    private static String xmlData3;
 
     private static ControllerContext controllerContext;
     private static BrokerFacade brokerFacade;
@@ -115,13 +117,13 @@ public class RestPostOperationTest extends JerseyTest {
         controllerContext.setSchemas(schemaContextYangsIetf);
         mockCommitConfigurationDataPostMethod(TransactionStatus.COMMITED);
         String uri = createUri("/config/", "ietf-interfaces:interfaces");
-        assertEquals(204, post(uri, MediaType.APPLICATION_XML, xmlDataAbsolutePath));
+        assertEquals(204, post(uri, MediaType.APPLICATION_XML, xmlDataInterfaceAbsolutePath));
         
         mockCommitConfigurationDataPostMethod(null);
-        assertEquals(202, post(uri, MediaType.APPLICATION_XML, xmlDataAbsolutePath));
+        assertEquals(202, post(uri, MediaType.APPLICATION_XML, xmlDataInterfaceAbsolutePath));
         
         mockCommitConfigurationDataPostMethod(TransactionStatus.FAILED);
-        assertEquals(500, post(uri, MediaType.APPLICATION_XML, xmlDataAbsolutePath));
+        assertEquals(500, post(uri, MediaType.APPLICATION_XML, xmlDataInterfaceAbsolutePath));
     }
 
     @Test
@@ -129,13 +131,13 @@ public class RestPostOperationTest extends JerseyTest {
         controllerContext.setSchemas(schemaContextYangsIetf);
         mockCommitConfigurationDataPostMethod(TransactionStatus.COMMITED);
         String uri = createUri("/datastore/", "ietf-interfaces:interfaces");
-        assertEquals(204, post(uri, MediaType.APPLICATION_XML, xmlDataAbsolutePath));
+        assertEquals(204, post(uri, MediaType.APPLICATION_XML, xmlDataInterfaceAbsolutePath));
         
         mockCommitConfigurationDataPostMethod(null);
-        assertEquals(202, post(uri, MediaType.APPLICATION_XML, xmlDataAbsolutePath));
+        assertEquals(202, post(uri, MediaType.APPLICATION_XML, xmlDataInterfaceAbsolutePath));
         
         mockCommitConfigurationDataPostMethod(TransactionStatus.FAILED);
-        assertEquals(500, post(uri, MediaType.APPLICATION_XML, xmlDataAbsolutePath));
+        assertEquals(500, post(uri, MediaType.APPLICATION_XML, xmlDataInterfaceAbsolutePath));
     }
 
     @Test
@@ -154,8 +156,10 @@ public class RestPostOperationTest extends JerseyTest {
 
         ControllerContext.getInstance().setMountService(mockMountService);
 
-        String uri = createUri("/config/", "ietf-interfaces:interfaces/interface/0/yang-ext:mount/test-module:cont/cont1");
+        String uri = createUri("/config/", "ietf-interfaces:interfaces/interface/0/yang-ext:mount");
         assertEquals(204, post(uri, Draft02.MediaTypes.DATA + XML, xmlData2));
+        uri = createUri("/config/", "ietf-interfaces:interfaces/interface/0/yang-ext:mount/test-module:cont");
+        assertEquals(204, post(uri, Draft02.MediaTypes.DATA + XML, xmlData3));
     }
     
     private void mockInvokeRpc(CompositeNode result, boolean sucessful) {
@@ -185,12 +189,16 @@ public class RestPostOperationTest extends JerseyTest {
     private static void loadData() throws IOException, URISyntaxException {
         InputStream xmlStream = RestconfImplTest.class.getResourceAsStream("/parts/ietf-interfaces_interfaces_absolute_path.xml");
         xmlDataAbsolutePath = TestUtils.getDocumentInPrintableForm(TestUtils.loadDocumentFrom(xmlStream));
+        xmlStream = RestconfImplTest.class.getResourceAsStream("/parts/ietf-interfaces_interfaces_interface_absolute_path.xml");
+        xmlDataInterfaceAbsolutePath = TestUtils.getDocumentInPrintableForm(TestUtils.loadDocumentFrom(xmlStream));
         String xmlPathRpcInput = RestconfImplTest.class.getResource("/full-versions/test-data2/data-rpc-input.xml")
                 .getPath();
         xmlDataRpcInput = TestUtils.loadTextFile(xmlPathRpcInput);
         cnSnDataOutput = prepareCnSnRpcOutput();
         String data2Input = RestconfImplTest.class.getResource("/full-versions/test-data2/data2.xml").getPath();
         xmlData2 = TestUtils.loadTextFile(data2Input);
+        String data3Input = RestconfImplTest.class.getResource("/full-versions/test-data2/data3.xml").getPath();
+        xmlData3 = TestUtils.loadTextFile(data3Input);
     }
 
     private static CompositeNodeWrapper prepareCnSnRpcOutput() throws URISyntaxException {
diff --git a/opendaylight/md-sal/sal-rest-connector/src/test/java/org/opendaylight/controller/sal/restconf/impl/xml/to/cnsn/test/XmlAugmentedElementToCnSnTest.java b/opendaylight/md-sal/sal-rest-connector/src/test/java/org/opendaylight/controller/sal/restconf/impl/xml/to/cnsn/test/XmlAugmentedElementToCnSnTest.java
new file mode 100644 (file)
index 0000000..421a936
--- /dev/null
@@ -0,0 +1,44 @@
+package org.opendaylight.controller.sal.restconf.impl.xml.to.cnsn.test;
+
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotNull;
+
+import java.util.Set;
+
+import org.junit.Ignore;
+import org.junit.Test;
+import org.opendaylight.controller.sal.rest.impl.XmlToCompositeNodeProvider;
+import org.opendaylight.controller.sal.restconf.impl.ResponseException;
+import org.opendaylight.controller.sal.restconf.impl.test.TestUtils;
+import org.opendaylight.yangtools.yang.data.api.CompositeNode;
+import org.opendaylight.yangtools.yang.model.api.Module;
+
+public class XmlAugmentedElementToCnSnTest {
+
+    @Ignore
+    @Test
+    public void loadDataAugmentedSchemaMoreEqualNamesTest() {
+        boolean exceptionCaught = false;
+        try {
+            loadAndNormalizeData("/common/augment/xml/dataa.xml", "/common/augment/yang", "main","cont");
+            loadAndNormalizeData("/common/augment/xml/datab.xml", "/common/augment/yang", "main","cont");
+        } catch (ResponseException e) {
+            exceptionCaught = true;
+        }
+        
+        assertFalse(exceptionCaught);        
+    }
+    
+    
+    private void loadAndNormalizeData(String xmlPath, String yangPath, String topLevelElementName, String moduleName) {
+        CompositeNode compNode = TestUtils.readInputToCnSn(xmlPath, false,
+                XmlToCompositeNodeProvider.INSTANCE);
+        assertNotNull(compNode);
+        Set<Module> modules = TestUtils.loadModulesFrom(yangPath);
+
+        assertNotNull(modules);
+        TestUtils.normalizeCompositeNode(compNode, modules, topLevelElementName + ":" + moduleName);
+    }
+
+
+}
diff --git a/opendaylight/md-sal/sal-rest-connector/src/test/resources/common/augment/json/dataa.json b/opendaylight/md-sal/sal-rest-connector/src/test/resources/common/augment/json/dataa.json
new file mode 100644 (file)
index 0000000..6097bd1
--- /dev/null
@@ -0,0 +1,7 @@
+{
+    "main:cont":{
+        "augment-main-a:cont1":{
+            "lf11":"lf11 value from a"
+        }
+    }
+}
\ No newline at end of file
diff --git a/opendaylight/md-sal/sal-rest-connector/src/test/resources/common/augment/json/datab.json b/opendaylight/md-sal/sal-rest-connector/src/test/resources/common/augment/json/datab.json
new file mode 100644 (file)
index 0000000..297584a
--- /dev/null
@@ -0,0 +1,7 @@
+{
+    "main:cont":{
+        "augment-main-b:cont1":{
+            "lf11":"lf11 value from b"
+        }
+    }
+}
\ No newline at end of file
diff --git a/opendaylight/md-sal/sal-rest-connector/src/test/resources/common/augment/xml/dataa.xml b/opendaylight/md-sal/sal-rest-connector/src/test/resources/common/augment/xml/dataa.xml
new file mode 100644 (file)
index 0000000..97c5ae5
--- /dev/null
@@ -0,0 +1,5 @@
+<cont xmlns="ns:main">
+    <cont1 xmlns="ns:augment:main:a">
+        <lf11>lf11 value for a</lf11>
+    </cont1>
+</cont>
\ No newline at end of file
diff --git a/opendaylight/md-sal/sal-rest-connector/src/test/resources/common/augment/xml/datab.xml b/opendaylight/md-sal/sal-rest-connector/src/test/resources/common/augment/xml/datab.xml
new file mode 100644 (file)
index 0000000..b7696ca
--- /dev/null
@@ -0,0 +1,5 @@
+<cont xmlns="ns:main">
+    <cont1 xmlns="ns:augment:main:b">
+        <lf11>lf11 value for b</lf11>
+    </cont1>
+</cont>
\ No newline at end of file
diff --git a/opendaylight/md-sal/sal-rest-connector/src/test/resources/common/augment/yang/augment-main-a.yang b/opendaylight/md-sal/sal-rest-connector/src/test/resources/common/augment/yang/augment-main-a.yang
new file mode 100644 (file)
index 0000000..aa3bf3f
--- /dev/null
@@ -0,0 +1,20 @@
+module augment-main-a {
+  namespace "ns:augment:main:a";  
+  prefix "aumaa";
+
+  
+  import main {prefix mn; revision-date 2014-01-21;}   
+
+
+  revision "2014-01-21" {    
+  }
+  
+  augment "/mn:cont" {
+    container cont1 {
+        leaf lf11 {
+            type string;
+        }
+    }
+  }
+  
+}
diff --git a/opendaylight/md-sal/sal-rest-connector/src/test/resources/common/augment/yang/augment-main-b.yang b/opendaylight/md-sal/sal-rest-connector/src/test/resources/common/augment/yang/augment-main-b.yang
new file mode 100644 (file)
index 0000000..dcf493d
--- /dev/null
@@ -0,0 +1,20 @@
+module augment-main-b {
+  namespace "ns:augment:main:b";  
+  prefix "aumab";
+
+  
+  import main {prefix mn; revision-date 2014-01-21;}   
+
+
+  revision "2014-01-21" {    
+  }
+  
+  augment "/mn:cont" {
+    container cont1 {
+        leaf lf11 {
+            type string;
+        }
+    }
+  }
+  
+}
diff --git a/opendaylight/md-sal/sal-rest-connector/src/test/resources/common/augment/yang/main.yang b/opendaylight/md-sal/sal-rest-connector/src/test/resources/common/augment/yang/main.yang
new file mode 100644 (file)
index 0000000..e291722
--- /dev/null
@@ -0,0 +1,10 @@
+module main {
+  namespace "ns:main";  
+  prefix "ma";
+
+  revision "2014-01-21" {    
+  }
+  
+  container cont {
+  }
+}
\ No newline at end of file
diff --git a/opendaylight/md-sal/sal-rest-connector/src/test/resources/full-versions/test-data2/data3.xml b/opendaylight/md-sal/sal-rest-connector/src/test/resources/full-versions/test-data2/data3.xml
new file mode 100644 (file)
index 0000000..b7b05d1
--- /dev/null
@@ -0,0 +1,4 @@
+<cont1 xmlns="test:module">
+ <lf11>lf1 data</lf11>
+ <lf12>lf2 data</lf12>
+</cont1>
diff --git a/opendaylight/md-sal/sal-rest-connector/src/test/resources/parts/ietf-interfaces_interfaces_interface_absolute_path.xml b/opendaylight/md-sal/sal-rest-connector/src/test/resources/parts/ietf-interfaces_interfaces_interface_absolute_path.xml
new file mode 100644 (file)
index 0000000..19569b5
--- /dev/null
@@ -0,0 +1,6 @@
+<interface xmlns="urn:ietf:params:xml:ns:yang:ietf-interfaces">
+  <name>eth0</name>
+  <type>ethernetCsmacd</type>
+  <enabled>false</enabled>
+  <description>some interface</description>
+</interface>
index 7cd43bd79a01b4b4436a12cfa5721e14108e165d..6eabbe69c69377d65c1422673394651f42bc7fad 100644 (file)
@@ -26,8 +26,8 @@ import org.opendaylight.controller.netconf.mapping.api.NetconfOperationFilter;
 import org.opendaylight.controller.netconf.mapping.api.NetconfOperationService;
 import org.opendaylight.yangtools.yang.model.api.Module;
 
-import java.util.Collection;
 import java.util.Collections;
+import java.util.HashSet;
 import java.util.List;
 import java.util.Map;
 import java.util.Set;
@@ -100,16 +100,15 @@ public class NetconfOperationServiceImpl implements NetconfOperationService {
     }
 
     private static Set<Capability> setupCapabilities(YangStoreSnapshot yangStoreSnapshot) {
-        Set<Capability> capabilities = Sets.newHashSet();
-
+        Set<Capability> capabilities = new HashSet<>();
         // [RFC6241] 8.3.  Candidate Configuration Capability
         capabilities.add(new BasicCapability("urn:ietf:params:netconf:capability:candidate:1.0"));
         // [RFC6241] 8.5.  Rollback-on-Error Capability
         capabilities.add(new BasicCapability("urn:ietf:params:netconf:capability:rollback-on-error:1.0"));
 
-        final Collection<Map.Entry<Module, String>> modulesAndContents = yangStoreSnapshot.getModuleMap().values();
-        for (Map.Entry<Module, String> moduleAndContent : modulesAndContents) {
-            capabilities.add(new YangStoreCapability(moduleAndContent));
+        Set<Module> modules = yangStoreSnapshot.getModules();
+        for (Module module : modules) {
+            capabilities.add(new YangStoreCapability(module, yangStoreSnapshot.getModuleSource(module)));
         }
 
         return capabilities;
@@ -161,10 +160,9 @@ public class NetconfOperationServiceImpl implements NetconfOperationService {
         private final String moduleName;
         private final String moduleNamespace;
 
-        public YangStoreCapability(Map.Entry<Module, String> moduleAndContent) {
-            super(getAsString(moduleAndContent.getKey()));
-            this.content = moduleAndContent.getValue();
-            Module module = moduleAndContent.getKey();
+        public YangStoreCapability(Module module, String moduleContent) {
+            super(getAsString(module));
+            this.content = moduleContent;
             this.moduleName = module.getName();
             this.moduleNamespace = module.getNamespace().toString();
             this.revision = Util.writeDate(module.getRevision());
index 8dbdb26bff1934d1f2071be7114363985a16d5f7..e0d7e319be8b1be2bd9fa8305dea9eb65f6d8870 100644 (file)
@@ -18,9 +18,12 @@ import org.opendaylight.controller.netconf.mapping.api.NetconfOperationService;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+import java.util.ArrayList;
 import java.util.Collections;
+import java.util.List;
 import java.util.Map;
 import java.util.Set;
+import java.util.TreeSet;
 
 public class CapabilityProviderImpl implements CapabilityProvider {
     private final NetconfOperationServiceSnapshot netconfOperationServiceSnapshot;
@@ -31,7 +34,9 @@ public class CapabilityProviderImpl implements CapabilityProvider {
     public CapabilityProviderImpl(NetconfOperationServiceSnapshot netconfOperationServiceSnapshot) {
         this.netconfOperationServiceSnapshot = netconfOperationServiceSnapshot;
         Map<String, Capability> urisToCapabilitiesInternalMap = getCapabilitiesInternal(netconfOperationServiceSnapshot);
-        capabilityURIs = Collections.unmodifiableSet(urisToCapabilitiesInternalMap.keySet());
+        List<String> capabilityURIs = new ArrayList<>(urisToCapabilitiesInternalMap.keySet());
+        Collections.sort(capabilityURIs);
+        this.capabilityURIs = Collections.unmodifiableSet(new TreeSet<>(capabilityURIs));
     }
 
     private static Map<String, Capability> getCapabilitiesInternal(
index 8d3476f4b8dfa9b08507cb0e29eb2a6393a972e9..958ac4239842c535b9597f21270883d5c5b8b864 100644 (file)
@@ -95,7 +95,6 @@ public class ConcurrentClientsTest {
             final YangStoreSnapshot yStore = mock(YangStoreSnapshot.class);
             doReturn(yStore).when(this.yangStoreService).getYangStoreSnapshot();
             doReturn(Collections.emptyMap()).when(yStore).getModuleMXBeanEntryMap();
-            doReturn(Collections.emptyMap()).when(yStore).getModuleMap();
 
             final ConfigTransactionJMXClient mockedTCl = mock(ConfigTransactionJMXClient.class);
             doReturn(mockedTCl).when(this.jmxClient).getConfigTransactionClient(any(ObjectName.class));
index 150f6028022e01e38f5a3558237e9c2281ccc20f..c5c231d65288787720ff42e5ad624da246523325 100644 (file)
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>clustering.services</artifactId>
-      <version>0.5.0-SNAPSHOT</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>configuration</artifactId>
-      <version>0.4.1-SNAPSHOT</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>networkconfig.neutron</artifactId>
-      <version>0.4.1-SNAPSHOT</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>sal</artifactId>
-      <version>0.7.0-SNAPSHOT</version>
     </dependency>
   </dependencies>
 </project>
index ceb009bf2c142006f44c069eae06beb81526a317..b1b2610134cb2c7b97970e48e3fec477dab696f3 100644 (file)
@@ -17,8 +17,8 @@ import java.util.Dictionary;
 import java.util.EnumSet;
 import java.util.HashSet;
 import java.util.List;
-import java.util.Set;
 import java.util.Map.Entry;
+import java.util.Set;
 import java.util.concurrent.ConcurrentHashMap;
 import java.util.concurrent.ConcurrentMap;
 
@@ -117,7 +117,7 @@ public class NeutronFloatingIPInterface implements INeutronFloatingIPCRUD, IConf
     private void startUp() {
         allocateCache();
         retrieveCache();
-        if (floatingIPDB.isEmpty()) {
+        if ((clusterContainerService != null) && (clusterContainerService.amICoordinator())) {
             loadConfiguration();
         }
     }
index de9b9d1bc4fdd9d77fb29d342cf24512c4dd5b06..eda4d21d5dcd20a772791bfea85ac6a081281fb4 100644 (file)
@@ -17,8 +17,8 @@ import java.util.Dictionary;
 import java.util.EnumSet;
 import java.util.HashSet;
 import java.util.List;
-import java.util.Set;
 import java.util.Map.Entry;
+import java.util.Set;
 import java.util.concurrent.ConcurrentHashMap;
 import java.util.concurrent.ConcurrentMap;
 
@@ -99,7 +99,7 @@ public class NeutronNetworkInterface implements INeutronNetworkCRUD, IConfigurat
     private void startUp() {
         allocateCache();
         retrieveCache();
-        if (networkDB.isEmpty()) {
+        if ((clusterContainerService != null) && (clusterContainerService.amICoordinator())) {
             loadConfiguration();
         }
     }
index ec439bb92782b9f8b7b9f1dd865666c1d3ae8286..a49888f6c3e97201059c1c4f2f28e3a8038c3d51 100644 (file)
@@ -18,8 +18,8 @@ import java.util.EnumSet;
 import java.util.HashSet;
 import java.util.Iterator;
 import java.util.List;
-import java.util.Set;
 import java.util.Map.Entry;
+import java.util.Set;
 import java.util.concurrent.ConcurrentHashMap;
 import java.util.concurrent.ConcurrentMap;
 
@@ -118,7 +118,7 @@ public class NeutronPortInterface implements INeutronPortCRUD, IConfigurationCon
     private void startUp() {
         allocateCache();
         retrieveCache();
-        if (portDB.isEmpty()) {
+        if ((clusterContainerService != null) && (clusterContainerService.amICoordinator())) {
             loadConfiguration();
         }
 
index 850cc02163bd7965a2aefd936e39149e607bf26f..9f8aa1937ff1c12c5b74d14aa95968bc3fd6bea2 100644 (file)
@@ -17,8 +17,8 @@ import java.util.Dictionary;
 import java.util.EnumSet;
 import java.util.HashSet;
 import java.util.List;
-import java.util.Set;
 import java.util.Map.Entry;
+import java.util.Set;
 import java.util.concurrent.ConcurrentHashMap;
 import java.util.concurrent.ConcurrentMap;
 
@@ -110,7 +110,7 @@ public class NeutronRouterInterface implements INeutronRouterCRUD, IConfiguratio
     private void startUp() {
         allocateCache();
         retrieveCache();
-        if (routerDB.isEmpty()) {
+        if ((clusterContainerService != null) && (clusterContainerService.amICoordinator())) {
             loadConfiguration();
         }
 
index f908a95c313390e25b340f862d4f63e65999c07c..049fd3283da007c4bf3a7a1e49191fb5fb04de7f 100644 (file)
@@ -17,8 +17,8 @@ import java.util.Dictionary;
 import java.util.EnumSet;
 import java.util.HashSet;
 import java.util.List;
-import java.util.Set;
 import java.util.Map.Entry;
+import java.util.Set;
 import java.util.concurrent.ConcurrentHashMap;
 import java.util.concurrent.ConcurrentMap;
 
@@ -115,7 +115,7 @@ public class NeutronSubnetInterface implements INeutronSubnetCRUD, IConfiguratio
     private void startUp() {
         allocateCache();
         retrieveCache();
-        if (subnetDB.isEmpty()) {
+        if ((clusterContainerService != null) && (clusterContainerService.amICoordinator())) {
             loadConfiguration();
         }
 
index b6cdd2512bf7d0d314ba39344f2db9931fe06a70..cdbb7d6b8182309f6ffecd9a1caf91a389adc9dd 100644 (file)
@@ -43,7 +43,7 @@
       <plugin>
         <groupId>org.apache.felix</groupId>
         <artifactId>maven-bundle-plugin</artifactId>
-        <version>2.3.6</version>
+        <version>${bundle.plugin.version}</version>
         <extensions>true</extensions>
         <configuration>
           <instructions>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>clustering.services</artifactId>
-      <version>0.5.0-SNAPSHOT</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>sal</artifactId>
-      <version>0.7.0-SNAPSHOT</version>
     </dependency>
     <dependency>
       <groupId>commons-net</groupId>
index 03cb9c20de7f4d504b5dacc60197281d0a482bf0..a3d53ed011ba6f8f53cf7b4c090e2680cfba2585 100644 (file)
@@ -53,7 +53,6 @@
     <dependency>
       <groupId>org.ow2.asm</groupId>
       <artifactId>asm-all</artifactId>
-      <version>4.1</version>
     </dependency>
     <dependency>
       <groupId>junit</groupId>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>bundlescanner</artifactId>
-      <version>${bundlescanner.version}</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>sal</artifactId>
-      <version>${sal.version}</version>
     </dependency>
   </dependencies>
 </project>
index 2169f3f3e7c679670f24c94516217fe9bbceaf9b..70bd0d47343a90b6f9b67968d2e4291aa46a7476 100644 (file)
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>sal</artifactId>
-      <version>${sal.version}</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>usermanager</artifactId>
-      <version>${usermanager.version}</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>bundlescanner</artifactId>
-      <version>${bundlescanner.version}</version>
     </dependency>
 
     <dependency>
     <dependency>
       <groupId>com.sun.jersey</groupId>
       <artifactId>jersey-server</artifactId>
-      <version>${jersey.version}</version>
     </dependency>
     <dependency>
       <groupId>com.sun.jersey</groupId>
       <artifactId>jersey-client</artifactId>
-      <version>${jersey.version}</version>
     </dependency>
-
   </dependencies>
 </project>
index 8ade6134e6b3a715d223288d9e0719098aa5b4df..8fed221bf8e6a13e18b1864a91e5fd0feb0e1ef8 100644 (file)
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>sal</artifactId>
-      <version>${sal.version}</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>sal.connection</artifactId>
-      <version>${sal.connection.version}</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>connectionmanager</artifactId>
-      <version>${connectionmanager.version}</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>containermanager</artifactId>
-      <version>${containermanager.version}</version>
     </dependency>
     <dependency>
       <groupId>org.codehaus.enunciate</groupId>
       <artifactId>enunciate-core-annotations</artifactId>
-      <version>${enunciate.version}</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>commons.northbound</artifactId>
-      <version>${commons.northbound.version}</version>
     </dependency>
   </dependencies>
 </project>
index a8b8f2a5d0e4ae44cc6ca3183dadadbd1586edf3..7cc396471360003eed22174e024946c5bf3ce4a1 100644 (file)
   <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>containermanager</artifactId>
-      <version>${containermanager.version}</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>appauth</artifactId>
-      <version>0.4.1-SNAPSHOT</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>web</artifactId>
-      <version>0.4.1-SNAPSHOT</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>sal</artifactId>
-      <version>${sal.version}</version>
     </dependency>
     <dependency>
       <groupId>org.codehaus.enunciate</groupId>
       <artifactId>enunciate-core-annotations</artifactId>
-      <version>${enunciate.version}</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>commons.northbound</artifactId>
-      <version>${commons.northbound.version}</version>
     </dependency>
   </dependencies>
 </project>
index 5baaeb0dccc64d358ce960d224cd578dc17f52f1..866f166c4b067093c317027c41689c4839f5d54b 100644 (file)
     <dependency>
       <groupId>org.opendaylight.controller.thirdparty</groupId>
       <artifactId>com.sun.jersey.jersey-servlet</artifactId>
-      <version>${jersey-servlet.version}</version>
     </dependency>
-
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>containermanager</artifactId>
-      <version>${containermanager.version}</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>switchmanager</artifactId>
-      <version>${switchmanager.api.version}</version>
     </dependency>
-
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>sal</artifactId>
-      <version>${sal.version}</version>
     </dependency>
-
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>commons.northbound</artifactId>
-      <version>${commons.northbound.version}</version>
     </dependency>
-
-    <dependency>
-      <groupId>org.springframework</groupId>
-      <artifactId>spring-web</artifactId>
-      <version>${spring.version}</version>
-      <scope>provided</scope>
-    </dependency>
-
     <dependency>
       <groupId>org.codehaus.enunciate</groupId>
       <artifactId>enunciate-core-annotations</artifactId>
-      <version>${enunciate.version}</version>
     </dependency>
     <dependency>
       <groupId>junit</groupId>
     <dependency>
       <groupId>org.opendaylight.controller.thirdparty</groupId>
       <artifactId>org.apache.catalina.filters.CorsFilter</artifactId>
-      <version>${corsfilter.version}</version>
     </dependency>
   </dependencies>
 </project>
index 565bd5f6aa1961452041069baa57f5fd5b997615..2948237007a0d061f11490dbffc6aaa47ded2287 100644 (file)
@@ -75,7 +75,6 @@
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>containermanager</artifactId>
-      <version>${containermanager.version}</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>forwardingrulesmanager</artifactId>
-      <version>${forwardingrulesmanager.version}</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>sal</artifactId>
-      <version>${sal.version}</version>
     </dependency>
     <dependency>
       <groupId>org.codehaus.enunciate</groupId>
       <artifactId>enunciate-core-annotations</artifactId>
-      <version>${enunciate.version}</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>commons.northbound</artifactId>
-      <version>${commons.northbound.version}</version>
     </dependency>
     <dependency>
       <groupId>junit</groupId>
index aab519e5f682746f9478a311bdf4966fe29243ab..54a1fa025edc5c40e5c7393901c0a55e6de698bc 100644 (file)
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>containermanager</artifactId>
-      <version>${containermanager.version}</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>hosttracker</artifactId>
-      <version>${hosttracker.version}</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>sal</artifactId>
-      <version>${sal.version}</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>commons.northbound</artifactId>
-      <version>${commons.northbound.version}</version>
     </dependency>
     <dependency>
       <groupId>org.codehaus.enunciate</groupId>
       <artifactId>enunciate-core-annotations</artifactId>
-      <version>${enunciate.version}</version>
     </dependency>
     <dependency>
       <groupId>junit</groupId>
index d1815bbf8c80b0ca4f8eaec2f520061609805bc2..d5283e35a95acc7a1f95fc81a73d51782b6a0ba2 100644 (file)
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>commons.httpclient</artifactId>
-      <version>0.1.1-SNAPSHOT</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>connectionmanager</artifactId>
-      <version>0.1.1-SNAPSHOT</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>connectionmanager.implementation</artifactId>
-      <version>0.1.1-SNAPSHOT</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>sal</artifactId>
-      <version>0.7.0-SNAPSHOT</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>sal.implementation</artifactId>
-      <version>0.4.1-SNAPSHOT</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>sal.connection</artifactId>
-      <version>0.1.1-SNAPSHOT</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>sal.connection.implementation</artifactId>
-      <version>0.1.1-SNAPSHOT</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>forwarding.staticrouting</artifactId>
-      <version>${forwarding.staticrouting}</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>clustering.services</artifactId>
-      <version>0.5.0-SNAPSHOT</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>clustering.services-implementation</artifactId>
-      <version>0.4.1-SNAPSHOT</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>configuration</artifactId>
-      <version>0.4.1-SNAPSHOT</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>configuration.implementation</artifactId>
-      <version>0.4.1-SNAPSHOT</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>routing.dijkstra_implementation</artifactId>
-      <version>0.4.1-SNAPSHOT</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>arphandler</artifactId>
-      <version>${arphandler.version}</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>forwardingrulesmanager</artifactId>
-      <version>0.5.0-SNAPSHOT</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>forwardingrulesmanager.implementation</artifactId>
-      <version>0.4.1-SNAPSHOT</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>hosttracker</artifactId>
-      <version>${hosttracker.version}</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>hosttracker.implementation</artifactId>
-      <version>${hosttracker.version}</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>containermanager</artifactId>
-      <version>0.5.1-SNAPSHOT</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>containermanager.it.implementation</artifactId>
-      <version>0.5.1-SNAPSHOT</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>switchmanager</artifactId>
-      <version>0.7.0-SNAPSHOT</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>switchmanager.implementation</artifactId>
-      <version>0.4.1-SNAPSHOT</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>statisticsmanager</artifactId>
-      <version>0.5.0-SNAPSHOT</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>statisticsmanager.implementation</artifactId>
-      <version>0.4.1-SNAPSHOT</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>topologymanager</artifactId>
-      <version>0.4.1-SNAPSHOT</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>usermanager</artifactId>
-      <version>0.4.1-SNAPSHOT</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>usermanager.implementation</artifactId>
-      <version>0.4.1-SNAPSHOT</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>security</artifactId>
-      <version>0.4.1-SNAPSHOT</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>commons.northbound</artifactId>
-      <version>0.4.1-SNAPSHOT</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>topology.northbound</artifactId>
-      <version>0.4.1-SNAPSHOT</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>forwarding.staticrouting.northbound</artifactId>
-      <version>0.4.1-SNAPSHOT</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>statistics.northbound</artifactId>
-      <version>0.4.1-SNAPSHOT</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>flowprogrammer.northbound</artifactId>
-      <version>0.4.1-SNAPSHOT</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>hosttracker.northbound</artifactId>
-      <version>0.4.1-SNAPSHOT</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>subnets.northbound</artifactId>
-      <version>0.4.1-SNAPSHOT</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>switchmanager.northbound</artifactId>
-      <version>0.4.1-SNAPSHOT</version>
     </dependency>
 
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>logging.bridge</artifactId>
-      <version>0.4.1-SNAPSHOT</version>
     </dependency>
 
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>protocol_plugins.stub</artifactId>
-      <version>0.4.1-SNAPSHOT</version>
     </dependency>
 
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>bundlescanner</artifactId>
-      <version>0.4.1-SNAPSHOT</version>
     </dependency>
 
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>bundlescanner.implementation</artifactId>
-      <version>0.4.1-SNAPSHOT</version>
     </dependency>
 
     <dependency>
       <groupId>org.codehaus.enunciate</groupId>
       <artifactId>enunciate-core-annotations</artifactId>
-      <version>${enunciate.version}</version>
     </dependency>
     <dependency>
       <groupId>org.slf4j</groupId>
       <artifactId>jcl-over-slf4j</artifactId>
-      <version>${slf4j.version}</version>
     </dependency>
     <dependency>
       <groupId>org.slf4j</groupId>
       <artifactId>slf4j-api</artifactId>
-      <version>${slf4j.version}</version>
     </dependency>
     <dependency>
       <groupId>org.slf4j</groupId>
       <artifactId>log4j-over-slf4j</artifactId>
-      <version>${slf4j.version}</version>
     </dependency>
     <dependency>
       <groupId>ch.qos.logback</groupId>
       <artifactId>logback-core</artifactId>
-      <version>${logback.version}</version>
     </dependency>
     <dependency>
       <groupId>ch.qos.logback</groupId>
       <artifactId>logback-classic</artifactId>
-      <version>${logback.version}</version>
     </dependency>
 
     <dependency>
     <dependency>
       <groupId>org.codehaus.jettison</groupId>
       <artifactId>jettison</artifactId>
-      <version>1.3.3</version>
     </dependency>
     <dependency>
       <groupId>commons-io</groupId>
     <dependency>
       <groupId>commons-fileupload</groupId>
       <artifactId>commons-fileupload</artifactId>
-      <version>1.2.2</version>
     </dependency>
     <dependency>
       <groupId>commons-codec</groupId>
       <artifactId>commons-codec</artifactId>
-      <version>1.8</version>
     </dependency>
     <dependency>
       <groupId>equinoxSDK381</groupId>
       <artifactId>javax.servlet</artifactId>
-      <version>3.0.0.v201112011016</version>
     </dependency>
     <dependency>
       <groupId>equinoxSDK381</groupId>
       <artifactId>javax.servlet.jsp</artifactId>
-      <version>2.2.0.v201112011158</version>
     </dependency>
     <dependency>
       <groupId>equinoxSDK381</groupId>
       <artifactId>org.eclipse.equinox.ds</artifactId>
-      <version>1.4.0.v20120522-1841</version>
     </dependency>
     <dependency>
       <groupId>equinoxSDK381</groupId>
       <artifactId>org.eclipse.equinox.util</artifactId>
-      <version>1.0.400.v20120522-2049</version>
     </dependency>
     <dependency>
       <groupId>equinoxSDK381</groupId>
       <artifactId>org.eclipse.osgi.services</artifactId>
-      <version>3.3.100.v20120522-1822</version>
     </dependency>
     <dependency>
       <groupId>equinoxSDK381</groupId>
       <artifactId>org.eclipse.osgi</artifactId>
-      <version>3.8.1.v20120830-144521</version>
     </dependency>
     <dependency>
       <groupId>equinoxSDK381</groupId>
       <artifactId>org.apache.felix.gogo.command</artifactId>
-      <version>0.8.0.v201108120515</version>
     </dependency>
     <dependency>
       <groupId>equinoxSDK381</groupId>
       <artifactId>org.apache.felix.gogo.runtime</artifactId>
-      <version>0.8.0.v201108120515</version>
     </dependency>
     <dependency>
       <groupId>equinoxSDK381</groupId>
       <artifactId>org.apache.felix.gogo.shell</artifactId>
-      <version>0.8.0.v201110170705</version>
     </dependency>
     <dependency>
       <groupId>equinoxSDK381</groupId>
       <artifactId>org.eclipse.equinox.cm</artifactId>
-      <version>1.0.400.v20120522-1841</version>
     </dependency>
     <dependency>
       <groupId>equinoxSDK381</groupId>
       <artifactId>org.eclipse.equinox.console</artifactId>
-      <version>1.0.0.v20120522-1841</version>
     </dependency>
     <dependency>
       <groupId>equinoxSDK381</groupId>
       <artifactId>org.eclipse.equinox.launcher</artifactId>
-      <version>1.3.0.v20120522-1813</version>
     </dependency>
     <!-- Gemini Web -->
     <dependency>
       <groupId>geminiweb</groupId>
       <artifactId>org.eclipse.gemini.web.core</artifactId>
-      <version>${geminiweb.version}</version>
     </dependency>
     <dependency>
       <groupId>geminiweb</groupId>
       <artifactId>org.eclipse.gemini.web.extender</artifactId>
-      <version>${geminiweb.version}</version>
     </dependency>
     <dependency>
       <groupId>geminiweb</groupId>
       <artifactId>org.eclipse.gemini.web.tomcat</artifactId>
-      <version>${geminiweb.version}</version>
     </dependency>
     <dependency>
       <groupId>geminiweb</groupId>
       <artifactId>org.eclipse.virgo.kernel.equinox.extensions</artifactId>
-      <version>${virgo.version}</version>
     </dependency>
     <dependency>
       <groupId>geminiweb</groupId>
       <artifactId>org.eclipse.virgo.util.common</artifactId>
-      <version>${virgo.version}</version>
     </dependency>
     <dependency>
       <groupId>geminiweb</groupId>
       <artifactId>org.eclipse.virgo.util.io</artifactId>
-      <version>${virgo.version}</version>
     </dependency>
     <dependency>
       <groupId>geminiweb</groupId>
       <artifactId>org.eclipse.virgo.util.math</artifactId>
-      <version>${virgo.version}</version>
     </dependency>
     <dependency>
       <groupId>geminiweb</groupId>
       <artifactId>org.eclipse.virgo.util.osgi</artifactId>
-      <version>${virgo.version}</version>
     </dependency>
     <dependency>
       <groupId>geminiweb</groupId>
       <artifactId>org.eclipse.virgo.util.osgi.manifest</artifactId>
-      <version>${virgo.version}</version>
     </dependency>
     <dependency>
       <groupId>geminiweb</groupId>
       <artifactId>org.eclipse.virgo.util.parser.manifest</artifactId>
-      <version>${virgo.version}</version>
     </dependency>
     <dependency>
       <groupId>org.apache.felix</groupId>
       <artifactId>org.apache.felix.dependencymanager</artifactId>
-      <version>3.1.0</version>
     </dependency>
     <dependency>
       <groupId>org.apache.felix</groupId>
       <artifactId>org.apache.felix.dependencymanager.shell</artifactId>
-      <version>3.0.1</version>
     </dependency>
     <dependency>
       <groupId>com.google.code.gson</groupId>
       <artifactId>gson</artifactId>
-      <version>2.1</version>
       <scope>compile</scope>
     </dependency>
     <dependency>
       <groupId>org.jboss.spec.javax.transaction</groupId>
       <artifactId>jboss-transaction-api_1.1_spec</artifactId>
-      <version>1.0.1.Final</version>
     </dependency>
     <dependency>
       <groupId>org.apache.felix</groupId>
       <artifactId>org.apache.felix.fileinstall</artifactId>
-      <version>3.1.6</version>
     </dependency>
     <dependency>
       <groupId>org.apache.commons</groupId>
       <artifactId>commons-lang3</artifactId>
-      <version>${commons.lang.version}</version>
     </dependency>
     <dependency>
       <groupId>virgomirror</groupId>
       <artifactId>org.eclipse.jdt.core.compiler.batch</artifactId>
-      <version>3.8.0.I20120518-2145</version>
     </dependency>
     <dependency>
       <groupId>eclipselink</groupId>
       <artifactId>javax.persistence</artifactId>
-      <version>2.0.4.v201112161009</version>
     </dependency>
     <dependency>
       <groupId>orbit</groupId>
       <artifactId>javax.activation</artifactId>
-      <version>1.1.0.v201211130549</version>
     </dependency>
     <dependency>
       <groupId>orbit</groupId>
       <artifactId>javax.annotation</artifactId>
-      <version>1.1.0.v201209060031</version>
     </dependency>
     <dependency>
       <groupId>orbit</groupId>
       <artifactId>javax.ejb</artifactId>
-      <version>3.1.1.v201204261316</version>
     </dependency>
     <dependency>
       <groupId>orbit</groupId>
       <artifactId>javax.el</artifactId>
-      <version>2.2.0.v201108011116</version>
     </dependency>
     <dependency>
       <groupId>orbit</groupId>
       <artifactId>javax.mail.glassfish</artifactId>
-      <version>1.4.1.v201108011116</version>
     </dependency>
     <dependency>
       <groupId>orbit</groupId>
       <artifactId>javax.xml.rpc</artifactId>
-      <version>1.1.0.v201005080400</version>
     </dependency>
     <dependency>
       <groupId>orbit</groupId>
       <artifactId>org.apache.catalina</artifactId>
-      <version>7.0.32.v201211201336</version>
     </dependency>
     <dependency>
       <groupId>orbit</groupId>
       <artifactId>org.apache.catalina.ha</artifactId>
-      <version>7.0.32.v201211201952</version>
     </dependency>
     <dependency>
       <groupId>orbit</groupId>
       <artifactId>org.apache.catalina.tribes</artifactId>
-      <version>7.0.32.v201211201952</version>
     </dependency>
     <dependency>
       <groupId>orbit</groupId>
       <artifactId>org.apache.coyote</artifactId>
-      <version>7.0.32.v201211201952</version>
     </dependency>
     <dependency>
       <groupId>orbit</groupId>
       <artifactId>org.apache.el</artifactId>
-      <version>7.0.32.v201211081135</version>
     </dependency>
     <dependency>
       <groupId>orbit</groupId>
       <artifactId>org.apache.jasper</artifactId>
-      <version>7.0.32.v201211201952</version>
     </dependency>
     <dependency>
       <groupId>orbit</groupId>
       <artifactId>org.apache.juli.extras</artifactId>
-      <version>7.0.32.v201211081135</version>
     </dependency>
     <dependency>
       <groupId>orbit</groupId>
       <artifactId>org.apache.tomcat.api</artifactId>
-      <version>7.0.32.v201211081135</version>
     </dependency>
     <dependency>
       <groupId>orbit</groupId>
       <artifactId>org.apache.tomcat.util</artifactId>
-      <version>7.0.32.v201211201952</version>
     </dependency>
     <dependency>
       <groupId>orbit</groupId>
       <artifactId>javax.servlet.jsp.jstl</artifactId>
-      <version>1.2.0.v201105211821</version>
     </dependency>
     <dependency>
       <groupId>orbit</groupId>
       <artifactId>javax.servlet.jsp.jstl.impl</artifactId>
-      <version>1.2.0.v201210211230</version>
     </dependency>
     <!-- Add Pax Exam -->
     <dependency>
       <groupId>org.ops4j.pax.exam</groupId>
       <artifactId>pax-exam-container-native</artifactId>
-      <version>${exam.version}</version>
       <scope>test</scope>
     </dependency>
     <dependency>
       <groupId>org.ops4j.pax.exam</groupId>
       <artifactId>pax-exam-junit4</artifactId>
-      <version>${exam.version}</version>
       <scope>test</scope>
     </dependency>
     <dependency>
       <groupId>org.ops4j.pax.exam</groupId>
       <artifactId>pax-exam-link-mvn</artifactId>
-      <version>${exam.version}</version>
       <scope>test</scope>
     </dependency>
     <dependency>
       <groupId>org.ops4j.pax.url</groupId>
       <artifactId>pax-url-aether</artifactId>
-      <version>${url.version}</version>
       <scope>test</scope>
     </dependency>
     <dependency>
       <groupId>org.ow2.asm</groupId>
       <artifactId>asm-all</artifactId>
-      <version>4.1</version>
     </dependency>
     <dependency>
       <groupId>org.springframework</groupId>
       <artifactId>org.springframework.asm</artifactId>
-      <version>${spring.version}</version>
     </dependency>
     <dependency>
       <groupId>org.springframework</groupId>
       <artifactId>org.springframework.aop</artifactId>
-      <version>${spring.version}</version>
     </dependency>
     <dependency>
       <groupId>org.springframework</groupId>
       <artifactId>org.springframework.context</artifactId>
-      <version>${spring.version}</version>
     </dependency>
     <dependency>
       <groupId>org.springframework</groupId>
       <artifactId>org.springframework.context.support</artifactId>
-      <version>${spring.version}</version>
     </dependency>
     <dependency>
       <groupId>org.springframework</groupId>
       <artifactId>org.springframework.core</artifactId>
-      <version>${spring.version}</version>
     </dependency>
     <dependency>
       <groupId>org.springframework</groupId>
       <artifactId>org.springframework.beans</artifactId>
-      <version>${spring.version}</version>
     </dependency>
     <dependency>
       <groupId>org.springframework</groupId>
       <artifactId>org.springframework.expression</artifactId>
-      <version>${spring.version}</version>
     </dependency>
     <dependency>
       <groupId>org.springframework</groupId>
       <artifactId>org.springframework.web</artifactId>
-      <version>${spring.version}</version>
     </dependency>
     <dependency>
       <groupId>org.aopalliance</groupId>
       <artifactId>com.springsource.org.aopalliance</artifactId>
-      <version>1.0.0</version>
     </dependency>
     <dependency>
       <groupId>org.springframework</groupId>
       <artifactId>org.springframework.web.servlet</artifactId>
-      <version>${spring.version}</version>
     </dependency>
     <!-- Spring security -->
     <dependency>
       <groupId>org.springframework.security</groupId>
       <artifactId>spring-security-config</artifactId>
-      <version>${spring-security.version}</version>
     </dependency>
     <dependency>
       <groupId>org.springframework.security</groupId>
       <artifactId>spring-security-core</artifactId>
-      <version>${spring-security.version}</version>
     </dependency>
     <dependency>
       <groupId>org.springframework.security</groupId>
       <artifactId>spring-security-web</artifactId>
-      <version>${spring-security.version}</version>
     </dependency>
     <dependency>
       <groupId>org.springframework.security</groupId>
       <artifactId>spring-security-taglibs</artifactId>
-      <version>${spring-security.version}</version>
     </dependency>
     <dependency>
       <groupId>org.springframework</groupId>
       <artifactId>org.springframework.transaction</artifactId>
-      <version>${spring-security.version}</version>
     </dependency>
     <!-- Visual VM hook -->
     <dependency>
       <groupId>org.ow2.chameleon.management</groupId>
       <artifactId>chameleon-mbeans</artifactId>
-      <version>1.0.0</version>
     </dependency>
     <!-- Jersey for JAXRS -->
     <dependency>
       <groupId>com.sun.jersey</groupId>
       <artifactId>jersey-core</artifactId>
-      <version>${jersey.version}</version>
     </dependency>
-    <!-- <dependency> <groupId>com.sun.jersey</groupId> <artifactId>jersey-servlet</artifactId>
-      <version>${jersey.version}</version> </dependency> -->
     <dependency>
       <groupId>com.sun.jersey</groupId>
       <artifactId>jersey-server</artifactId>
-      <version>${jersey.version}</version>
     </dependency>
     <dependency>
       <groupId>com.sun.jersey</groupId>
       <artifactId>jersey-client</artifactId>
-      <version>${jersey.version}</version>
     </dependency>
-
     <dependency>
       <groupId>eclipselink</groupId>
       <artifactId>javax.resource</artifactId>
index 78da7bdcc0ad2fd7653dbb5dc7859634dc00685c..48bbdc609164cdcf35a96570c8fa3716f6c23b0a 100644 (file)
     <dependency>
       <groupId>org.codehaus.enunciate</groupId>
       <artifactId>enunciate-core-annotations</artifactId>
-      <version>${enunciate.version}</version>
     </dependency>
 
     <!-- add dependency on all northbound bundles -->
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>connectionmanager.northbound</artifactId>
-      <version>0.1.1-SNAPSHOT</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>controllermanager.northbound</artifactId>
-      <version>0.0.1-SNAPSHOT</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>flowprogrammer.northbound</artifactId>
-      <version>0.4.1-SNAPSHOT</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>hosttracker.northbound</artifactId>
-      <version>0.4.1-SNAPSHOT</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>networkconfig.bridgedomain.northbound</artifactId>
-      <version>0.0.2-SNAPSHOT</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>networkconfig.neutron.northbound</artifactId>
-      <version>0.4.1-SNAPSHOT</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>forwarding.staticrouting.northbound</artifactId>
-      <version>0.4.1-SNAPSHOT</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>statistics.northbound</artifactId>
-      <version>0.4.1-SNAPSHOT</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>subnets.northbound</artifactId>
-      <version>0.4.1-SNAPSHOT</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>switchmanager.northbound</artifactId>
-      <version>0.4.1-SNAPSHOT</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>topology.northbound</artifactId>
-      <version>0.4.1-SNAPSHOT</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>usermanager.northbound</artifactId>
-      <version>0.0.1-SNAPSHOT</version>
     </dependency>
   </dependencies>
 </project>
index 7e13f2e3346997f6356a06ef3df8a28d632dd3fb..1ff43834b145715ade57b6e31db77201b4d6ef52 100644 (file)
@@ -9,8 +9,8 @@
   </parent>
 
   <artifactId>jolokia-bridge</artifactId>
-  <version>${jolokia.bridge.version}</version>
   <description>Jolokia bridge web application</description>
+  <version>0.0.1-SNAPSHOT</version>
   <packaging>bundle</packaging>
 
   <build>
@@ -18,7 +18,7 @@
       <plugin>
         <groupId>org.apache.felix</groupId>
         <artifactId>maven-bundle-plugin</artifactId>
-        <version>2.4.0</version>
+        <version>${bundle.plugin.version}</version>
         <extensions>true</extensions>
         <configuration>
           <instructions>
index 483d993d04a0e872034fae5f1a926846d4639b9b..9792de1dbe3f48aac45d9afaf24f21d9cf836d71 100644 (file)
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>sal</artifactId>
-      <version>${sal.version}</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>sal.connection</artifactId>
-      <version>${sal.connection.version}</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>sal.networkconfiguration</artifactId>
-      <version>${sal.networkconfiguration.version}</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>connectionmanager</artifactId>
-      <version>${connectionmanager.version}</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>containermanager</artifactId>
-      <version>${containermanager.version}</version>
     </dependency>
     <dependency>
       <groupId>org.codehaus.enunciate</groupId>
       <artifactId>enunciate-core-annotations</artifactId>
-      <version>${enunciate.version}</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>commons.northbound</artifactId>
-      <version>${commons.northbound.version}</version>
     </dependency>
   </dependencies>
 </project>
index d54f2c5b2860ca6f2514ea1ca4420b2280132c84..be934d262770879736221ba34bda49c8b5d06319 100644 (file)
         <dependency>
             <groupId>org.opendaylight.controller</groupId>
             <artifactId>containermanager</artifactId>
-            <version>${containermanager.version}</version>
         </dependency>
         <dependency>
             <groupId>org.opendaylight.controller</groupId>
             <artifactId>sal</artifactId>
-            <version>${sal.version}</version>
         </dependency>
         <dependency>
             <groupId>org.opendaylight.controller</groupId>
             <artifactId>commons.northbound</artifactId>
-            <version>${commons.northbound.version}</version>
         </dependency>
         <dependency>
             <groupId>org.opendaylight.controller</groupId>
             <artifactId>networkconfig.neutron</artifactId>
-            <version>0.4.1-SNAPSHOT</version>
         </dependency>
         <dependency>
             <groupId>org.codehaus.enunciate</groupId>
             <artifactId>enunciate-core-annotations</artifactId>
-            <version>${enunciate.version}</version>
         </dependency>
         <dependency>
             <groupId>org.eclipse.persistence</groupId>
             <artifactId>org.eclipse.persistence.moxy</artifactId>
-            <version>2.5.0</version>
         </dependency>
         <dependency>
             <groupId>org.eclipse.persistence</groupId>
             <artifactId>org.eclipse.persistence.core</artifactId>
-            <version>2.5.0</version>
         </dependency>
         <dependency>
             <groupId>org.eclipse.persistence</groupId>
             <artifactId>org.eclipse.persistence.antlr</artifactId>
-            <version>2.5.0</version>
         </dependency>
         <dependency>
           <groupId>com.sun.jersey</groupId>
index c020e6b2a24e32226c96b4892a5530a2257feb2e..71e45de0b303b8c2b6a780cd895ed3927c1b2272 100644 (file)
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>sal</artifactId>
-      <version>${sal.version}</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>containermanager</artifactId>
-      <version>${containermanager.version}</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>forwarding.staticrouting</artifactId>
-      <version>${forwarding.staticrouting}</version>
     </dependency>
     <dependency>
       <groupId>org.codehaus.enunciate</groupId>
       <artifactId>enunciate-core-annotations</artifactId>
-      <version>${enunciate.version}</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>commons.northbound</artifactId>
-      <version>${commons.northbound.version}</version>
     </dependency>
     <dependency>
       <groupId>junit</groupId>
index 95410b0d3a34a4a879e0fde3f3ed00561c495992..db15c9c7ab92e3e8f868b572aa8eabc9de691f09 100644 (file)
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>containermanager</artifactId>
-      <version>${containermanager.version}</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>statisticsmanager</artifactId>
-      <version>${statisticsmanager.version}</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>sal</artifactId>
-      <version>${sal.version}</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>commons.northbound</artifactId>
-      <version>${commons.northbound.version}</version>
     </dependency>
     <dependency>
       <groupId>org.codehaus.enunciate</groupId>
       <artifactId>enunciate-core-annotations</artifactId>
-      <version>${enunciate.version}</version>
     </dependency>
     <dependency>
       <groupId>junit</groupId>
index c7108b2efaa9ec375d9597afa8ccceb62835fa92..e46350f0eaed4248ea76cb0cdcfa3a420e1910c8 100644 (file)
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>sal</artifactId>
-      <version>${sal.version}</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>containermanager</artifactId>
-      <version>${containermanager.version}</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>commons.northbound</artifactId>
-      <version>${commons.northbound.version}</version>
     </dependency>
     <dependency>
       <groupId>org.codehaus.enunciate</groupId>
       <artifactId>enunciate-core-annotations</artifactId>
-      <version>${enunciate.version}</version>
     </dependency>
     <dependency>
       <groupId>junit</groupId>
index a1932f521bcec302e30e4b77fb5d2cdfaa5afb8d..faa75a9e57f92b9cfa85766cd929b04a51bb26bf 100644 (file)
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>containermanager</artifactId>
-      <version>${containermanager.version}</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>switchmanager</artifactId>
     </dependency>
-
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>sal</artifactId>
-      <version>${sal.version}</version>
     </dependency>
-
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>commons.northbound</artifactId>
-      <version>${commons.northbound.version}</version>
     </dependency>
-
-    <dependency>
-      <groupId>org.springframework</groupId>
-      <artifactId>spring-web</artifactId>
-      <version>${spring.version}</version>
-      <scope>provided</scope>
-    </dependency>
-
     <dependency>
       <groupId>org.codehaus.enunciate</groupId>
       <artifactId>enunciate-core-annotations</artifactId>
-      <version>${enunciate.version}</version>
     </dependency>
-
     <dependency>
       <groupId>junit</groupId>
       <artifactId>junit</artifactId>
index 4cdfb02d58ee81d77fb29e938fb6f64a95c1951a..98ccd97a47cb57c828cbfa91cb428a3caf24df62 100644 (file)
     <dependency>
       <groupId>org.codehaus.enunciate</groupId>
       <artifactId>enunciate-core-annotations</artifactId>
-      <version>${enunciate.version}</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>containermanager</artifactId>
-      <version>${containermanager.version}</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>commons.northbound</artifactId>
-      <version>${commons.northbound.version}</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>sal</artifactId>
-      <version>${sal.version}</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>topologymanager</artifactId>
-      <version>${topologymanager.version}</version>
     </dependency>
     <dependency>
       <groupId>junit</groupId>
index b48d67252e1bac2165f8d7a8bdec5c25b952ea91..c8231f144ef55225e449cac83296fe7a4ce59c6c 100644 (file)
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>sal</artifactId>
-      <version>${sal.version}</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>usermanager</artifactId>
-      <version>${usermanager.version}</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>commons.northbound</artifactId>
-      <version>${commons.northbound.version}</version>
     </dependency>
     <dependency>
       <groupId>org.codehaus.enunciate</groupId>
       <artifactId>enunciate-core-annotations</artifactId>
-      <version>${enunciate.version}</version>
     </dependency>
     <dependency>
       <groupId>junit</groupId>
       <artifactId>junit</artifactId>
-      <version>${junit.version}</version>
       <scope>test</scope>
     </dependency>
   </dependencies>
index a9990abd9738448b519ae3d2f372b87b5de9bbad..5a0f5f3254518733ddb7060ba6fba0cbb24dd3a7 100644 (file)
                 </plugins>
         </build>
         <dependencies>
-                <dependency>
-                        <groupId>org.opendaylight.controller</groupId>
-                        <artifactId>sal</artifactId>
-                        <version>0.4.0-SNAPSHOT</version>
-                </dependency>
-        </dependencies>
+    <dependency>
+      <groupId>org.opendaylight.controller</groupId>
+      <artifactId>sal</artifactId>
+    </dependency>
+  </dependencies>
 </project>
index ceeb29a1fcffa095f7b4ae089660176665a29ebd..8f9c4488adaa3428028d41625e0ed92be8bb7ff9 100644 (file)
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>sal</artifactId>
-      <version>0.7.0-SNAPSHOT</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>sal.connection</artifactId>
-      <version>0.1.1-SNAPSHOT</version>
     </dependency>
     <dependency>
       <groupId>junit</groupId>
index b7d7b05b608cf821a75076d93b53c3df2341ebf6..d2f347c3da544fa37766ccd12fc95a552d4c5a39 100644 (file)
@@ -57,7 +57,6 @@
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>sal</artifactId>
-      <version>0.7.0-SNAPSHOT</version>
     </dependency>
     <dependency>
       <groupId>junit</groupId>
index aa3f6259396d78434a2c87e83d9284f090dda053..b4a4170a90e86d2e70f742ae6a3ecea9dbd56d14 100644 (file)
@@ -59,7 +59,6 @@
    <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>sal</artifactId>
-      <version>0.7.0-SNAPSHOT</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
@@ -68,7 +67,6 @@
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>topologymanager</artifactId>
-      <version>0.4.1-SNAPSHOT</version>
     </dependency>
     <dependency>
       <groupId>junit</groupId>
index 405f92455410a982008af2c9c4c1ff66e7549210..b918720a445ea86087d622c5182b7be56646ef80 100644 (file)
@@ -66,7 +66,6 @@
     <dependency>
       <groupId>org.osgi</groupId>
       <artifactId>org.osgi.core</artifactId>
-      <scope>provided</scope>
     </dependency>
     <dependency>
       <groupId>org.slf4j</groupId>
index 006334edfeb7567742bb679f8fa04c50e5a9d364..64c477171d7906c74b88f76e4631de790261bfcc 100644 (file)
@@ -50,7 +50,6 @@
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>sal</artifactId>
-      <version>0.7.0-SNAPSHOT</version>
     </dependency>
     <dependency>
       <groupId>junit</groupId>
index 4a7e70b836aa06146b89a67b19aaa38f2fbc87c3..fd8d5ec5c9297703e1c173a8fe0acbc4c72d210c 100644 (file)
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>sal</artifactId>
-      <version>0.7.0-SNAPSHOT</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>sal.connection</artifactId>
-      <version>0.1.1-SNAPSHOT</version>
     </dependency>
   </dependencies>
 </project>
index 3c08b439aeea04b9d37d8ebc1c4d6dccb1b24f26..3add82b1b567149a76671c70049646292e7f66c8 100644 (file)
@@ -47,7 +47,6 @@
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>sal</artifactId>
-      <version>0.7.0-SNAPSHOT</version>
     </dependency>
   </dependencies>
 </project>
index c25ce0fa4f11cfd691b04cb56aaea523b5917ad0..e157047f19ae6f59f87ed6795563d92e7f8d61dc 100644 (file)
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>sal</artifactId>
-      <version>0.7.0-SNAPSHOT</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>sal.networkconfiguration</artifactId>
-      <version>0.0.2-SNAPSHOT</version>
     </dependency>
   </dependencies>
 </project>
index 6f951ca2f6c6c9e4edb55ce0e714dfce4813c9ff..f2cfbbc7580579534e36ee048a4097c24e299bbc 100644 (file)
@@ -76,7 +76,6 @@
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>topologymanager</artifactId>
-      <version>0.4.1-SNAPSHOT</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>forwardingrulesmanager</artifactId>
-      <version>0.5.0-SNAPSHOT</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>hosttracker</artifactId>
-      <version>${hosttracker.version}</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>sal</artifactId>
-      <version>0.7.0-SNAPSHOT</version>
     </dependency>
     <dependency>
       <groupId>junit</groupId>
index 3b054b6339514595ffce28642792bff675763ff6..024035663cad4ce3618ab87672b015b1e4e4e4d1 100644 (file)
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>containermanager</artifactId>
-      <version>0.5.1-SNAPSHOT</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>hosttracker</artifactId>
-      <version>${hosttracker.version}</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>samples.loadbalancer</artifactId>
-      <version>${samples.loadbalancer}</version>
       </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>sal</artifactId>
-      <version>0.7.0-SNAPSHOT</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>commons.northbound</artifactId>
-      <version>0.4.1-SNAPSHOT</version>
     </dependency>
     <dependency>
       <groupId>org.codehaus.enunciate</groupId>
       <artifactId>enunciate-core-annotations</artifactId>
-      <version>${enunciate.version}</version>
     </dependency>
   </dependencies>
 </project>
index a4bb76d5ab5d780774c23225d4a2f4687038389c..4492cad88a8d961670502f8e1b040787af427cc0 100644 (file)
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>topologymanager</artifactId>
-      <version>0.4.1-SNAPSHOT</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>forwardingrulesmanager</artifactId>
-      <version>0.5.0-SNAPSHOT</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>hosttracker</artifactId>
-      <version>0.5.1-SNAPSHOT</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
@@ -86,7 +83,6 @@
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>sal</artifactId>
-      <version>0.7.0-SNAPSHOT</version>
     </dependency>
   </dependencies>
 </project>
index ef45e768337a621f4ffa7ffd259bfdcbd271ee90..41f3149a2050c151ab81c9b5abac9c47dc3b376b 100644 (file)
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>usermanager</artifactId>
-      <version>0.4.1-SNAPSHOT</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>sal</artifactId>
-      <version>0.7.0-SNAPSHOT</version>
     </dependency>
     <dependency>
         <groupId>orbit</groupId>
index 3a1367901be031e85de8d9014022c11aa447ca56..b1603d712b3c5b4c69dc3b1f8f86ba7fa569e33a 100644 (file)
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>sal</artifactId>
-      <version>0.7.0-SNAPSHOT</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>containermanager</artifactId>
-      <version>0.5.1-SNAPSHOT</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>forwardingrulesmanager</artifactId>
-      <version>0.5.0-SNAPSHOT</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>clustering.services</artifactId>
-      <version>0.5.0-SNAPSHOT</version>
     </dependency>
   </dependencies>
 </project>
index c69e752549dfe4b2f12f0fbfbdcc3feab411600d..bc7d458c466758fc65aa0de080c36a22c8940c54 100644 (file)
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>statisticsmanager</artifactId>
-      <version>0.5.0-SNAPSHOT</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>sal</artifactId>
-      <version>0.7.0-SNAPSHOT</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>containermanager</artifactId>
-      <version>0.5.1-SNAPSHOT</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>forwardingrulesmanager</artifactId>
-      <version>0.5.0-SNAPSHOT</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>clustering.services</artifactId>
-      <version>0.5.0-SNAPSHOT</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>connectionmanager</artifactId>
-      <version>0.1.1-SNAPSHOT</version>
     </dependency>
     <dependency>
       <groupId>junit</groupId>
index 026811f75b6f92476bbc146132df141ed5f26db6..a1bd6aa3007845a9ac0384b443457e7307bb8d6b 100644 (file)
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>protocol_plugins.stub</artifactId>
-      <version>0.4.1-SNAPSHOT</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>sal</artifactId>
-      <version>0.7.0-SNAPSHOT</version>
     </dependency>
      <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>sal.implementation</artifactId>
-      <version>0.4.1-SNAPSHOT</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>containermanager</artifactId>
-      <version>0.5.1-SNAPSHOT</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>containermanager.it.implementation</artifactId>
-      <version>0.5.1-SNAPSHOT</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>forwardingrulesmanager</artifactId>
-      <version>0.5.0-SNAPSHOT</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>clustering.services</artifactId>
-      <version>0.5.0-SNAPSHOT</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>clustering.stub</artifactId>
-      <version>0.4.1-SNAPSHOT</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>statisticsmanager</artifactId>
-      <version>0.5.0-SNAPSHOT</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>statisticsmanager.implementation</artifactId>
-      <version>0.4.1-SNAPSHOT</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>switchmanager.implementation</artifactId>
-      <version>0.4.1-SNAPSHOT</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>switchmanager</artifactId>
-      <version>0.7.0-SNAPSHOT</version>
     </dependency>
 
       <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>configuration</artifactId>
-      <version>0.4.1-SNAPSHOT</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>configuration.implementation</artifactId>
-      <version>0.4.1-SNAPSHOT</version>
     </dependency>
       <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>hosttracker</artifactId>
-      <version>${hosttracker.version}</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>topologymanager</artifactId>
-      <version>0.4.1-SNAPSHOT</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>connectionmanager</artifactId>
-      <version>0.1.1-SNAPSHOT</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>connectionmanager.implementation</artifactId>
-      <version>0.1.1-SNAPSHOT</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>sal.connection</artifactId>
-      <version>0.1.1-SNAPSHOT</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>sal.connection.implementation</artifactId>
-      <version>0.1.1-SNAPSHOT</version>
     </dependency>
     <dependency>
       <groupId>junit</groupId>
index a4e96dd6a03d0339b46c97a0b2759d17b2b71e07..010aaa5d411807fc9075e00cf4198c211dd0f74d 100644 (file)
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>clustering.services</artifactId>
-      <version>0.5.0-SNAPSHOT</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>configuration</artifactId>
-      <version>0.4.1-SNAPSHOT</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>sal</artifactId>
-      <version>0.7.0-SNAPSHOT</version>
     </dependency>
     <dependency>
       <groupId>junit</groupId>
index 93c076dcba084ddd81616c691c8282ff9521378e..01a73af18c2f989c63bdea0fdf13ed76d3b97006 100644 (file)
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>clustering.services</artifactId>
-      <version>0.5.0-SNAPSHOT</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>configuration</artifactId>
-      <version>0.4.1-SNAPSHOT</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>sal</artifactId>
-      <version>0.7.0-SNAPSHOT</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>switchmanager</artifactId>
-      <version>0.7.0-SNAPSHOT</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>statisticsmanager</artifactId>
-      <version>0.5.0-SNAPSHOT</version>
     </dependency>
     <dependency>
       <groupId>junit</groupId>
index b5d0a48c28709e575f13646971e00ab1ddbc3ea0..4b186fc4a1320b2e836236159a56deb575a96040 100644 (file)
@@ -175,16 +175,11 @@ public class SwitchManager implements ISwitchManager, IConfigurationContainerAwa
         retrieveCaches();
 
         /*
-         * Read startup and build database if we have not already gotten the
-         * configurations synced from another node
+         * Read startup and build database if we are the coordinator
          */
-        if (subnetsConfigList.isEmpty()) {
+        if ((clusterContainerService != null) && (clusterContainerService.amICoordinator())) {
             loadSubnetConfiguration();
-        }
-        if (spanConfigList.isEmpty()) {
             loadSpanConfiguration();
-        }
-        if (nodeConfigList.isEmpty()) {
             loadSwitchConfiguration();
         }
 
index 24788771bf58d34aea44bb6fe3b577eec00b6d85..2fa9c26a9036df67dcd77a8da03b4283e92c5b27 100644 (file)
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>switchmanager</artifactId>
-      <version>0.7.0-SNAPSHOT</version>
     </dependency>
       <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>switchmanager.implementation</artifactId>
-      <version>0.4.1-SNAPSHOT</version>
     </dependency>
      <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>sal</artifactId>
-      <version>0.7.0-SNAPSHOT</version>
     </dependency>
      <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>sal.implementation</artifactId>
-      <version>0.4.1-SNAPSHOT</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>containermanager</artifactId>
-      <version>0.5.1-SNAPSHOT</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>containermanager.it.implementation</artifactId>
-      <version>0.5.1-SNAPSHOT</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>clustering.services</artifactId>
-      <version>0.5.0-SNAPSHOT</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>clustering.stub</artifactId>
-      <version>0.4.1-SNAPSHOT</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>configuration</artifactId>
-      <version>0.4.1-SNAPSHOT</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>configuration.implementation</artifactId>
-      <version>0.4.1-SNAPSHOT</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>protocol_plugins.stub</artifactId>
-      <version>0.4.1-SNAPSHOT</version>
     </dependency>
     <dependency>
       <groupId>junit</groupId>
index 10b1a7243bdbe2f76cb81915a5014b3d1c025743..98b686c7ba4d17432428ded600e9725c19a4398d 100644 (file)
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>sal</artifactId>
-      <version>0.7.0-SNAPSHOT</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>clustering.services</artifactId>
-      <version>0.5.0-SNAPSHOT</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>configuration</artifactId>
-      <version>0.4.1-SNAPSHOT</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
index bb650132c69546c3a963435658a52f0ff651c92b..45a8a5880b70982d83748a3e3d2392dd3e93de1f 100644 (file)
@@ -195,7 +195,9 @@ public class TopologyManagerImpl implements
 
         userLinksFileName = ROOT + "userTopology_" + containerName + ".conf";
         registerWithOSGIConsole();
-        loadConfiguration();
+        if ((clusterContainerService != null) && (clusterContainerService.amICoordinator())) {
+            loadConfiguration();
+        }
         // Restore the shuttingDown status on init of the component
         shuttingDown = false;
         notifyThread = new Thread(new TopologyNotify(notifyQ));
index 93e8dcc89f3bec602c04762ded8ea0619819cba5..83050ead39bf3848a542e2574a84d876a1e4e4eb 100644 (file)
     <dependency>
       <groupId>org.ops4j.pax.exam</groupId>
       <artifactId>pax-exam-container-native</artifactId>
-      <version>${exam.version}</version>
       <scope>test</scope>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>protocol_plugins.stub</artifactId>
-      <version>0.4.1-SNAPSHOT</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>sal</artifactId>
-      <version>0.7.0-SNAPSHOT</version>
     </dependency>
      <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>sal.implementation</artifactId>
-      <version>0.4.1-SNAPSHOT</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>containermanager</artifactId>
-      <version>0.5.1-SNAPSHOT</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>containermanager.it.implementation</artifactId>
-      <version>0.5.1-SNAPSHOT</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>forwardingrulesmanager</artifactId>
-      <version>0.5.0-SNAPSHOT</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>clustering.services</artifactId>
-      <version>0.5.0-SNAPSHOT</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>clustering.stub</artifactId>
-      <version>0.4.1-SNAPSHOT</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>statisticsmanager</artifactId>
-      <version>0.5.0-SNAPSHOT</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>statisticsmanager.implementation</artifactId>
-      <version>0.4.1-SNAPSHOT</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>switchmanager.implementation</artifactId>
-      <version>0.4.1-SNAPSHOT</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>switchmanager</artifactId>
     </dependency>
-
-      <dependency>
+    <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>configuration</artifactId>
-      <version>0.4.1-SNAPSHOT</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>configuration.implementation</artifactId>
-      <version>0.4.1-SNAPSHOT</version>
     </dependency>
       <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>hosttracker</artifactId>
-      <version>${hosttracker.version}</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>topologymanager</artifactId>
-      <version>0.4.1-SNAPSHOT</version>
     </dependency>
   </dependencies>
   <properties>
index f7064a3c6dee8ee5bd9b01b599ed4858bbcc9372..3b518cc5bc21eec1cff1f9fa12158fca14fe5eeb 100644 (file)
             </Import-Package>
             <Export-Package>
               org.opendaylight.controller.usermanager,
-<!--
-              org.opendaylight.controller.usermanager.internal
- -->
              </Export-Package>
             <Bundle-Activator>
-<!--
-              org.opendaylight.controller.usermanager.internal.Activator
- -->
              </Bundle-Activator>
           </instructions>
           <manifestLocation>${project.basedir}/META-INF</manifestLocation>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>containermanager</artifactId>
-      <version>0.5.1-SNAPSHOT</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>clustering.services</artifactId>
-      <version>0.5.0-SNAPSHOT</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>configuration</artifactId>
-      <version>0.4.1-SNAPSHOT</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>sal</artifactId>
-      <version>0.7.0-SNAPSHOT</version>
     </dependency>
     <dependency>
       <groupId>junit</groupId>
index dbf71fec6866b9cfb2ab1c368378495294b02948..84ca46a21bb1761366b01d4db1ecdc3303790f27 100644 (file)
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>usermanager</artifactId>
-      <version>0.4.1-SNAPSHOT</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>containermanager</artifactId>
-      <version>0.5.1-SNAPSHOT</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>clustering.services</artifactId>
-      <version>0.5.0-SNAPSHOT</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>configuration</artifactId>
-      <version>0.4.1-SNAPSHOT</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>sal</artifactId>
-      <version>0.7.0-SNAPSHOT</version>
     </dependency>
     <dependency>
       <groupId>org.springframework.security</groupId>
index 670124a1fae45d4e75506888513529fd806861c9..5d0cbb62862d6f0e7f61be02a7d72153e0780284 100644 (file)
@@ -36,12 +36,12 @@ import org.opendaylight.controller.containermanager.IContainerAuthorization;
 import org.opendaylight.controller.sal.authorization.AuthResultEnum;
 import org.opendaylight.controller.sal.authorization.IResourceAuthorization;
 import org.opendaylight.controller.sal.authorization.UserLevel;
-import org.opendaylight.controller.sal.utils.StatusCode;
 import org.opendaylight.controller.sal.utils.GlobalConstants;
 import org.opendaylight.controller.sal.utils.IObjectReader;
 import org.opendaylight.controller.sal.utils.ObjectReader;
 import org.opendaylight.controller.sal.utils.ObjectWriter;
 import org.opendaylight.controller.sal.utils.Status;
+import org.opendaylight.controller.sal.utils.StatusCode;
 import org.opendaylight.controller.usermanager.AuthResponse;
 import org.opendaylight.controller.usermanager.AuthenticatedUser;
 import org.opendaylight.controller.usermanager.AuthorizationConfig;
@@ -52,7 +52,6 @@ import org.opendaylight.controller.usermanager.ServerConfig;
 import org.opendaylight.controller.usermanager.UserConfig;
 import org.opendaylight.controller.usermanager.security.SessionManager;
 import org.opendaylight.controller.usermanager.security.UserSecurityContextRepository;
-
 import org.osgi.framework.BundleContext;
 import org.osgi.framework.FrameworkUtil;
 import org.slf4j.Logger;
@@ -202,18 +201,12 @@ public class UserManager implements IUserManager, IObjectReader,
     private void loadConfigurations() {
         // To encode and decode user and server configuration objects
         loadSecurityKeys();
-
         /*
-         * Do not load local startup file if we already got the configurations
-         * synced from another cluster node
+         * Do not load local startup file if we are not the coordinator
          */
-        if (localUserConfigList.isEmpty()) {
+        if ((clusterGlobalService != null) && (clusterGlobalService.amICoordinator())) {
             loadUserConfig();
-        }
-        if (remoteServerConfigList.isEmpty()) {
             loadServerConfig();
-        }
-        if (authorizationConfList.isEmpty()) {
             loadAuthConfig();
         }
     }
index 82abfbadb091e13cb30595c6fafd9df5dd1bea78..b0aef90699f8ad22281aee424c4640690713a439 100644 (file)
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>forwardingrulesmanager</artifactId>
-      <version>0.5.0-SNAPSHOT</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>connectionmanager</artifactId>
-      <version>0.1.1-SNAPSHOT</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>containermanager</artifactId>
-      <version>0.5.1-SNAPSHOT</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>sal</artifactId>
-      <version>0.7.0-SNAPSHOT</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>web</artifactId>
-      <version>0.4.1-SNAPSHOT</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>forwarding.staticrouting</artifactId>
-      <version>${forwarding.staticrouting}</version>
     </dependency>
-
     <dependency>
         <groupId>com.fasterxml.jackson.core</groupId>
         <artifactId>jackson-databind</artifactId>
index 5812c0e861700d3b04ff44a2f663465fd9694508..ed31de81ef238407366fe861e9a90c340192b31c 100644 (file)
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>forwardingrulesmanager</artifactId>
-      <version>0.5.0-SNAPSHOT</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>containermanager</artifactId>
-      <version>0.5.1-SNAPSHOT</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>usermanager</artifactId>
-      <version>0.4.1-SNAPSHOT</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>sal</artifactId>
-      <version>0.7.0-SNAPSHOT</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>web</artifactId>
-      <version>0.4.1-SNAPSHOT</version>
     </dependency>
   </dependencies>
 </project>
index 1a801a2fe41517b907cbae2662973e993b2589f9..beee1df9d24abc90961e9ad2b8d83d95642b2793 100644 (file)
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>clustering.services</artifactId>
-      <version>0.5.0-SNAPSHOT</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>connectionmanager</artifactId>
-      <version>0.1.1-SNAPSHOT</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>configuration</artifactId>
-      <version>0.4.1-SNAPSHOT</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>sal</artifactId>
-      <version>0.7.0-SNAPSHOT</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>usermanager</artifactId>
-      <version>0.4.1-SNAPSHOT</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>containermanager</artifactId>
-      <version>0.5.1-SNAPSHOT</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
index 358ea21ad9948d0b371bece2ae27abd1f9935a13..6fc98d9f06cba0f0ed9b502a7a79d8fabc27b1cb 100644 (file)
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>containermanager</artifactId>
-      <version>0.5.1-SNAPSHOT</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>configuration</artifactId>
-      <version>0.4.1-SNAPSHOT</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>sal</artifactId>
-      <version>0.7.0-SNAPSHOT</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>topologymanager</artifactId>
-      <version>0.4.1-SNAPSHOT</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>web</artifactId>
-      <version>0.4.1-SNAPSHOT</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller.thirdparty</groupId>
index 033cc6d9e976e214400d0c56db229bcb3b822495..69a8b9983e799284556441719a96d50904a8ee34 100644 (file)
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>forwardingrulesmanager</artifactId>
-      <version>0.5.0-SNAPSHOT</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>containermanager</artifactId>
-      <version>0.5.1-SNAPSHOT</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>sal</artifactId>
-      <version>0.7.0-SNAPSHOT</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>statisticsmanager</artifactId>
-      <version>0.5.0-SNAPSHOT</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>web</artifactId>
-      <version>0.4.1-SNAPSHOT</version>
     </dependency>
-
    <dependency>
          <groupId>com.fasterxml.jackson.core</groupId>
          <artifactId>jackson-databind</artifactId>