Author: eric
Date: Mon Dec 20 15:32:20 2010
New Revision: 1051145

URL: http://svn.apache.org/viewvc?rev=1051145&view=rev
Log:
Javadoc the mailbox copier project (MAILBOX-19)

Modified:
    
james/mailbox/trunk/copier/src/main/java/org/apache/james/mailbox/copier/MailboxCopier.java
    
james/mailbox/trunk/copier/src/main/java/org/apache/james/mailbox/copier/MailboxCopierImpl.java
    
james/mailbox/trunk/copier/src/main/java/org/apache/james/mailbox/copier/MailboxCopierManagement.java
    
james/mailbox/trunk/copier/src/main/java/org/apache/james/mailbox/copier/MailboxCopierManagementMBean.java
    
james/mailbox/trunk/copier/src/test/java/org/apache/james/mailbox/copier/MailboxCopierTest.java

Modified: 
james/mailbox/trunk/copier/src/main/java/org/apache/james/mailbox/copier/MailboxCopier.java
URL: 
http://svn.apache.org/viewvc/james/mailbox/trunk/copier/src/main/java/org/apache/james/mailbox/copier/MailboxCopier.java?rev=1051145&r1=1051144&r2=1051145&view=diff
==============================================================================
--- 
james/mailbox/trunk/copier/src/main/java/org/apache/james/mailbox/copier/MailboxCopier.java
 (original)
+++ 
james/mailbox/trunk/copier/src/main/java/org/apache/james/mailbox/copier/MailboxCopier.java
 Mon Dec 20 15:32:20 2010
@@ -18,8 +18,23 @@
  ****************************************************************/
 package org.apache.james.mailbox.copier;
 
+/**
+ * Interface that exposes a method aimed to copy all
+ * mailboxes from a source mailbox manager to a destination
+ * mailbox manager.
+ * 
+ */
 public interface MailboxCopier {
 
-       public Boolean copyMailboxes();
-
+       /**
+        * Copy the mailboxes from a mailbox manager to another mailbox manager.
+        * The implementation is responsible to read all mailboxes form the 
+        * injected srcMailboxManager and to copy all its contents to the 
+        * dstMailboxManager.
+        * 
+        * @return true if copy is completely successful, false if copy fails
+        * at any step.
+        */
+       Boolean copyMailboxes();
+       
 }

Modified: 
james/mailbox/trunk/copier/src/main/java/org/apache/james/mailbox/copier/MailboxCopierImpl.java
URL: 
http://svn.apache.org/viewvc/james/mailbox/trunk/copier/src/main/java/org/apache/james/mailbox/copier/MailboxCopierImpl.java?rev=1051145&r1=1051144&r2=1051145&view=diff
==============================================================================
--- 
james/mailbox/trunk/copier/src/main/java/org/apache/james/mailbox/copier/MailboxCopierImpl.java
 (original)
+++ 
james/mailbox/trunk/copier/src/main/java/org/apache/james/mailbox/copier/MailboxCopierImpl.java
 Mon Dec 20 15:32:20 2010
@@ -37,14 +37,32 @@ import org.apache.james.mailbox.MessageR
 import org.apache.james.mailbox.store.streaming.InputStreamContent;
 import org.apache.james.mailbox.util.FetchGroupImpl;
 
+/**
+ * Implementation of the {...@link MailboxCopier} interface.
+ *
+ */
 public class MailboxCopierImpl implements MailboxCopier {
        
+    /**
+     * The logger.
+     */
     private Log log = LogFactory.getLog("org.apache.james.mailbox.copier");
 
+    /**
+     * The source MailboxManager from which all mailboxes will be read
+     * and copied to the destination MailboxManager.
+     */
     private MailboxManager srcMailboxManager;
        
+       /**
+     * The destination MailboxManager to which all mailboxes read from
+     * the source MailboxManager and copied to the destination MailboxManager.
+        */
        private MailboxManager dstMailboxManager;
                
+       /* (non-Javadoc)
+        * @see org.apache.james.mailbox.copier.MailboxCopier#copyMailboxes()
+        */
        public Boolean copyMailboxes() {
            
         MailboxSession srcMailboxSession;
@@ -54,11 +72,9 @@ public class MailboxCopierImpl implement
             srcMailboxSession = 
srcMailboxManager.createSystemSession("manager", log);
            } catch (BadCredentialsException e) {
                log.error(e.getMessage());
-               e.printStackTrace();
                return false;
            } catch (MailboxException e) {
                log.error(e.getMessage());
-               e.printStackTrace();
                return false;
            }
            
@@ -74,11 +90,9 @@ public class MailboxCopierImpl implement
                        dstMailboxSession = 
dstMailboxManager.createSystemSession(mailboxPath.getUser(), log);
                    } catch (BadCredentialsException e) {
                        log.error(e.getMessage());
-                       e.printStackTrace();
                        return false;
                    } catch (MailboxException e) {
                        log.error(e.getMessage());
-                       e.printStackTrace();
                        return false;
                    }
                    
