Author: bdelacretaz
Date: Thu Jun  6 16:31:58 2013
New Revision: 1490341

URL: http://svn.apache.org/r1490341
Log:
SLING-2822 - rework test to use as example code

Modified:
    
sling/trunk/contrib/extensions/healthcheck/hc-core/src/test/java/org/apache/sling/hc/impl/RulesEngineTest.java

Modified: 
sling/trunk/contrib/extensions/healthcheck/hc-core/src/test/java/org/apache/sling/hc/impl/RulesEngineTest.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/healthcheck/hc-core/src/test/java/org/apache/sling/hc/impl/RulesEngineTest.java?rev=1490341&r1=1490340&r2=1490341&view=diff
==============================================================================
--- 
sling/trunk/contrib/extensions/healthcheck/hc-core/src/test/java/org/apache/sling/hc/impl/RulesEngineTest.java
 (original)
+++ 
sling/trunk/contrib/extensions/healthcheck/hc-core/src/test/java/org/apache/sling/hc/impl/RulesEngineTest.java
 Thu Jun  6 16:31:58 2013
@@ -34,6 +34,27 @@ import org.slf4j.Logger;
 
 public class RulesEngineTest {
     
+    /** A Rule returns the value of a SystemAttribute */
+    static class ConstantSystemAttribute implements SystemAttribute {
+
+        private final int value;
+        
+        ConstantSystemAttribute(int val) {
+            this.value = val;
+        }
+        
+        @Override
+        public Object getValue(Logger logger) {
+            logger.debug("Constant value of {} is {}", this, value);
+            return value;
+        }
+        
+    }
+    
+    /** A RuleBuilder builds Rules for a specific namespace and a set
+     *  of rule names. The qualifier and expression are used to further
+     *  specify the Rule and SystemAttribute.
+     */
     static class TestBuilder implements RuleBuilder {
         @Override
         public Rule buildRule(final String namespace, final String 
ruleName,final String qualifier, final String expression) {
@@ -41,23 +62,19 @@ public class RulesEngineTest {
                 return null;
             }
             
-            SystemAttribute attr = new SystemAttribute() {
-                @Override
-                public Object getValue(Logger logger) {
-                    if("constant".equals(ruleName)) {
-                        return Integer.valueOf(qualifier);
-                    } else if("invert".equals(ruleName)) {
-                            return Integer.valueOf("-" + qualifier);
-                    } else {
-                        return null;
-                    }
-                }
-                
-            };
+            SystemAttribute attr = null;
+            if("constant".equals(ruleName)) {
+                attr = new ConstantSystemAttribute(Integer.valueOf(qualifier));
+            } else if("invert".equals(ruleName)) {
+                attr = new ConstantSystemAttribute(Integer.valueOf("-" + 
qualifier));
+            } else {
+                return null;
+            }
             
             return new Rule(attr, expression, new DefaultEvaluator()) {
                 @Override
                 public String toString() {
+                    // specific toString() value used in our tests 
                     return "" + namespace + "_" + ruleName + "_" + qualifier + 
"_" + expression;
                 }
             };


Reply via email to