Author: markt
Date: Tue Dec  5 21:50:00 2017
New Revision: 1817240

URL: http://svn.apache.org/viewvc?rev=1817240&view=rev
Log:
Fix remaining SpotBugs issues (rank <=16) in tribes

Modified:
    
tomcat/trunk/java/org/apache/catalina/tribes/tipis/AbstractReplicatedMap.java
    tomcat/trunk/java/org/apache/catalina/tribes/tipis/LazyReplicatedMap.java
    tomcat/trunk/java/org/apache/catalina/tribes/tipis/ReplicatedMap.java

Modified: 
tomcat/trunk/java/org/apache/catalina/tribes/tipis/AbstractReplicatedMap.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/tribes/tipis/AbstractReplicatedMap.java?rev=1817240&r1=1817239&r2=1817240&view=diff
==============================================================================
--- 
tomcat/trunk/java/org/apache/catalina/tribes/tipis/AbstractReplicatedMap.java 
(original)
+++ 
tomcat/trunk/java/org/apache/catalina/tribes/tipis/AbstractReplicatedMap.java 
Tue Dec  5 21:50:00 2017
@@ -1555,11 +1555,13 @@ public abstract class AbstractReplicated
          * @return Object
          */
         @Override
-        public Object clone() {
-            MapMessage msg = new MapMessage(this.mapId, this.msgtype, 
this.diff, this.key, this.value, this.diffvalue, this.primary, this.nodes);
-            msg.keydata = this.keydata;
-            msg.valuedata = this.valuedata;
-            return msg;
+        public MapMessage clone() {
+            try {
+                return (MapMessage) super.clone();
+            } catch (CloneNotSupportedException e) {
+                // Not possible
+                throw new AssertionError();
+            }
         }
     } //MapMessage
 

Modified: 
tomcat/trunk/java/org/apache/catalina/tribes/tipis/LazyReplicatedMap.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/tribes/tipis/LazyReplicatedMap.java?rev=1817240&r1=1817239&r2=1817240&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/tribes/tipis/LazyReplicatedMap.java 
(original)
+++ tomcat/trunk/java/org/apache/catalina/tribes/tipis/LazyReplicatedMap.java 
Tue Dec  5 21:50:00 2017
@@ -66,7 +66,8 @@ import org.apache.juli.logging.LogFactor
  */
 public class LazyReplicatedMap<K,V> extends AbstractReplicatedMap<K,V> {
     private static final long serialVersionUID = 1L;
-    private final Log log = LogFactory.getLog(LazyReplicatedMap.class);
+    // Lazy init to support serialization
+    private transient volatile Log log;
 
 
 
//------------------------------------------------------------------------------
@@ -148,6 +149,7 @@ public class LazyReplicatedMap<K,V> exte
      */
     @Override
     protected Member[] publishEntryInfo(Object key, Object value) throws 
ChannelException {
+        Log log = getLog();
         if  (! (key instanceof Serializable && value instanceof Serializable)  
) return new Member[0];
         Member[] members = getMapMembers();
         int firstIdx = getNextBackupIndex();
@@ -208,4 +210,14 @@ public class LazyReplicatedMap<K,V> exte
     }
 
 
+    private Log getLog() {
+        if (log == null) {
+            synchronized (this) {
+                if (log == null) {
+                    log = LogFactory.getLog(LazyReplicatedMap.class);
+                }
+            }
+        }
+        return log;
+    }
 }
\ No newline at end of file

Modified: tomcat/trunk/java/org/apache/catalina/tribes/tipis/ReplicatedMap.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/tribes/tipis/ReplicatedMap.java?rev=1817240&r1=1817239&r2=1817240&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/tribes/tipis/ReplicatedMap.java 
(original)
+++ tomcat/trunk/java/org/apache/catalina/tribes/tipis/ReplicatedMap.java Tue 
Dec  5 21:50:00 2017
@@ -57,7 +57,8 @@ public class ReplicatedMap<K,V> extends
 
     private static final long serialVersionUID = 1L;
 
-    private final Log log = LogFactory.getLog(ReplicatedMap.class);
+    // Lazy init to support serialization
+    private transient volatile Log log;
 
     
//--------------------------------------------------------------------------
     //              CONSTRUCTORS / DESTRUCTORS
@@ -164,8 +165,8 @@ public class ReplicatedMap<K,V> extends
                 if (backup.length == 0) {
                     throw e;
                 } else {
-                    if (log.isWarnEnabled()) {
-                        
log.warn(sm.getString("replicatedMap.unableReplicate.completely", key,
+                    if (getLog().isWarnEnabled()) {
+                        
getLog().warn(sm.getString("replicatedMap.unableReplicate.completely", key,
                                 Arrays.toString(backup), 
Arrays.toString(realFaultyMembers)), e);
                     }
                 }
@@ -177,6 +178,7 @@ public class ReplicatedMap<K,V> extends
     @Override
     public void memberDisappeared(Member member) {
         boolean removed = false;
+        Log log = getLog();
         synchronized (mapMembers) {
             removed = (mapMembers.remove(member) != null );
             if (!removed) {
@@ -260,4 +262,16 @@ public class ReplicatedMap<K,V> extends
             }
         }
     }
+
+
+    private Log getLog() {
+        if (log == null) {
+            synchronized (this) {
+                if (log == null) {
+                    log = LogFactory.getLog(ReplicatedMap.class);
+                }
+            }
+        }
+        return log;
+    }
 }
\ No newline at end of file



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org

Reply via email to