You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@logging.apache.org by gg...@apache.org on 2016/04/13 04:08:34 UTC

logging-log4j2 git commit: Use a Switch on String instead of cascading if-else's.

Repository: logging-log4j2
Updated Branches:
  refs/heads/master 437238fcf -> 90adca7a5


Use a Switch on String instead of cascading if-else's.

Project: http://git-wip-us.apache.org/repos/asf/logging-log4j2/repo
Commit: http://git-wip-us.apache.org/repos/asf/logging-log4j2/commit/90adca7a
Tree: http://git-wip-us.apache.org/repos/asf/logging-log4j2/tree/90adca7a
Diff: http://git-wip-us.apache.org/repos/asf/logging-log4j2/diff/90adca7a

Branch: refs/heads/master
Commit: 90adca7a54299955c72332c79c0546be536528b8
Parents: 437238f
Author: ggregory <gg...@apache.org>
Authored: Tue Apr 12 19:08:30 2016 -0700
Committer: ggregory <gg...@apache.org>
Committed: Tue Apr 12 19:08:30 2016 -0700

----------------------------------------------------------------------
 .../logging/log4j/core/async/DisruptorUtil.java | 32 +++++++++++---------
 1 file changed, 17 insertions(+), 15 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/90adca7a/log4j-core/src/main/java/org/apache/logging/log4j/core/async/DisruptorUtil.java
----------------------------------------------------------------------
diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/async/DisruptorUtil.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/async/DisruptorUtil.java
index 99c3ba8..8fb00c4 100644
--- a/log4j-core/src/main/java/org/apache/logging/log4j/core/async/DisruptorUtil.java
+++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/async/DisruptorUtil.java
@@ -17,6 +17,7 @@
 
 package org.apache.logging.log4j.core.async;
 
+import java.util.Locale;
 import java.util.concurrent.Callable;
 import java.util.concurrent.ExecutorService;
 import java.util.concurrent.Future;
@@ -55,22 +56,23 @@ final class DisruptorUtil {
     }
 
     static WaitStrategy createWaitStrategy(final String propertyName, final long timeoutMillis) {
-        final String strategy = PropertiesUtil.getProperties().getStringProperty(propertyName);
-        if (strategy != null) {
-            LOGGER.trace("property {}={}", propertyName, strategy);
-            if ("Sleep".equalsIgnoreCase(strategy)) {
-                return new SleepingWaitStrategy();
-            } else if ("Yield".equalsIgnoreCase(strategy)) {
-                return new YieldingWaitStrategy();
-            } else if ("Block".equalsIgnoreCase(strategy)) {
-                return new BlockingWaitStrategy();
-            } else if ("BusySpin".equalsIgnoreCase(strategy)) {
-                return new BusySpinWaitStrategy();
-            } else if ("Timeout".equalsIgnoreCase(strategy)) {
-                return new TimeoutBlockingWaitStrategy(timeoutMillis, TimeUnit.MILLISECONDS);
-            }
+        final String strategy = PropertiesUtil.getProperties().getStringProperty(propertyName, "TIMEOUT");
+        LOGGER.trace("property {}={}", propertyName, strategy);
+        final String strategyUp = strategy.toUpperCase(Locale.ROOT); // TODO Refactor into Strings.toRootUpperCase(String)
+        switch (strategyUp) { // TODO Define a DisruptorWaitStrategy enum?
+        case "SLEEP":
+            return new SleepingWaitStrategy();
+        case "YIELD":
+            return new YieldingWaitStrategy();
+        case "BLOCK":
+            return new BlockingWaitStrategy();
+        case "BUSYSPIN":
+            return new BusySpinWaitStrategy();
+        case "TIMEOUT":
+            return new TimeoutBlockingWaitStrategy(timeoutMillis, TimeUnit.MILLISECONDS);
+        default:
+            return new TimeoutBlockingWaitStrategy(timeoutMillis, TimeUnit.MILLISECONDS);
         }
-        return new TimeoutBlockingWaitStrategy(timeoutMillis, TimeUnit.MILLISECONDS);
     }
 
     static int calculateRingBufferSize(final String propertyName) {