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 ba...@apache.org on 2006/10/10 10:35:02 UTC
svn commit: r454662 [12/15] - in /james/server/sandbox/imap-integration: ./
src/java/org/apache/james/imapserver/
src/java/org/apache/james/imapserver/commands/
src/java/org/apache/james/imapserver/debug/
src/java/org/apache/james/imapserver/store/ src...
Modified: james/server/sandbox/imap-integration/src/java/org/apache/james/mailboxmanager/repository/UidToKeyBidiMap.java
URL: http://svn.apache.org/viewvc/james/server/sandbox/imap-integration/src/java/org/apache/james/mailboxmanager/repository/UidToKeyBidiMap.java?view=diff&rev=454662&r1=454661&r2=454662
==============================================================================
--- james/server/sandbox/imap-integration/src/java/org/apache/james/mailboxmanager/repository/UidToKeyBidiMap.java (original)
+++ james/server/sandbox/imap-integration/src/java/org/apache/james/mailboxmanager/repository/UidToKeyBidiMap.java Tue Oct 10 01:34:56 2006
@@ -1,20 +1,20 @@
-/****************************************************************
- * Licensed to the Apache Software Foundation (ASF) under one *
- * or more contributor license agreements. See the NOTICE file *
- * distributed with this work for additional information *
- * regarding copyright ownership. The ASF licenses this file *
- * to you under the Apache License, Version 2.0 (the *
- * "License"); you may not use this file except in compliance *
- * with the License. You may obtain a copy of the License at *
- * *
- * http://www.apache.org/licenses/LICENSE-2.0 *
- * *
- * Unless required by applicable law or agreed to in writing, *
- * software distributed under the License is distributed on an *
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY *
- * KIND, either express or implied. See the License for the *
- * specific language governing permissions and limitations *
- * under the License. *
+/****************************************************************
+ * Licensed to the Apache Software Foundation (ASF) under one *
+ * or more contributor license agreements. See the NOTICE file *
+ * distributed with this work for additional information *
+ * regarding copyright ownership. The ASF licenses this file *
+ * to you under the Apache License, Version 2.0 (the *
+ * "License"); you may not use this file except in compliance *
+ * with the License. You may obtain a copy of the License at *
+ * *
+ * http://www.apache.org/licenses/LICENSE-2.0 *
+ * *
+ * Unless required by applicable law or agreed to in writing, *
+ * software distributed under the License is distributed on an *
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY *
+ * KIND, either express or implied. See the License for the *
+ * specific language governing permissions and limitations *
+ * under the License. *
****************************************************************/
package org.apache.james.mailboxmanager.repository;
Propchange: james/server/sandbox/imap-integration/src/java/org/apache/james/mailboxmanager/repository/UidToKeyBidiMap.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: james/server/sandbox/imap-integration/src/java/org/apache/james/mailboxmanager/repository/UidToKeyBidiMapImpl.java
------------------------------------------------------------------------------
svn:eol-style = native
Modified: james/server/sandbox/imap-integration/src/java/org/apache/james/mailboxmanager/torque/TorqueMailbox.java
URL: http://svn.apache.org/viewvc/james/server/sandbox/imap-integration/src/java/org/apache/james/mailboxmanager/torque/TorqueMailbox.java?view=diff&rev=454662&r1=454661&r2=454662
==============================================================================
--- james/server/sandbox/imap-integration/src/java/org/apache/james/mailboxmanager/torque/TorqueMailbox.java (original)
+++ james/server/sandbox/imap-integration/src/java/org/apache/james/mailboxmanager/torque/TorqueMailbox.java Tue Oct 10 01:34:56 2006
@@ -57,7 +57,7 @@
TorqueMailbox(MailboxRow mailboxRow, UidChangeTracker tracker, Log log) {
this.log=log;
- this.mailboxRow = mailboxRow;
+ this.mailboxRow = mailboxRow;
this.tracker = tracker;
tracker.addMailboxListener(getEventDispatcher());
}
@@ -74,12 +74,12 @@
}
public synchronized String getName() throws MailboxManagerException {
- checkAccess();
+ checkAccess();
return getUidChangeTracker().getMailboxName();
}
public int getMessageCount() throws MailboxManagerException {
- checkAccess();
+ checkAccess();
try {
return getMailboxRow().countMessages();
} catch (Exception e) {
@@ -89,103 +89,103 @@
public MessageResult appendMessage(MimeMessage message, Date internalDate,
int result) throws MailboxManagerException {
- checkAccess();
- final MailboxRow myMailboxRow;
- try {
- myMailboxRow = getMailboxRow().consumeNextUid();
- } catch (TorqueException e) {
- throw new MailboxManagerException(e);
- } catch (SQLException e) {
- throw new MailboxManagerException(e);
- }
- if (myMailboxRow != null) {
- try {
- // To be thread safe, we first get our own copy and the
- // exclusive
- // Uid
- // TODO create own message_id and assign uid later
- // at the moment it could lead to the situation that uid 5 is
- // insertet long before 4, when
- // mail 4 is big and comes over a slow connection.
- long uid = myMailboxRow.getLastUid();
- this.mailboxRow = myMailboxRow;
-
- MessageRow messageRow = new MessageRow();
- messageRow.setMailboxId(getMailboxRow().getMailboxId());
- messageRow.setUid(uid);
- messageRow.setInternalDate(internalDate);
-
- // TODO very ugly size mesurement
- ByteArrayOutputStream sizeBos = new ByteArrayOutputStream();
- message.writeTo(new CRLFOutputStream(sizeBos));
- messageRow.setSize(sizeBos.size());
- MessageFlags messageFlags = new MessageFlags();
- messageFlags.setFlags(message.getFlags());
- messageRow.addMessageFlags(messageFlags);
-
- int line_number = 0;
-
- for (Enumeration lines = message.getAllHeaderLines(); lines
- .hasMoreElements();) {
- String line = (String) lines.nextElement();
- int colon = line.indexOf(": ");
- if (colon > 0) {
- line_number++;
- MessageHeader mh = new MessageHeader();
- mh.setLineNumber(line_number);
- mh.setField(line.substring(0, colon));
- // TODO avoid unlikely IOOB Exception
- mh.setValue(line.substring(colon + 2));
- messageRow.addMessageHeader(mh);
- }
- }
-
- MessageBody mb = new MessageBody();
-
- InputStream is = message.getInputStream();
-
- ByteArrayOutputStream baos = new ByteArrayOutputStream();
- byte[] buf = new byte[4096];
- int read;
- while ((read = is.read(buf)) > 0) {
- baos.write(buf, 0, read);
- }
-
- mb.setBody(baos.toByteArray());
- messageRow.addMessageBody(mb);
-
- messageRow.save();
- MessageResult messageResult = fillMessageResult(messageRow,
- result | MessageResult.UID);
- checkForScanGap(uid);
- getUidChangeTracker().found(messageResult, null);
- return messageResult;
- } catch (Exception e) {
- throw new MailboxManagerException(e);
- }
- } else {
- // mailboxRow==null
- getUidChangeTracker().mailboxNotFound();
- throw new MailboxManagerException("Mailbox has been deleted");
- }
+ checkAccess();
+ final MailboxRow myMailboxRow;
+ try {
+ myMailboxRow = getMailboxRow().consumeNextUid();
+ } catch (TorqueException e) {
+ throw new MailboxManagerException(e);
+ } catch (SQLException e) {
+ throw new MailboxManagerException(e);
+ }
+ if (myMailboxRow != null) {
+ try {
+ // To be thread safe, we first get our own copy and the
+ // exclusive
+ // Uid
+ // TODO create own message_id and assign uid later
+ // at the moment it could lead to the situation that uid 5 is
+ // insertet long before 4, when
+ // mail 4 is big and comes over a slow connection.
+ long uid = myMailboxRow.getLastUid();
+ this.mailboxRow = myMailboxRow;
+
+ MessageRow messageRow = new MessageRow();
+ messageRow.setMailboxId(getMailboxRow().getMailboxId());
+ messageRow.setUid(uid);
+ messageRow.setInternalDate(internalDate);
+
+ // TODO very ugly size mesurement
+ ByteArrayOutputStream sizeBos = new ByteArrayOutputStream();
+ message.writeTo(new CRLFOutputStream(sizeBos));
+ messageRow.setSize(sizeBos.size());
+ MessageFlags messageFlags = new MessageFlags();
+ messageFlags.setFlags(message.getFlags());
+ messageRow.addMessageFlags(messageFlags);
+
+ int line_number = 0;
+
+ for (Enumeration lines = message.getAllHeaderLines(); lines
+ .hasMoreElements();) {
+ String line = (String) lines.nextElement();
+ int colon = line.indexOf(": ");
+ if (colon > 0) {
+ line_number++;
+ MessageHeader mh = new MessageHeader();
+ mh.setLineNumber(line_number);
+ mh.setField(line.substring(0, colon));
+ // TODO avoid unlikely IOOB Exception
+ mh.setValue(line.substring(colon + 2));
+ messageRow.addMessageHeader(mh);
+ }
+ }
+
+ MessageBody mb = new MessageBody();
+
+ InputStream is = message.getInputStream();
+
+ ByteArrayOutputStream baos = new ByteArrayOutputStream();
+ byte[] buf = new byte[4096];
+ int read;
+ while ((read = is.read(buf)) > 0) {
+ baos.write(buf, 0, read);
+ }
+
+ mb.setBody(baos.toByteArray());
+ messageRow.addMessageBody(mb);
+
+ messageRow.save();
+ MessageResult messageResult = fillMessageResult(messageRow,
+ result | MessageResult.UID);
+ checkForScanGap(uid);
+ getUidChangeTracker().found(messageResult, null);
+ return messageResult;
+ } catch (Exception e) {
+ throw new MailboxManagerException(e);
+ }
+ } else {
+ // mailboxRow==null
+ getUidChangeTracker().mailboxNotFound();
+ throw new MailboxManagerException("Mailbox has been deleted");
+ }
- }
+ }
private void checkForScanGap(long uid) throws MailboxManagerException, TorqueException, MessagingException {
- synchronized (getUidChangeTracker()) {
- long lastScannedUid=getUidChangeTracker().getLastScannedUid();
- if (uid>(lastScannedUid+1)) {
- GeneralMessageSet set=GeneralMessageSetImpl.uidRange(lastScannedUid+1, uid);
- Criteria criteria=criteriaForMessageSet(set);
- List messageRows=mailboxRow.getMessageRows(criteria);
- MessageResult[] messageResults=fillMessageResult(messageRows, MessageResult.UID);
- getUidChangeTracker().found(uidRangeForMessageSet(set), messageResults, null);
- }
- }
-
- }
+ synchronized (getUidChangeTracker()) {
+ long lastScannedUid=getUidChangeTracker().getLastScannedUid();
+ if (uid>(lastScannedUid+1)) {
+ GeneralMessageSet set=GeneralMessageSetImpl.uidRange(lastScannedUid+1, uid);
+ Criteria criteria=criteriaForMessageSet(set);
+ List messageRows=mailboxRow.getMessageRows(criteria);
+ MessageResult[] messageResults=fillMessageResult(messageRows, MessageResult.UID);
+ getUidChangeTracker().found(uidRangeForMessageSet(set), messageResults, null);
+ }
+ }
+
+ }
- public MessageResult updateMessage(GeneralMessageSet messageSet, MimeMessage message, int result) {
+ public MessageResult updateMessage(GeneralMessageSet messageSet, MimeMessage message, int result) {
throw new RuntimeException("not yet implemented");
}
@@ -194,7 +194,7 @@
Criteria criteria = new Criteria();
criteria.addAscendingOrderByColumn(MessageRowPeer.UID);
if (set.getType() == GeneralMessageSet.TYPE_ALL) {
- // empty Criteria = everything
+ // empty Criteria = everything
} else if (set.getType() == GeneralMessageSet.TYPE_UID) {
if (set.getUidFrom() == set.getUidTo()) {
@@ -218,7 +218,7 @@
public MessageResult[] getMessages(GeneralMessageSet set, int result)
throws MailboxManagerException {
- checkAccess();
+ checkAccess();
if (!set.isValid()) {
return new MessageResult[0];
}
@@ -276,10 +276,10 @@
result -= MessageResult.UID;
}
if ((result & MessageResult.FLAGS) > 0) {
- MessageFlags messageFlags=messageRow.getMessageFlags();
- if (messageFlags!=null) {
- messageResult.setFlags(messageFlags.getFlagsObject());
- }
+ MessageFlags messageFlags=messageRow.getMessageFlags();
+ if (messageFlags!=null) {
+ messageResult.setFlags(messageFlags.getFlagsObject());
+ }
result -= MessageResult.FLAGS;
}
if ((result & MessageResult.SIZE) > 0) {
@@ -344,12 +344,12 @@
try {
List messageRows = getMailboxRow().getMessageRows(c);
if (messageRows.size() > 0) {
- MessageResult messageResult=fillMessageResult((MessageRow) messageRows.get(0), result | MessageResult.UID);
- if (messageResult!=null) {
- checkForScanGap(messageResult.getUid());
- getUidChangeTracker().found(messageResult,null);
- }
-
+ MessageResult messageResult=fillMessageResult((MessageRow) messageRows.get(0), result | MessageResult.UID);
+ if (messageResult!=null) {
+ checkForScanGap(messageResult.getUid());
+ getUidChangeTracker().found(messageResult,null);
+ }
+
return messageResult;
} else {
return null;
@@ -408,7 +408,7 @@
throws MailboxManagerException {
checkAccess();
try {
- // TODO put this into a serializeable transaction
+ // TODO put this into a serializeable transaction
final List messageRows = getMailboxRow()
.getMessageRows(criteriaForMessageSet(set));
final MessageResult[] beforeResults = fillMessageResult(messageRows,
@@ -420,19 +420,19 @@
final MessageRow messageRow = (MessageRow) iter.next();
final MessageFlags messageFlags = messageRow.getMessageFlags();
if (messageFlags != null) {
- if (replace) {
- messageFlags.setFlags(flags);
- } else {
- Flags current = messageFlags.getFlagsObject();
- if (value) {
- current.add(flags);
- } else {
- current.remove(flags);
- }
- messageFlags.setFlags(current);
- }
- messageFlags.save();
- }
+ if (replace) {
+ messageFlags.setFlags(flags);
+ } else {
+ Flags current = messageFlags.getFlagsObject();
+ if (value) {
+ current.add(flags);
+ } else {
+ current.remove(flags);
+ }
+ messageFlags.setFlags(current);
+ }
+ messageFlags.save();
+ }
}
final MessageResult[] afterResults = fillMessageResult(messageRows,
MessageResult.UID | MessageResult.FLAGS);
@@ -464,65 +464,65 @@
}
public synchronized long getUidNext() throws MailboxManagerException {
- checkAccess();
- try {
- MailboxRow myMailboxRow = MailboxRowPeer.retrieveByPK(mailboxRow.getLastUid());
- if (myMailboxRow != null) {
- getUidChangeTracker().foundLastUid(mailboxRow.getLastUid());
- return getUidChangeTracker().getLastUid() + 1;
- } else {
- getUidChangeTracker().mailboxNotFound();
- throw new MailboxManagerException("Mailbox has been deleted");
- }
- } catch (NoRowsException e) {
- throw new MailboxManagerException(e);
- } catch (TooManyRowsException e) {
- throw new MailboxManagerException(e);
- } catch (TorqueException e) {
- throw new MailboxManagerException(e);
- }
- }
+ checkAccess();
+ try {
+ MailboxRow myMailboxRow = MailboxRowPeer.retrieveByPK(mailboxRow.getLastUid());
+ if (myMailboxRow != null) {
+ getUidChangeTracker().foundLastUid(mailboxRow.getLastUid());
+ return getUidChangeTracker().getLastUid() + 1;
+ } else {
+ getUidChangeTracker().mailboxNotFound();
+ throw new MailboxManagerException("Mailbox has been deleted");
+ }
+ } catch (NoRowsException e) {
+ throw new MailboxManagerException(e);
+ } catch (TooManyRowsException e) {
+ throw new MailboxManagerException(e);
+ } catch (TorqueException e) {
+ throw new MailboxManagerException(e);
+ }
+ }
private void checkAccess() throws MailboxManagerException {
if (!open) {
- throw new RuntimeException("mailbox is closed");
- } else if (getEventDispatcher().size() == 0) {
- throw new RuntimeException("mailbox has not been opened");
- } else if (getUidChangeTracker().isExisting()) {
- throw new MailboxManagerException("Mailbox is not existing");
- }
+ throw new RuntimeException("mailbox is closed");
+ } else if (getEventDispatcher().size() == 0) {
+ throw new RuntimeException("mailbox has not been opened");
+ } else if (getUidChangeTracker().isExisting()) {
+ throw new MailboxManagerException("Mailbox is not existing");
+ }
}
- protected MailboxEventDispatcher getEventDispatcher() {
- if (eventDispatcher == null) {
- eventDispatcher = new MailboxEventDispatcher();
- }
- return eventDispatcher;
+ protected MailboxEventDispatcher getEventDispatcher() {
+ if (eventDispatcher == null) {
+ eventDispatcher = new MailboxEventDispatcher();
+ }
+ return eventDispatcher;
}
protected UidChangeTracker getUidChangeTracker() {
- return tracker;
+ return tracker;
}
protected Log getLog() {
- if (log==null) {
- log=new SimpleLog("TorqueMailbox");
- }
- return log;
- }
-
- protected MailboxRow getMailboxRow() {
- return mailboxRow;
- }
-
- protected void setMailboxRow(MailboxRow mailboxRow) {
- this.mailboxRow = mailboxRow;
- }
-
- public MessageResult[] search(GeneralMessageSet set, SearchTerm searchTerm, int result) {
- // TODO Auto-generated method stub
- return null;
- }
+ if (log==null) {
+ log=new SimpleLog("TorqueMailbox");
+ }
+ return log;
+ }
+
+ protected MailboxRow getMailboxRow() {
+ return mailboxRow;
+ }
+
+ protected void setMailboxRow(MailboxRow mailboxRow) {
+ this.mailboxRow = mailboxRow;
+ }
+
+ public MessageResult[] search(GeneralMessageSet set, SearchTerm searchTerm, int result) {
+ // TODO Auto-generated method stub
+ return null;
+ }
}
Propchange: james/server/sandbox/imap-integration/src/java/org/apache/james/mailboxmanager/torque/TorqueMailbox.java
------------------------------------------------------------------------------
svn:eol-style = native
Modified: james/server/sandbox/imap-integration/src/java/org/apache/james/mailboxmanager/torque/TorqueMailboxManager.java
URL: http://svn.apache.org/viewvc/james/server/sandbox/imap-integration/src/java/org/apache/james/mailboxmanager/torque/TorqueMailboxManager.java?view=diff&rev=454662&r1=454661&r2=454662
==============================================================================
--- james/server/sandbox/imap-integration/src/java/org/apache/james/mailboxmanager/torque/TorqueMailboxManager.java (original)
+++ james/server/sandbox/imap-integration/src/java/org/apache/james/mailboxmanager/torque/TorqueMailboxManager.java Tue Oct 10 01:34:56 2006
@@ -51,20 +51,20 @@
public MailboxSession getMailboxSession(String mailboxName, Class neededInterface, int[] setTypes,int resultTypes)
throws MailboxManagerException {
- return getGenericImapMailboxSession(mailboxName);
+ return getGenericImapMailboxSession(mailboxName);
}
public GeneralMailboxSession getGenericGeneralMailboxSession(String mailboxName)
throws MailboxManagerException {
- return getGenericImapMailboxSession(mailboxName);
+ return getGenericImapMailboxSession(mailboxName);
}
public ImapMailboxSession getGenericImapMailboxSession(String mailboxName)
throws MailboxManagerException {
-
- // prepare to auto-create users Inbox
-
- // TODO inbox-auto-creation for authUser is not optimal. Use a autocreate boolean in getSessionMailbox?
+
+ // prepare to auto-create users Inbox
+
+ // TODO inbox-auto-creation for authUser is not optimal. Use a autocreate boolean in getSessionMailbox?
String userInbox=getPersonalDefaultNamespace(authUser).getName()+HIERARCHY_DELIMITER+"INBOX";
if (userInbox.length()==mailboxName.length()) {
int del=userInbox.length()-5;
@@ -77,36 +77,36 @@
try {
synchronized (getMailboxCache()) {
- MailboxRow mailboxRow = MailboxRowPeer
- .retrieveByName(mailboxName);
- if (mailboxRow == null) {
- if (userInbox.equals(mailboxName)) {
- // do auto creation
- createMailbox(mailboxName);
- mailboxRow = MailboxRowPeer.retrieveByName(mailboxName);
- getLog().info("autocreated Inbox " + mailboxName);
- }
- }
-
- if (mailboxRow != null) {
- UidChangeTracker tracker = (UidChangeTracker) getMailboxCache()
- .getMailboxTracker(mailboxName,
- UidChangeTracker.class);
- if (tracker == null) {
- tracker = new UidChangeTracker(getMailboxCache(),
- mailboxName, mailboxRow.getLastUid());
- getMailboxCache().add(mailboxName, tracker);
- }
- getLog().info("created ImapMailboxSession "+mailboxName);
- return new ImapMailboxSessionWrapper(new TorqueMailbox(
- mailboxRow, tracker,getLog()));
- } else {
- getLog().info("Mailbox '" + mailboxName + "' not found.");
- getMailboxCache().notFound(mailboxName);
- throw new MailboxManagerException("Mailbox '" + mailboxName
- + "' not found.");
- }
- }
+ MailboxRow mailboxRow = MailboxRowPeer
+ .retrieveByName(mailboxName);
+ if (mailboxRow == null) {
+ if (userInbox.equals(mailboxName)) {
+ // do auto creation
+ createMailbox(mailboxName);
+ mailboxRow = MailboxRowPeer.retrieveByName(mailboxName);
+ getLog().info("autocreated Inbox " + mailboxName);
+ }
+ }
+
+ if (mailboxRow != null) {
+ UidChangeTracker tracker = (UidChangeTracker) getMailboxCache()
+ .getMailboxTracker(mailboxName,
+ UidChangeTracker.class);
+ if (tracker == null) {
+ tracker = new UidChangeTracker(getMailboxCache(),
+ mailboxName, mailboxRow.getLastUid());
+ getMailboxCache().add(mailboxName, tracker);
+ }
+ getLog().info("created ImapMailboxSession "+mailboxName);
+ return new ImapMailboxSessionWrapper(new TorqueMailbox(
+ mailboxRow, tracker,getLog()));
+ } else {
+ getLog().info("Mailbox '" + mailboxName + "' not found.");
+ getMailboxCache().notFound(mailboxName);
+ throw new MailboxManagerException("Mailbox '" + mailboxName
+ + "' not found.");
+ }
+ }
} catch (TorqueException e) {
throw new MailboxManagerException(e);
}
@@ -117,13 +117,13 @@
}
public Namespaces getNamespaces(User forUser) {
- NamespacesImpl nameSpaces=new NamespacesImpl();
- nameSpaces.setShared(new Namespace[0]);
- Namespace userNamespace=new NamespaceImpl(""+HIERARCHY_DELIMITER,USER_NAMESPACE);
- nameSpaces.setUser(new Namespace[] {userNamespace});
- Namespace personalDefault = getPersonalDefaultNamespace(forUser);
- nameSpaces.setPersonal(new Namespace[] {personalDefault});
- nameSpaces.setPersonalDefault(personalDefault);
+ NamespacesImpl nameSpaces=new NamespacesImpl();
+ nameSpaces.setShared(new Namespace[0]);
+ Namespace userNamespace=new NamespaceImpl(""+HIERARCHY_DELIMITER,USER_NAMESPACE);
+ nameSpaces.setUser(new Namespace[] {userNamespace});
+ Namespace personalDefault = getPersonalDefaultNamespace(forUser);
+ nameSpaces.setPersonal(new Namespace[] {personalDefault});
+ nameSpaces.setPersonalDefault(personalDefault);
return nameSpaces;
}
@@ -132,69 +132,69 @@
}
public void createMailbox(String namespaceName)
- throws MailboxManagerException {
- getLog().info("createMailbox "+namespaceName);
- synchronized (getMailboxCache()) {
- MailboxRow mr = new MailboxRow();
- mr.setName(namespaceName);
- mr.setLastUid(0);
- mr.setUidValidity(Math.abs(getRandom().nextInt()));
- try {
- mr.save();
- } catch (Exception e) {
- throw new MailboxManagerException(e);
- }
- }
- }
+ throws MailboxManagerException {
+ getLog().info("createMailbox "+namespaceName);
+ synchronized (getMailboxCache()) {
+ MailboxRow mr = new MailboxRow();
+ mr.setName(namespaceName);
+ mr.setLastUid(0);
+ mr.setUidValidity(Math.abs(getRandom().nextInt()));
+ try {
+ mr.save();
+ } catch (Exception e) {
+ throw new MailboxManagerException(e);
+ }
+ }
+ }
public void deleteMailbox(String mailboxName)
throws MailboxManagerException {
- getLog().info("deleteMailbox "+mailboxName);
- synchronized (getMailboxCache()) {
- try {
- // TODO put this into a serilizable transaction
- MailboxRow mr = MailboxRowPeer.retrieveByName(mailboxName);
- if (mr == null) {
- throw new MailboxManagerException("Mailbox not found");
- }
- MailboxRowPeer.doDelete(mr);
- getMailboxCache().notFound(mailboxName);
- } catch (TorqueException e) {
- throw new MailboxManagerException(e);
- }
- }
+ getLog().info("deleteMailbox "+mailboxName);
+ synchronized (getMailboxCache()) {
+ try {
+ // TODO put this into a serilizable transaction
+ MailboxRow mr = MailboxRowPeer.retrieveByName(mailboxName);
+ if (mr == null) {
+ throw new MailboxManagerException("Mailbox not found");
+ }
+ MailboxRowPeer.doDelete(mr);
+ getMailboxCache().notFound(mailboxName);
+ } catch (TorqueException e) {
+ throw new MailboxManagerException(e);
+ }
+ }
}
public void renameMailbox(String from, String to)
throws MailboxManagerException {
try {
- getLog().info("renameMailbox "+from+" to "+to);
- synchronized (getMailboxCache()) {
- // TODO put this into a serilizable transaction
- MailboxRow mr = MailboxRowPeer.retrieveByName(from);
- if (mr == null) {
- throw new MailboxManagerException("Mailbox not found");
- }
- mr.setName(to);
- mr.save();
-
- // rename submailbox
-
- Criteria c = new Criteria();
- c.add(MailboxRowPeer.NAME,
- (Object) (from + HIERARCHY_DELIMITER + "%"),
- Criteria.LIKE);
- List l = MailboxRowPeer.doSelect(c);
- for (Iterator iter = l.iterator(); iter.hasNext();) {
- MailboxRow sub = (MailboxRow) iter.next();
- String subOrigName=sub.getName();
- String subNewName=to + subOrigName.substring(from.length());
- sub.setName(to + sub.getName().substring(from.length()));
- sub.save();
- getLog().info("renameMailbox sub-mailbox "+subOrigName+" to "+subNewName);
- getMailboxCache().renamed(subOrigName,subNewName);
- }
- }
+ getLog().info("renameMailbox "+from+" to "+to);
+ synchronized (getMailboxCache()) {
+ // TODO put this into a serilizable transaction
+ MailboxRow mr = MailboxRowPeer.retrieveByName(from);
+ if (mr == null) {
+ throw new MailboxManagerException("Mailbox not found");
+ }
+ mr.setName(to);
+ mr.save();
+
+ // rename submailbox
+
+ Criteria c = new Criteria();
+ c.add(MailboxRowPeer.NAME,
+ (Object) (from + HIERARCHY_DELIMITER + "%"),
+ Criteria.LIKE);
+ List l = MailboxRowPeer.doSelect(c);
+ for (Iterator iter = l.iterator(); iter.hasNext();) {
+ MailboxRow sub = (MailboxRow) iter.next();
+ String subOrigName=sub.getName();
+ String subNewName=to + subOrigName.substring(from.length());
+ sub.setName(to + sub.getName().substring(from.length()));
+ sub.save();
+ getLog().info("renameMailbox sub-mailbox "+subOrigName+" to "+subNewName);
+ getMailboxCache().renamed(subOrigName,subNewName);
+ }
+ }
} catch (Exception e) {
throw new MailboxManagerException(e);
}
@@ -247,7 +247,7 @@
}
public void setSubscription(String mailboxName, boolean value) {
- // TODO implement subscriptions
+ // TODO implement subscriptions
}
protected static Random getRandom() {
@@ -263,20 +263,20 @@
CountHelper countHelper=new CountHelper();
int count;
try {
- synchronized (getMailboxCache()) {
- count = countHelper.count(c);
- if (count == 0) {
- getMailboxCache().notFound(mailboxName);
- return false;
- } else {
- if (count == 1) {
- return true;
- } else {
- throw new MailboxManagerException("found " + count
- + " mailboxes");
- }
- }
- }
+ synchronized (getMailboxCache()) {
+ count = countHelper.count(c);
+ if (count == 0) {
+ getMailboxCache().notFound(mailboxName);
+ return false;
+ } else {
+ if (count == 1) {
+ return true;
+ } else {
+ throw new MailboxManagerException("found " + count
+ + " mailboxes");
+ }
+ }
+ }
} catch (TorqueException e) {
throw new MailboxManagerException(e);
}
@@ -295,10 +295,10 @@
}
protected Log getLog() {
- if (log==null) {
- log=new SimpleLog("TorqueMailboxManager");
- }
- return log;
+ if (log==null) {
+ log=new SimpleLog("TorqueMailboxManager");
+ }
+ return log;
}
}
Propchange: james/server/sandbox/imap-integration/src/java/org/apache/james/mailboxmanager/torque/TorqueMailboxManager.java
------------------------------------------------------------------------------
svn:eol-style = native
Modified: james/server/sandbox/imap-integration/src/java/org/apache/james/mailboxmanager/torque/TorqueMailboxManagerProvider.java
URL: http://svn.apache.org/viewvc/james/server/sandbox/imap-integration/src/java/org/apache/james/mailboxmanager/torque/TorqueMailboxManagerProvider.java?view=diff&rev=454662&r1=454661&r2=454662
==============================================================================
--- james/server/sandbox/imap-integration/src/java/org/apache/james/mailboxmanager/torque/TorqueMailboxManagerProvider.java (original)
+++ james/server/sandbox/imap-integration/src/java/org/apache/james/mailboxmanager/torque/TorqueMailboxManagerProvider.java Tue Oct 10 01:34:56 2006
@@ -43,7 +43,7 @@
private boolean initialized;
- private Log log;
+ private Log log;
private static final String[] tableNames= new String[] {MailboxRowPeer.TABLE_NAME,MessageRowPeer.TABLE_NAME,MessageHeaderPeer.TABLE_NAME,MessageBodyPeer.TABLE_NAME,MessageFlagsPeer.TABLE_NAME};
@@ -51,12 +51,12 @@
throws MailboxManagerException {
return getGeneralManagerInstance(user);
}
- public GeneralManager getGeneralManagerInstance(User user) throws MailboxManagerException {
+ public GeneralManager getGeneralManagerInstance(User user) throws MailboxManagerException {
if (!initialized) {
throw new MailboxManagerException("must be initialized first!");
}
return new TorqueMailboxManager(user, getMailboxCache(),getLog());
- }
+ }
public void initialize() throws Exception {
if (!initialized) {
if (torqueConf==null) {
@@ -70,7 +70,7 @@
Torque.init(torqueConf);
conn=Transaction.begin(MailboxRowPeer.DATABASE_NAME);
SqlResources sqlResources=new SqlResources();
- sqlResources.init(getClass().getResource("/mailboxManagerSql.xml"), getClass().getCanonicalName(), conn, new HashMap());
+ sqlResources.init(getClass().getResource("/mailboxManagerSql.xml"), getClass().getName(), conn, new HashMap());
DatabaseMetaData dbMetaData=conn.getMetaData();
@@ -87,10 +87,14 @@
System.out.println("MailboxManager has been initialized");
getLog().info("MailboxManager has been initialized");
} catch (Exception e) {
+ System.err.println("============================================");
+ e.printStackTrace();
+ System.err.println("--------------------------------------------");
Transaction.safeRollback(conn);
try {
Torque.shutdown();
} catch (TorqueException e1) {
+
}
throw new MailboxManagerException(e);
}
@@ -98,32 +102,32 @@
}
public void configureDefaults()
- throws org.apache.commons.configuration.ConfigurationException {
- File configFile = new File("torque.properties");
- if (configFile.canRead()) {
- torqueConf = new PropertiesConfiguration(configFile);
- } else {
- torqueConf = new BaseConfiguration();
- torqueConf.addProperty("torque.database.default", "mailboxmanager");
- torqueConf.addProperty("torque.database.mailboxmanager.adapter",
- "derby");
- torqueConf.addProperty("torque.dsfactory.mailboxmanager.factory",
- "org.apache.torque.dsfactory.SharedPoolDataSourceFactory");
- torqueConf.addProperty(
- "torque.dsfactory.mailboxmanager.connection.driver",
- "org.apache.derby.jdbc.EmbeddedDriver");
- torqueConf.addProperty(
- "torque.dsfactory.mailboxmanager.connection.url",
- "jdbc:derby:derby;create=true");
- torqueConf.addProperty(
- "torque.dsfactory.mailboxmanager.connection.user", "app");
- torqueConf.addProperty(
- "torque.dsfactory.mailboxmanager.connection.password",
- "app");
- torqueConf.addProperty(
- "torque.dsfactory.mailboxmanager.pool.maxActive", "100");
- }
- }
+ throws org.apache.commons.configuration.ConfigurationException {
+ File configFile = new File("torque.properties");
+ if (configFile.canRead()) {
+ torqueConf = new PropertiesConfiguration(configFile);
+ } else {
+ torqueConf = new BaseConfiguration();
+ torqueConf.addProperty("torque.database.default", "mailboxmanager");
+ torqueConf.addProperty("torque.database.mailboxmanager.adapter",
+ "derby");
+ torqueConf.addProperty("torque.dsfactory.mailboxmanager.factory",
+ "org.apache.torque.dsfactory.SharedPoolDataSourceFactory");
+ torqueConf.addProperty(
+ "torque.dsfactory.mailboxmanager.connection.driver",
+ "org.apache.derby.jdbc.EmbeddedDriver");
+ torqueConf.addProperty(
+ "torque.dsfactory.mailboxmanager.connection.url",
+ "jdbc:derby:derby;create=true");
+ torqueConf.addProperty(
+ "torque.dsfactory.mailboxmanager.connection.user", "app");
+ torqueConf.addProperty(
+ "torque.dsfactory.mailboxmanager.connection.password",
+ "app");
+ torqueConf.addProperty(
+ "torque.dsfactory.mailboxmanager.pool.maxActive", "100");
+ }
+ }
public void configure(org.apache.avalon.framework.configuration.Configuration conf) throws ConfigurationException {
torqueConf=new BaseConfiguration();
@@ -173,20 +177,20 @@
}
public String toString() {
- return "TorqueMailboxManagerProvider";
+ return "TorqueMailboxManagerProvider";
}
protected Log getLog() {
- if (log == null) {
- log = new SimpleLog("TorqueMailboxManagerProvider");
- }
- return log;
- }
- public void enableLogging(Logger logger) {
- log=new AvalonLogger(logger);
-
- }
+ if (log == null) {
+ log = new SimpleLog("TorqueMailboxManagerProvider");
+ }
+ return log;
+ }
+ public void enableLogging(Logger logger) {
+ log=new AvalonLogger(logger);
+
+ }
}
Propchange: james/server/sandbox/imap-integration/src/java/org/apache/james/mailboxmanager/torque/TorqueMailboxManagerProvider.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: james/server/sandbox/imap-integration/src/java/org/apache/james/mailboxmanager/torque/TorqueMailboxManagerProvider.xinfo
------------------------------------------------------------------------------
svn:eol-style = native
Modified: james/server/sandbox/imap-integration/src/java/org/apache/james/mailboxmanager/torque/TorqueMimeMessage.java
URL: http://svn.apache.org/viewvc/james/server/sandbox/imap-integration/src/java/org/apache/james/mailboxmanager/torque/TorqueMimeMessage.java?view=diff&rev=454662&r1=454661&r2=454662
==============================================================================
--- james/server/sandbox/imap-integration/src/java/org/apache/james/mailboxmanager/torque/TorqueMimeMessage.java (original)
+++ james/server/sandbox/imap-integration/src/java/org/apache/james/mailboxmanager/torque/TorqueMimeMessage.java Tue Oct 10 01:34:56 2006
@@ -64,8 +64,8 @@
MessageFlags messageFlags=messageRow.getMessageFlags();
if (messageFlags != null) {
- tmm.setFlags(messageRow.getMessageFlags().getFlagsObject(), true);
- }
+ tmm.setFlags(messageRow.getMessageFlags().getFlagsObject(), true);
+ }
// save and reset the message-id
Propchange: james/server/sandbox/imap-integration/src/java/org/apache/james/mailboxmanager/torque/TorqueMimeMessage.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: james/server/sandbox/imap-integration/src/java/org/apache/james/mailboxmanager/torque/om/BaseMailboxRow.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: james/server/sandbox/imap-integration/src/java/org/apache/james/mailboxmanager/torque/om/BaseMailboxRowPeer.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: james/server/sandbox/imap-integration/src/java/org/apache/james/mailboxmanager/torque/om/BaseMessageBody.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: james/server/sandbox/imap-integration/src/java/org/apache/james/mailboxmanager/torque/om/BaseMessageBodyPeer.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: james/server/sandbox/imap-integration/src/java/org/apache/james/mailboxmanager/torque/om/BaseMessageFlags.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: james/server/sandbox/imap-integration/src/java/org/apache/james/mailboxmanager/torque/om/BaseMessageFlagsPeer.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: james/server/sandbox/imap-integration/src/java/org/apache/james/mailboxmanager/torque/om/BaseMessageHeader.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: james/server/sandbox/imap-integration/src/java/org/apache/james/mailboxmanager/torque/om/BaseMessageHeaderPeer.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: james/server/sandbox/imap-integration/src/java/org/apache/james/mailboxmanager/torque/om/BaseMessageRow.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: james/server/sandbox/imap-integration/src/java/org/apache/james/mailboxmanager/torque/om/BaseMessageRowPeer.java
------------------------------------------------------------------------------
svn:eol-style = native
Modified: james/server/sandbox/imap-integration/src/java/org/apache/james/mailboxmanager/torque/om/MailboxRow.java
URL: http://svn.apache.org/viewvc/james/server/sandbox/imap-integration/src/java/org/apache/james/mailboxmanager/torque/om/MailboxRow.java?view=diff&rev=454662&r1=454661&r2=454662
==============================================================================
--- james/server/sandbox/imap-integration/src/java/org/apache/james/mailboxmanager/torque/om/MailboxRow.java (original)
+++ james/server/sandbox/imap-integration/src/java/org/apache/james/mailboxmanager/torque/om/MailboxRow.java Tue Oct 10 01:34:56 2006
@@ -27,9 +27,9 @@
org.apache.james.mailboxmanager.torque.om.BaseMailboxRow implements
Persistent {
- private static final long serialVersionUID = -8207690877715465485L;
+ private static final long serialVersionUID = -8207690877715465485L;
- public MailboxRow(String string, long uidValidity) {
+ public MailboxRow(String string, long uidValidity) {
this();
setName(string);
setUidValidity(uidValidity);
Propchange: james/server/sandbox/imap-integration/src/java/org/apache/james/mailboxmanager/torque/om/MailboxRow.java
------------------------------------------------------------------------------
svn:eol-style = native
Modified: james/server/sandbox/imap-integration/src/java/org/apache/james/mailboxmanager/torque/om/MailboxRowPeer.java
URL: http://svn.apache.org/viewvc/james/server/sandbox/imap-integration/src/java/org/apache/james/mailboxmanager/torque/om/MailboxRowPeer.java?view=diff&rev=454662&r1=454661&r2=454662
==============================================================================
--- james/server/sandbox/imap-integration/src/java/org/apache/james/mailboxmanager/torque/om/MailboxRowPeer.java (original)
+++ james/server/sandbox/imap-integration/src/java/org/apache/james/mailboxmanager/torque/om/MailboxRowPeer.java Tue Oct 10 01:34:56 2006
@@ -19,9 +19,9 @@
org.apache.james.mailboxmanager.torque.om.BaseMailboxRowPeer {
- private static final long serialVersionUID = -1906212927584890188L;
+ private static final long serialVersionUID = -1906212927584890188L;
- public static MailboxRow retrieveByName(String name) throws TorqueException {
+ public static MailboxRow retrieveByName(String name) throws TorqueException {
Criteria c = new Criteria();
c.add(MailboxRowPeer.NAME, name);
List l = MailboxRowPeer.doSelect(c);
Propchange: james/server/sandbox/imap-integration/src/java/org/apache/james/mailboxmanager/torque/om/MailboxRowPeer.java
------------------------------------------------------------------------------
svn:eol-style = native
Modified: james/server/sandbox/imap-integration/src/java/org/apache/james/mailboxmanager/torque/om/MessageBody.java
URL: http://svn.apache.org/viewvc/james/server/sandbox/imap-integration/src/java/org/apache/james/mailboxmanager/torque/om/MessageBody.java?view=diff&rev=454662&r1=454661&r2=454662
==============================================================================
--- james/server/sandbox/imap-integration/src/java/org/apache/james/mailboxmanager/torque/om/MessageBody.java (original)
+++ james/server/sandbox/imap-integration/src/java/org/apache/james/mailboxmanager/torque/om/MessageBody.java Tue Oct 10 01:34:56 2006
@@ -18,5 +18,5 @@
implements Persistent
{
- private static final long serialVersionUID = -1304530949913525943L;
+ private static final long serialVersionUID = -1304530949913525943L;
}
Propchange: james/server/sandbox/imap-integration/src/java/org/apache/james/mailboxmanager/torque/om/MessageBody.java
------------------------------------------------------------------------------
svn:eol-style = native
Modified: james/server/sandbox/imap-integration/src/java/org/apache/james/mailboxmanager/torque/om/MessageBodyPeer.java
URL: http://svn.apache.org/viewvc/james/server/sandbox/imap-integration/src/java/org/apache/james/mailboxmanager/torque/om/MessageBodyPeer.java?view=diff&rev=454662&r1=454661&r2=454662
==============================================================================
--- james/server/sandbox/imap-integration/src/java/org/apache/james/mailboxmanager/torque/om/MessageBodyPeer.java (original)
+++ james/server/sandbox/imap-integration/src/java/org/apache/james/mailboxmanager/torque/om/MessageBodyPeer.java Tue Oct 10 01:34:56 2006
@@ -13,8 +13,8 @@
extends org.apache.james.mailboxmanager.torque.om.BaseMessageBodyPeer
{
- /**
- *
- */
- private static final long serialVersionUID = -6885801687990340939L;
+ /**
+ *
+ */
+ private static final long serialVersionUID = -6885801687990340939L;
}
Propchange: james/server/sandbox/imap-integration/src/java/org/apache/james/mailboxmanager/torque/om/MessageBodyPeer.java
------------------------------------------------------------------------------
svn:eol-style = native
Modified: james/server/sandbox/imap-integration/src/java/org/apache/james/mailboxmanager/torque/om/MessageFlags.java
URL: http://svn.apache.org/viewvc/james/server/sandbox/imap-integration/src/java/org/apache/james/mailboxmanager/torque/om/MessageFlags.java?view=diff&rev=454662&r1=454661&r2=454662
==============================================================================
--- james/server/sandbox/imap-integration/src/java/org/apache/james/mailboxmanager/torque/om/MessageFlags.java (original)
+++ james/server/sandbox/imap-integration/src/java/org/apache/james/mailboxmanager/torque/om/MessageFlags.java Tue Oct 10 01:34:56 2006
@@ -19,7 +19,7 @@
extends org.apache.james.mailboxmanager.torque.om.BaseMessageFlags
implements Persistent
{
- private static final long serialVersionUID = -7426028860085278304L;
+ private static final long serialVersionUID = -7426028860085278304L;
public void setFlags(Flags flags) {
Propchange: james/server/sandbox/imap-integration/src/java/org/apache/james/mailboxmanager/torque/om/MessageFlags.java
------------------------------------------------------------------------------
svn:eol-style = native
Modified: james/server/sandbox/imap-integration/src/java/org/apache/james/mailboxmanager/torque/om/MessageFlagsPeer.java
URL: http://svn.apache.org/viewvc/james/server/sandbox/imap-integration/src/java/org/apache/james/mailboxmanager/torque/om/MessageFlagsPeer.java?view=diff&rev=454662&r1=454661&r2=454662
==============================================================================
--- james/server/sandbox/imap-integration/src/java/org/apache/james/mailboxmanager/torque/om/MessageFlagsPeer.java (original)
+++ james/server/sandbox/imap-integration/src/java/org/apache/james/mailboxmanager/torque/om/MessageFlagsPeer.java Tue Oct 10 01:34:56 2006
@@ -18,11 +18,11 @@
{
/**
- *
- */
- private static final long serialVersionUID = 4709341310937090513L;
+ *
+ */
+ private static final long serialVersionUID = 4709341310937090513L;
- public static void addFlagsToCriteria(Flags flags,boolean value,Criteria c) {
+ public static void addFlagsToCriteria(Flags flags,boolean value,Criteria c) {
if (flags.contains(Flags.Flag.ANSWERED)) {
c.add(ANSWERED,value);
}
Propchange: james/server/sandbox/imap-integration/src/java/org/apache/james/mailboxmanager/torque/om/MessageFlagsPeer.java
------------------------------------------------------------------------------
svn:eol-style = native
Modified: james/server/sandbox/imap-integration/src/java/org/apache/james/mailboxmanager/torque/om/MessageHeader.java
URL: http://svn.apache.org/viewvc/james/server/sandbox/imap-integration/src/java/org/apache/james/mailboxmanager/torque/om/MessageHeader.java?view=diff&rev=454662&r1=454661&r2=454662
==============================================================================
--- james/server/sandbox/imap-integration/src/java/org/apache/james/mailboxmanager/torque/om/MessageHeader.java (original)
+++ james/server/sandbox/imap-integration/src/java/org/apache/james/mailboxmanager/torque/om/MessageHeader.java Tue Oct 10 01:34:56 2006
@@ -18,8 +18,8 @@
implements Persistent
{
- /**
- *
- */
- private static final long serialVersionUID = -9191792349506771474L;
+ /**
+ *
+ */
+ private static final long serialVersionUID = -9191792349506771474L;
}
Propchange: james/server/sandbox/imap-integration/src/java/org/apache/james/mailboxmanager/torque/om/MessageHeader.java
------------------------------------------------------------------------------
svn:eol-style = native
Modified: james/server/sandbox/imap-integration/src/java/org/apache/james/mailboxmanager/torque/om/MessageHeaderPeer.java
URL: http://svn.apache.org/viewvc/james/server/sandbox/imap-integration/src/java/org/apache/james/mailboxmanager/torque/om/MessageHeaderPeer.java?view=diff&rev=454662&r1=454661&r2=454662
==============================================================================
--- james/server/sandbox/imap-integration/src/java/org/apache/james/mailboxmanager/torque/om/MessageHeaderPeer.java (original)
+++ james/server/sandbox/imap-integration/src/java/org/apache/james/mailboxmanager/torque/om/MessageHeaderPeer.java Tue Oct 10 01:34:56 2006
@@ -13,8 +13,8 @@
extends org.apache.james.mailboxmanager.torque.om.BaseMessageHeaderPeer
{
- /**
- *
- */
- private static final long serialVersionUID = -4865363319883905760L;
+ /**
+ *
+ */
+ private static final long serialVersionUID = -4865363319883905760L;
}
Propchange: james/server/sandbox/imap-integration/src/java/org/apache/james/mailboxmanager/torque/om/MessageHeaderPeer.java
------------------------------------------------------------------------------
svn:eol-style = native
Modified: james/server/sandbox/imap-integration/src/java/org/apache/james/mailboxmanager/torque/om/MessageRow.java
URL: http://svn.apache.org/viewvc/james/server/sandbox/imap-integration/src/java/org/apache/james/mailboxmanager/torque/om/MessageRow.java?view=diff&rev=454662&r1=454661&r2=454662
==============================================================================
--- james/server/sandbox/imap-integration/src/java/org/apache/james/mailboxmanager/torque/om/MessageRow.java (original)
+++ james/server/sandbox/imap-integration/src/java/org/apache/james/mailboxmanager/torque/om/MessageRow.java Tue Oct 10 01:34:56 2006
@@ -21,11 +21,11 @@
implements Persistent
{
/**
- *
- */
- private static final long serialVersionUID = -75081490028686786L;
+ *
+ */
+ private static final long serialVersionUID = -75081490028686786L;
- public MessageFlags getMessageFlags() throws TorqueException {
+ public MessageFlags getMessageFlags() throws TorqueException {
MessageFlags mf =null;
List l = getMessageFlagss();
if (l.size()==1) {
Propchange: james/server/sandbox/imap-integration/src/java/org/apache/james/mailboxmanager/torque/om/MessageRow.java
------------------------------------------------------------------------------
svn:eol-style = native
Modified: james/server/sandbox/imap-integration/src/java/org/apache/james/mailboxmanager/torque/om/MessageRowPeer.java
URL: http://svn.apache.org/viewvc/james/server/sandbox/imap-integration/src/java/org/apache/james/mailboxmanager/torque/om/MessageRowPeer.java?view=diff&rev=454662&r1=454661&r2=454662
==============================================================================
--- james/server/sandbox/imap-integration/src/java/org/apache/james/mailboxmanager/torque/om/MessageRowPeer.java (original)
+++ james/server/sandbox/imap-integration/src/java/org/apache/james/mailboxmanager/torque/om/MessageRowPeer.java Tue Oct 10 01:34:56 2006
@@ -13,10 +13,10 @@
public class MessageRowPeer extends
org.apache.james.mailboxmanager.torque.om.BaseMessageRowPeer {
- /**
- *
- */
- private static final long serialVersionUID = 1708650986440774692L;
+ /**
+ *
+ */
+ private static final long serialVersionUID = 1708650986440774692L;
Propchange: james/server/sandbox/imap-integration/src/java/org/apache/james/mailboxmanager/torque/om/MessageRowPeer.java
------------------------------------------------------------------------------
svn:eol-style = native
Modified: james/server/sandbox/imap-integration/src/java/org/apache/james/mailboxmanager/torque/om/map/MailboxMapBuilder.java
URL: http://svn.apache.org/viewvc/james/server/sandbox/imap-integration/src/java/org/apache/james/mailboxmanager/torque/om/map/MailboxMapBuilder.java?view=diff&rev=454662&r1=454661&r2=454662
==============================================================================
--- james/server/sandbox/imap-integration/src/java/org/apache/james/mailboxmanager/torque/om/map/MailboxMapBuilder.java (original)
+++ james/server/sandbox/imap-integration/src/java/org/apache/james/mailboxmanager/torque/om/map/MailboxMapBuilder.java Tue Oct 10 01:34:56 2006
@@ -63,7 +63,7 @@
tMap.setPrimaryKeyMethodInfo("mailbox");
tMap.addPrimaryKey("mailbox.MAILBOX_ID", new Long(0) );
- tMap.addColumn("mailbox.NAME", "", 255 );
+ tMap.addColumn("mailbox.NAME", "", 255 );
tMap.addColumn("mailbox.UID_VALIDITY", new Long(0) );
tMap.addColumn("mailbox.LAST_UID", new Long(0) );
tMap.addColumn("mailbox.MESSAGE_COUNT", new Integer(0) );
Propchange: james/server/sandbox/imap-integration/src/java/org/apache/james/mailboxmanager/torque/om/map/MailboxMapBuilder.java
------------------------------------------------------------------------------
svn:eol-style = native
Modified: james/server/sandbox/imap-integration/src/java/org/apache/james/mailboxmanager/torque/om/map/MailboxRowMapBuilder.java
URL: http://svn.apache.org/viewvc/james/server/sandbox/imap-integration/src/java/org/apache/james/mailboxmanager/torque/om/map/MailboxRowMapBuilder.java?view=diff&rev=454662&r1=454661&r2=454662
==============================================================================
--- james/server/sandbox/imap-integration/src/java/org/apache/james/mailboxmanager/torque/om/map/MailboxRowMapBuilder.java (original)
+++ james/server/sandbox/imap-integration/src/java/org/apache/james/mailboxmanager/torque/om/map/MailboxRowMapBuilder.java Tue Oct 10 01:34:56 2006
@@ -66,7 +66,7 @@
tMap.setPrimaryKeyMethodInfo("mailbox");
tMap.addPrimaryKey("mailbox.MAILBOX_ID", new Long(0) );
- tMap.addColumn("mailbox.NAME", "", 255 );
+ tMap.addColumn("mailbox.NAME", "", 255 );
tMap.addColumn("mailbox.UID_VALIDITY", new Long(0) );
tMap.addColumn("mailbox.LAST_UID", new Long(0) );
tMap.addColumn("mailbox.MESSAGE_COUNT", new Integer(0) );
Propchange: james/server/sandbox/imap-integration/src/java/org/apache/james/mailboxmanager/torque/om/map/MailboxRowMapBuilder.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: james/server/sandbox/imap-integration/src/java/org/apache/james/mailboxmanager/torque/om/map/MessageBodyMapBuilder.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: james/server/sandbox/imap-integration/src/java/org/apache/james/mailboxmanager/torque/om/map/MessageFlagsMapBuilder.java
------------------------------------------------------------------------------
svn:eol-style = native
Modified: james/server/sandbox/imap-integration/src/java/org/apache/james/mailboxmanager/torque/om/map/MessageHeaderMapBuilder.java
URL: http://svn.apache.org/viewvc/james/server/sandbox/imap-integration/src/java/org/apache/james/mailboxmanager/torque/om/map/MessageHeaderMapBuilder.java?view=diff&rev=454662&r1=454661&r2=454662
==============================================================================
--- james/server/sandbox/imap-integration/src/java/org/apache/james/mailboxmanager/torque/om/map/MessageHeaderMapBuilder.java (original)
+++ james/server/sandbox/imap-integration/src/java/org/apache/james/mailboxmanager/torque/om/map/MessageHeaderMapBuilder.java Tue Oct 10 01:34:56 2006
@@ -71,7 +71,7 @@
"message_header.UID", new Long(0) , "message" ,
"uid");
tMap.addPrimaryKey("message_header.LINE_NUMBER", new Integer(0) );
- tMap.addColumn("message_header.FIELD", "", 256 );
- tMap.addColumn("message_header.VALUE", "", 1024 );
+ tMap.addColumn("message_header.FIELD", "", 256 );
+ tMap.addColumn("message_header.VALUE", "", 1024 );
}
}
Propchange: james/server/sandbox/imap-integration/src/java/org/apache/james/mailboxmanager/torque/om/map/MessageHeaderMapBuilder.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: james/server/sandbox/imap-integration/src/java/org/apache/james/mailboxmanager/torque/om/map/MessageMapBuilder.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: james/server/sandbox/imap-integration/src/java/org/apache/james/mailboxmanager/torque/om/map/MessageRowMapBuilder.java
------------------------------------------------------------------------------
svn:eol-style = native
Modified: james/server/sandbox/imap-integration/src/java/org/apache/james/mailboxmanager/tracking/MailboxCache.java
URL: http://svn.apache.org/viewvc/james/server/sandbox/imap-integration/src/java/org/apache/james/mailboxmanager/tracking/MailboxCache.java?view=diff&rev=454662&r1=454661&r2=454662
==============================================================================
--- james/server/sandbox/imap-integration/src/java/org/apache/james/mailboxmanager/tracking/MailboxCache.java (original)
+++ james/server/sandbox/imap-integration/src/java/org/apache/james/mailboxmanager/tracking/MailboxCache.java Tue Oct 10 01:34:56 2006
@@ -36,16 +36,16 @@
trackers.remove(tracker.getMailboxName());
}
- public synchronized void renamed(String origName, String newName) {
- MailboxTracker tracker=(MailboxTracker) trackers.get(origName);
- if (tracker!=null) {
- // is there already a tracker at the new position??
- notFound(newName);
- trackers.remove(origName);
- trackers.put(newName, tracker);
- tracker.signalRename(newName);
- }
- notFound(origName);
- }
+ public synchronized void renamed(String origName, String newName) {
+ MailboxTracker tracker=(MailboxTracker) trackers.get(origName);
+ if (tracker!=null) {
+ // is there already a tracker at the new position??
+ notFound(newName);
+ trackers.remove(origName);
+ trackers.put(newName, tracker);
+ tracker.signalRename(newName);
+ }
+ notFound(origName);
+ }
}
Propchange: james/server/sandbox/imap-integration/src/java/org/apache/james/mailboxmanager/tracking/MailboxCache.java
------------------------------------------------------------------------------
svn:eol-style = native
Modified: james/server/sandbox/imap-integration/src/java/org/apache/james/mailboxmanager/tracking/MailboxTracker.java
URL: http://svn.apache.org/viewvc/james/server/sandbox/imap-integration/src/java/org/apache/james/mailboxmanager/tracking/MailboxTracker.java?view=diff&rev=454662&r1=454661&r2=454662
==============================================================================
--- james/server/sandbox/imap-integration/src/java/org/apache/james/mailboxmanager/tracking/MailboxTracker.java (original)
+++ james/server/sandbox/imap-integration/src/java/org/apache/james/mailboxmanager/tracking/MailboxTracker.java Tue Oct 10 01:34:56 2006
@@ -11,7 +11,7 @@
protected MailboxEventDispatcher eventDispatcher=new MailboxEventDispatcher();
- private boolean existing;
+ private boolean existing;
public MailboxTracker(MailboxCache mailboxCache, String mailboxName) {
this.mailboxName=mailboxName;
@@ -38,18 +38,18 @@
}
}
- public void mailboxNotFound() {
- mailboxCache.notFound(getMailboxName());
- existing=false;
- }
+ public void mailboxNotFound() {
+ mailboxCache.notFound(getMailboxName());
+ existing=false;
+ }
- public boolean isExisting() {
- return existing;
- }
+ public boolean isExisting() {
+ return existing;
+ }
- public void signalRename(String newName) {
+ public void signalRename(String newName) {
eventDispatcher.mailboxRenamed(mailboxName, newName);
mailboxName=newName;
- }
+ }
}
Propchange: james/server/sandbox/imap-integration/src/java/org/apache/james/mailboxmanager/tracking/MailboxTracker.java
------------------------------------------------------------------------------
svn:eol-style = native
Modified: james/server/sandbox/imap-integration/src/java/org/apache/james/mailboxmanager/tracking/UidChangeTracker.java
URL: http://svn.apache.org/viewvc/james/server/sandbox/imap-integration/src/java/org/apache/james/mailboxmanager/tracking/UidChangeTracker.java?view=diff&rev=454662&r1=454661&r2=454662
==============================================================================
--- james/server/sandbox/imap-integration/src/java/org/apache/james/mailboxmanager/tracking/UidChangeTracker.java (original)
+++ james/server/sandbox/imap-integration/src/java/org/apache/james/mailboxmanager/tracking/UidChangeTracker.java Tue Oct 10 01:34:56 2006
@@ -21,114 +21,114 @@
*/
public class UidChangeTracker extends MailboxTracker implements Constants {
- private TreeMap cache = new TreeMap();
+ private TreeMap cache = new TreeMap();
- private long lastUidAtStart;
+ private long lastUidAtStart;
- private long lastUid;
+ private long lastUid;
- private long lastScannedUid = 0;
+ private long lastScannedUid = 0;
- public UidChangeTracker(MailboxCache mailboxCache, String mailboxName,
- long lastUid) {
- super(mailboxCache, mailboxName);
- this.lastUidAtStart = lastUid;
- this.lastUid = lastUid;
- }
-
- public synchronized void expunged(MessageResult[] expunged) {
- for (int i = 0; i < expunged.length; i++) {
- if (expunged[i] != null) {
- cache.remove(new Long(expunged[i].getUid()));
- eventDispatcher.expunged(expunged[i]);
- }
- }
- }
-
- public synchronized void found(UidRange range,
- MessageResult[] messageResults, MailboxListener silentListener) {
- Set expectedSet = getSubSet(range);
- for (int i = 0; i < messageResults.length; i++) {
- if (messageResults[i] != null) {
- long uid = messageResults[i].getUid();
- if (uid>lastScannedUid) {
- lastScannedUid=uid;
- }
- if (expectedSet.contains(new Long(uid))) {
- expectedSet.remove(new Long(uid));
- if (messageResults[i].getFlags() != null) {
- Flags cachedFlags = (Flags) cache.get(new Long(uid));
- if (cachedFlags == null
- || !messageResults[i].getFlags().equals(
- cachedFlags)) {
- eventDispatcher.flagsUpdated(messageResults[i],
- silentListener);
- cache.put(new Long(uid), messageResults[i].getFlags());
- }
- }
- } else {
- cache.put(new Long(uid), messageResults[i].getFlags());
- if (uid > lastUidAtStart) {
- eventDispatcher.added(messageResults[i]);
- }
- }
- }
-
- }
-
- if (lastScannedUid>lastUid) {
- lastUid=lastScannedUid;
- }
- if (range.getToUid()==UID_INFINITY || range.getToUid()>=lastUid) {
- lastScannedUid=lastUid;
- } else if (range.getToUid()!=UID_INFINITY && range.getToUid()<lastUid && range.getToUid() > lastScannedUid) {
- lastScannedUid=range.getToUid();
- }
-
-
-
- for (Iterator iter = expectedSet.iterator(); iter.hasNext();) {
- long uid = ((Long) iter.next()).longValue();
-
- MessageResultImpl mr = new MessageResultImpl();
- mr.setUid(uid);
- eventDispatcher.expunged(mr);
- }
- }
-
- private SortedSet getSubSet(UidRange range) {
- if (range.getToUid() > 0) {
- return new TreeSet(cache.subMap(new Long(range.getFromUid()),
- new Long(range.getToUid() + 1)).keySet());
- } else {
- return new TreeSet(cache
- .tailMap(new Long(range.getFromUid())).keySet());
- }
-
- }
-
- public synchronized void found(MessageResult messageResult,
- MailboxListener silentListener) {
- if (messageResult != null) {
- long uid = messageResult.getUid();
- found(new UidRange(uid, uid),
- new MessageResult[] { messageResult }, silentListener);
- }
- }
-
- public synchronized long getLastUid() {
- return lastUid;
- }
-
- public synchronized void foundLastUid(long foundLastUid) {
- if (foundLastUid>lastUid) {
- lastUid=foundLastUid;
- }
- }
-
- public synchronized long getLastScannedUid() {
- return lastScannedUid;
- }
+ public UidChangeTracker(MailboxCache mailboxCache, String mailboxName,
+ long lastUid) {
+ super(mailboxCache, mailboxName);
+ this.lastUidAtStart = lastUid;
+ this.lastUid = lastUid;
+ }
+
+ public synchronized void expunged(MessageResult[] expunged) {
+ for (int i = 0; i < expunged.length; i++) {
+ if (expunged[i] != null) {
+ cache.remove(new Long(expunged[i].getUid()));
+ eventDispatcher.expunged(expunged[i]);
+ }
+ }
+ }
+
+ public synchronized void found(UidRange range,
+ MessageResult[] messageResults, MailboxListener silentListener) {
+ Set expectedSet = getSubSet(range);
+ for (int i = 0; i < messageResults.length; i++) {
+ if (messageResults[i] != null) {
+ long uid = messageResults[i].getUid();
+ if (uid>lastScannedUid) {
+ lastScannedUid=uid;
+ }
+ if (expectedSet.contains(new Long(uid))) {
+ expectedSet.remove(new Long(uid));
+ if (messageResults[i].getFlags() != null) {
+ Flags cachedFlags = (Flags) cache.get(new Long(uid));
+ if (cachedFlags == null
+ || !messageResults[i].getFlags().equals(
+ cachedFlags)) {
+ eventDispatcher.flagsUpdated(messageResults[i],
+ silentListener);
+ cache.put(new Long(uid), messageResults[i].getFlags());
+ }
+ }
+ } else {
+ cache.put(new Long(uid), messageResults[i].getFlags());
+ if (uid > lastUidAtStart) {
+ eventDispatcher.added(messageResults[i]);
+ }
+ }
+ }
+
+ }
+
+ if (lastScannedUid>lastUid) {
+ lastUid=lastScannedUid;
+ }
+ if (range.getToUid()==UID_INFINITY || range.getToUid()>=lastUid) {
+ lastScannedUid=lastUid;
+ } else if (range.getToUid()!=UID_INFINITY && range.getToUid()<lastUid && range.getToUid() > lastScannedUid) {
+ lastScannedUid=range.getToUid();
+ }
+
+
+
+ for (Iterator iter = expectedSet.iterator(); iter.hasNext();) {
+ long uid = ((Long) iter.next()).longValue();
+
+ MessageResultImpl mr = new MessageResultImpl();
+ mr.setUid(uid);
+ eventDispatcher.expunged(mr);
+ }
+ }
+
+ private SortedSet getSubSet(UidRange range) {
+ if (range.getToUid() > 0) {
+ return new TreeSet(cache.subMap(new Long(range.getFromUid()),
+ new Long(range.getToUid() + 1)).keySet());
+ } else {
+ return new TreeSet(cache
+ .tailMap(new Long(range.getFromUid())).keySet());
+ }
+
+ }
+
+ public synchronized void found(MessageResult messageResult,
+ MailboxListener silentListener) {
+ if (messageResult != null) {
+ long uid = messageResult.getUid();
+ found(new UidRange(uid, uid),
+ new MessageResult[] { messageResult }, silentListener);
+ }
+ }
+
+ public synchronized long getLastUid() {
+ return lastUid;
+ }
+
+ public synchronized void foundLastUid(long foundLastUid) {
+ if (foundLastUid>lastUid) {
+ lastUid=foundLastUid;
+ }
+ }
+
+ public synchronized long getLastScannedUid() {
+ return lastScannedUid;
+ }
Propchange: james/server/sandbox/imap-integration/src/java/org/apache/james/mailboxmanager/tracking/UidChangeTracker.java
------------------------------------------------------------------------------
svn:eol-style = native
Modified: james/server/sandbox/imap-integration/src/java/org/apache/james/mailboxmanager/tracking/UidRange.java
URL: http://svn.apache.org/viewvc/james/server/sandbox/imap-integration/src/java/org/apache/james/mailboxmanager/tracking/UidRange.java?view=diff&rev=454662&r1=454661&r2=454662
==============================================================================
--- james/server/sandbox/imap-integration/src/java/org/apache/james/mailboxmanager/tracking/UidRange.java (original)
+++ james/server/sandbox/imap-integration/src/java/org/apache/james/mailboxmanager/tracking/UidRange.java Tue Oct 10 01:34:56 2006
@@ -24,12 +24,12 @@
}
public int compareTo(Object o) {
- if (!(o instanceof UidRange)) {
- return 1;
- } else {
- UidRange that = (UidRange) o;
- return new Long(fromUid).compareTo(new Long(that.fromUid));
- }
- }
+ if (!(o instanceof UidRange)) {
+ return 1;
+ } else {
+ UidRange that = (UidRange) o;
+ return new Long(fromUid).compareTo(new Long(that.fromUid));
+ }
+ }
}
Propchange: james/server/sandbox/imap-integration/src/java/org/apache/james/mailboxmanager/tracking/UidRange.java
------------------------------------------------------------------------------
svn:eol-style = native
Modified: james/server/sandbox/imap-integration/src/java/org/apache/james/mailboxmanager/util/AbstractLogEnabled.java
URL: http://svn.apache.org/viewvc/james/server/sandbox/imap-integration/src/java/org/apache/james/mailboxmanager/util/AbstractLogEnabled.java?view=diff&rev=454662&r1=454661&r2=454662
==============================================================================
--- james/server/sandbox/imap-integration/src/java/org/apache/james/mailboxmanager/util/AbstractLogEnabled.java (original)
+++ james/server/sandbox/imap-integration/src/java/org/apache/james/mailboxmanager/util/AbstractLogEnabled.java Tue Oct 10 01:34:56 2006
@@ -4,18 +4,18 @@
import org.apache.commons.logging.impl.SimpleLog;
public abstract class AbstractLogEnabled {
-
- private Log log;
+
+ private Log log;
- protected Log getLog() {
- if (log==null) {
- log=new SimpleLog(this.getClass().getName());
- }
- return log;
- }
-
- public void setLog(Log log) {
- this.log=log;
- }
+ protected Log getLog() {
+ if (log==null) {
+ log=new SimpleLog(this.getClass().getName());
+ }
+ return log;
+ }
+
+ public void setLog(Log log) {
+ this.log=log;
+ }
}
Propchange: james/server/sandbox/imap-integration/src/java/org/apache/james/mailboxmanager/util/AbstractLogEnabled.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: james/server/sandbox/imap-integration/src/java/org/apache/james/mailboxmanager/util/SqlResources.java
------------------------------------------------------------------------------
svn:eol-style = native
Modified: james/server/sandbox/imap-integration/src/java/org/apache/james/mailboxmanager/wrapper/FlaggedSessionMailboxWrapper.java
URL: http://svn.apache.org/viewvc/james/server/sandbox/imap-integration/src/java/org/apache/james/mailboxmanager/wrapper/FlaggedSessionMailboxWrapper.java?view=diff&rev=454662&r1=454661&r2=454662
==============================================================================
--- james/server/sandbox/imap-integration/src/java/org/apache/james/mailboxmanager/wrapper/FlaggedSessionMailboxWrapper.java (original)
+++ james/server/sandbox/imap-integration/src/java/org/apache/james/mailboxmanager/wrapper/FlaggedSessionMailboxWrapper.java Tue Oct 10 01:34:56 2006
@@ -11,7 +11,7 @@
public class FlaggedSessionMailboxWrapper extends SessionMailboxWrapper {
public FlaggedSessionMailboxWrapper(FlaggedMailbox flaggedMailbox) throws MailboxManagerException {
- super(flaggedMailbox);
+ super(flaggedMailbox);
}
Propchange: james/server/sandbox/imap-integration/src/java/org/apache/james/mailboxmanager/wrapper/FlaggedSessionMailboxWrapper.java
------------------------------------------------------------------------------
svn:eol-style = native
Modified: james/server/sandbox/imap-integration/src/java/org/apache/james/mailboxmanager/wrapper/ImapMailboxSessionWrapper.java
URL: http://svn.apache.org/viewvc/james/server/sandbox/imap-integration/src/java/org/apache/james/mailboxmanager/wrapper/ImapMailboxSessionWrapper.java?view=diff&rev=454662&r1=454661&r2=454662
==============================================================================
--- james/server/sandbox/imap-integration/src/java/org/apache/james/mailboxmanager/wrapper/ImapMailboxSessionWrapper.java (original)
+++ james/server/sandbox/imap-integration/src/java/org/apache/james/mailboxmanager/wrapper/ImapMailboxSessionWrapper.java Tue Oct 10 01:34:56 2006
@@ -46,10 +46,10 @@
return ((ImapMailbox) mailbox).getUidNext();
}
- public MessageResult[] search(GeneralMessageSet set, SearchTerm searchTerm, int result) {
- // TODO Auto-generated method stub
- return null;
- }
+ public MessageResult[] search(GeneralMessageSet set, SearchTerm searchTerm, int result) {
+ // TODO Auto-generated method stub
+ return null;
+ }
Propchange: james/server/sandbox/imap-integration/src/java/org/apache/james/mailboxmanager/wrapper/ImapMailboxSessionWrapper.java
------------------------------------------------------------------------------
svn:eol-style = native
Modified: james/server/sandbox/imap-integration/src/java/org/apache/james/mailboxmanager/wrapper/NumberStableSessionWrapper.java
URL: http://svn.apache.org/viewvc/james/server/sandbox/imap-integration/src/java/org/apache/james/mailboxmanager/wrapper/NumberStableSessionWrapper.java?view=diff&rev=454662&r1=454661&r2=454662
==============================================================================
--- james/server/sandbox/imap-integration/src/java/org/apache/james/mailboxmanager/wrapper/NumberStableSessionWrapper.java (original)
+++ james/server/sandbox/imap-integration/src/java/org/apache/james/mailboxmanager/wrapper/NumberStableSessionWrapper.java Tue Oct 10 01:34:56 2006
@@ -21,122 +21,122 @@
import org.apache.james.mailboxmanager.util.AbstractLogEnabled;
public class NumberStableSessionWrapper extends AbstractLogEnabled implements EventQueueingSessionMailbox,
- MailboxListener {
+ MailboxListener {
- protected GeneralMailbox mailbox;
+ protected GeneralMailbox mailbox;
- private UidToMsnBidiMap numberCache = null;
-
+ private UidToMsnBidiMap numberCache = null;
+
protected Map flagEventMap = new TreeMap();
protected SortedSet expungedEventList = new TreeSet();
- private MailboxEventDispatcher eventDispatcher = new MailboxEventDispatcher();
+ private MailboxEventDispatcher eventDispatcher = new MailboxEventDispatcher();
public NumberStableSessionWrapper(GeneralMailbox generalMailbox) throws MailboxManagerException {
- this.mailbox=generalMailbox;
- ((EventTriggerMailbox)mailbox).addListener(eventDispatcher, MessageResult.UID);
- getNumberCache();
- eventDispatcher.addMailboxListener(this);
- }
-
- protected UidToMsnBidiMap getNumberCache() throws MailboxManagerException {
- if (numberCache == null) {
- MessageResult[] mr = mailbox.getMessages(GeneralMessageSetImpl
- .all(), MessageResult.UID);
- numberCache = new UidToMsnBidiMap();
- for (int i = 0; i < mr.length; i++) {
- numberCache.add(mr[i].getUid());
- }
- }
- return numberCache;
- }
-
- protected GeneralMessageSet toUidSet(GeneralMessageSet set)
- throws MailboxManagerException {
-
- if (set.getType() == GeneralMessageSet.TYPE_MSN) {
- set = GeneralMessageSetImpl.uidRange(getNumberCache().getUid(
- set.getMsnFrom()), getNumberCache().getUid(set.getMsnTo()));
- }
- return set;
- }
-
- protected static int noMsnResult(int result) {
- if ((result & MessageResult.MSN) > 0) {
- result |= MessageResult.UID;
- result -= MessageResult.MSN;
- }
- return result;
- }
-
- protected MessageResult[] addMsnToResults(MessageResult[] mr, int result)
- throws MailboxManagerException {
- MessageResult[] translated = new MessageResult[mr.length];
- for (int i = 0; i < translated.length; i++) {
- translated[i] = addMsnResult(mr[i], result);
- }
- return translated;
- }
-
- protected MessageResult addMsnResult(MessageResult mr, int result)
- throws MailboxManagerException {
- if (mr != null) {
- if ((result & MessageResult.MSN) > 0) {
- // TODO copy the MessageResult because it could be another class
- int msn = getNumberCache().getMsn(mr.getUid());
- ((MessageResultImpl) mr).setMsn(msn);
- }
- }
- return mr;
- }
-
- public synchronized MessageResult[] getFlagEvents(boolean reset)
- throws MailboxManagerException {
- final MessageResult[] msnFlagEvents = buildMsnEvents(flagEventMap.values(),false);
- if (reset) {
- flagEventMap = new TreeMap();
- }
- return msnFlagEvents;
- }
-
- public synchronized MessageResult[] getExpungedEvents(boolean reset)
- throws MailboxManagerException {
- final MessageResult[] msnExpungedEvents = buildMsnEvents(expungedEventList,reset);
- if (reset) {
- expungedEventList = new TreeSet();
- }
- return msnExpungedEvents;
- }
-
- protected MessageResult[] buildMsnEvents(Collection collection,boolean expunge)
- throws MailboxManagerException {
- final MessageResult[] msnEvents = new MessageResult[collection.size()];
- int i=0;
- for (Iterator iter = collection.iterator(); iter.hasNext();) {
- MessageResult origMr = (MessageResult) iter.next();
- MessageResultImpl newMr = new MessageResultImpl(origMr);
- newMr.setMsn(getNumberCache().getMsn(origMr.getUid()));
- if (expunge) {
- getNumberCache().expunge(origMr.getUid());
- }
- msnEvents[i++]=newMr;
- }
- return msnEvents;
- }
-
- public void added(MessageResult result) {
- try {
- getNumberCache().add(result.getUid());
- } catch (MailboxManagerException e) {
- getLog().error("This should not happen",e);
- }
- }
+ this.mailbox=generalMailbox;
+ ((EventTriggerMailbox)mailbox).addListener(eventDispatcher, MessageResult.UID);
+ getNumberCache();
+ eventDispatcher.addMailboxListener(this);
+ }
+
+ protected UidToMsnBidiMap getNumberCache() throws MailboxManagerException {
+ if (numberCache == null) {
+ MessageResult[] mr = mailbox.getMessages(GeneralMessageSetImpl
+ .all(), MessageResult.UID);
+ numberCache = new UidToMsnBidiMap();
+ for (int i = 0; i < mr.length; i++) {
+ numberCache.add(mr[i].getUid());
+ }
+ }
+ return numberCache;
+ }
+
+ protected GeneralMessageSet toUidSet(GeneralMessageSet set)
+ throws MailboxManagerException {
+
+ if (set.getType() == GeneralMessageSet.TYPE_MSN) {
+ set = GeneralMessageSetImpl.uidRange(getNumberCache().getUid(
+ set.getMsnFrom()), getNumberCache().getUid(set.getMsnTo()));
+ }
+ return set;
+ }
- public void expunged(MessageResult mr) {
- getLog().debug("Expunged: "+mr);
+ protected static int noMsnResult(int result) {
+ if ((result & MessageResult.MSN) > 0) {
+ result |= MessageResult.UID;
+ result -= MessageResult.MSN;
+ }
+ return result;
+ }
+
+ protected MessageResult[] addMsnToResults(MessageResult[] mr, int result)
+ throws MailboxManagerException {
+ MessageResult[] translated = new MessageResult[mr.length];
+ for (int i = 0; i < translated.length; i++) {
+ translated[i] = addMsnResult(mr[i], result);
+ }
+ return translated;
+ }
+
+ protected MessageResult addMsnResult(MessageResult mr, int result)
+ throws MailboxManagerException {
+ if (mr != null) {
+ if ((result & MessageResult.MSN) > 0) {
+ // TODO copy the MessageResult because it could be another class
+ int msn = getNumberCache().getMsn(mr.getUid());
+ ((MessageResultImpl) mr).setMsn(msn);
+ }
+ }
+ return mr;
+ }
+
+ public synchronized MessageResult[] getFlagEvents(boolean reset)
+ throws MailboxManagerException {
+ final MessageResult[] msnFlagEvents = buildMsnEvents(flagEventMap.values(),false);
+ if (reset) {
+ flagEventMap = new TreeMap();
+ }
+ return msnFlagEvents;
+ }
+
+ public synchronized MessageResult[] getExpungedEvents(boolean reset)
+ throws MailboxManagerException {
+ final MessageResult[] msnExpungedEvents = buildMsnEvents(expungedEventList,reset);
+ if (reset) {
+ expungedEventList = new TreeSet();
+ }
+ return msnExpungedEvents;
+ }
+
+ protected MessageResult[] buildMsnEvents(Collection collection,boolean expunge)
+ throws MailboxManagerException {
+ final MessageResult[] msnEvents = new MessageResult[collection.size()];
+ int i=0;
+ for (Iterator iter = collection.iterator(); iter.hasNext();) {
+ MessageResult origMr = (MessageResult) iter.next();
+ MessageResultImpl newMr = new MessageResultImpl(origMr);
+ newMr.setMsn(getNumberCache().getMsn(origMr.getUid()));
+ if (expunge) {
+ getNumberCache().expunge(origMr.getUid());
+ }
+ msnEvents[i++]=newMr;
+ }
+ return msnEvents;
+ }
+
+ public void added(MessageResult result) {
+ try {
+ getNumberCache().add(result.getUid());
+ } catch (MailboxManagerException e) {
+ getLog().error("This should not happen",e);
+ }
+ }
+
+ public void expunged(MessageResult mr) {
+ getLog().debug("Expunged: "+mr);
expungedEventList.add(mr);
- }
+ }
public synchronized void flagsUpdated(MessageResult mr,
MailboxListener silentListener) {
@@ -148,16 +148,16 @@
}
}
- public void mailboxDeleted() {
- // TODO Auto-generated method stub
+ public void mailboxDeleted() {
+ // TODO Auto-generated method stub
- }
+ }
- public void mailboxRenamed(String origName, String newName) {
- // TODO Auto-generated method stub
+ public void mailboxRenamed(String origName, String newName) {
+ // TODO Auto-generated method stub
- }
-
+ }
+
public void addListener(MailboxListener listener, int result) {
eventDispatcher.addMailboxListener(listener);
}
Propchange: james/server/sandbox/imap-integration/src/java/org/apache/james/mailboxmanager/wrapper/NumberStableSessionWrapper.java
------------------------------------------------------------------------------
svn:eol-style = native
Modified: james/server/sandbox/imap-integration/src/java/org/apache/james/mailboxmanager/wrapper/SessionMailboxWrapper.java
URL: http://svn.apache.org/viewvc/james/server/sandbox/imap-integration/src/java/org/apache/james/mailboxmanager/wrapper/SessionMailboxWrapper.java?view=diff&rev=454662&r1=454661&r2=454662
==============================================================================
--- james/server/sandbox/imap-integration/src/java/org/apache/james/mailboxmanager/wrapper/SessionMailboxWrapper.java (original)
+++ james/server/sandbox/imap-integration/src/java/org/apache/james/mailboxmanager/wrapper/SessionMailboxWrapper.java Tue Oct 10 01:34:56 2006
@@ -14,10 +14,10 @@
public class SessionMailboxWrapper extends NumberStableSessionWrapper implements MailboxSession {
public SessionMailboxWrapper(GeneralMailbox generalMailbox) throws MailboxManagerException {
- super(generalMailbox);
- }
+ super(generalMailbox);
+ }
- public MessageResult appendMessage(MimeMessage message, Date internalDate,
+ public MessageResult appendMessage(MimeMessage message, Date internalDate,
int result) throws MailboxManagerException {
return addMsnResult(mailbox.appendMessage(message, internalDate, noMsnResult(result)),result);
}
@@ -52,8 +52,8 @@
// TODO Auto-generated method stub
}
- public boolean isWriteable() {
- return true;
- }
+ public boolean isWriteable() {
+ return true;
+ }
}
Propchange: james/server/sandbox/imap-integration/src/java/org/apache/james/mailboxmanager/wrapper/SessionMailboxWrapper.java
------------------------------------------------------------------------------
svn:eol-style = native
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org