Merge "Ported ZookeeperRegistry to new Curator version using their notifications"
diff --git a/conf/findbugs/exclude.xml b/conf/findbugs/exclude.xml
new file mode 100644
index 0000000..b6a240a
--- /dev/null
+++ b/conf/findbugs/exclude.xml
@@ -0,0 +1,14 @@
+<FindBugsFilter>
+     <!--
+        Note: Exclusion definition exists in multiple places.
+        - In file ${findbugs.excludeFilterFile} defined at top of pom.xml (this file)
+        - maven-checkstyle-plugin configuration in pom.xml
+        - maven-pmd-plugin configuration in pom.xml
+     -->
+     <Match>
+       <Class name="~net.onrc.onos.datastore.RCProtos(.*)?" />
+     </Match>
+     <Match>
+       <Class name="~com.tinkerpop.blueprints.impls.ramcloud.RamCloudGraphProtos(.*)?" />
+     </Match>
+</FindBugsFilter>
diff --git a/pom.xml b/pom.xml
index 18ea3db..ad96aab 100644
--- a/pom.xml
+++ b/pom.xml
@@ -33,6 +33,10 @@
     <powermock.version>1.5.1</powermock.version>
     <restlet.version>2.1.4</restlet.version>
     <cobertura-maven-plugin.version>2.6</cobertura-maven-plugin.version>
+    <findbugs-plugin.version>2.5.3</findbugs-plugin.version>
+    <findbugs.effort>Max</findbugs.effort>
+    <findbugs.excludeFilterFile>conf/findbugs/exclude.xml</findbugs.excludeFilterFile>
+    <checkstyle-plugin.version>2.12</checkstyle-plugin.version>
     <!-- To publish javadoc to github,
      uncomment com.github.github site-maven-plugin and
      see https://github.com/OPENNETWORKINGLAB/ONOS/pull/425
@@ -45,7 +49,7 @@
 	<!-- Note: the checkstyle configuration is also in the reporting section -->
 	<groupId>org.apache.maven.plugins</groupId>
 	<artifactId>maven-checkstyle-plugin</artifactId>
-	<version>2.11</version>
+	<version>${checkstyle-plugin.version}</version>
 	<configuration>
 	  <configLocation>conf/checkstyle/sun_checks.xml</configLocation>
 	</configuration>
@@ -53,7 +57,7 @@
       <plugin>
         <groupId>org.apache.maven.plugins</groupId>
         <artifactId>maven-install-plugin</artifactId>
-        <version>2.3.1</version>
+        <version>2.5.1</version>
         <executions>
         </executions>
       </plugin>
@@ -67,7 +71,7 @@
       <plugin>
         <groupId>org.apache.maven.plugins</groupId>
         <artifactId>maven-compiler-plugin</artifactId>
-        <version>2.3.2</version>
+        <version>3.1</version>
         <configuration>
           <source>1.7</source>
           <target>1.7</target>
@@ -80,7 +84,7 @@
       <plugin>
         <groupId>org.apache.maven.plugins</groupId>
         <artifactId>maven-surefire-plugin</artifactId>
-        <version>2.12</version>
+        <version>2.16</version>
         <configuration>
           <excludes>
             <!-- exclude all test cases for now -->
@@ -130,7 +134,7 @@
       <plugin>
         <groupId>org.apache.maven.plugins</groupId>
         <artifactId>maven-javadoc-plugin</artifactId>
-        <version>2.9</version>
+        <version>2.9.1</version>
         <configuration>
           <charset>UTF-8</charset>
           <locale>en</locale>
@@ -229,6 +233,16 @@
           </execution>
         </executions>
       </plugin>
+      <!-- Note: the findbugs configuration is also in the reporting section -->
+      <plugin>
+        <groupId>org.codehaus.mojo</groupId>
+        <artifactId>findbugs-maven-plugin</artifactId>
+        <version>${findbugs-plugin.version}</version>
+        <configuration>
+          <effort>${findbugs.effort}</effort>
+          <excludeFilterFile>${findbugs.excludeFilterFile}</excludeFilterFile>
+        </configuration>
+      </plugin>
     </plugins>
     <pluginManagement>
       <plugins>
@@ -280,7 +294,7 @@
       <plugin>
         <groupId>org.apache.maven.plugins</groupId>
         <artifactId>maven-project-info-reports-plugin</artifactId>
-        <version>2.4</version>
+        <version>2.7</version>
         <configuration>
           <dependencyDetailsEnabled>false</dependencyDetailsEnabled>
           <dependencyLocationsEnabled>false</dependencyLocationsEnabled>
@@ -298,7 +312,7 @@
       <plugin>
         <groupId>org.apache.maven.plugins</groupId>
         <artifactId>maven-javadoc-plugin</artifactId>
-        <version>2.9</version>
+        <version>2.9.1</version>
         <configuration>
           <charset>UTF-8</charset>
           <locale>en</locale>
@@ -308,9 +322,16 @@
 	<!-- Note: the checkstyle configuration is also in the build section -->
 	<groupId>org.apache.maven.plugins</groupId>
 	<artifactId>maven-checkstyle-plugin</artifactId>
-	<version>2.11</version>
+	<version>${checkstyle-plugin.version}</version>
 	<configuration>
 	  <configLocation>conf/checkstyle/sun_checks.xml</configLocation>
+          <!--
+            Note: Exclusion definition exists in multiple places.
+            - In file ${findbugs.excludeFilterFile} defined at top of pom.xml
+            - maven-checkstyle-plugin configuration in pom.xml
+            - maven-pmd-plugin configuration in pom.xml
+          -->
+          <excludes>**/RCProtos.java,**/RamCloudGraphProtos.java</excludes>
 	</configuration>
 	<reportSets>
 	  <reportSet>
@@ -320,11 +341,14 @@
 	  </reportSet>
 	</reportSets>
       </plugin>
+      <!-- Note: the findbugs configuration is also in the build section -->
       <plugin>
         <groupId>org.codehaus.mojo</groupId>
         <artifactId>findbugs-maven-plugin</artifactId>
-        <version>2.5.3</version>
+        <version>${findbugs-plugin.version}</version>
         <configuration>
+          <effort>${findbugs.effort}</effort>
+          <excludeFilterFile>${findbugs.excludeFilterFile}</excludeFilterFile>
           <reportPlugins>
             <plugin>
               <groupId>org.codehaus.mojo</groupId>
@@ -336,12 +360,24 @@
       <plugin>
         <groupId>org.apache.maven.plugins</groupId>
         <artifactId>maven-pmd-plugin</artifactId>
-        <version>3.0.1</version>
+        <version>3.1</version>
+        <configuration>
+          <!--
+            Note: Exclusion definition exists in multiple places.
+            - In file ${findbugs.excludeFilterFile} defined at top of pom.xml
+            - maven-checkstyle-plugin configuration in pom.xml
+            - maven-pmd-plugin configuration in pom.xml
+          -->
+          <excludes>
+            <exclude>**/RCProtos.java</exclude>
+            <exclude>**/RamCloudGraphProtos.java</exclude>
+          </excludes>
+        </configuration>
       </plugin>
       <plugin>
 	<groupId>org.apache.maven.plugins</groupId>
 	<artifactId>maven-jxr-plugin</artifactId>
-	<version>2.3</version>
+	<version>2.4</version>
     </plugin>
       <plugin>
         <groupId>org.codehaus.mojo</groupId>