You are viewing a plain text version of this content. The canonical link for it is here.
Posted to server-dev@james.apache.org by er...@apache.org on 2013/04/18 12:45:04 UTC

svn commit: r1469272 - /james/mailbox/trunk/api/src/main/java/org/apache/james/mailbox/model/SearchQuery.java

Author: eric
Date: Thu Apr 18 10:45:04 2013
New Revision: 1469272

URL: http://svn.apache.org/r1469272
Log:
Make the org.apache.james.mailbox.model.SearchQuery and friends Serializable, patch contributed by Andrzej Rusin (JAMES-1442)

Modified:
    james/mailbox/trunk/api/src/main/java/org/apache/james/mailbox/model/SearchQuery.java

Modified: james/mailbox/trunk/api/src/main/java/org/apache/james/mailbox/model/SearchQuery.java
URL: http://svn.apache.org/viewvc/james/mailbox/trunk/api/src/main/java/org/apache/james/mailbox/model/SearchQuery.java?rev=1469272&r1=1469271&r2=1469272&view=diff
==============================================================================
--- james/mailbox/trunk/api/src/main/java/org/apache/james/mailbox/model/SearchQuery.java (original)
+++ james/mailbox/trunk/api/src/main/java/org/apache/james/mailbox/model/SearchQuery.java Thu Apr 18 10:45:04 2013
@@ -27,6 +27,7 @@ import java.util.HashSet;
 import java.util.List;
 import java.util.Set;
 
+import javax.mail.Flags;
 import javax.mail.Flags.Flag;
 
 /**
@@ -1409,12 +1410,13 @@ public class SearchQuery implements Seri
     public static final class FlagCriterion extends Criterion {
         private static final long serialVersionUID = 1L;
 
-        private final Flag flag;
+        // Flags not Flag because Flags are serializable and Flag is not
+        private final Flags flag;        
         private final BooleanOperator operator;
 
         private FlagCriterion(final Flag flag, final BooleanOperator operator) {
             super();
-            this.flag = flag;
+            this.flag = new Flags(flag);
             this.operator = operator;
         }
 
@@ -1424,7 +1426,9 @@ public class SearchQuery implements Seri
          * @return the flag, not null
          */
         public Flag getFlag() {
-            return flag;
+           // safe because the Flags(Flag) does system flags, 
+           // and James code also constructs FlagCriterion only with system flags
+           return flag.getSystemFlags()[0];
         }
 
         /**



---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org