@@ -99,11 +113,9 @@ public class MailboxCopierImpl implement
                            dstMailboxSession = 
dstMailboxManager.createSystemSession(mailboxPath.getUser(), log);
                        } catch (BadCredentialsException e) {
                            log.error(e.getMessage());
-                           e.printStackTrace();
                            return false;
                        } catch (MailboxException e) {
                            log.error(e.getMessage());
-                           e.printStackTrace();
                            return false;
                        }
                        
@@ -122,7 +134,6 @@ public class MailboxCopierImpl implement
         
         } catch (MailboxException e) {
             log.error(e.getMessage());
-               e.printStackTrace();
             return false;
         } catch (IOException e) {
             log.error(e.getMessage());
@@ -135,7 +146,7 @@ public class MailboxCopierImpl implement
         try {
                srcMailboxManager.logout(srcMailboxSession, true);
         } catch (MailboxException e) {
-               e.printStackTrace();
+            log.error(e.getMessage());
                return false;
         }
         
@@ -143,10 +154,26 @@ public class MailboxCopierImpl implement
 
        }
        
+    /**
+     * Setter to inject the srcMailboxManager.
+     * 
+     * All mailboxes from the srcMailboxManager will be copied
+     * to the dstMailboxManager upon copyMaillboxes method call.
+     * 
+     * @param srcMailboxManager
+     */
     public void setSrcMailboxManager(MailboxManager srcMailboxManager) {
         this.srcMailboxManager = srcMailboxManager;
     }
 
+    /**
+     * Setter to inject the dstMailboxManager.
+     * 
+     * All mailboxes from the srcMailboxManager will be copied
+     * to the dstMailboxManager upon copyMaillboxes method call.
+     * 
+     * @param dstMailboxManager
+     */
     public void setDstMailboxManager(MailboxManager dstMailboxManager) {
         this.dstMailboxManager = dstMailboxManager;
     }

Modified: 
james/mailbox/trunk/copier/src/main/java/org/apache/james/mailbox/copier/MailboxCopierManagement.java
URL: 
http://svn.apache.org/viewvc/james/mailbox/trunk/copier/src/main/java/org/apache/james/mailbox/copier/MailboxCopierManagement.java?rev=1051145&r1=1051144&r2=1051145&view=diff
==============================================================================
--- 
james/mailbox/trunk/copier/src/main/java/org/apache/james/mailbox/copier/MailboxCopierManagement.java
 (original)
+++ 
james/mailbox/trunk/copier/src/main/java/org/apache/james/mailbox/copier/MailboxCopierManagement.java
 Mon Dec 20 15:32:20 2010
@@ -22,15 +22,30 @@ import javax.annotation.Resource;
 import javax.management.NotCompliantMBeanException;
 import javax.management.StandardMBean;
 
+/**
+ * Implementation of the {...@link MailboxCopierManagementMBean} JMX 
Management interface.
+ *
+ */
 public class MailboxCopierManagement extends StandardMBean implements 
