Author: rdonkin
Date: Fri Jul 24 15:43:24 2009
New Revision: 797542

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

Modified:
    james/jsieve/trunk/main/src/main/java/org/apache/jsieve/tests/Exists.java
    james/jsieve/trunk/main/src/main/java/org/apache/jsieve/tests/Header.java

Modified: 
james/jsieve/trunk/main/src/main/java/org/apache/jsieve/tests/Exists.java
URL: 
http://svn.apache.org/viewvc/james/jsieve/trunk/main/src/main/java/org/apache/jsieve/tests/Exists.java?rev=797542&r1=797541&r2=797542&view=diff
==============================================================================
--- james/jsieve/trunk/main/src/main/java/org/apache/jsieve/tests/Exists.java 
(original)
+++ james/jsieve/trunk/main/src/main/java/org/apache/jsieve/tests/Exists.java 
Fri Jul 24 15:43:24 2009
@@ -19,9 +19,9 @@
 
 package org.apache.jsieve.tests;
 
-import java.util.Iterator;
 import java.util.List;
 
+import org.apache.jsieve.Argument;
 import org.apache.jsieve.Arguments;
 import org.apache.jsieve.SieveContext;
 import org.apache.jsieve.StringListArgument;
@@ -47,14 +47,16 @@
     protected boolean executeBasic(MailAdapter mail, Arguments arguments,
             SieveContext context) throws SieveException {
 
-        Iterator headerNamesIter = ((StringListArgument) arguments
-                .getArgumentList().get(0)).getList().iterator();
-
+        final List<String> argumentList = ((StringListArgument) arguments
+                                .getArgumentList().get(0)).getList();
+        
         boolean found = true;
-        while (found && headerNamesIter.hasNext()) {
-            List<String> headers = mail.getMatchingHeader((String) 
headerNamesIter
-                    .next());
+        for (final String arg:argumentList) {
+            List<String> headers = mail.getMatchingHeader(arg);
             found = found && !headers.isEmpty();
+            if (!found) {
+                break;
+            }
         }
         return found;
     }
@@ -65,7 +67,7 @@
      */
     protected void validateArguments(Arguments arguments, SieveContext context)
             throws SieveException {
-        List argumentsList = arguments.getArgumentList();
+        List<Argument> argumentsList = arguments.getArgumentList();
         if (1 != argumentsList.size())
             throw context.getCoordinate().syntaxException(
                     "Expecting exactly one argument");

Modified: 
james/jsieve/trunk/main/src/main/java/org/apache/jsieve/tests/Header.java
URL: 
http://svn.apache.org/viewvc/james/jsieve/trunk/main/src/main/java/org/apache/jsieve/tests/Header.java?rev=797542&r1=797541&r2=797542&view=diff
==============================================================================
--- james/jsieve/trunk/main/src/main/java/org/apache/jsieve/tests/Header.java 
(original)
+++ james/jsieve/trunk/main/src/main/java/org/apache/jsieve/tests/Header.java 
Fri Jul 24 15:43:24 2009
@@ -24,6 +24,7 @@
 import java.util.List;
 import java.util.ListIterator;
 
+import org.apache.jsieve.Argument;
 import org.apache.jsieve.Arguments;
 import org.apache.jsieve.SieveContext;
 import org.apache.jsieve.StringListArgument;
@@ -71,26 +72,26 @@
         List<String> headerNames = null;
         List<String> keys = null;
 
-        ListIterator argumentsIter = 
arguments.getArgumentList().listIterator();
+        ListIterator<Argument> argumentsIter = 
arguments.getArgumentList().listIterator();
         boolean stop = false;
 
         // Tag processing
         while (!stop && argumentsIter.hasNext()) {
-            Object argument = argumentsIter.next();
+            Argument argument = argumentsIter.next();
             if (argument instanceof TagArgument) {
-                String tag = ((TagArgument) argument).getTag();
+                final String tag = ((TagArgument) argument).getTag();
 
                 if (null == comparator && tag.equals(COMPARATOR_TAG)) {
                     // The next argument must be a stringlist
                     if (argumentsIter.hasNext()) {
                         argument = argumentsIter.next();
                         if (argument instanceof StringListArgument) {
-                            List stringList = ((StringListArgument) argument)
+                            List<String> stringList = ((StringListArgument) 
argument)
                                     .getList();
                             if (stringList.size() != 1)
                                 throw context.getCoordinate().syntaxException(
                                         "Expecting exactly one String");
-                            comparator = (String) stringList.get(0);
+                            comparator = stringList.get(0);
                         } else
                             throw context.getCoordinate().syntaxException(
                                     "Expecting a StringList");
@@ -113,7 +114,7 @@
 
         // The next argument MUST be a string-list of header names
         if (argumentsIter.hasNext()) {
-            Object argument = argumentsIter.next();
+            final Argument argument = argumentsIter.next();
             if (argument instanceof StringListArgument)
                 headerNames = ((StringListArgument) argument).getList();
         }
@@ -123,7 +124,7 @@
 
         // The next argument MUST be a string-list of keys
         if (argumentsIter.hasNext()) {
-            Object argument = argumentsIter.next();
+            final Argument argument = argumentsIter.next();
             if (argument instanceof StringListArgument)
                 keys = ((StringListArgument) argument).getList();
         }
@@ -148,8 +149,7 @@
      * @param matchType
      * @param headerNames
      * @param keys
-     * @param context
-     *            TODO
+     * @param context not null
      * @return boolean
      * @throws SieveException
      */
@@ -174,8 +174,7 @@
      * @param matchType
      * @param headerValues
      * @param keys
-     * @param context
-     *            TODO
+     * @param context not null
      * @return boolean
      * @throws SieveException
      */
@@ -212,8 +211,7 @@
      * @param matchType
      * @param headerValue
      * @param keys
-     * @param context
-     *            TODO
+     * @param context not null
      * @return boolean
      * @throws SieveException
      */



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

Reply via email to