You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@logging.apache.org by ma...@apache.org on 2014/04/20 21:21:20 UTC

svn commit: r1588824 - /logging/log4j/log4j2/trunk/log4j-api/src/main/java/org/apache/logging/log4j/MarkerManager.java

Author: mattsicker
Date: Sun Apr 20 19:21:20 2014
New Revision: 1588824

URL: http://svn.apache.org/r1588824
Log:
Update MarkerManager.

  - Remove unused imports.
  - Suppress static code analysis warning about call to System
  .arraycopy in synchronized context being slow (it shouldn't be).
  - Use for-each loops where possible.
  - Use varargs in contains method.
  - Add matching @Deprecated annotations.

Modified:
    logging/log4j/log4j2/trunk/log4j-api/src/main/java/org/apache/logging/log4j/MarkerManager.java

Modified: logging/log4j/log4j2/trunk/log4j-api/src/main/java/org/apache/logging/log4j/MarkerManager.java
URL: http://svn.apache.org/viewvc/logging/log4j/log4j2/trunk/log4j-api/src/main/java/org/apache/logging/log4j/MarkerManager.java?rev=1588824&r1=1588823&r2=1588824&view=diff
==============================================================================
--- logging/log4j/log4j2/trunk/log4j-api/src/main/java/org/apache/logging/log4j/MarkerManager.java (original)
+++ logging/log4j/log4j2/trunk/log4j-api/src/main/java/org/apache/logging/log4j/MarkerManager.java Sun Apr 20 19:21:20 2014
@@ -17,8 +17,6 @@
 package org.apache.logging.log4j;
 
 import java.util.Arrays;
-import java.util.HashSet;
-import java.util.Set;
 import java.util.concurrent.ConcurrentHashMap;
 import java.util.concurrent.ConcurrentMap;
 
@@ -52,6 +50,7 @@ public final class MarkerManager {
      * @throws IllegalArgumentException if the parent Marker does not exist.
      * @deprecated Use the Marker add or set methods to add parent Markers. Will be removed by final GA release.
      */
+    @Deprecated
     public static Marker getMarker(final String name, final String parent) {
         final Marker parentMarker = markerMap.get(parent);
         if (parentMarker == null) {
@@ -67,6 +66,7 @@ public final class MarkerManager {
      * @return The Marker with the specified name.
      * @deprecated Use the Marker add or set methods to add parent Markers. Will be removed by final GA release.
      */
+    @Deprecated
     public static Marker getMarker(final String name, final Marker parent) {
         markerMap.putIfAbsent(name, new Log4jMarker(name));
         return markerMap.get(name).add(parent);
@@ -101,6 +101,8 @@ public final class MarkerManager {
             int size = localParents == null ? 1 : localParents.length + 1;
             Marker[] markers = new Marker[size];
             if (localParents != null) {
+                // It's perfectly OK to call arraycopy in a synchronized context; it's still faster
+                //noinspection CallToNativeMethodWhileLocked
                 System.arraycopy(localParents, 0, markers, 0, localParents.length);
             }
             markers[size - 1] = parent;
@@ -126,8 +128,7 @@ public final class MarkerManager {
             }
             int index = 0;
             Marker[] markers = new Marker[localParents.length - 1];
-            for (int i = 0; i < localParents.length; ++i) {
-                Marker marker = localParents[i];
+            for (Marker marker : localParents) {
                 if (!marker.equals(parent)) {
                     if (index == localParents.length - 1) {
                         return false;
@@ -191,8 +192,8 @@ public final class MarkerManager {
                 if (localParents.length == 2) {
                     return checkParent(localParents[0], marker) || checkParent(localParents[1], marker);
                 }
-                for (int i = 0; i < localParents.length; ++i) {
-                    if (checkParent(localParents[i], marker)) {
+                for (final Marker localParent : localParents) {
+                    if (checkParent(localParent, marker)) {
                         return true;
                     }
                 }
@@ -221,8 +222,8 @@ public final class MarkerManager {
                 if (localParents.length == 2) {
                     return checkParent(localParents[0], marker) || checkParent(localParents[1], marker);
                 }
-                for (int i = 0; i < localParents.length; ++i) {
-                    if (checkParent(localParents[i], marker)) {
+                for (final Marker localParent : localParents) {
+                    if (checkParent(localParent, marker)) {
                         return true;
                     }
                 }
@@ -243,8 +244,8 @@ public final class MarkerManager {
                 if (localParents.length == 2) {
                     return checkParent(localParents[0], marker) || checkParent(localParents[1], marker);
                 }
-                for (int i = 0; i < localParents.length; ++i) {
-                    if (checkParent(localParents[i], marker)) {
+                for (final Marker localParent : localParents) {
+                    if (checkParent(localParent, marker)) {
                         return true;
                     }
                 }
@@ -255,7 +256,7 @@ public final class MarkerManager {
         /*
          * Called from add while synchronized.
          */
-        private boolean contains(Marker parent, Marker[] localParents) {
+        private boolean contains(Marker parent, Marker... localParents) {
 
             for (Marker marker : localParents) {
                 if (marker == parent) {