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 jo...@apache.org on 2006/12/05 14:07:49 UTC

svn commit: r482635 - in /james/server/trunk/src/java/org/apache/james/mailboxmanager/torque: TorqueMailbox.java om/MessageFlagsPeer.java om/MessageRow.java om/MessageRowPeer.java

Author: joachim
Date: Tue Dec  5 05:07:48 2006
New Revision: 482635

URL: http://svn.apache.org/viewvc?view=rev&rev=482635
Log:
overwritten Torque's join logic (another improvement for JAMES-720)

Modified:
    james/server/trunk/src/java/org/apache/james/mailboxmanager/torque/TorqueMailbox.java
    james/server/trunk/src/java/org/apache/james/mailboxmanager/torque/om/MessageFlagsPeer.java
    james/server/trunk/src/java/org/apache/james/mailboxmanager/torque/om/MessageRow.java
    james/server/trunk/src/java/org/apache/james/mailboxmanager/torque/om/MessageRowPeer.java

Modified: james/server/trunk/src/java/org/apache/james/mailboxmanager/torque/TorqueMailbox.java
URL: http://svn.apache.org/viewvc/james/server/trunk/src/java/org/apache/james/mailboxmanager/torque/TorqueMailbox.java?view=diff&rev=482635&r1=482634&r2=482635
==============================================================================
--- james/server/trunk/src/java/org/apache/james/mailboxmanager/torque/TorqueMailbox.java (original)
+++ james/server/trunk/src/java/org/apache/james/mailboxmanager/torque/TorqueMailbox.java Tue Dec  5 05:07:48 2006
@@ -249,7 +249,7 @@
         try {
             Criteria c = criteriaForMessageSet(set);
             c.add(MessageFlagsPeer.MAILBOX_ID,getMailboxRow().getMailboxId());
-            List l = MessageFlagsPeer.doSelectJoinMessageRow(c);
+            List l = MessageRowPeer.doSelectJoinMessageFlags(c);
             MessageResult[] messageResults = fillMessageResult(l, result
                     | MessageResult.UID | MessageResult.FLAGS);
             checkForScanGap(range.getFromUid());
@@ -280,15 +280,7 @@
         MessageResult[] messageResults = new MessageResult[messageRows.size()];
         int i = 0;
         for (Iterator iter = messageRows.iterator(); iter.hasNext();) {
-            MessageRow messageRow;
-            Object next=iter.next();
-            if (next instanceof MessageRow) {
-                messageRow=(MessageRow)next;
-            } else {
-                MessageFlags messageFlags=(MessageFlags)next;
-                messageRow=messageFlags.getMessageRow();
-                messageRow.setMessageFlags(messageFlags);
-            }
+            MessageRow messageRow=(MessageRow)iter.next();
             messageResults[i] = fillMessageResult(messageRow, result);
             i++;
         }

Modified: james/server/trunk/src/java/org/apache/james/mailboxmanager/torque/om/MessageFlagsPeer.java
URL: http://svn.apache.org/viewvc/james/server/trunk/src/java/org/apache/james/mailboxmanager/torque/om/MessageFlagsPeer.java?view=diff&rev=482635&r1=482634&r2=482635
==============================================================================
--- james/server/trunk/src/java/org/apache/james/mailboxmanager/torque/om/MessageFlagsPeer.java (original)
+++ james/server/trunk/src/java/org/apache/james/mailboxmanager/torque/om/MessageFlagsPeer.java Tue Dec  5 05:07:48 2006
@@ -46,7 +46,5 @@
         }
     }
     
-    public static List doSelectJoinMessageRow(Criteria criteria) throws TorqueException {
-       return BaseMessageFlagsPeer.doSelectJoinMessageRow(criteria);
-    }
+
 }

Modified: james/server/trunk/src/java/org/apache/james/mailboxmanager/torque/om/MessageRow.java
URL: http://svn.apache.org/viewvc/james/server/trunk/src/java/org/apache/james/mailboxmanager/torque/om/MessageRow.java?view=diff&rev=482635&r1=482634&r2=482635
==============================================================================
--- james/server/trunk/src/java/org/apache/james/mailboxmanager/torque/om/MessageRow.java (original)
+++ james/server/trunk/src/java/org/apache/james/mailboxmanager/torque/om/MessageRow.java Tue Dec  5 05:07:48 2006
@@ -36,7 +36,7 @@
     }
 
     public void setMessageFlags(MessageFlags messageFlags) {
-        this.collMessageFlagss=new ArrayList();
+        this.collMessageFlagss=new ArrayList(1);
         collMessageFlagss.add(messageFlags);
     }
 

Modified: james/server/trunk/src/java/org/apache/james/mailboxmanager/torque/om/MessageRowPeer.java
URL: http://svn.apache.org/viewvc/james/server/trunk/src/java/org/apache/james/mailboxmanager/torque/om/MessageRowPeer.java?view=diff&rev=482635&r1=482634&r2=482635
==============================================================================
--- james/server/trunk/src/java/org/apache/james/mailboxmanager/torque/om/MessageRowPeer.java (original)
+++ james/server/trunk/src/java/org/apache/james/mailboxmanager/torque/om/MessageRowPeer.java Tue Dec  5 05:07:48 2006
@@ -1,5 +1,14 @@
 package org.apache.james.mailboxmanager.torque.om;
 
+import java.util.ArrayList;
+import java.util.List;
+
+import org.apache.torque.TorqueException;
+import org.apache.torque.util.BasePeer;
+import org.apache.torque.util.Criteria;
+
+import com.workingdogs.village.Record;
+
 
 /**
  * The skeleton for this class was autogenerated by Torque on:
@@ -18,6 +27,34 @@
      */
     private static final long serialVersionUID = 1708650986440774692L;
 
+    public static List doSelectJoinMessageFlags(Criteria criteria)
+            throws TorqueException {
+        
+        MessageRowPeer.addSelectColumns(criteria);
+        int offset = numColumns + 1;
+        MessageFlagsPeer.addSelectColumns(criteria);
 
+        criteria.addJoin(MessageRowPeer.MAILBOX_ID, MessageFlagsPeer.MAILBOX_ID);
+        criteria.addJoin(MessageRowPeer.UID, MessageFlagsPeer.UID);
+        
+        List rows = BasePeer.doSelect(criteria);
+        List result = new ArrayList(rows.size());
+        
+        for (int i = 0; i < rows.size(); i++) {
+            Record row = (Record) rows.get(i);
+            
+            Class omClass = MessageRowPeer.getOMClass();
+            MessageRow messageRow = (MessageRow) MessageRowPeer.row2Object(row,
+                    1, omClass);
+            
+            omClass = MessageFlagsPeer.getOMClass();
+            MessageFlags messageFlags = (MessageFlags) MessageFlagsPeer.row2Object(row,
+                    offset, omClass);            
+            messageRow.setMessageFlags(messageFlags);
+            
+            result.add(messageRow);
+        }
+        return result;
+    }
 
 }



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