MailboxCopierManagementMBean {
     
+    /**
+     * Inject the mailboxCopier bean.
+     */
     @Resource(name="mailboxCopier")
     private MailboxCopier mailboxCopier;
     
+    /**
+     * Default Constructor.
+     * 
+     * @throws NotCompliantMBeanException
+     */
     public MailboxCopierManagement() throws NotCompliantMBeanException {
         super(MailboxCopierManagementMBean.class);
     }
     
+    /* (non-Javadoc)
+     * @see org.apache.james.mailbox.copier.MailboxCopier#copyMailboxes()
+     */
     public Boolean copyMailboxes() {
         return mailboxCopier.copyMailboxes();
     }

Modified: 
james/mailbox/trunk/copier/src/main/java/org/apache/james/mailbox/copier/MailboxCopierManagementMBean.java
URL: 
http://svn.apache.org/viewvc/james/mailbox/trunk/copier/src/main/java/org/apache/james/mailbox/copier/MailboxCopierManagementMBean.java?rev=1051145&r1=1051144&r2=1051145&view=diff
==============================================================================
--- 
james/mailbox/trunk/copier/src/main/java/org/apache/james/mailbox/copier/MailboxCopierManagementMBean.java
 (original)
+++ 
james/mailbox/trunk/copier/src/main/java/org/apache/james/mailbox/copier/MailboxCopierManagementMBean.java
 Mon Dec 20 15:32:20 2010
@@ -18,6 +18,9 @@
  ****************************************************************/
 package org.apache.james.mailbox.copier;
 
+/**
+ * JMX Management interface for the {...@link MailboxCopier} interface.
+ */
 public interface MailboxCopierManagementMBean extends MailboxCopier {
 
 }

Modified: 
james/mailbox/trunk/copier/src/test/java/org/apache/james/mailbox/copier/MailboxCopierTest.java
URL: 
http://svn.apache.org/viewvc/james/mailbox/trunk/copier/src/test/java/org/apache/james/mailbox/copier/MailboxCopierTest.java?rev=1051145&r1=1051144&r2=1051145&view=diff
==============================================================================
--- 
james/mailbox/trunk/copier/src/test/java/org/apache/james/mailbox/copier/MailboxCopierTest.java
 (original)
+++ 
james/mailbox/trunk/copier/src/test/java/org/apache/james/mailbox/copier/MailboxCopierTest.java
 Mon Dec 20 15:32:20 2010
@@ -38,22 +38,52 @@ import org.apache.james.mailbox.inmemory
 import org.apache.james.mailbox.inmemory.InMemoryMailboxSessionMapperFactory;
 import org.apache.james.mailbox.inmemory.mail.InMemoryCachingUidProvider;
 import org.apache.james.mailbox.store.Authenticator;
-import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;
 
+/**
+ * Test class for the {...@link MailboxCopierImpl} implementation.
+ * 
+ * The InMemoryMailboxManager will be used as source and destination
+ * Mailbox Manager.
+ *
+ */
 public class MailboxCopierTest {
     
+    /**
+     * Number of Mailboxes to be created in the source Mailbox Manager.
+     */
     private static final int MAILBOX_COUNT = 100;
     
+    /**
+     * Number of Messages per Mailbox to be created in the source Mailbox 
Manager.
+     */
     private static final int MESSAGE_PER_MAILBOX_COUNT = 10;
     
+    /**
+     * The instance for the test mailboxCopier.
+     */
     private MailboxCopierImpl mailboxCopier;
     
+    /**
+     * The instance for the source Mailbox Manager.
+     */
     private MailboxManager srcMemMailboxManager;
     
+    /**
+     * The instance for the destination Mailbox Manager.
+     */
     private MailboxManager dstMemMailboxManager;
     
+    /**
+     * Setup the mailboxCopier and the source and destination
+     * Mailbox Manager.
+     * 
+     * We use a InMemoryMailboxManager implementation.
+     * 
+     * @throws BadCredentialsException
+     * @throws MailboxException
+     */
     @Before
     public void setup() throws BadCredentialsException, MailboxException {
         
@@ -67,12 +97,14 @@ public class MailboxCopierTest {
         
     }
     
-    @After
-    public void tearDown() {
-    }
-
     /**
-     * @param args
+     * Feed the source MailboxManager with the number of mailboxes and
+     * messages per mailbox.
+     * 
+     * Copy the mailboxes to the destination Mailbox Manager, and assert the 
number 
+     * of mailboxes and messages per mailbox is the same as in the source
+     * Mailbox Manager.
+     * 
      * @throws MailboxException 
      * @throws UnsupportedEncodingException 
      */
@@ -90,9 +122,11 @@ public class MailboxCopierTest {
     }
     
     /**
+     * Utility method to assert the number of mailboxes and messages per 
mailbox
+     * are the ones expected.
+     * 
      * @throws MailboxException 
      * @throws BadCredentialsException 
-     * 
      */
     private void assertMailboxManagerSize(MailboxManager mailboxManager) 
throws BadCredentialsException, MailboxException {
         
@@ -110,6 +144,9 @@ public class MailboxCopierTest {
     }
     
     /**
+     * Utility method to feed a Mailbox Manager with a number of 
+     * mailboxes and messages per mailbox.
+     * 
      * @throws MailboxException
      * @throws UnsupportedEncodingException
      */
@@ -142,7 +179,10 @@ public class MailboxCopierTest {
     }
     
     /**
-     * @return
+     * Utility method to instanciate a new InMemoryMailboxManger with 
+     * the needed MailboxSessionMapperFactory, Authenticator and UidProvider.
+     * 
+     * @return a new InMemoryMailboxManager
      */
     private MailboxManager newInMemoryMailboxManager() {
     



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to