Nope ;) Bye, Norman
2010/12/20 Eric Charles <[email protected]>: > I thought invoking this copyMailboxes via remote JMX would require a > serializable return type. > Tks, > Eric > > On 20/12/2010 16:48, Norman Maurer wrote: >> >> Any reason why you use Boolean and not boolean ? >> >> Bye, >> Norman >> >> 2010/12/20<[email protected]>: >>> >>> 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] >>> >>> >> --------------------------------------------------------------------- >> To unsubscribe, e-mail: [email protected] >> For additional commands, e-mail: [email protected] >> > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [email protected] > For additional commands, e-mail: [email protected] > > --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
