Move mdsal-trace into its place 69/75569/5
authorRobert Varga <robert.varga@pantheon.tech>
Tue, 8 Jan 2019 11:51:33 +0000 (12:51 +0100)
committerRobert Varga <robert.varga@pantheon.tech>
Tue, 8 Jan 2019 15:31:17 +0000 (16:31 +0100)
This is code incoming from the controller, we need to integrate it
into mdsal structure. This patch performs the preliminary move out
of opendaylight/md-sal directory.

While this code is being built, it is not part of the feature
repository yet, so as not to interfere with controller's
odl-mdsal-trace feature.

JIRA: MDSAL-412
Change-Id: I04cf3dcda5d990f5b1e45a3b3ecf15978a0db958
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
38 files changed:
artifacts/pom.xml
features/odl-mdsal-trace/pom.xml [new file with mode: 0644]
features/odl-mdsal-trace/src/main/feature/feature.xml [moved from opendaylight/md-sal/mdsal-trace/features/odl-mdsal-trace/src/main/feature/feature.xml with 71% similarity]
features/pom.xml
opendaylight/md-sal/mdsal-trace/api/pom.xml [deleted file]
opendaylight/md-sal/mdsal-trace/binding-impl/pom.xml [deleted file]
opendaylight/md-sal/mdsal-trace/binding-impl/src/main/resources/org/opendaylight/blueprint/impl-blueprint.xml [deleted file]
opendaylight/md-sal/mdsal-trace/cli/pom.xml [deleted file]
opendaylight/md-sal/mdsal-trace/deploy-site.xml [deleted file]
opendaylight/md-sal/mdsal-trace/dom-impl/pom.xml [deleted file]
opendaylight/md-sal/mdsal-trace/dom-impl/src/main/java/org/opendaylight/controller/md/sal/trace/closetracker/impl/package-info.java [deleted file]
opendaylight/md-sal/mdsal-trace/features/features-mdsal-trace/pom.xml [deleted file]
opendaylight/md-sal/mdsal-trace/features/odl-mdsal-trace/pom.xml [deleted file]
opendaylight/md-sal/mdsal-trace/features/pom.xml [deleted file]
opendaylight/md-sal/mdsal-trace/pom.xml [deleted file]
pom.xml
trace/mdsal-trace-api/pom.xml [new file with mode: 0644]
trace/mdsal-trace-api/src/main/java/org/opendaylight/mdsal/trace/api/TracingDOMDataBroker.java [moved from opendaylight/md-sal/mdsal-trace/api/src/main/java/org/opendaylight/controller/md/sal/trace/api/TracingDOMDataBroker.java with 88% similarity]
trace/mdsal-trace-api/src/main/resources/initial/mdsaltrace_config.xml [moved from opendaylight/md-sal/mdsal-trace/api/src/main/resources/initial/mdsaltrace_config.xml with 100% similarity]
trace/mdsal-trace-api/src/main/yang/mdsaltrace.yang [moved from opendaylight/md-sal/mdsal-trace/api/src/main/yang/mdsaltrace.yang with 100% similarity]
trace/mdsal-trace-cli/pom.xml [new file with mode: 0644]
trace/mdsal-trace-cli/src/main/java/org/opendaylight/controller/md/sal/trace/cli/PrintOpenTransactionsCommand.java [moved from opendaylight/md-sal/mdsal-trace/cli/src/main/java/org/opendaylight/controller/md/sal/trace/cli/PrintOpenTransactionsCommand.java with 96% similarity]
trace/mdsal-trace-impl/pom.xml [new file with mode: 0644]
trace/mdsal-trace-impl/src/main/java/org/opendaylight/mdsal/trace/impl/AbstractCloseTracked.java [moved from opendaylight/md-sal/mdsal-trace/dom-impl/src/main/java/org/opendaylight/controller/md/sal/trace/closetracker/impl/AbstractCloseTracked.java with 75% similarity]
trace/mdsal-trace-impl/src/main/java/org/opendaylight/mdsal/trace/impl/AbstractTracingWriteTransaction.java [moved from opendaylight/md-sal/mdsal-trace/dom-impl/src/main/java/org/opendaylight/controller/md/sal/trace/dom/impl/AbstractTracingWriteTransaction.java with 87% similarity]
trace/mdsal-trace-impl/src/main/java/org/opendaylight/mdsal/trace/impl/CloseTracked.java [moved from opendaylight/md-sal/mdsal-trace/dom-impl/src/main/java/org/opendaylight/controller/md/sal/trace/closetracker/impl/CloseTracked.java with 86% similarity]
trace/mdsal-trace-impl/src/main/java/org/opendaylight/mdsal/trace/impl/CloseTrackedRegistry.java [moved from opendaylight/md-sal/mdsal-trace/dom-impl/src/main/java/org/opendaylight/controller/md/sal/trace/closetracker/impl/CloseTrackedRegistry.java with 97% similarity]
trace/mdsal-trace-impl/src/main/java/org/opendaylight/mdsal/trace/impl/CloseTrackedRegistryReportEntry.java [moved from opendaylight/md-sal/mdsal-trace/dom-impl/src/main/java/org/opendaylight/controller/md/sal/trace/closetracker/impl/CloseTrackedRegistryReportEntry.java with 86% similarity]
trace/mdsal-trace-impl/src/main/java/org/opendaylight/mdsal/trace/impl/CloseTrackedTrait.java [moved from opendaylight/md-sal/mdsal-trace/dom-impl/src/main/java/org/opendaylight/controller/md/sal/trace/closetracker/impl/CloseTrackedTrait.java with 77% similarity]
trace/mdsal-trace-impl/src/main/java/org/opendaylight/mdsal/trace/impl/TracingBroker.java [moved from opendaylight/md-sal/mdsal-trace/dom-impl/src/main/java/org/opendaylight/controller/md/sal/trace/dom/impl/TracingBroker.java with 87% similarity]
trace/mdsal-trace-impl/src/main/java/org/opendaylight/mdsal/trace/impl/TracingReadOnlyTransaction.java [moved from opendaylight/md-sal/mdsal-trace/dom-impl/src/main/java/org/opendaylight/controller/md/sal/trace/dom/impl/TracingReadOnlyTransaction.java with 54% similarity]
trace/mdsal-trace-impl/src/main/java/org/opendaylight/mdsal/trace/impl/TracingReadWriteTransaction.java [moved from opendaylight/md-sal/mdsal-trace/dom-impl/src/main/java/org/opendaylight/controller/md/sal/trace/dom/impl/TracingReadWriteTransaction.java with 53% similarity]
trace/mdsal-trace-impl/src/main/java/org/opendaylight/mdsal/trace/impl/TracingTransactionChain.java [moved from opendaylight/md-sal/mdsal-trace/dom-impl/src/main/java/org/opendaylight/controller/md/sal/trace/dom/impl/TracingTransactionChain.java with 74% similarity]
trace/mdsal-trace-impl/src/main/java/org/opendaylight/mdsal/trace/impl/TracingWriteTransaction.java [moved from opendaylight/md-sal/mdsal-trace/dom-impl/src/main/java/org/opendaylight/controller/md/sal/trace/dom/impl/TracingWriteTransaction.java with 70% similarity]
trace/mdsal-trace-impl/src/main/resources/org/opendaylight/blueprint/impl-blueprint.xml [moved from opendaylight/md-sal/mdsal-trace/dom-impl/src/main/resources/org/opendaylight/blueprint/impl-blueprint.xml with 71% similarity]
trace/mdsal-trace-impl/src/test/java/org/opendaylight/mdsal/trace/impl/CloseTrackedRegistryTest.java [moved from opendaylight/md-sal/mdsal-trace/dom-impl/src/test/java/org/opendaylight/controller/md/sal/trace/tests/CloseTrackedRegistryTest.java with 92% similarity]
trace/mdsal-trace-impl/src/test/java/org/opendaylight/mdsal/trace/test/TracingBrokerTest.java [moved from opendaylight/md-sal/mdsal-trace/dom-impl/src/test/java/org/opendaylight/controller/md/sal/trace/tests/TracingBrokerTest.java with 80% similarity]
trace/pom.xml [new file with mode: 0644]

index 7b66f86adbb34bfdccfb38b59b94c1d8484341f1..b02086379b97bdcea3a88f7cbe899f7d1bb156f0 100644 (file)
                 <version>3.0.4-SNAPSHOT</version>
             </dependency>
 
+            <dependency>
+                <groupId>org.opendaylight.mdsal</groupId>
+                <artifactId>mdsal-trace-api</artifactId>
+                <version>1.0.4-SNAPSHOT</version>
+            </dependency>
+            <dependency>
+                <groupId>org.opendaylight.mdsal</groupId>
+                <artifactId>mdsal-trace-cli</artifactId>
+                <version>1.0.4-SNAPSHOT</version>
+            </dependency>
+            <dependency>
+                <groupId>org.opendaylight.mdsal</groupId>
+                <artifactId>mdsal-trace-impl</artifactId>
+                <version>1.0.4-SNAPSHOT</version>
+            </dependency>
+
             <!-- Features -->
             <!-- BINDING -->
             <dependency>
diff --git a/features/odl-mdsal-trace/pom.xml b/features/odl-mdsal-trace/pom.xml
new file mode 100644 (file)
index 0000000..70de7bb
--- /dev/null
@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+    <modelVersion>4.0.0</modelVersion>
+    <parent>
+        <groupId>org.opendaylight.mdsal</groupId>
+        <artifactId>feature-parent</artifactId>
+        <version>3.0.4-SNAPSHOT</version>
+        <relativePath>../feature-parent</relativePath>
+    </parent>
+
+    <artifactId>odl-mdsal-trace</artifactId>
+    <version>1.0.4-SNAPSHOT</version>
+    <name>OpenDaylight :: TracingBroker</name>
+    <packaging>feature</packaging>
+
+    <dependencies>
+        <dependency>
+            <groupId>org.opendaylight.mdsal</groupId>
+            <artifactId>odl-mdsal-binding-dom-adapter</artifactId>
+            <type>xml</type>
+            <classifier>features</classifier>
+        </dependency>
+        <dependency>
+            <groupId>org.opendaylight.mdsal</groupId>
+            <artifactId>mdsal-trace-api</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.opendaylight.mdsal</groupId>
+            <artifactId>mdsal-trace-impl</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.opendaylight.mdsal</groupId>
+            <artifactId>mdsal-trace-cli</artifactId>
+        </dependency>
+    </dependencies>
+</project>
similarity index 71%
rename from opendaylight/md-sal/mdsal-trace/features/odl-mdsal-trace/src/main/feature/feature.xml
rename to features/odl-mdsal-trace/src/main/feature/feature.xml
index 8e6070ba7868d52872bc05ff23904b604d0aa22d..772a84cb4b511ebe621da4784368150ab33cd494 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <features name="odl-mdsal-trace-${project.version}" xmlns="http://karaf.apache.org/xmlns/features/v1.2.0">
     <feature name="odl-mdsal-trace" version="${project.version}">
