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

Reply via email to