Author: norman Date: Fri Jun 25 13:36:07 2010 New Revision: 957939 URL: http://svn.apache.org/viewvc?rev=957939&view=rev Log: Remove of MailboxMapper.countMailboxesWithName() method. Its not needed (IMAP-164). Thx to Tim-Christian Mundt for the patch
Modified: james/imap/trunk/jcr/src/main/java/org/apache/james/imap/jcr/mail/JCRMailboxMapper.java james/imap/trunk/jpa/src/main/java/org/apache/james/imap/jpa/mail/JPAMailboxMapper.java james/imap/trunk/jpa/src/main/java/org/apache/james/imap/jpa/mail/model/JPAMailbox.java james/imap/trunk/memory/src/main/java/org/apache/james/imap/inmemory/mail/InMemoryMailboxMapper.java james/imap/trunk/store/src/main/java/org/apache/james/imap/store/StoreMailboxManager.java james/imap/trunk/store/src/main/java/org/apache/james/imap/store/mail/MailboxMapper.java Modified: james/imap/trunk/jcr/src/main/java/org/apache/james/imap/jcr/mail/JCRMailboxMapper.java URL: http://svn.apache.org/viewvc/james/imap/trunk/jcr/src/main/java/org/apache/james/imap/jcr/mail/JCRMailboxMapper.java?rev=957939&r1=957938&r2=957939&view=diff ============================================================================== --- james/imap/trunk/jcr/src/main/java/org/apache/james/imap/jcr/mail/JCRMailboxMapper.java (original) +++ james/imap/trunk/jcr/src/main/java/org/apache/james/imap/jcr/mail/JCRMailboxMapper.java Fri Jun 25 13:36:07 2010 @@ -62,37 +62,6 @@ public class JCRMailboxMapper extends Ab * (non-Javadoc) * * @see - * org.apache.james.imap.store.mail.MailboxMapper#countMailboxesWithName - * (java.lang.String) - */ - public long countMailboxesWithName(String name) throws StorageException { - - try { - QueryManager manager = getSession().getWorkspace().getQueryManager(); - String queryString = "/jcr:root/"+ MAILBOXES_PATH + "//element(*,jamesMailbox:mailbox)[@" + JCRMailbox.NAME_PROPERTY + "='" + name + "'] order by @"+ JCRMailbox.NAME_PROPERTY; - QueryResult result = manager.createQuery(queryString, Query.XPATH).execute(); - NodeIterator it = result.getNodes(); - long resultSize = it.getSize(); - if (resultSize == -1) { - resultSize = 0; - while (it.hasNext()) { - it.nextNode(); - resultSize++; - } - } - return resultSize; - } catch (PathNotFoundException e) { - // not found - } catch (RepositoryException e) { - throw new StorageException(HumanReadableText.COUNT_FAILED, e); - } - return 0; - } - - /* - * (non-Javadoc) - * - * @see * org.apache.james.imap.store.mail.MailboxMapper#delete(org.apache.james * .imap.store.mail.model.Mailbox) */ Modified: james/imap/trunk/jpa/src/main/java/org/apache/james/imap/jpa/mail/JPAMailboxMapper.java URL: http://svn.apache.org/viewvc/james/imap/trunk/jpa/src/main/java/org/apache/james/imap/jpa/mail/JPAMailboxMapper.java?rev=957939&r1=957938&r2=957939&view=diff ============================================================================== --- james/imap/trunk/jpa/src/main/java/org/apache/james/imap/jpa/mail/JPAMailboxMapper.java (original) +++ james/imap/trunk/jpa/src/main/java/org/apache/james/imap/jpa/mail/JPAMailboxMapper.java Fri Jun 25 13:36:07 2010 @@ -92,7 +92,7 @@ public class JPAMailboxMapper extends JP return getEntityManager().createNamedQuery("findMailboxWithNameLike").setParameter("nameParam", SQL_WILDCARD_CHAR + name + SQL_WILDCARD_CHAR).getResultList(); } catch (PersistenceException e) { throw new StorageException(HumanReadableText.SEARCH_FAILED, e); - } + } } /** @@ -107,17 +107,6 @@ public class JPAMailboxMapper extends JP } /** - * @see org.apache.james.imap.store.mail.MailboxMapper#countMailboxesWithName(java.lang.String) - */ - public long countMailboxesWithName(String name) throws StorageException { - try { - return (Long) getEntityManager().createNamedQuery("countMailboxesWithName").setParameter("nameParam", name).getSingleResult(); - } catch (PersistenceException e) { - throw new StorageException(HumanReadableText.COUNT_FAILED, e); - } - } - - /** * @see org.apache.james.imap.store.mail.MailboxMapper#findMailboxById(long) */ public Mailbox<Long> findMailboxById(Long mailboxId) throws StorageException, MailboxNotFoundException { Modified: james/imap/trunk/jpa/src/main/java/org/apache/james/imap/jpa/mail/model/JPAMailbox.java URL: http://svn.apache.org/viewvc/james/imap/trunk/jpa/src/main/java/org/apache/james/imap/jpa/mail/model/JPAMailbox.java?rev=957939&r1=957938&r2=957939&view=diff ============================================================================== --- james/imap/trunk/jpa/src/main/java/org/apache/james/imap/jpa/mail/model/JPAMailbox.java (original) +++ james/imap/trunk/jpa/src/main/java/org/apache/james/imap/jpa/mail/model/JPAMailbox.java Fri Jun 25 13:36:07 2010 @@ -33,8 +33,6 @@ import org.apache.james.imap.store.mail. query="SELECT mailbox FROM Mailbox mailbox WHERE mailbox.mailboxId = :idParam"), @NamedQuery(name="findMailboxByName", query="SELECT mailbox FROM Mailbox mailbox WHERE mailbox.name = :nameParam"), - @NamedQuery(name="countMailboxesWithName", - query="SELECT COUNT(mailbox) FROM Mailbox mailbox WHERE mailbox.name = :nameParam"), @NamedQuery(name="deleteAll", query="DELETE FROM Mailbox mailbox"), @NamedQuery(name="findMailboxWithNameLike", Modified: james/imap/trunk/memory/src/main/java/org/apache/james/imap/inmemory/mail/InMemoryMailboxMapper.java URL: http://svn.apache.org/viewvc/james/imap/trunk/memory/src/main/java/org/apache/james/imap/inmemory/mail/InMemoryMailboxMapper.java?rev=957939&r1=957938&r2=957939&view=diff ============================================================================== --- james/imap/trunk/memory/src/main/java/org/apache/james/imap/inmemory/mail/InMemoryMailboxMapper.java (original) +++ james/imap/trunk/memory/src/main/java/org/apache/james/imap/inmemory/mail/InMemoryMailboxMapper.java Fri Jun 25 13:36:07 2010 @@ -43,20 +43,6 @@ public class InMemoryMailboxMapper imple /* * (non-Javadoc) - * @see org.apache.james.imap.store.mail.MailboxMapper#countMailboxesWithName(java.lang.String) - */ - public long countMailboxesWithName(String name) throws StorageException { - int total = 0; - for (final InMemoryMailbox mailbox:mailboxesById.values()) { - if (mailbox.getName().equals(name)) { - total++; - } - } - return total; - } - - /* - * (non-Javadoc) * @see org.apache.james.imap.store.mail.MailboxMapper#delete(org.apache.james.imap.store.mail.model.Mailbox) */ public void delete(Mailbox<Long> mailbox) throws StorageException { Modified: james/imap/trunk/store/src/main/java/org/apache/james/imap/store/StoreMailboxManager.java URL: http://svn.apache.org/viewvc/james/imap/trunk/store/src/main/java/org/apache/james/imap/store/StoreMailboxManager.java?rev=957939&r1=957938&r2=957939&view=diff ============================================================================== --- james/imap/trunk/store/src/main/java/org/apache/james/imap/store/StoreMailboxManager.java (original) +++ james/imap/trunk/store/src/main/java/org/apache/james/imap/store/StoreMailboxManager.java Fri Jun 25 13:36:07 2010 @@ -28,7 +28,6 @@ import java.util.Random; import org.apache.commons.logging.Log; import org.apache.james.imap.api.AbstractLogEnabled; -import org.apache.james.imap.api.display.HumanReadableText; import org.apache.james.imap.mailbox.BadCredentialsException; import org.apache.james.imap.mailbox.MailboxException; import org.apache.james.imap.mailbox.MailboxExistsException; @@ -335,23 +334,17 @@ public abstract class StoreMailboxManage */ public boolean mailboxExists(String mailboxName, MailboxSession session) throws MailboxException { synchronized (mutex) { - final MailboxMapper<Id> mapper = mailboxSessionMapperFactory.getMailboxMapper(session); - final long count = mapper.countMailboxesWithName(mailboxName); - if (count == 0) { + try { + final MailboxMapper<Id> mapper = mailboxSessionMapperFactory.getMailboxMapper(session); + mapper.findMailboxByName(mailboxName); + return true; + } + catch (MailboxNotFoundException e) { return false; - } else { - if (count == 1) { - return true; - } else { - throw new MailboxException(HumanReadableText.DUPLICATE_MAILBOXES, - "Expected one mailbox but found " + count + " mailboxes"); - } } } } - - /* * (non-Javadoc) * @see org.apache.james.imap.mailbox.MailboxManager#createSystemSession(java.lang.String, org.apache.commons.logging.Log) @@ -360,7 +353,6 @@ public abstract class StoreMailboxManage return createSession(userName, null, log); } - /** * Create Session * @@ -372,7 +364,6 @@ public abstract class StoreMailboxManage return new SimpleMailboxSession(randomId(), userName, password, log, delimiter, new ArrayList<Locale>()); } - /** * Generate and return the next id to use * @@ -440,7 +431,6 @@ public abstract class StoreMailboxManage delegatingListener.addListener(mailboxName, listener); } - /* * (non-Javadoc) * @see org.apache.james.imap.mailbox.MailboxManager#login(java.lang.String, java.lang.String, org.apache.commons.logging.Log) @@ -476,7 +466,6 @@ public abstract class StoreMailboxManage return USER_NAMESPACE_PREFIX; } - /** * End processing of Request for session */ @@ -484,7 +473,6 @@ public abstract class StoreMailboxManage mailboxSessionMapperFactory.endRequest(session); } - /** * Start processing of Request for session. Default is to do nothing. * Implementations should override this if they need to do anything special @@ -492,6 +480,5 @@ public abstract class StoreMailboxManage public void startProcessingRequest(MailboxSession session) { // Default do nothing } - - + } Modified: james/imap/trunk/store/src/main/java/org/apache/james/imap/store/mail/MailboxMapper.java URL: http://svn.apache.org/viewvc/james/imap/trunk/store/src/main/java/org/apache/james/imap/store/mail/MailboxMapper.java?rev=957939&r1=957938&r2=957939&view=diff ============================================================================== --- james/imap/trunk/store/src/main/java/org/apache/james/imap/store/mail/MailboxMapper.java (original) +++ james/imap/trunk/store/src/main/java/org/apache/james/imap/store/mail/MailboxMapper.java Fri Jun 25 13:36:07 2010 @@ -56,16 +56,6 @@ public interface MailboxMapper<Id> exten public abstract void deleteAll() throws StorageException; /** - * Return the count of {...@link Mailbox} objects with the given name - * - * @param name - * @return count - * @throws StorageException - */ - public abstract long countMailboxesWithName(String name) - throws StorageException; - - /** * Return the {...@link Mailbox} for the given name * * @param name --------------------------------------------------------------------- To unsubscribe, e-mail: server-dev-unsubscr...@james.apache.org For additional commands, e-mail: server-dev-h...@james.apache.org