-        <configfile finalname="etc/opendaylight/datastore/initial/config/mdsaltrace_config.xml">mvn:org.opendaylight.controller/mdsal-trace-api/${project.version}/xml/config</configfile>
+        <configfile finalname="etc/opendaylight/datastore/initial/config/mdsaltrace_config.xml">mvn:org.opendaylight.mdsal/mdsal-trace-api/${project.version}/xml/config</configfile>
     </feature>
 </features>
index d754f7bfbce4f6a6b3da546cf92faba90d929dc1..c667420aad2c65850a1bea6a236db954a2040bdb 100644 (file)
@@ -58,6 +58,9 @@
         <module>odl-mdsal-singleton-common</module>
         <module>odl-mdsal-singleton-dom</module>
 
+        <!-- Trace -->
+        <module>odl-mdsal-trace</module>
+
         <!-- Models -->
         <!-- Standards -->
         <module>odl-mdsal-model-rfc6991</module>
diff --git a/opendaylight/md-sal/mdsal-trace/api/pom.xml b/opendaylight/md-sal/mdsal-trace/api/pom.xml
deleted file mode 100644 (file)
index 2215a9b..0000000
+++ /dev/null
@@ -1,56 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-Copyright © 2016 Red Hat and others. All rights reserved.
-
-This program and the accompanying materials are made available under the
-terms of the Eclipse Public License v1.0 which accompanies this distribution,
-and is available at http://www.eclipse.org/legal/epl-v10.html
--->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-  <modelVersion>4.0.0</modelVersion>
-
-  <parent>
-    <groupId>org.opendaylight.controller</groupId>
-    <artifactId>mdsal-parent</artifactId>
-    <version>1.9.3-SNAPSHOT</version>
-    <relativePath>../../parent</relativePath>
-  </parent>
-
-  <groupId>org.opendaylight.controller</groupId>
-  <artifactId>mdsal-trace-api</artifactId>
-  <version>1.9.3-SNAPSHOT</version>
-  <packaging>bundle</packaging>
-
-  <dependencies>
-    <dependency>
-      <groupId>org.opendaylight.controller</groupId>
-      <artifactId>sal-core-api</artifactId>
-    </dependency>
-  </dependencies>
-  <build>
-    <plugins>
-      <plugin>
-        <groupId>org.codehaus.mojo</groupId>
-        <artifactId>build-helper-maven-plugin</artifactId>
-        <executions>
-          <execution>
-            <id>attach-artifacts</id>
-            <goals>
-              <goal>attach-artifact</goal>
-            </goals>
-            <phase>package</phase>
-            <configuration>
-              <artifacts>
-                <artifact>
-                  <file>${project.build.directory}/classes/initial/mdsaltrace_config.xml</file>
-                  <type>xml</type>
-                  <classifier>config</classifier>
-                </artifact>
-              </artifacts>
-            </configuration>
-          </execution>
-        </executions>
-      </plugin>
-    </plugins>
-  </build>
-</project>
diff --git a/opendaylight/md-sal/mdsal-trace/binding-impl/pom.xml b/opendaylight/md-sal/mdsal-trace/binding-impl/pom.xml
deleted file mode 100644 (file)
index 977d4dc..0000000
+++ /dev/null
@@ -1,63 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- vi: set et smarttab sw=4 tabstop=4: -->
-<!--
-Copyright © 2016 Red Hat and others. All rights reserved.
-
-This program and the accompanying materials are made available under the
-terms of the Eclipse Public License v1.0 which accompanies this distribution,
-and is available at http://www.eclipse.org/legal/epl-v10.html
--->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-  <modelVersion>4.0.0</modelVersion>
-
-  <parent>
-    <groupId>org.opendaylight.controller</groupId>
-    <artifactId>mdsal-parent</artifactId>
-    <version>1.9.3-SNAPSHOT</version>
-    <relativePath>../../parent</relativePath>
-  </parent>
-
-  <groupId>org.opendaylight.controller</groupId>
-  <artifactId>mdsal-trace-binding-impl</artifactId>
-  <version>1.9.3-SNAPSHOT</version>
-  <packaging>bundle</packaging>
-
-  <dependencies>
-    <dependency>
-      <groupId>${project.groupId}</groupId>
-      <artifactId>mdsal-trace-api</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>${project.groupId}</groupId>
-      <artifactId>mdsal-trace-dom-impl</artifactId>
-    </dependency>
-
-    <!-- Testing Dependencies -->
-    <dependency>
-      <groupId>org.mockito</groupId>
-      <artifactId>mockito-core</artifactId>
-      <scope>test</scope>
-    </dependency>
-  </dependencies>
-
-  <build>
-    <plugins>
-        <plugin>
-            <groupId>org.apache.felix</groupId>
-            <artifactId>maven-bundle-plugin</artifactId>
-            <extensions>true</extensions>
-            <configuration>
-                <instructions>
-                    <Import-Package>
-                      org.opendaylight.controller.md.sal.trace.api,
-                      org.opendaylight.controller.md.sal.dom.api,
-                      org.opendaylight.controller.md.sal.binding.api,
-                      org.opendaylight.controller.md.sal.binding.spi,
-                      *
-                    </Import-Package>
-                </instructions>
-            </configuration>
-        </plugin>
-    </plugins>
-  </build>
-</project>
diff --git a/opendaylight/md-sal/mdsal-trace/binding-impl/src/main/resources/org/opendaylight/blueprint/impl-blueprint.xml b/opendaylight/md-sal/mdsal-trace/binding-impl/src/main/resources/org/opendaylight/blueprint/impl-blueprint.xml
deleted file mode 100644 (file)
index 6f36213..0000000
+++ /dev/null
@@ -1,39 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- vi: set et smarttab sw=4 tabstop=4: -->
-<!--
-Copyright © 2016 Red Hat and others. All rights reserved.
-
-This program and the accompanying materials are made available under the
-terms of the Eclipse Public License v1.0 which accompanies this distribution,
-and is available at http://www.eclipse.org/legal/epl-v10.html
--->
-<blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0"
-  xmlns:ext="http://aries.apache.org/blueprint/xmlns/blueprint-ext/v1.0.0"
-  xmlns:odl="http://opendaylight.org/xmlns/blueprint/v1.0.0"
-  odl:use-default-for-reference-types="true">
-
-  <reference id="tracingDefaultDOMBroker"
-      interface="org.opendaylight.controller.md.sal.trace.api.TracingDOMDataBroker"
-      odl:type="default" />
-
-  <reference id="adapterFactory" interface="org.opendaylight.controller.md.sal.binding.spi.AdapterFactory"/>
-
-  <bean id="tracingBindingDataBroker" factory-ref="adapterFactory" factory-method="createDataBroker">
-    <argument ref="tracingDefaultDOMBroker"/>
-  </bean>
-
-  <service id="tracingBindingDataBrokerSvc" ref="tracingBindingDataBroker"
-            interface="org.opendaylight.controller.md.sal.binding.api.DataBroker"
-            odl:type="default" ranking="10"/>
-
-  <reference id="tracingPingPongDOMDataBroker"
-      interface="org.opendaylight.controller.md.sal.trace.api.TracingDOMDataBroker"
-      odl:type="pingpong"/>
-
-  <bean id="bindingTracingPingPongDataBroker" factory-ref="adapterFactory" factory-method="createDataBroker">
-    <argument ref="tracingPingPongDOMDataBroker"/>
-  </bean>
-
-  <service ref="bindingTracingPingPongDataBroker" interface="org.opendaylight.controller.md.sal.binding.api.DataBroker"
-                                                                                    odl:type="pingpong" ranking="10"/>
-</blueprint>
diff --git a/opendaylight/md-sal/mdsal-trace/cli/pom.xml b/opendaylight/md-sal/mdsal-trace/cli/pom.xml
deleted file mode 100644 (file)
index 599e767..0000000
+++ /dev/null
@@ -1,56 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-Copyright © 2017 Red Hat and others. All rights reserved.
-
-This program and the accompanying materials are made available under the
-terms of the Eclipse Public License v1.0 which accompanies this distribution,
-and is available at http://www.eclipse.org/legal/epl-v10.html
--->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-  <modelVersion>4.0.0</modelVersion>
-
-  <parent>
-    <groupId>org.opendaylight.controller</groupId>
-    <artifactId>mdsal-parent</artifactId>
-    <version>1.9.3-SNAPSHOT</version>
-    <relativePath>../../parent</relativePath>
-  </parent>
-
-  <groupId>org.opendaylight.controller</groupId>
-  <artifactId>mdsal-trace-cli</artifactId>
-  <version>1.9.3-SNAPSHOT</version>
-  <packaging>bundle</packaging>
-
-  <dependencies>
-    <dependency>
-      <groupId>${project.groupId}</groupId>
-      <artifactId>mdsal-trace-api</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.karaf.shell</groupId>
-      <artifactId>org.apache.karaf.shell.core</artifactId>
-      <exclusions>
-        <exclusion>
-          <groupId>*</groupId>
-          <artifactId>*</artifactId>
-        </exclusion>
-      </exclusions>
-    </dependency>
-  </dependencies>
-
-  <build>
-    <plugins>
-      <plugin>
-        <groupId>org.apache.felix</groupId>
-        <artifactId>maven-bundle-plugin</artifactId>
-        <extensions>true</extensions>
-        <configuration>
-          <instructions>
-            <Karaf-Commands>*</Karaf-Commands>
-          </instructions>
-        </configuration>
-      </plugin>
-    </plugins>
-  </build>
-</project>
diff --git a/opendaylight/md-sal/mdsal-trace/deploy-site.xml b/opendaylight/md-sal/mdsal-trace/deploy-site.xml
deleted file mode 100644 (file)
index 0dc77ae..0000000
+++ /dev/null
@@ -1,50 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- vi: set et smarttab sw=2 tabstop=2: -->
-<!--
-    Copyright (c) 2016 Red Hat and others.  All rights reserved.
-
-    This program and the accompanying materials are made available under the
-    terms of the Eclipse Public License v1.0 which accompanies this distribution,
-    and is available at http://www.eclipse.org/legal/epl-v10.html
--->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-  <modelVersion>4.0.0</modelVersion>
-
-  <groupId>org.opendaylight.mdsal</groupId>
-  <artifactId>deploy-site</artifactId>
-  <version>0.1.1-SNAPSHOT</version>
-  <packaging>pom</packaging>
-
-  <properties>
-    <stream>latest</stream>
-    <nexus.site.url>dav:https://nexus.opendaylight.org/content/sites/site/${project.groupId}/${stream}/</nexus.site.url>
-  </properties>
-
-  <build>
-    <extensions>
-      <extension>
-        <groupId>org.apache.maven.wagon</groupId>
-         <artifactId>wagon-webdav-jackrabbit</artifactId>
-         <version>2.9</version>
-      </extension>
-    </extensions>
-
-    <plugins>
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-site-plugin</artifactId>
-        <version>3.4</version>
-        <configuration>
-          <inputDirectory>${project.build.directory}/staged-site</inputDirectory>
-        </configuration>
-      </plugin>
-    </plugins>
-  </build>
-
-  <distributionManagement>
-    <site>
-      <id>opendaylight-site</id>
-      <url>${nexus.site.url}</url>
-    </site>
-  </distributionManagement>
-</project>
diff --git a/opendaylight/md-sal/mdsal-trace/dom-impl/pom.xml b/opendaylight/md-sal/mdsal-trace/dom-impl/pom.xml
deleted file mode 100644 (file)
index a273906..0000000
+++ /dev/null
@@ -1,77 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- vi: set et smarttab sw=4 tabstop=4: -->
-<!--
-Copyright © 2016 Red Hat and others. All rights reserved.
-
-This program and the accompanying materials are made available under the
-terms of the Eclipse Public License v1.0 which accompanies this distribution,
-and is available at http://www.eclipse.org/legal/epl-v10.html
--->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-  <modelVersion>4.0.0</modelVersion>
-
-  <parent>
-    <groupId>org.opendaylight.controller</groupId>
-    <artifactId>mdsal-parent</artifactId>
-    <version>1.9.3-SNAPSHOT</version>
-    <relativePath>../../parent</relativePath>
-  </parent>
-
-  <groupId>org.opendaylight.controller</groupId>
-  <artifactId>mdsal-trace-dom-impl</artifactId>
-  <version>1.9.3-SNAPSHOT</version>
-  <packaging>bundle</packaging>
-
-  <dependencies>
-    <dependency>
-      <groupId>${project.groupId}</groupId>
-      <artifactId>mdsal-trace-api</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>${project.groupId}</groupId>
-      <artifactId>sal-binding-api</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>${project.groupId}</groupId>
-      <artifactId>sal-core-api</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>${project.groupId}</groupId>
-      <artifactId>sal-broker-impl</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>org.opendaylight.mdsal</groupId>
-      <artifactId>mdsal-binding-dom-codec</artifactId>
-    </dependency>
-
-    <!-- Testing Dependencies -->
-    <dependency>
-      <groupId>org.mockito</groupId>
-      <artifactId>mockito-core</artifactId>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
-      <groupId>com.google.truth</groupId>
-      <artifactId>truth</artifactId>
-      <scope>test</scope>
-    </dependency>
-  </dependencies>
-    <build>
-    <plugins>
-        <plugin>
-            <groupId>org.apache.felix</groupId>
-            <artifactId>maven-bundle-plugin</artifactId>
-            <extensions>true</extensions>
-            <configuration>
-                <instructions>
-                    <Import-Package>
-                      org.opendaylight.controller.md.sal.dom.broker.impl,
-                      *
-                    </Import-Package>
-                    <Export-Package>org.opendaylight.controller.md.sal.trace.dom.impl</Export-Package>
-                </instructions>
-            </configuration>
-        </plugin>
-    </plugins>
-    </build>
-</project>
diff --git a/opendaylight/md-sal/mdsal-trace/dom-impl/src/main/java/org/opendaylight/controller/md/sal/trace/closetracker/impl/package-info.java b/opendaylight/md-sal/mdsal-trace/dom-impl/src/main/java/org/opendaylight/controller/md/sal/trace/closetracker/impl/package-info.java
deleted file mode 100644 (file)
index 60d9674..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-/*
- * Copyright (c) 2017 Red Hat, Inc. and others. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v1.0 which accompanies this distribution,
- * and is available at http://www.eclipse.org/legal/epl-v10.html
- */
-
-/**
- * Utilities to track (non) "closing" of objects.
- */
-// This generic infra may be moved somewhere else, later
-@org.eclipse.jdt.annotation.NonNullByDefault
-package org.opendaylight.controller.md.sal.trace.closetracker.impl;
diff --git a/opendaylight/md-sal/mdsal-trace/features/features-mdsal-trace/pom.xml b/opendaylight/md-sal/mdsal-trace/features/features-mdsal-trace/pom.xml
deleted file mode 100644 (file)
index 856e65e..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-    <modelVersion>4.0.0</modelVersion>
-
-    <parent>
-        <groupId>org.opendaylight.odlparent</groupId>
-        <artifactId>feature-repo-parent</artifactId>
-        <version>3.1.3</version>
-        <relativePath/>
-    </parent>
-
-    <groupId>org.opendaylight.controller</groupId>
-    <artifactId>features-mdsal-trace</artifactId>
-    <version>1.9.3-SNAPSHOT</version>
-    <name>OpenDaylight :: TracingBroker</name>
-    <packaging>feature</packaging>
-    <dependencies>
-        <dependency>
-            <groupId>org.opendaylight.controller</groupId>
-            <artifactId>odl-mdsal-trace</artifactId>
-            <version>${project.version}</version>
-            <type>xml</type>
-            <classifier>features</classifier>
-        </dependency>
-    </dependencies>
-</project>
diff --git a/opendaylight/md-sal/mdsal-trace/features/odl-mdsal-trace/pom.xml b/opendaylight/md-sal/mdsal-trace/features/odl-mdsal-trace/pom.xml
deleted file mode 100644 (file)
index 90319cb..0000000
+++ /dev/null
@@ -1,67 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-    <modelVersion>4.0.0</modelVersion>
-
-    <parent>
-        <groupId>org.opendaylight.odlparent</groupId>
-        <artifactId>single-feature-parent</artifactId>
-        <version>3.1.3</version>
-        <relativePath/>
-    </parent>
-
-    <groupId>org.opendaylight.controller</groupId>
-    <artifactId>odl-mdsal-trace</artifactId>
-    <version>1.9.3-SNAPSHOT</version>
-    <name>OpenDaylight :: TracingBroker</name>
-    <packaging>feature</packaging>
-
-    <dependencyManagement>
-        <dependencies>
-            <dependency>
-                <groupId>org.opendaylight.controller</groupId>
-                <artifactId>mdsal-artifacts</artifactId>
-                <version>${project.version}</version>
-                <type>pom</type>
-                <scope>import</scope>
-            </dependency>
-        </dependencies>
-
-    </dependencyManagement>
-
-    <dependencies>
-        <dependency>
-            <groupId>org.opendaylight.controller</groupId>
-            <artifactId>odl-mdsal-broker</artifactId>
-            <version>${project.version}</version>
-            <type>xml</type>
-            <classifier>features</classifier>
-        </dependency>
-        <dependency>
-            <groupId>org.opendaylight.controller</groupId>
-            <artifactId>odl-mdsal-broker-local</artifactId>
-            <version>${project.version}</version>
-            <type>xml</type>
-            <classifier>features</classifier>
-        </dependency>
-        <dependency>
-            <groupId>org.opendaylight.controller</groupId>
-            <artifactId>mdsal-trace-api</artifactId>
-            <version>${project.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>org.opendaylight.controller</groupId>
-            <artifactId>mdsal-trace-dom-impl</artifactId>
-            <version>${project.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>org.opendaylight.controller</groupId>
-            <artifactId>mdsal-trace-binding-impl</artifactId>
-            <version>${project.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>org.opendaylight.controller</groupId>
-            <artifactId>mdsal-trace-cli</artifactId>
-            <version>${project.version}</version>
-        </dependency>
-    </dependencies>
-</project>
diff --git a/opendaylight/md-sal/mdsal-trace/features/pom.xml b/opendaylight/md-sal/mdsal-trace/features/pom.xml
deleted file mode 100644 (file)
index 413266c..0000000
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-Copyright © 2016 Red Hat and others. All rights reserved.
-
-This program and the accompanying materials are made available under the
-terms of the Eclipse Public License v1.0 which accompanies this distribution,
-and is available at http://www.eclipse.org/legal/epl-v10.html INTERNAL
--->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-  <modelVersion>4.0.0</modelVersion>
-
-  <parent>
-    <groupId>org.opendaylight.odlparent</groupId>
-    <artifactId>odlparent-lite</artifactId>
-    <version>3.1.3</version>
-    <relativePath/>
-  </parent>
-
-  <groupId>org.opendaylight.controller</groupId>
-  <artifactId>mdsal-trace-feature-aggregator</artifactId>
-  <version>1.9.3-SNAPSHOT</version>
-  <packaging>pom</packaging>
-
-  <modules>
-    <module>features-mdsal-trace</module>
-    <module>odl-mdsal-trace</module>
-  </modules>
-</project>
diff --git a/opendaylight/md-sal/mdsal-trace/pom.xml b/opendaylight/md-sal/mdsal-trace/pom.xml
deleted file mode 100644 (file)
index c9e65f0..0000000
+++ /dev/null
@@ -1,72 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-Copyright © 2016 Red Hat and others. All rights reserved.
-This program and the accompanying materials are made available under the
-terms of the Eclipse Public License v1.0 which accompanies this distribution,
-and is available at http://www.eclipse.org/legal/epl-v10.html INTERNAL
--->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-  <modelVersion>4.0.0</modelVersion>
-
-  <parent>
-    <groupId>org.opendaylight.odlparent</groupId>
-    <artifactId>odlparent-lite</artifactId>
-    <version>3.1.3</version>
-    <relativePath/>
-  </parent>
-
-  <groupId>org.opendaylight.controller</groupId>
-  <artifactId>mdsal-trace-aggregator</artifactId>
-  <version>1.9.3-SNAPSHOT</version>
-  <name>mdsaltrace</name>
-  <packaging>pom</packaging>
-
-  <modules>
-    <module>api</module>
-    <module>dom-impl</module>
-    <module>binding-impl</module>
-    <module>cli</module>
-    <module>features</module>
-  </modules>
-
-  <!-- DO NOT install or deploy the repo root pom as it's only needed to initiate a build -->
-  <properties>
-    <maven.deploy.skip>true</maven.deploy.skip>
-    <maven.install.skip>true</maven.install.skip>
-  </properties>
-
-  <profiles>
-    <profile>
-      <!--
-          This profile is to ensure we only build javadocs reports
-          when we plan to deploy Maven site for our project.
-      -->
-      <id>maven-site</id>
-      <activation>
-        <file>
-          <exists>${user.dir}/deploy-site.xml</exists>
-        </file>
-      </activation>
-
-      <build>
-        <plugins>
-          <plugin>
-            <groupId>org.apache.maven.plugins</groupId>
-            <artifactId>maven-javadoc-plugin</artifactId>
-            <inherited>false</inherited>
-            <executions>
-              <execution>
-                <id>aggregate</id>
-                <goals>
-                  <goal>aggregate</goal>
-                </goals>
-                <phase>package</phase>
-            </execution>
-            </executions>
-          </plugin>
-        </plugins>
-      </build>
-    </profile>
-  </profiles>
-
-</project>
diff --git a/pom.xml b/pom.xml
index ac3f90a3d72f3d4f84bcc255dfb9c37580a095dd..19e0b3389fc181bcbb0528ff9e90fd947a96d81b 100644 (file)
--- a/pom.xml
+++ b/pom.xml
@@ -34,6 +34,7 @@
         <module>model-binding2</module>
         <module>entityownership</module>
         <module>singleton-service</module>
+        <module>trace</module>
     </modules>
 
     <properties>
diff --git a/trace/mdsal-trace-api/pom.xml b/trace/mdsal-trace-api/pom.xml
new file mode 100644 (file)
index 0000000..6916a98
--- /dev/null
@@ -0,0 +1,55 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Copyright © 2016 Red Hat and others. All rights reserved.
+
+ This program and the accompanying materials are made available under the
+ terms of the Eclipse Public License v1.0 which accompanies this distribution,
+ and is available at http://www.eclipse.org/legal/epl-v10.html
+-->
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+    <modelVersion>4.0.0</modelVersion>
+    <parent>
+        <groupId>org.opendaylight.mdsal</groupId>
+        <artifactId>binding-parent</artifactId>
+        <version>3.0.4-SNAPSHOT</version>
+        <relativePath>../../binding/binding-parent</relativePath>
+    </parent>
+
+    <artifactId>mdsal-trace-api</artifactId>
+    <version>1.0.4-SNAPSHOT</version>
+    <packaging>bundle</packaging>
+
+    <dependencies>
+        <dependency>
+            <groupId>org.opendaylight.mdsal</groupId>
+            <artifactId>mdsal-dom-api</artifactId>
+        </dependency>
+    </dependencies>
+
+    <build>
+        <plugins>
+            <plugin>
+                <groupId>org.codehaus.mojo</groupId>
+                <artifactId>build-helper-maven-plugin</artifactId>
+                <executions>
+                    <execution>
+                        <id>attach-artifacts</id>
+                        <goals>
+                            <goal>attach-artifact</goal>
+                        </goals>
+                        <phase>package</phase>
+                        <configuration>
+                            <artifacts>
+                                <artifact>
+                                    <file>${project.build.directory}/classes/initial/mdsaltrace_config.xml</file>
+                                    <type>xml</type>
+                                    <classifier>config</classifier>
+                                </artifact>
+                            </artifacts>
+                        </configuration>
+                    </execution>
+                </executions>
+            </plugin>
+        </plugins>
+    </build>
+</project>
similarity index 88%
rename from opendaylight/md-sal/mdsal-trace/api/src/main/java/org/opendaylight/controller/md/sal/trace/api/TracingDOMDataBroker.java
rename to trace/mdsal-trace-api/src/main/java/org/opendaylight/mdsal/trace/api/TracingDOMDataBroker.java
index 88e2261cae2ede3b8a31cf05cd07f387e99577d1..0463328e68d80ae15bf6f0758f89bfc784a0368f 100644 (file)
@@ -5,16 +5,15 @@
  * terms of the Eclipse Public License v1.0 which accompanies this distribution,
  * and is available at http://www.eclipse.org/legal/epl-v10.html
  */
-package org.opendaylight.controller.md.sal.trace.api;
+package org.opendaylight.mdsal.trace.api;
 
 import java.io.PrintStream;
-import org.opendaylight.controller.md.sal.dom.api.DOMDataBroker;
+import org.opendaylight.mdsal.dom.api.DOMDataBroker;
 
 /**
  * Interface so that the tracing broker service can be more explicitly imported.
  */
 public interface TracingDOMDataBroker extends DOMDataBroker {
-
     /**
      * Prints a human-readable "report" of all opened but not closed transactions,
      * including transactions chains and transactions opened by them, onto the printStream.
@@ -22,5 +21,4 @@ public interface TracingDOMDataBroker extends DOMDataBroker {
      * @return true if there were any open transactions, false if none
      */
     boolean printOpenTransactions(PrintStream printStream, int minOpenTransactions);
-
 }
diff --git a/trace/mdsal-trace-cli/pom.xml b/trace/mdsal-trace-cli/pom.xml
new file mode 100644 (file)
index 0000000..d21ce3a
--- /dev/null
@@ -0,0 +1,49 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+Copyright © 2017 Red Hat and others. All rights reserved.
+
+This program and the accompanying materials are made available under the
+terms of the Eclipse Public License v1.0 which accompanies this distribution,
+and is available at http://www.eclipse.org/legal/epl-v10.html
+-->
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+    <modelVersion>4.0.0</modelVersion>
+    <parent>
+        <groupId>org.opendaylight.mdsal</groupId>
+        <artifactId>dom-parent</artifactId>
+        <version>3.0.4-SNAPSHOT</version>
+        <relativePath>../../dom/dom-parent</relativePath>
+    </parent>
+
+    <artifactId>mdsal-trace-cli</artifactId>
+    <version>1.0.4-SNAPSHOT</version>
+    <packaging>bundle</packaging>
+
+    <dependencies>
+        <dependency>
+            <groupId>org.opendaylight.mdsal</groupId>
+            <artifactId>mdsal-trace-api</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.karaf.shell</groupId>
+            <artifactId>org.apache.karaf.shell.core</artifactId>
+            <scope>provided</scope>
+        </dependency>
+    </dependencies>
+
+    <build>
+        <plugins>
+            <plugin>
+                <groupId>org.apache.felix</groupId>
+                <artifactId>maven-bundle-plugin</artifactId>
+                <extensions>true</extensions>
+                <configuration>
+                    <instructions>
+                        <Karaf-Commands>*</Karaf-Commands>
+                    </instructions>
+                </configuration>
+            </plugin>
+        </plugins>
+    </build>
+</project>
@@ -13,7 +13,7 @@ import org.apache.karaf.shell.api.action.Argument;
 import org.apache.karaf.shell.api.action.Command;
 import org.apache.karaf.shell.api.action.lifecycle.Reference;
 import org.apache.karaf.shell.api.action.lifecycle.Service;
-import org.opendaylight.controller.md.sal.trace.api.TracingDOMDataBroker;
+import org.opendaylight.mdsal.trace.api.TracingDOMDataBroker;
 
 /**
  * Karaf CLI command to dump all open transactions.
diff --git a/trace/mdsal-trace-impl/pom.xml b/trace/mdsal-trace-impl/pom.xml
new file mode 100644 (file)
index 0000000..a18940f
--- /dev/null
@@ -0,0 +1,67 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- vi: set et smarttab sw=4 tabstop=4: -->
+<!--
+ Copyright © 2016 Red Hat and others. All rights reserved.
+
+ This program and the accompanying materials are made available under the
+ terms of the Eclipse Public License v1.0 which accompanies this distribution,
+ and is available at http://www.eclipse.org/legal/epl-v10.html
+-->
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+    <modelVersion>4.0.0</modelVersion>
+    <parent>
+        <groupId>org.opendaylight.mdsal</groupId>
+        <artifactId>dom-parent</artifactId>
+        <version>3.0.4-SNAPSHOT</version>
+        <relativePath>../../dom/dom-parent</relativePath>
+    </parent>
+
+    <artifactId>mdsal-trace-impl</artifactId>
+    <version>1.0.4-SNAPSHOT</version>
+    <packaging>bundle</packaging>
+
+    <dependencies>
+        <dependency>
+            <groupId>org.opendaylight.mdsal</groupId>
+            <artifactId>mdsal-trace-api</artifactId>
+        </dependency>
+        <dependency>
+            <!-- FIXME: why? -->
+            <groupId>org.opendaylight.mdsal</groupId>
+            <artifactId>mdsal-binding-api</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.opendaylight.mdsal</groupId>
+            <artifactId>mdsal-dom-api</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.opendaylight.mdsal</groupId>
+            <artifactId>mdsal-dom-broker</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.opendaylight.mdsal</groupId>
+            <artifactId>mdsal-binding-dom-codec</artifactId>
+        </dependency>
+
+        <!-- Testing Dependencies -->
+        <dependency>
+            <groupId>com.google.truth</groupId>
+            <artifactId>truth</artifactId>
+        </dependency>
+    </dependencies>
+
+    <build>
+        <plugins>
+            <plugin>
+                <groupId>org.apache.felix</groupId>
+                <artifactId>maven-bundle-plugin</artifactId>
+                <extensions>true</extensions>
+                <configuration>
+                    <instructions>
+                        <Export-Package>org.opendaylight.mdsal.trace.impl</Export-Package>
+                    </instructions>
+                </configuration>
+            </plugin>
+        </plugins>
+    </build>
+</project>
@@ -5,20 +5,19 @@
  * terms of the Eclipse Public License v1.0 which accompanies this distribution,
  * and is available at http://www.eclipse.org/legal/epl-v10.html
  */
-package org.opendaylight.controller.md.sal.trace.closetracker.impl;
+package org.opendaylight.mdsal.trace.impl;
 
-import javax.annotation.Nullable;
+import org.eclipse.jdt.annotation.Nullable;
 
 /**
  * Convenience abstract base class for {@link CloseTracked} implementors.
  *
  * @author Michael Vorburger.ch
  */
-public abstract class AbstractCloseTracked<T extends AbstractCloseTracked<T>> implements CloseTracked<T> {
-
+abstract class AbstractCloseTracked<T extends AbstractCloseTracked<T>> implements CloseTracked<T> {
     private final CloseTrackedTrait<T> closeTracker;
 
-    protected AbstractCloseTracked(CloseTrackedRegistry<T> transactionChainRegistry) {
+    AbstractCloseTracked(CloseTrackedRegistry<T> transactionChainRegistry) {
         this.closeTracker = new CloseTrackedTrait<>(transactionChainRegistry, this);
     }
 
@@ -5,30 +5,30 @@
  * terms of the Eclipse Public License v1.0 which accompanies this distribution,
  * and is available at http://www.eclipse.org/legal/epl-v10.html
  */
-package org.opendaylight.controller.md.sal.trace.dom.impl;
+package org.opendaylight.mdsal.trace.impl;
+
+import static java.util.Objects.requireNonNull;
 
 import com.google.common.collect.ImmutableSet;
 import com.google.common.util.concurrent.FluentFuture;
 import java.util.ArrayList;
 import java.util.List;
-import java.util.Objects;
 import java.util.Set;
-import javax.annotation.Nonnull;
-import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType;
-import org.opendaylight.controller.md.sal.dom.api.DOMDataWriteTransaction;
 import org.opendaylight.mdsal.common.api.CommitInfo;
+import org.opendaylight.mdsal.common.api.LogicalDatastoreType;
+import org.opendaylight.mdsal.dom.api.DOMDataTreeWriteTransaction;
 import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier;
 import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode;
 
-abstract class AbstractTracingWriteTransaction implements DOMDataWriteTransaction {
+abstract class AbstractTracingWriteTransaction implements DOMDataTreeWriteTransaction {
 
-    private final DOMDataWriteTransaction delegate;
+    private final DOMDataTreeWriteTransaction delegate;
     private final TracingBroker tracingBroker;
     private final List<String> logs = new ArrayList<>();
 
-    AbstractTracingWriteTransaction(DOMDataWriteTransaction delegate, TracingBroker tracingBroker) {
-        this.delegate = Objects.requireNonNull(delegate);
-        this.tracingBroker = Objects.requireNonNull(tracingBroker);
+    AbstractTracingWriteTransaction(DOMDataTreeWriteTransaction delegate, TracingBroker tracingBroker) {
+        this.delegate = requireNonNull(delegate);
+        this.tracingBroker = requireNonNull(tracingBroker);
         recordOp(null, null, "instantiate", null);
     }
 
@@ -114,7 +114,6 @@ abstract class AbstractTracingWriteTransaction implements DOMDataWriteTransactio
     }
 
     @Override
-    @Nonnull
     public Object getIdentifier() {
         return delegate.getIdentifier();
     }
similarity index 86%
rename from opendaylight/md-sal/mdsal-trace/dom-impl/src/main/java/org/opendaylight/controller/md/sal/trace/closetracker/impl/CloseTracked.java
rename to trace/mdsal-trace-impl/src/main/java/org/opendaylight/mdsal/trace/impl/CloseTracked.java
index ef42c4025c6232494ff1f9a92048edfb7189ae5e..2c8d6a3942bf7f6681948e609eab8cb5124313c5 100644 (file)
@@ -5,9 +5,9 @@
  * terms of the Eclipse Public License v1.0 which accompanies this distribution,
  * and is available at http://www.eclipse.org/legal/epl-v10.html
  */
-package org.opendaylight.controller.md.sal.trace.closetracker.impl;
+package org.opendaylight.mdsal.trace.impl;
 
-import javax.annotation.Nullable;
+import org.eclipse.jdt.annotation.Nullable;
 
 /**
  * Object which can track where something has been created, and if it has been correctly "closed".
@@ -16,7 +16,7 @@ import javax.annotation.Nullable;
  *
  * @author Michael Vorburger.ch
  */
-public interface CloseTracked<T extends CloseTracked<T>> {
+interface CloseTracked<T extends CloseTracked<T>> {
 
     /**
      * This returns the allocation context as {@link StackTraceElement}s. NB that
@@ -5,7 +5,7 @@
  * terms of the Eclipse Public License v1.0 which accompanies this distribution,
  * and is available at http://www.eclipse.org/legal/epl-v10.html
  */
-package org.opendaylight.controller.md.sal.trace.closetracker.impl;
+package org.opendaylight.mdsal.trace.impl;
 
 import static java.util.Arrays.asList;
 import static java.util.Collections.emptyList;
@@ -28,7 +28,7 @@ import javax.annotation.concurrent.ThreadSafe;
  * @author Michael Vorburger.ch
  */
 @ThreadSafe
-public class CloseTrackedRegistry<T extends CloseTracked<T>> {
+class CloseTrackedRegistry<T extends CloseTracked<T>> {
 
     private final Object anchor;
     private final String createDescription;
@@ -111,5 +111,4 @@ public class CloseTrackedRegistry<T extends CloseTracked<T>> {
             new CloseTrackedRegistryReportEntry<>(exampleCloseTracked, number, stackTraceElements))));
         return report;
     }
-
 }
@@ -5,7 +5,7 @@
  * terms of the Eclipse Public License v1.0 which accompanies this distribution,
  * and is available at http://www.eclipse.org/legal/epl-v10.html
  */
-package org.opendaylight.controller.md.sal.trace.closetracker.impl;
+package org.opendaylight.mdsal.trace.impl;
 
 import static java.util.Objects.requireNonNull;
 
@@ -16,13 +16,12 @@ import java.util.List;
  *
  * @author Michael Vorburger.ch
  */
-public class CloseTrackedRegistryReportEntry<T extends CloseTracked<T>> {
-
+class CloseTrackedRegistryReportEntry<T extends CloseTracked<T>> {
     private final CloseTracked<T> exampleCloseTracked;
     private final long numberAddedNotRemoved;
     private final List<StackTraceElement> stackTraceElements;
 
-    public CloseTrackedRegistryReportEntry(CloseTracked<T> exampleCloseTracked, long numberAddedNotRemoved,
+    CloseTrackedRegistryReportEntry(CloseTracked<T> exampleCloseTracked, long numberAddedNotRemoved,
             List<StackTraceElement> stackTraceElements) {
         this.exampleCloseTracked = requireNonNull(exampleCloseTracked, "closeTracked");
         this.numberAddedNotRemoved = requireNonNull(numberAddedNotRemoved, "numberAddedNotRemoved");
@@ -46,6 +45,4 @@ public class CloseTrackedRegistryReportEntry<T extends CloseTracked<T>> {
         return "CloseTrackedRegistryReportEntry [numberAddedNotRemoved=" + numberAddedNotRemoved + ", closeTracked="
                 + exampleCloseTracked + ", stackTraceElements.size=" + stackTraceElements.size() + "]";
     }
-
-
 }
@@ -5,11 +5,12 @@
  * terms of the Eclipse Public License v1.0 which accompanies this distribution,
  * and is available at http://www.eclipse.org/legal/epl-v10.html
  */
-package org.opendaylight.controller.md.sal.trace.closetracker.impl;
+package org.opendaylight.mdsal.trace.impl;
+
+import static java.util.Objects.requireNonNull;
 
 import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
-import java.util.Objects;
-import javax.annotation.Nullable;
+import org.eclipse.jdt.annotation.Nullable;
 
 /**
  * Implementation of {@link CloseTracked} which can be used as a field in
@@ -21,7 +22,7 @@ import javax.annotation.Nullable;
  *
  * @author Michael Vorburger.ch
  */
-public class CloseTrackedTrait<T extends CloseTracked<T>> implements CloseTracked<T> {
+class CloseTrackedTrait<T extends CloseTracked<T>> implements CloseTracked<T> {
 
     // NB: It's important that we keep a Throwable here, and not directly the StackTraceElement[] !
     // This is because creating a new Throwable() is a lot less expensive in terms of runtime overhead
@@ -31,7 +32,7 @@ public class CloseTrackedTrait<T extends CloseTracked<T>> implements CloseTracke
     private final CloseTrackedRegistry<T> closeTrackedRegistry;
     private final CloseTracked<T> realCloseTracked;
 
-    public CloseTrackedTrait(CloseTrackedRegistry<T> transactionChainRegistry, CloseTracked<T> realCloseTracked) {
+    CloseTrackedTrait(CloseTrackedRegistry<T> transactionChainRegistry, CloseTracked<T> realCloseTracked) {
         if (transactionChainRegistry.isDebugContextEnabled()) {
             // NB: We're NOT doing the (expensive) getStackTrace() here just yet (only below)
             // TODO When we're on Java 9, then instead use the new java.lang.StackWalker API..
@@ -39,15 +40,14 @@ public class CloseTrackedTrait<T extends CloseTracked<T>> implements CloseTracke
         } else {
             this.allocationContext = null;
         }
-        this.realCloseTracked = Objects.requireNonNull(realCloseTracked, "realCloseTracked");
-        this.closeTrackedRegistry = Objects.requireNonNull(transactionChainRegistry, "transactionChainRegistry");
+        this.realCloseTracked = requireNonNull(realCloseTracked, "realCloseTracked");
+        this.closeTrackedRegistry = requireNonNull(transactionChainRegistry, "transactionChainRegistry");
         this.closeTrackedRegistry.add(this);
     }
 
     @Override
-    @Nullable
     @SuppressFBWarnings("PZLA_PREFER_ZERO_LENGTH_ARRAYS")
-    public StackTraceElement[] getAllocationContextStackTrace() {
+    public @Nullable StackTraceElement[] getAllocationContextStackTrace() {
         return allocationContext != null ? allocationContext.getStackTrace() : null;
     }
 
@@ -59,5 +59,4 @@ public class CloseTrackedTrait<T extends CloseTracked<T>> implements CloseTracke
     public CloseTracked<T> getRealCloseTracked() {
         return realCloseTracked;
     }
-
 }
similarity index 87%
rename from opendaylight/md-sal/mdsal-trace/dom-impl/src/main/java/org/opendaylight/controller/md/sal/trace/dom/impl/TracingBroker.java
rename to trace/mdsal-trace-impl/src/main/java/org/opendaylight/mdsal/trace/impl/TracingBroker.java
index 7103a007680b1fe42db06eee13de17cbe64c976a..5b02713a050a124007b33a8c8ba1f90fcba58009 100644 (file)
@@ -5,35 +5,31 @@
  * terms of the Eclipse Public License v1.0 which accompanies this distribution,
  * and is available at http://www.eclipse.org/legal/epl-v10.html
  */
-package org.opendaylight.controller.md.sal.trace.dom.impl;
+package org.opendaylight.mdsal.trace.impl;
 
 import static java.util.Objects.requireNonNull;
 
+import com.google.common.collect.ClassToInstanceMap;
+import com.google.common.collect.MutableClassToInstanceMap;
 import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
 import java.io.PrintStream;
 import java.util.ArrayList;
-import java.util.HashMap;
 import java.util.List;
-import java.util.Map;
 import java.util.Set;
-import javax.annotation.Nonnull;
-import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType;
-import org.opendaylight.controller.md.sal.common.api.data.TransactionChainListener;
-import org.opendaylight.controller.md.sal.dom.api.ClusteredDOMDataTreeChangeListener;
-import org.opendaylight.controller.md.sal.dom.api.DOMDataBroker;
-import org.opendaylight.controller.md.sal.dom.api.DOMDataBrokerExtension;
-import org.opendaylight.controller.md.sal.dom.api.DOMDataReadOnlyTransaction;
-import org.opendaylight.controller.md.sal.dom.api.DOMDataReadWriteTransaction;
-import org.opendaylight.controller.md.sal.dom.api.DOMDataTreeChangeListener;
-import org.opendaylight.controller.md.sal.dom.api.DOMDataTreeChangeService;
-import org.opendaylight.controller.md.sal.dom.api.DOMDataTreeIdentifier;
-import org.opendaylight.controller.md.sal.dom.api.DOMDataWriteTransaction;
-import org.opendaylight.controller.md.sal.dom.api.DOMTransactionChain;
-import org.opendaylight.controller.md.sal.trace.api.TracingDOMDataBroker;
-import org.opendaylight.controller.md.sal.trace.closetracker.impl.CloseTracked;
-import org.opendaylight.controller.md.sal.trace.closetracker.impl.CloseTrackedRegistry;
-import org.opendaylight.controller.md.sal.trace.closetracker.impl.CloseTrackedRegistryReportEntry;
 import org.opendaylight.mdsal.binding.dom.codec.api.BindingNormalizedNodeSerializer;
+import org.opendaylight.mdsal.common.api.LogicalDatastoreType;
+import org.opendaylight.mdsal.dom.api.ClusteredDOMDataTreeChangeListener;
+import org.opendaylight.mdsal.dom.api.DOMDataBroker;
+import org.opendaylight.mdsal.dom.api.DOMDataBrokerExtension;
+import org.opendaylight.mdsal.dom.api.DOMDataTreeChangeListener;
+import org.opendaylight.mdsal.dom.api.DOMDataTreeChangeService;
+import org.opendaylight.mdsal.dom.api.DOMDataTreeIdentifier;
+import org.opendaylight.mdsal.dom.api.DOMDataTreeReadTransaction;
+import org.opendaylight.mdsal.dom.api.DOMDataTreeReadWriteTransaction;
+import org.opendaylight.mdsal.dom.api.DOMDataTreeWriteTransaction;
+import org.opendaylight.mdsal.dom.api.DOMTransactionChain;
+import org.opendaylight.mdsal.dom.api.DOMTransactionChainListener;
+import org.opendaylight.mdsal.trace.api.TracingDOMDataBroker;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.mdsaltrace.rev160908.Config;
 import org.opendaylight.yangtools.concepts.ListenerRegistration;
 import org.opendaylight.yangtools.yang.binding.DataObject;
@@ -275,7 +271,7 @@ public class TracingBroker implements TracingDOMDataBroker {
         }
     }
 
-    private void reconstructIidPathString(YangInstanceIdentifier yiid, StringBuilder sb) {
+    private static void reconstructIidPathString(YangInstanceIdentifier yiid, StringBuilder sb) {
         sb.append("<RECONSTRUCTED FROM: \"").append(yiid.toString()).append("\">");
         for (YangInstanceIdentifier.PathArgument pathArg : yiid.getPathArguments()) {
             if (pathArg instanceof YangInstanceIdentifier.AugmentationIdentifier) {
@@ -299,42 +295,39 @@ public class TracingBroker implements TracingDOMDataBroker {
     }
 
     @Override
-    public DOMDataReadWriteTransaction newReadWriteTransaction() {
+    public DOMDataTreeReadWriteTransaction newReadWriteTransaction() {
         return new TracingReadWriteTransaction(delegate.newReadWriteTransaction(), this, readWriteTransactionsRegistry);
     }
 
     @Override
-    public DOMDataWriteTransaction newWriteOnlyTransaction() {
+    public DOMDataTreeWriteTransaction newWriteOnlyTransaction() {
         return new TracingWriteTransaction(delegate.newWriteOnlyTransaction(), this, writeTransactionsRegistry);
     }
 
     @Override
-    public DOMTransactionChain createTransactionChain(TransactionChainListener transactionChainListener) {
-        return new TracingTransactionChain(
-                delegate.createTransactionChain(transactionChainListener), this, transactionChainsRegistry);
+    public DOMTransactionChain createTransactionChain(DOMTransactionChainListener transactionChainListener) {
+        return new TracingTransactionChain(delegate.createTransactionChain(transactionChainListener), this,
+            transactionChainsRegistry);
     }
 
     @Override
-    public DOMDataReadOnlyTransaction newReadOnlyTransaction() {
+    public DOMDataTreeReadTransaction newReadOnlyTransaction() {
         return new TracingReadOnlyTransaction(delegate.newReadOnlyTransaction(), readOnlyTransactionsRegistry);
     }
 
-    @Nonnull
     @Override
-    public Map<Class<? extends DOMDataBrokerExtension>, DOMDataBrokerExtension> getSupportedExtensions() {
-        Map<Class<? extends DOMDataBrokerExtension>, DOMDataBrokerExtension> res = delegate.getSupportedExtensions();
-        DOMDataTreeChangeService treeChangeSvc = (DOMDataTreeChangeService) res.get(DOMDataTreeChangeService.class);
+    public ClassToInstanceMap<DOMDataBrokerExtension> getExtensions() {
+        final ClassToInstanceMap<DOMDataBrokerExtension> delegateExt = delegate.getExtensions();
+        final DOMDataTreeChangeService treeChangeSvc = delegateExt.getInstance(DOMDataTreeChangeService.class);
         if (treeChangeSvc == null) {
-            return res;
+            return delegateExt;
         }
 
-        res = new HashMap<>(res);
-
+        final ClassToInstanceMap<DOMDataBrokerExtension> res = MutableClassToInstanceMap.create(delegateExt);
         res.put(DOMDataTreeChangeService.class, new DOMDataTreeChangeService() {
-            @Nonnull
             @Override
             public <L extends DOMDataTreeChangeListener> ListenerRegistration<L> registerDataTreeChangeListener(
-                    @Nonnull DOMDataTreeIdentifier domDataTreeIdentifier, @Nonnull L listener) {
+                    DOMDataTreeIdentifier domDataTreeIdentifier, L listener) {
                 if (isRegistrationWatched(domDataTreeIdentifier.getRootIdentifier(),
                         domDataTreeIdentifier.getDatastoreType())) {
                     LOG.warn("{} registration (registerDataTreeChangeListener) for {} from {}.",
@@ -5,38 +5,35 @@
  * terms of the Eclipse Public License v1.0 which accompanies this distribution,
  * and is available at http://www.eclipse.org/legal/epl-v10.html
  */
-package org.opendaylight.controller.md.sal.trace.dom.impl;
+package org.opendaylight.mdsal.trace.impl;
 
-import com.google.common.base.Optional;
-import com.google.common.util.concurrent.CheckedFuture;
-import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType;
-import org.opendaylight.controller.md.sal.common.api.data.ReadFailedException;
-import org.opendaylight.controller.md.sal.dom.api.DOMDataReadOnlyTransaction;
-import org.opendaylight.controller.md.sal.trace.closetracker.impl.AbstractCloseTracked;
-import org.opendaylight.controller.md.sal.trace.closetracker.impl.CloseTrackedRegistry;
+import static java.util.Objects.requireNonNull;
+
+import com.google.common.util.concurrent.FluentFuture;
+import java.util.Optional;
+import org.opendaylight.mdsal.common.api.LogicalDatastoreType;
+import org.opendaylight.mdsal.dom.api.DOMDataTreeReadTransaction;
 import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier;
 import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode;
 
-class TracingReadOnlyTransaction
-        extends AbstractCloseTracked<TracingReadOnlyTransaction>
-        implements DOMDataReadOnlyTransaction {
+class TracingReadOnlyTransaction extends AbstractCloseTracked<TracingReadOnlyTransaction>
+        implements DOMDataTreeReadTransaction {
 
-    private final DOMDataReadOnlyTransaction delegate;
+    private final DOMDataTreeReadTransaction delegate;
 
-    TracingReadOnlyTransaction(DOMDataReadOnlyTransaction delegate,
+    TracingReadOnlyTransaction(DOMDataTreeReadTransaction delegate,
             CloseTrackedRegistry<TracingReadOnlyTransaction> readOnlyTransactionsRegistry) {
         super(readOnlyTransactionsRegistry);
-        this.delegate = delegate;
+        this.delegate = requireNonNull(delegate);
     }
 
     @Override
-    public CheckedFuture<Optional<NormalizedNode<?, ?>>, ReadFailedException> read(LogicalDatastoreType store,
-            YangInstanceIdentifier path) {
+    public FluentFuture<Optional<NormalizedNode<?, ?>>> read(LogicalDatastoreType store, YangInstanceIdentifier path) {
         return delegate.read(store, path);
     }
 
     @Override
-    public CheckedFuture<Boolean, ReadFailedException> exists(LogicalDatastoreType store, YangInstanceIdentifier path) {
+    public FluentFuture<Boolean> exists(LogicalDatastoreType store, YangInstanceIdentifier path) {
         return delegate.exists(store, path);
     }
 
@@ -51,7 +48,6 @@ class TracingReadOnlyTransaction
         super.removeFromTrackedRegistry();
     }
 
-
     // https://jira.opendaylight.org/browse/CONTROLLER-1792
 
     @Override
@@ -68,5 +64,4 @@ class TracingReadOnlyTransaction
     public final String toString() {
         return getClass().getName() + "; delegate=" + delegate;
     }
-
 }
@@ -5,44 +5,40 @@
  * terms of the Eclipse Public License v1.0 which accompanies this distribution,
  * and is available at http://www.eclipse.org/legal/epl-v10.html
  */
-package org.opendaylight.controller.md.sal.trace.dom.impl;
+package org.opendaylight.mdsal.trace.impl;
+
+import static java.util.Objects.requireNonNull;
 
-import com.google.common.base.Optional;
-import com.google.common.util.concurrent.CheckedFuture;
 import com.google.common.util.concurrent.FluentFuture;
-import java.util.Objects;
-import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType;
-import org.opendaylight.controller.md.sal.common.api.data.ReadFailedException;
-import org.opendaylight.controller.md.sal.dom.api.DOMDataReadWriteTransaction;
-import org.opendaylight.controller.md.sal.trace.closetracker.impl.CloseTracked;
-import org.opendaylight.controller.md.sal.trace.closetracker.impl.CloseTrackedRegistry;
-import org.opendaylight.controller.md.sal.trace.closetracker.impl.CloseTrackedTrait;
+import java.util.Optional;
+import org.eclipse.jdt.annotation.Nullable;
 import org.opendaylight.mdsal.common.api.CommitInfo;
+import org.opendaylight.mdsal.common.api.LogicalDatastoreType;
+import org.opendaylight.mdsal.dom.api.DOMDataTreeReadWriteTransaction;
 import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier;
 import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode;
 
 class TracingReadWriteTransaction
     extends AbstractTracingWriteTransaction
-        implements DOMDataReadWriteTransaction, CloseTracked<TracingReadWriteTransaction> {
+        implements DOMDataTreeReadWriteTransaction, CloseTracked<TracingReadWriteTransaction> {
 
     private final CloseTrackedTrait<TracingReadWriteTransaction> closeTracker;
-    private final DOMDataReadWriteTransaction delegate;
+    private final DOMDataTreeReadWriteTransaction delegate;
 
-    TracingReadWriteTransaction(DOMDataReadWriteTransaction delegate, TracingBroker tracingBroker,
+    TracingReadWriteTransaction(DOMDataTreeReadWriteTransaction delegate, TracingBroker tracingBroker,
             CloseTrackedRegistry<TracingReadWriteTransaction> readWriteTransactionsRegistry) {
         super(delegate, tracingBroker);
         this.closeTracker = new CloseTrackedTrait<>(readWriteTransactionsRegistry, this);
-        this.delegate = Objects.requireNonNull(delegate);
+        this.delegate = requireNonNull(delegate);
     }
 
     @Override
-    public CheckedFuture<Optional<NormalizedNode<?, ?>>, ReadFailedException> read(
-                                                            LogicalDatastoreType store, YangInstanceIdentifier yiid) {
+    public FluentFuture<Optional<NormalizedNode<?, ?>>> read(LogicalDatastoreType store, YangInstanceIdentifier yiid) {
         return delegate.read(store, yiid);
     }
 
     @Override
-    public CheckedFuture<Boolean, ReadFailedException> exists(LogicalDatastoreType store, YangInstanceIdentifier yiid) {
+    public FluentFuture<Boolean> exists(LogicalDatastoreType store, YangInstanceIdentifier yiid) {
         return delegate.exists(store, yiid);
     }
 
@@ -59,7 +55,7 @@ class TracingReadWriteTransaction
     }
 
     @Override
-    public StackTraceElement[] getAllocationContextStackTrace() {
+    public @Nullable StackTraceElement[] getAllocationContextStackTrace() {
         return closeTracker.getAllocationContextStackTrace();
     }
 
@@ -5,15 +5,14 @@
  * terms of the Eclipse Public License v1.0 which accompanies this distribution,
  * and is available at http://www.eclipse.org/legal/epl-v10.html
  */
-package org.opendaylight.controller.md.sal.trace.dom.impl;
+package org.opendaylight.mdsal.trace.impl;
 
-import java.util.Objects;
-import org.opendaylight.controller.md.sal.dom.api.DOMDataReadOnlyTransaction;
-import org.opendaylight.controller.md.sal.dom.api.DOMDataReadWriteTransaction;
-import org.opendaylight.controller.md.sal.dom.api.DOMDataWriteTransaction;
-import org.opendaylight.controller.md.sal.dom.api.DOMTransactionChain;
-import org.opendaylight.controller.md.sal.trace.closetracker.impl.AbstractCloseTracked;
-import org.opendaylight.controller.md.sal.trace.closetracker.impl.CloseTrackedRegistry;
+import static java.util.Objects.requireNonNull;
+
+import org.opendaylight.mdsal.dom.api.DOMDataTreeReadTransaction;
+import org.opendaylight.mdsal.dom.api.DOMDataTreeReadWriteTransaction;
+import org.opendaylight.mdsal.dom.api.DOMDataTreeWriteTransaction;
+import org.opendaylight.mdsal.dom.api.DOMTransactionChain;
 
 class TracingTransactionChain extends AbstractCloseTracked<TracingTransactionChain> implements DOMTransactionChain {
 
@@ -26,8 +25,8 @@ class TracingTransactionChain extends AbstractCloseTracked<TracingTransactionCha
     TracingTransactionChain(DOMTransactionChain delegate, TracingBroker tracingBroker,
             CloseTrackedRegistry<TracingTransactionChain> transactionChainsRegistry) {
         super(transactionChainsRegistry);
-        this.delegate = Objects.requireNonNull(delegate);
-        this.tracingBroker = Objects.requireNonNull(tracingBroker);
+        this.delegate = requireNonNull(delegate);
+        this.tracingBroker = requireNonNull(tracingBroker);
 
         final boolean isDebug = transactionChainsRegistry.isDebugContextEnabled();
         String anchor = "TransactionChain@" + Integer.toHexString(hashCode());
@@ -38,20 +37,20 @@ class TracingTransactionChain extends AbstractCloseTracked<TracingTransactionCha
 
     @Override
     @SuppressWarnings("resource")
-    public DOMDataReadOnlyTransaction newReadOnlyTransaction() {
-        final DOMDataReadOnlyTransaction tx = delegate.newReadOnlyTransaction();
+    public DOMDataTreeReadTransaction newReadOnlyTransaction() {
+        final DOMDataTreeReadTransaction tx = delegate.newReadOnlyTransaction();
         return new TracingReadOnlyTransaction(tx, readOnlyTransactionsRegistry);
     }
 
     @Override
-    public DOMDataReadWriteTransaction newReadWriteTransaction() {
+    public DOMDataTreeReadWriteTransaction newReadWriteTransaction() {
         return new TracingReadWriteTransaction(delegate.newReadWriteTransaction(), tracingBroker,
                 readWriteTransactionsRegistry);
     }
 
     @Override
-    public DOMDataWriteTransaction newWriteOnlyTransaction() {
-        final DOMDataWriteTransaction tx = delegate.newWriteOnlyTransaction();
+    public DOMDataTreeWriteTransaction newWriteOnlyTransaction() {
+        final DOMDataTreeWriteTransaction tx = delegate.newWriteOnlyTransaction();
         return new TracingWriteTransaction(tx, tracingBroker, writeTransactionsRegistry);
     }
 
@@ -73,7 +72,6 @@ class TracingTransactionChain extends AbstractCloseTracked<TracingTransactionCha
         return writeTransactionsRegistry;
     }
 
-
     // https://jira.opendaylight.org/browse/CONTROLLER-1792
 
     @Override
@@ -90,5 +88,4 @@ class TracingTransactionChain extends AbstractCloseTracked<TracingTransactionCha
     public final String toString() {
         return getClass().getName() + "; delegate=" + delegate;
     }
-
 }
@@ -5,21 +5,19 @@
  * terms of the Eclipse Public License v1.0 which accompanies this distribution,
  * and is available at http://www.eclipse.org/legal/epl-v10.html
  */
-package org.opendaylight.controller.md.sal.trace.dom.impl;
+package org.opendaylight.mdsal.trace.impl;
 
 import com.google.common.util.concurrent.FluentFuture;
-import org.opendaylight.controller.md.sal.dom.api.DOMDataWriteTransaction;
-import org.opendaylight.controller.md.sal.trace.closetracker.impl.CloseTracked;
-import org.opendaylight.controller.md.sal.trace.closetracker.impl.CloseTrackedRegistry;
-import org.opendaylight.controller.md.sal.trace.closetracker.impl.CloseTrackedTrait;
+import org.eclipse.jdt.annotation.Nullable;
 import org.opendaylight.mdsal.common.api.CommitInfo;
+import org.opendaylight.mdsal.dom.api.DOMDataTreeWriteTransaction;
 
 class TracingWriteTransaction extends AbstractTracingWriteTransaction
         implements CloseTracked<TracingWriteTransaction> {
 
     private final CloseTrackedTrait<TracingWriteTransaction> closeTracker;
 
-    TracingWriteTransaction(DOMDataWriteTransaction delegate, TracingBroker tracingBroker,
+    TracingWriteTransaction(DOMDataTreeWriteTransaction delegate, TracingBroker tracingBroker,
             CloseTrackedRegistry<TracingWriteTransaction> writeTransactionsRegistry) {
         super(delegate, tracingBroker);
         this.closeTracker = new CloseTrackedTrait<>(writeTransactionsRegistry, this);
@@ -38,7 +36,7 @@ class TracingWriteTransaction extends AbstractTracingWriteTransaction
     }
 
     @Override
-    public StackTraceElement[] getAllocationContextStackTrace() {
+    public @Nullable StackTraceElement[] getAllocationContextStackTrace() {
         return closeTracker.getAllocationContextStackTrace();
     }
 
@@ -46,5 +44,4 @@ class TracingWriteTransaction extends AbstractTracingWriteTransaction
     public CloseTracked<TracingWriteTransaction> getRealCloseTracked() {
         return this;
     }
-
 }
similarity index 71%
rename from opendaylight/md-sal/mdsal-trace/dom-impl/src/main/resources/org/opendaylight/blueprint/impl-blueprint.xml
rename to trace/mdsal-trace-impl/src/main/resources/org/opendaylight/blueprint/impl-blueprint.xml
index 95f4e1fa57b0377570f1c9480310b8ece06ecc67..6a0ecdade1adbc00e4e2ef6c49d5b07480192916 100644 (file)
@@ -22,10 +22,10 @@ and is available at http://www.eclipse.org/legal/epl-v10.html
   <!-- Tracing Binding DataBroker -->
 
   <reference id="realDefaultDOMBroker"
-      interface="org.opendaylight.controller.md.sal.dom.api.DOMDataBroker"
+      interface="org.opendaylight.mdsal.dom.api.DOMDataBroker"
       odl:type="default" />
 
-  <bean id="tracingDefaultDOMBroker" class="org.opendaylight.controller.md.sal.trace.dom.impl.TracingBroker">
+  <bean id="tracingDefaultDOMBroker" class="org.opendaylight.mdsal.trace.impl.TracingBroker">
       <argument value="default" />
       <argument ref="realDefaultDOMBroker" />
       <argument ref="mdsalConfig" />
@@ -34,18 +34,18 @@ and is available at http://www.eclipse.org/legal/epl-v10.html
 
   <service id="tracingDefaultDOMBrokerSvc" ref="tracingDefaultDOMBroker" ranking="10" odl:type="default">
     <interfaces>
-      <value>org.opendaylight.controller.md.sal.dom.api.DOMDataBroker</value>
-      <value>org.opendaylight.controller.md.sal.trace.api.TracingDOMDataBroker</value>
+      <value>org.opendaylight.mdsal.dom.api.DOMDataBroker</value>
+      <value>org.opendaylight.mdsal.trace.api.TracingDOMDataBroker</value>
     </interfaces>
   </service>
 
   <!-- Tracing Binding PingPong DataBroker -->
 
   <reference id="realPingPongDOMDataBroker"
-      interface="org.opendaylight.controller.md.sal.dom.api.DOMDataBroker"
+      interface="org.opendaylight.mdsal.dom.api.DOMDataBroker"
       odl:type="pingpong"/>
 
-  <bean id="tracingPingPongDOMBroker" class="org.opendaylight.controller.md.sal.trace.dom.impl.TracingBroker">
+  <bean id="tracingPingPongDOMBroker" class="org.opendaylight.mdsal.trace.impl.TracingBroker">
       <argument value="pingpong" />
       <argument ref="realPingPongDOMDataBroker" />
       <argument ref="mdsalConfig" />
@@ -54,8 +54,8 @@ and is available at http://www.eclipse.org/legal/epl-v10.html
 
   <service id="tracingPingPongDOMBrokerSvc" ref="tracingPingPongDOMBroker" ranking="10" odl:type="pingpong">
     <interfaces>
-      <value>org.opendaylight.controller.md.sal.dom.api.DOMDataBroker</value>
-      <value>org.opendaylight.controller.md.sal.trace.api.TracingDOMDataBroker</value>
+      <value>org.opendaylight.mdsal.dom.api.DOMDataBroker</value>
+      <value>org.opendaylight.mdsal.trace.api.TracingDOMDataBroker</value>
     </interfaces>
   </service>
 </blueprint>
@@ -5,7 +5,7 @@
  * terms of the Eclipse Public License v1.0 which accompanies this distribution,
  * and is available at http://www.eclipse.org/legal/epl-v10.html
  */
-package org.opendaylight.controller.md.sal.trace.tests;
+package org.opendaylight.mdsal.trace.impl;
 
 import static com.google.common.truth.Truth.assertThat;
 import static org.junit.Assert.fail;
@@ -13,9 +13,6 @@ import static org.junit.Assert.fail;
 import java.util.Set;
 import java.util.function.Predicate;
 import org.junit.Test;
-import org.opendaylight.controller.md.sal.trace.closetracker.impl.AbstractCloseTracked;
-import org.opendaylight.controller.md.sal.trace.closetracker.impl.CloseTrackedRegistry;
-import org.opendaylight.controller.md.sal.trace.closetracker.impl.CloseTrackedRegistryReportEntry;
 
 public class CloseTrackedRegistryTest {
 
similarity index 80%
rename from opendaylight/md-sal/mdsal-trace/dom-impl/src/test/java/org/opendaylight/controller/md/sal/trace/tests/TracingBrokerTest.java
rename to trace/mdsal-trace-impl/src/test/java/org/opendaylight/mdsal/trace/test/TracingBrokerTest.java
index 4e24c7d892abfb3cffd40725b7d0d73a3b054739..cfacce85344e0cdcf6c6eb46fd051148a60cb532 100644 (file)
@@ -5,7 +5,7 @@
  * terms of the Eclipse Public License v1.0 which accompanies this distribution,
  * and is available at http://www.eclipse.org/legal/epl-v10.html
  */
-package org.opendaylight.controller.md.sal.trace.tests;
+package org.opendaylight.mdsal.trace.test;
 
 import static com.google.common.truth.Truth.assertThat;
 import static java.nio.charset.StandardCharsets.UTF_8;
@@ -15,16 +15,17 @@ import static org.mockito.Mockito.mock;
 import java.io.ByteArrayOutputStream;
 import java.io.PrintStream;
 import org.junit.Test;
-import org.opendaylight.controller.md.sal.dom.api.DOMDataBroker;
-import org.opendaylight.controller.md.sal.dom.api.DOMDataReadWriteTransaction;
-import org.opendaylight.controller.md.sal.dom.api.DOMTransactionChain;
-import org.opendaylight.controller.md.sal.trace.dom.impl.TracingBroker;
 import org.opendaylight.mdsal.binding.dom.codec.api.BindingNormalizedNodeSerializer;
+import org.opendaylight.mdsal.dom.api.DOMDataBroker;
+import org.opendaylight.mdsal.dom.api.DOMDataTreeReadWriteTransaction;
+import org.opendaylight.mdsal.dom.api.DOMTransactionChain;
+import org.opendaylight.mdsal.trace.impl.TracingBroker;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.mdsaltrace.rev160908.Config;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.mdsaltrace.rev160908.ConfigBuilder;
 
 /**
- * Test of {@link TracingBroker}.
+ * Test of {@link TracingBroker}. This test resides outside of org.opendaylight.mdsal.trace.impl package on purpose,
+ * as the package name is used to suppress stack entries.
  *
  * @author Michael Vorburger.ch
  */
@@ -39,12 +40,12 @@ public class TracingBrokerTest {
         TracingBroker tracingBroker = new TracingBroker("mock", domDataBroker, config, codec);
 
         for (int i = 0; i < 3; i++) {
-            DOMDataReadWriteTransaction tx = tracingBroker.newReadWriteTransaction();
+            DOMDataTreeReadWriteTransaction tx = tracingBroker.newReadWriteTransaction();
         }
-        DOMDataReadWriteTransaction anotherTx = tracingBroker.newReadWriteTransaction();
+        DOMDataTreeReadWriteTransaction anotherTx = tracingBroker.newReadWriteTransaction();
 
         DOMTransactionChain txChain = tracingBroker.createTransactionChain(null);
-        DOMDataReadWriteTransaction txFromChain = txChain.newReadWriteTransaction();
+        DOMDataTreeReadWriteTransaction txFromChain = txChain.newReadWriteTransaction();
 
         ByteArrayOutputStream baos = new ByteArrayOutputStream();
         PrintStream ps = new PrintStream(baos);
diff --git a/trace/pom.xml b/trace/pom.xml
new file mode 100644 (file)
index 0000000..3881efc
--- /dev/null
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Copyright © 2016 Red Hat and others. All rights reserved.
+ This program and the accompanying materials are made available under the
+ terms of the Eclipse Public License v1.0 which accompanies this distribution,
+ and is available at http://www.eclipse.org/legal/epl-v10.html INTERNAL
+-->
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+    <modelVersion>4.0.0</modelVersion>
+    <parent>
+        <groupId>org.opendaylight.odlparent</groupId>
+        <artifactId>odlparent-lite</artifactId>
+        <version>4.0.7</version>
+        <relativePath/>
+    </parent>
+
+    <groupId>org.opendaylight.mdsal</groupId>
+    <artifactId>trace-aggregator</artifactId>
+    <version>1.0.4-SNAPSHOT</version>
+    <packaging>pom</packaging>
+    <name>${project.artifactId}</name>
+    <description>${project.artifactId}</description>
+
+    <modules>
+        <module>mdsal-trace-api</module>
+        <module>mdsal-trace-cli</module>
+        <module>mdsal-trace-impl</module>
+    </modules>
+
+    <!-- DO NOT install or deploy the repo root pom as it's only needed to initiate a build -->
+    <properties>
+        <maven.deploy.skip>true</maven.deploy.skip>
+        <maven.install.skip>true</maven.install.skip>
+    </properties>
+</project>