You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sirona.apache.org by rm...@apache.org on 2015/03/19 13:41:38 UTC

svn commit: r1667727 - /incubator/sirona/trunk/api/src/main/java/org/apache/sirona/configuration/predicate/PredicateEvaluator.java

Author: rmannibucau
Date: Thu Mar 19 12:41:38 2015
New Revision: 1667727

URL: http://svn.apache.org/r1667727
Log:
avoiding 2 boolean tests when not needed for boolean true/false config in predicates

Modified:
    incubator/sirona/trunk/api/src/main/java/org/apache/sirona/configuration/predicate/PredicateEvaluator.java

Modified: incubator/sirona/trunk/api/src/main/java/org/apache/sirona/configuration/predicate/PredicateEvaluator.java
URL: http://svn.apache.org/viewvc/incubator/sirona/trunk/api/src/main/java/org/apache/sirona/configuration/predicate/PredicateEvaluator.java?rev=1667727&r1=1667726&r2=1667727&view=diff
==============================================================================
--- incubator/sirona/trunk/api/src/main/java/org/apache/sirona/configuration/predicate/PredicateEvaluator.java (original)
+++ incubator/sirona/trunk/api/src/main/java/org/apache/sirona/configuration/predicate/PredicateEvaluator.java Thu Mar 19 12:41:38 2015
@@ -30,7 +30,7 @@ public final class PredicateEvaluator {
 
     private final Map<String, Predicate> predicates = new HashMap<String, Predicate>();
     private final boolean truePredicate;
-    private final boolean falsePredicate;
+    private final boolean trueValue;
 
     public PredicateEvaluator(final String configuration, final String sep) {
         if (configuration != null && configuration.length()>0) {
@@ -70,8 +70,8 @@ public final class PredicateEvaluator {
 
                 if (predicate == TruePredicate.INSTANCE) {
                     predicates.clear(); // no need to keep it in mem since we'll always return true
-                    falsePredicate = trim.substring(separator + 1).startsWith(NOT);
-                    truePredicate = !falsePredicate;
+                    trueValue = Boolean.parseBoolean(trim.substring(separator + 1));
+                    truePredicate = true;
                     return;
                 }
 
@@ -82,21 +82,18 @@ public final class PredicateEvaluator {
                     predicate.addConfiguration(value.substring(1), false);
                 }
             }
+            trueValue = false;
             truePredicate = false;
-            falsePredicate = false;
         } else {
+            trueValue = false;
             truePredicate = false;
-            falsePredicate = false;
         }
         predicates.remove(TruePredicate.INSTANCE.prefix()); // no need to keep it in mem
     }
 
     public boolean matches(final String value) {
         if (truePredicate) {
-            return true;
-        }
-        if (falsePredicate) {
-            return false;
+            return trueValue;
         }
 
         for (final Predicate predicate : predicates.values()) {