Author: rdonkin
Date: Fri Jul 24 13:52:55 2009
New Revision: 797457

URL: http://svn.apache.org/viewvc?rev=797457&view=rev
Log:
JSIEVE-53 Generified TestList https://issues.apache.org/jira/browse/JSIEVE-53

Modified:
    james/jsieve/trunk/main/src/main/java/org/apache/jsieve/TestList.java

Modified: james/jsieve/trunk/main/src/main/java/org/apache/jsieve/TestList.java
URL: 
http://svn.apache.org/viewvc/james/jsieve/trunk/main/src/main/java/org/apache/jsieve/TestList.java?rev=797457&r1=797456&r2=797457&view=diff
==============================================================================
--- james/jsieve/trunk/main/src/main/java/org/apache/jsieve/TestList.java 
(original)
+++ james/jsieve/trunk/main/src/main/java/org/apache/jsieve/TestList.java Fri 
Jul 24 13:52:55 2009
@@ -75,14 +75,27 @@
      */
     public Object execute(MailAdapter mail, SieveContext context)
             throws SieveException {
-        boolean result = true;
+        return new Boolean(isTestPassed(mail, context));
+    }
 
-        Iterator testsIter = getTests().iterator();
-        while (result && testsIter.hasNext()) {
-            result = ((Boolean) ((Test) testsIter.next())
-                    .execute(mail, context)).booleanValue();
+    /**
+     * Do all tests pass for the given mail?
+     * 
+     * @param mail not null
+     * @param context not null
+     * @return false when any test in the list fails when run against the 
given mail,
+     * true when no tests fail
+     * @throws SieveException
+     */
+    public boolean isTestPassed(MailAdapter mail, SieveContext context) throws 
SieveException {
+        boolean result = true;
+        for (Test test:getTests()) {
+            result = ((Boolean) test.execute(mail, context)).booleanValue();
+            if (!result) {
+                break;
+            }
         }
-        return new Boolean(result);
+        return result;
     }
 
     /**



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to