[1/5] james-project git commit: MAILET-123 Upgrade maven-plugin-* & use annotation in Mailetdocs mojo

2016-10-25 Thread aduprat
Repository: james-project
Updated Branches:
  refs/heads/master 7882e36f5 -> d75a3b4d0


MAILET-123 Upgrade maven-plugin-* & use annotation in Mailetdocs mojo


Project: http://git-wip-us.apache.org/repos/asf/james-project/repo
Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/b303bc2d
Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/b303bc2d
Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/b303bc2d

Branch: refs/heads/master
Commit: b303bc2d577d5a31a6c475e5fa628dd9523ac2ff
Parents: 2caf9c0
Author: Antoine Duprat 
Authored: Wed Aug 31 17:34:44 2016 +0200
Committer: Antoine Duprat 
Committed: Tue Oct 25 10:33:25 2016 +0200

--
 mailet/mailetdocs-maven-plugin/pom.xml  |  9 
 .../james/mailet/AbstractMailetdocsReport.java  | 22 +++-
 .../james/mailet/AggregateMailetdocsReport.java | 16 +++---
 .../apache/james/mailet/MailetdocsReport.java   |  7 ---
 mailet/pom.xml  |  8 ++-
 pom.xml |  2 +-
 6 files changed, 37 insertions(+), 27 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/james-project/blob/b303bc2d/mailet/mailetdocs-maven-plugin/pom.xml
--
diff --git a/mailet/mailetdocs-maven-plugin/pom.xml 
b/mailet/mailetdocs-maven-plugin/pom.xml
index b529f03..71f263f 100644
--- a/mailet/mailetdocs-maven-plugin/pom.xml
+++ b/mailet/mailetdocs-maven-plugin/pom.xml
@@ -48,6 +48,11 @@
 maven-plugin-api
 
 
+org.apache.maven.plugin-tools
+maven-plugin-annotations
+provided
+
+
 org.apache.maven.reporting
 maven-reporting-impl
 
@@ -60,6 +65,10 @@
 apache-mailet-api
 
 
+com.google.guava
+guava
+
+
 commons-collections
 commons-collections
 

http://git-wip-us.apache.org/repos/asf/james-project/blob/b303bc2d/mailet/mailetdocs-maven-plugin/src/main/java/org/apache/james/mailet/AbstractMailetdocsReport.java
--
diff --git 
a/mailet/mailetdocs-maven-plugin/src/main/java/org/apache/james/mailet/AbstractMailetdocsReport.java
 
b/mailet/mailetdocs-maven-plugin/src/main/java/org/apache/james/mailet/AbstractMailetdocsReport.java
index efe5970..2aa31b7 100644
--- 
a/mailet/mailetdocs-maven-plugin/src/main/java/org/apache/james/mailet/AbstractMailetdocsReport.java
+++ 
b/mailet/mailetdocs-maven-plugin/src/main/java/org/apache/james/mailet/AbstractMailetdocsReport.java
@@ -27,6 +27,8 @@ import java.util.Locale;
 import org.apache.commons.collections.CollectionUtils;
 import org.apache.commons.collections.Predicate;
 import org.apache.maven.doxia.siterenderer.Renderer;
+import org.apache.maven.plugins.annotations.Component;
+import org.apache.maven.plugins.annotations.Parameter;
 import org.apache.maven.project.MavenProject;
 import org.apache.maven.reporting.AbstractMavenReport;
 import org.apache.maven.reporting.MavenReportException;
@@ -42,25 +44,17 @@ public abstract class AbstractMailetdocsReport extends 
AbstractMavenReport {
 
 /**
  * Directory where reports will go.
- * 
- * @parameter expression="${project.reporting.outputDirectory}"
- * @required
- * @readonly
  */
+@Parameter(defaultValue = "${project.reporting.outputDirectory}",
+required = true)
 private String outputDirectory;
 
-/**
- * @parameter default-value="${project}"
- * @required
- * @readonly
- */
+@Parameter(defaultValue = "${project}", 
+required = true, 
+readonly = true)
 private MavenProject project;
 
-/**
- * @component
- * @required
- * @readonly
- */
+@Component
 private Renderer siteRenderer;
 
 /**

http://git-wip-us.apache.org/repos/asf/james-project/blob/b303bc2d/mailet/mailetdocs-maven-plugin/src/main/java/org/apache/james/mailet/AggregateMailetdocsReport.java
--
diff --git 
a/mailet/mailetdocs-maven-plugin/src/main/java/org/apache/james/mailet/AggregateMailetdocsReport.java
 
b/mailet/mailetdocs-maven-plugin/src/main/java/org/apache/james/mailet/AggregateMailetdocsReport.java
index 7be8886..3a55340 100644
--- 
a/mailet/mailetdocs-maven-plugin/src/main/java/org/apache/james/mailet/AggregateMailetdocsReport.java
+++ 
b/mailet/mailetdocs-maven-plugin/src/main/java/org/apache/james/mailet/AggregateMailetdocsReport.java
@@ -21,6 +21,9 @@ package org.apache.james.mailet;
 
 import java.util.List;
 
+import org.apache.maven.plugins.annotations.Mojo;
+import 

[5/5] james-project git commit: Merge remote-tracking branch 'mine/MAILET-123-2'

2016-10-25 Thread aduprat
Merge remote-tracking branch 'mine/MAILET-123-2'


Project: http://git-wip-us.apache.org/repos/asf/james-project/repo
Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/d75a3b4d
Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/d75a3b4d
Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/d75a3b4d

Branch: refs/heads/master
Commit: d75a3b4d0c4d2d0c742ceb96270a0734e11846af
Parents: 7882e36 057ef36
Author: Antoine Duprat 
Authored: Tue Oct 25 11:35:01 2016 +0200
Committer: Antoine Duprat 
Committed: Tue Oct 25 11:35:01 2016 +0200

--
 mailet/mailetdocs-maven-plugin/pom.xml  |  9 ++
 .../james/mailet/AbstractMailetdocsReport.java  | 29 ++--
 .../james/mailet/AggregateMailetdocsReport.java | 16 +--
 .../mailet/DefaultDescriptorsExtractor.java |  8 +-
 .../apache/james/mailet/MailetdocsReport.java   |  7 +++--
 mailet/pom.xml  |  8 +-
 .../site/xdoc/mailetdocs-maven-plugin/index.xml |  8 --
 pom.xml |  2 +-
 8 files changed, 56 insertions(+), 31 deletions(-)
--



-
To unsubscribe, e-mail: server-dev-unsubscr...@james.apache.org
For additional commands, e-mail: server-dev-h...@james.apache.org



[3/5] james-project git commit: MAILET-123 Mailetdocs should no fail when no report

2016-10-25 Thread aduprat
MAILET-123 Mailetdocs should no fail when no report


Project: http://git-wip-us.apache.org/repos/asf/james-project/repo
Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/1a5aae01
Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/1a5aae01
Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/1a5aae01

Branch: refs/heads/master
Commit: 1a5aae01d403483627333d6b6f36f1fbbe51cf0b
Parents: 188b6d1
Author: Antoine Duprat 
Authored: Wed Aug 31 17:31:41 2016 +0200
Committer: Antoine Duprat 
Committed: Tue Oct 25 10:33:25 2016 +0200

--
 .../org/apache/james/mailet/AbstractMailetdocsReport.java | 7 ++-
 1 file changed, 6 insertions(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/james-project/blob/1a5aae01/mailet/mailetdocs-maven-plugin/src/main/java/org/apache/james/mailet/AbstractMailetdocsReport.java
--
diff --git 
a/mailet/mailetdocs-maven-plugin/src/main/java/org/apache/james/mailet/AbstractMailetdocsReport.java
 
b/mailet/mailetdocs-maven-plugin/src/main/java/org/apache/james/mailet/AbstractMailetdocsReport.java
index c3ce43c..efe5970 100644
--- 
a/mailet/mailetdocs-maven-plugin/src/main/java/org/apache/james/mailet/AbstractMailetdocsReport.java
+++ 
b/mailet/mailetdocs-maven-plugin/src/main/java/org/apache/james/mailet/AbstractMailetdocsReport.java
@@ -31,6 +31,8 @@ import org.apache.maven.project.MavenProject;
 import org.apache.maven.reporting.AbstractMavenReport;
 import org.apache.maven.reporting.MavenReportException;
 
+import com.google.common.base.Strings;
+
 /**
  * 
  * Base for singleton and aggregate reports on mailets and matchers.
@@ -223,7 +225,10 @@ public abstract class AbstractMailetdocsReport extends 
AbstractMavenReport {
 }
 
 getSink().paragraph();
-getSink().rawText(descriptor.getClassDocs());
+String classDocs = descriptor.getClassDocs();
+if (!Strings.isNullOrEmpty(classDocs)) {
+getSink().rawText(classDocs);
+}
 getSink().paragraph_();
 
 getSink().section2_();


-
To unsubscribe, e-mail: server-dev-unsubscr...@james.apache.org
For additional commands, e-mail: server-dev-h...@james.apache.org



[2/5] james-project git commit: MAILET-123 Don't fail when class not found

2016-10-25 Thread aduprat
MAILET-123 Don't fail when class not found


Project: http://git-wip-us.apache.org/repos/asf/james-project/repo
Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/2caf9c04
Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/2caf9c04
Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/2caf9c04

Branch: refs/heads/master
Commit: 2caf9c042eeadf8f33b856b656bc30290453514d
Parents: 1a5aae0
Author: Antoine Duprat 
Authored: Wed Aug 31 11:30:33 2016 +0200
Committer: Antoine Duprat 
Committed: Tue Oct 25 10:33:25 2016 +0200

--
 .../org/apache/james/mailet/DefaultDescriptorsExtractor.java | 8 +++-
 1 file changed, 7 insertions(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/james-project/blob/2caf9c04/mailet/mailetdocs-maven-plugin/src/main/java/org/apache/james/mailet/DefaultDescriptorsExtractor.java
--
diff --git 
a/mailet/mailetdocs-maven-plugin/src/main/java/org/apache/james/mailet/DefaultDescriptorsExtractor.java
 
b/mailet/mailetdocs-maven-plugin/src/main/java/org/apache/james/mailet/DefaultDescriptorsExtractor.java
index dda2085..9476b60 100644
--- 
a/mailet/mailetdocs-maven-plugin/src/main/java/org/apache/james/mailet/DefaultDescriptorsExtractor.java
+++ 
b/mailet/mailetdocs-maven-plugin/src/main/java/org/apache/james/mailet/DefaultDescriptorsExtractor.java
@@ -24,7 +24,11 @@ import java.lang.reflect.InvocationTargetException;
 import java.net.MalformedURLException;
 import java.net.URL;
 import java.net.URLClassLoader;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.Set;
 
 import org.apache.james.mailet.MailetMatcherDescriptor.Type;
 import org.apache.mailet.Mailet;
@@ -112,6 +116,8 @@ public class DefaultDescriptorsExtractor {
 logInterfaces(log, klass, allInterfaces);
 }
 
+} catch (NoClassDefFoundError e) {
+log.error("NotFound: " + e.getMessage());
 } catch (ClassNotFoundException e) {
 log.error("NotFound: " + e.getMessage());
 } catch (SecurityException e) {


-
To unsubscribe, e-mail: server-dev-unsubscr...@james.apache.org
For additional commands, e-mail: server-dev-h...@james.apache.org



[4/5] james-project git commit: MAILET-123 Update the MailetDocs documentation

2016-10-25 Thread aduprat
MAILET-123 Update the MailetDocs documentation


Project: http://git-wip-us.apache.org/repos/asf/james-project/repo
Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/057ef36a
Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/057ef36a
Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/057ef36a

Branch: refs/heads/master
Commit: 057ef36adb5a8d4bbd699daaf3f84c325c4eaf7c
Parents: b303bc2
Author: Antoine Duprat 
Authored: Wed Aug 31 17:48:26 2016 +0200
Committer: Antoine Duprat 
Committed: Tue Oct 25 10:33:37 2016 +0200

--
 mailet/src/site/xdoc/mailetdocs-maven-plugin/index.xml | 8 ++--
 1 file changed, 6 insertions(+), 2 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/james-project/blob/057ef36a/mailet/src/site/xdoc/mailetdocs-maven-plugin/index.xml
--
diff --git a/mailet/src/site/xdoc/mailetdocs-maven-plugin/index.xml 
b/mailet/src/site/xdoc/mailetdocs-maven-plugin/index.xml
index 4f99a06..5f1bb03 100644
--- a/mailet/src/site/xdoc/mailetdocs-maven-plugin/index.xml
+++ b/mailet/src/site/xdoc/mailetdocs-maven-plugin/index.xml
@@ -31,11 +31,15 @@
 report.
 
 
-MailetDocs plugin has one goal:
+MailetDocs plugin has two goals:
 
 
 mailetdocs:mailetdocs
-Generates catalog and reports on mailets and matchers
+Generates catalog and reports on mailets and matchers 
on a single maven project
+
+
+mailetdocs:aggregate
+Generates catalog and reports on mailets and matchers 
on a maven project and all its subprojects
 
 
 


-
To unsubscribe, e-mail: server-dev-unsubscr...@james.apache.org
For additional commands, e-mail: server-dev-h...@james.apache.org



[2/6] james-project git commit: MAILBOX-277 append message return a ComposedMessageId

2016-10-25 Thread aduprat
MAILBOX-277 append message return a ComposedMessageId

It starts the transition to a MessageId based API.


Project: http://git-wip-us.apache.org/repos/asf/james-project/repo
Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/9e907560
Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/9e907560
Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/9e907560

Branch: refs/heads/master
Commit: 9e90756098f7c86d58003b5fd4ac29758d29138e
Parents: 3e06733
Author: Matthieu Baechler 
Authored: Tue Oct 18 15:14:43 2016 +0200
Committer: Matthieu Baechler 
Committed: Tue Oct 25 09:50:45 2016 +0200

--
 .../apache/james/mailbox/MessageManager.java|  3 +-
 .../james/mailbox/model/ComposedMessageId.java  | 48 +
 .../apache/james/mailbox/model/MessageId.java   | 24 +
 .../james/mailbox/MailboxManagerStressTest.java |  7 +--
 .../mailbox/manager/ManagerTestResources.java   |  2 +-
 .../mailbox/hbase/mail/HBaseMailboxMessage.java |  2 +-
 .../jcr/mail/model/JCRMailboxMessage.java   |  2 +-
 .../openjpa/AbstractJPAMailboxMessage.java  |  2 +-
 .../maildir/mail/model/MaildirMessage.java  |  2 +-
 .../mailbox/store/StoreMessageManager.java  | 14 +++--
 .../store/mail/model/DefaultMessageId.java  |  1 +
 .../james/mailbox/store/mail/model/Message.java |  1 +
 .../mailbox/store/mail/model/MessageId.java | 23 
 .../store/mail/model/impl/SimpleMessage.java|  2 +-
 .../search/AbstractMessageSearchIndexTest.java  | 18 +++
 .../james/imap/processor/AppendProcessor.java   |  8 +--
 .../base/MailboxEventAnalyserTest.java  |  3 +-
 .../methods/SetMessagesCreationProcessor.java   |  8 +--
 .../jmap/methods/GetMessagesMethodTest.java | 55 ++--
 .../SetMessagesCreationProcessorTest.java   |  8 ++-
 20 files changed, 148 insertions(+), 85 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/james-project/blob/9e907560/mailbox/api/src/main/java/org/apache/james/mailbox/MessageManager.java
--
diff --git 
a/mailbox/api/src/main/java/org/apache/james/mailbox/MessageManager.java 
b/mailbox/api/src/main/java/org/apache/james/mailbox/MessageManager.java
index 888c071..1dc4c33 100644
--- a/mailbox/api/src/main/java/org/apache/james/mailbox/MessageManager.java
+++ b/mailbox/api/src/main/java/org/apache/james/mailbox/MessageManager.java
@@ -29,6 +29,7 @@ import javax.mail.Flags;
 
 import org.apache.james.mailbox.exception.MailboxException;
 import org.apache.james.mailbox.exception.UnsupportedCriteriaException;
+import org.apache.james.mailbox.model.ComposedMessageId;
 import org.apache.james.mailbox.model.MailboxACL;
 import org.apache.james.mailbox.model.MailboxId;
 import org.apache.james.mailbox.model.MailboxPath;
@@ -146,7 +147,7 @@ public interface MessageManager {
  * @throws MailboxException
  * when message cannot be appended
  */
-MessageUid appendMessage(InputStream msgIn, Date internalDate, 
MailboxSession mailboxSession, boolean isRecent, Flags flags) throws 
MailboxException;
+ComposedMessageId appendMessage(InputStream msgIn, Date internalDate, 
MailboxSession mailboxSession, boolean isRecent, Flags flags) throws 
MailboxException;
 
 /**
  * Gets messages in the given range. The messages may get fetched under

http://git-wip-us.apache.org/repos/asf/james-project/blob/9e907560/mailbox/api/src/main/java/org/apache/james/mailbox/model/ComposedMessageId.java
--
diff --git 
a/mailbox/api/src/main/java/org/apache/james/mailbox/model/ComposedMessageId.java
 
b/mailbox/api/src/main/java/org/apache/james/mailbox/model/ComposedMessageId.java
new file mode 100644
index 000..9d6229c
--- /dev/null
+++ 
b/mailbox/api/src/main/java/org/apache/james/mailbox/model/ComposedMessageId.java
@@ -0,0 +1,48 @@
+/
+ * 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 

[3/6] james-project git commit: MAILBOX-277 introduce MessageIdManager

2016-10-25 Thread aduprat
MAILBOX-277 introduce MessageIdManager


Project: http://git-wip-us.apache.org/repos/asf/james-project/repo
Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/bfd0b611
Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/bfd0b611
Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/bfd0b611

Branch: refs/heads/master
Commit: bfd0b61167b5253f6941bf5b517b981e78dd2109
Parents: 9e90756
Author: Matthieu Baechler 
Authored: Tue Oct 18 16:27:42 2016 +0200
Committer: Matthieu Baechler 
Committed: Tue Oct 25 09:50:48 2016 +0200

--
 .../apache/james/mailbox/MessageIdManager.java  | 42 
 .../mailbox/manager/IntegrationResources.java   |  3 ++
 .../manager/InMemoryIntegrationResources.java   | 37 +
 3 files changed, 82 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/james-project/blob/bfd0b611/mailbox/api/src/main/java/org/apache/james/mailbox/MessageIdManager.java
--
diff --git 
a/mailbox/api/src/main/java/org/apache/james/mailbox/MessageIdManager.java 
b/mailbox/api/src/main/java/org/apache/james/mailbox/MessageIdManager.java
new file mode 100644
index 000..dafdc59
--- /dev/null
+++ b/mailbox/api/src/main/java/org/apache/james/mailbox/MessageIdManager.java
@@ -0,0 +1,42 @@
+/
+ * 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.mailbox;
+
+import java.util.List;
+
+import javax.mail.Flags;
+
+import org.apache.james.mailbox.MessageManager.FlagsUpdateMode;
+import org.apache.james.mailbox.exception.MailboxException;
+import org.apache.james.mailbox.model.MailboxId;
+import org.apache.james.mailbox.model.MessageId;
+import org.apache.james.mailbox.model.MessageResult;
+import org.apache.james.mailbox.model.MessageResult.FetchGroup;
+
+public interface MessageIdManager {
+
+void setFlags(Flags newState, FlagsUpdateMode replace, MessageId 
messageId, MailboxId mailboxId, MailboxSession mailboxSession) throws 
MailboxException;
+
+List getMessages(List messageId, FetchGroup 
minimal, MailboxSession mailboxSession) throws MailboxException;
+
+void delete(MessageId messageId, List mailboxIds, 
MailboxSession mailboxSession) throws MailboxException;
+
+void setInMailboxes(MessageId messageId, List mailboxIds, 
MailboxSession mailboxSession) throws MailboxException;
+}

http://git-wip-us.apache.org/repos/asf/james-project/blob/bfd0b611/mailbox/api/src/test/java/org/apache/james/mailbox/manager/IntegrationResources.java
--
diff --git 
a/mailbox/api/src/test/java/org/apache/james/mailbox/manager/IntegrationResources.java
 
b/mailbox/api/src/test/java/org/apache/james/mailbox/manager/IntegrationResources.java
index b9252f8..ff70bc7 100644
--- 
a/mailbox/api/src/test/java/org/apache/james/mailbox/manager/IntegrationResources.java
+++ 
b/mailbox/api/src/test/java/org/apache/james/mailbox/manager/IntegrationResources.java
@@ -20,6 +20,7 @@
 package org.apache.james.mailbox.manager;
 
 import org.apache.james.mailbox.MailboxManager;
+import org.apache.james.mailbox.MessageIdManager;
 import org.apache.james.mailbox.quota.MaxQuotaManager;
 import org.apache.james.mailbox.quota.QuotaManager;
 import org.apache.james.mailbox.acl.GroupMembershipResolver;
@@ -41,6 +42,8 @@ public interface IntegrationResources {
 
 GroupMembershipResolver createGroupMembershipResolver() throws Exception;
 
+MessageIdManager createMessageIdManager(MailboxManager mailboxManager);
+
 /**
  * Init you will want to perform before tests
  *


[5/6] james-project git commit: MAILBOX-277 Message now have a messageId property

2016-10-25 Thread aduprat
http://git-wip-us.apache.org/repos/asf/james-project/blob/7882e36f/mailbox/jcr/src/test/java/org/apache/james/mailbox/jcr/JCRMailboxManagerTest.java
--
diff --git 
a/mailbox/jcr/src/test/java/org/apache/james/mailbox/jcr/JCRMailboxManagerTest.java
 
b/mailbox/jcr/src/test/java/org/apache/james/mailbox/jcr/JCRMailboxManagerTest.java
index 79786c1..ce48e91 100644
--- 
a/mailbox/jcr/src/test/java/org/apache/james/mailbox/jcr/JCRMailboxManagerTest.java
+++ 
b/mailbox/jcr/src/test/java/org/apache/james/mailbox/jcr/JCRMailboxManagerTest.java
@@ -38,6 +38,7 @@ import org.apache.james.mailbox.exception.MailboxException;
 import org.apache.james.mailbox.jcr.mail.JCRModSeqProvider;
 import org.apache.james.mailbox.jcr.mail.JCRUidProvider;
 import org.apache.james.mailbox.store.JVMMailboxPathLocker;
+import org.apache.james.mailbox.store.mail.model.DefaultMessageId;
 import org.apache.james.mailbox.store.mail.model.impl.MessageParser;
 import org.junit.runner.RunWith;
 import org.xenei.junit.contract.Contract;
@@ -87,7 +88,8 @@ public class JCRMailboxManagerTest extends 
MailboxManagerTest
 GroupMembershipResolver groupMembershipResolver = new 
SimpleGroupMembershipResolver();
 MessageParser messageParser = new MessageParser();
 
-JCRMailboxManager manager = new JCRMailboxManager(mf, null, 
locker, aclResolver, groupMembershipResolver, messageParser);
+JCRMailboxManager manager = new JCRMailboxManager(mf, null, 
locker, aclResolver, groupMembershipResolver, 
+messageParser, new DefaultMessageId.Factory());
 
 try {
 manager.init();

http://git-wip-us.apache.org/repos/asf/james-project/blob/7882e36f/mailbox/jpa/src/main/java/org/apache/james/mailbox/jpa/JPAMailboxManager.java
--
diff --git 
a/mailbox/jpa/src/main/java/org/apache/james/mailbox/jpa/JPAMailboxManager.java 
b/mailbox/jpa/src/main/java/org/apache/james/mailbox/jpa/JPAMailboxManager.java
index 626f7dc..e2e8f68 100644
--- 
a/mailbox/jpa/src/main/java/org/apache/james/mailbox/jpa/JPAMailboxManager.java
+++ 
b/mailbox/jpa/src/main/java/org/apache/james/mailbox/jpa/JPAMailboxManager.java
@@ -28,6 +28,7 @@ import org.apache.james.mailbox.exception.MailboxException;
 import org.apache.james.mailbox.jpa.mail.JPAMailboxMapper;
 import org.apache.james.mailbox.jpa.mail.model.JPAMailbox;
 import org.apache.james.mailbox.model.MailboxPath;
+import org.apache.james.mailbox.model.MessageId;
 import org.apache.james.mailbox.store.Authenticator;
 import org.apache.james.mailbox.store.StoreMailboxManager;
 import org.apache.james.mailbox.store.mail.model.Mailbox;
@@ -40,8 +41,9 @@ import 
org.apache.james.mailbox.store.transaction.TransactionalMapper;
 public abstract class JPAMailboxManager extends StoreMailboxManager {
 
 public JPAMailboxManager(JPAMailboxSessionMapperFactory 
mailboxSessionMapperFactory,
-final Authenticator authenticator, MailboxPathLocker locker, 
MailboxACLResolver aclResolver, GroupMembershipResolver 
groupMembershipResolver, MessageParser messageParser) {
-super(mailboxSessionMapperFactory, authenticator, locker, aclResolver, 
groupMembershipResolver, messageParser);
+final Authenticator authenticator, MailboxPathLocker locker, 
MailboxACLResolver aclResolver, 
+GroupMembershipResolver groupMembershipResolver, MessageParser 
messageParser, MessageId.Factory messageIdFactory) {
+super(mailboxSessionMapperFactory, authenticator, locker, aclResolver, 
groupMembershipResolver, messageParser, messageIdFactory);
 }
 
 @Override

http://git-wip-us.apache.org/repos/asf/james-project/blob/7882e36f/mailbox/jpa/src/main/java/org/apache/james/mailbox/jpa/JPAMessageManager.java
--
diff --git 
a/mailbox/jpa/src/main/java/org/apache/james/mailbox/jpa/JPAMessageManager.java 
b/mailbox/jpa/src/main/java/org/apache/james/mailbox/jpa/JPAMessageManager.java
index dbe718e..8f3c800 100644
--- 
a/mailbox/jpa/src/main/java/org/apache/james/mailbox/jpa/JPAMessageManager.java
+++ 
b/mailbox/jpa/src/main/java/org/apache/james/mailbox/jpa/JPAMessageManager.java
@@ -32,6 +32,7 @@ import org.apache.james.mailbox.exception.MailboxException;
 import org.apache.james.mailbox.jpa.mail.model.JPAMailbox;
 import org.apache.james.mailbox.jpa.mail.model.openjpa.JPAMailboxMessage;
 import org.apache.james.mailbox.model.MessageAttachment;
+import org.apache.james.mailbox.model.MessageId;
 import org.apache.james.mailbox.quota.QuotaManager;
 import org.apache.james.mailbox.quota.QuotaRootResolver;
 import org.apache.james.mailbox.store.MailboxSessionMapperFactory;
@@ -52,10 +53,10 @@ public class JPAMessageManager extends StoreMessageManager {
final MailboxEventDispatcher dispatcher, 

[4/6] james-project git commit: MAILBOX-277 Message now have a messageId property

2016-10-25 Thread aduprat
http://git-wip-us.apache.org/repos/asf/james-project/blob/7882e36f/mailbox/store/src/test/java/org/apache/james/mailbox/store/mail/model/MailboxMessageAssertTest.java
--
diff --git 
a/mailbox/store/src/test/java/org/apache/james/mailbox/store/mail/model/MailboxMessageAssertTest.java
 
b/mailbox/store/src/test/java/org/apache/james/mailbox/store/mail/model/MailboxMessageAssertTest.java
index c5056f0..a2937eb 100644
--- 
a/mailbox/store/src/test/java/org/apache/james/mailbox/store/mail/model/MailboxMessageAssertTest.java
+++ 
b/mailbox/store/src/test/java/org/apache/james/mailbox/store/mail/model/MailboxMessageAssertTest.java
@@ -26,6 +26,7 @@ import javax.mail.Flags;
 import javax.mail.util.SharedByteArrayInputStream;
 
 import org.apache.james.mailbox.MessageUid;
+import org.apache.james.mailbox.model.MessageId;
 import org.apache.james.mailbox.store.TestId;
 import org.apache.james.mailbox.store.mail.MessageMapper;
 import org.apache.james.mailbox.store.mail.model.impl.PropertyBuilder;
@@ -36,16 +37,17 @@ public class MailboxMessageAssertTest {
 
 public static final TestId MAILBOX_ID = TestId.of(42L);
 public static final MessageUid UID = MessageUid.of(24);
+public static final MessageId MESSAGE_ID = new DefaultMessageId();
 
 @Test
 public void messageAssertShouldSucceedWithTwoEqualsMessages() throws 
IOException {
 String headerString = "name: headerName\n\n";
 String bodyString = "body\n.\n";
 Date date = new Date();
-SimpleMailboxMessage message1 = new SimpleMailboxMessage(date, 
headerString.length() + bodyString.length(),
+SimpleMailboxMessage message1 = new SimpleMailboxMessage(MESSAGE_ID, 
date, headerString.length() + bodyString.length(),
 headerString.length(), new 
SharedByteArrayInputStream((headerString + bodyString).getBytes()), new 
Flags(), new PropertyBuilder(), MAILBOX_ID);
 message1.setUid(UID);
-SimpleMailboxMessage message2 = new SimpleMailboxMessage(date, 
headerString.length() + bodyString.length(),
+SimpleMailboxMessage message2 = new SimpleMailboxMessage(MESSAGE_ID, 
date, headerString.length() + bodyString.length(),
 headerString.length(), new 
SharedByteArrayInputStream((headerString + bodyString).getBytes()), new 
Flags(), new PropertyBuilder(), MAILBOX_ID);
 message2.setUid(UID);
 MessageAssert.assertThat(message1).isEqualTo(message2, 
MessageMapper.FetchType.Full);
@@ -56,11 +58,11 @@ public class MailboxMessageAssertTest {
 String headerString = "name: headerName\n\n";
 String bodyString = "body\n.\n";
 Date date = new Date();
-SimpleMailboxMessage message1 = new SimpleMailboxMessage(date, 
headerString.length() + bodyString.length(),
+SimpleMailboxMessage message1 = new SimpleMailboxMessage(MESSAGE_ID, 
date, headerString.length() + bodyString.length(),
 headerString.length(), new 
SharedByteArrayInputStream((headerString + bodyString).getBytes()), new 
Flags(), new PropertyBuilder(), MAILBOX_ID);
 message1.setUid(UID);
 bodyString = "work\n.\n";
-SimpleMailboxMessage message2 = new SimpleMailboxMessage(date, 
headerString.length() + bodyString.length(),
+SimpleMailboxMessage message2 = new SimpleMailboxMessage(MESSAGE_ID, 
date, headerString.length() + bodyString.length(),
 headerString.length(), new 
SharedByteArrayInputStream((headerString + bodyString).getBytes()), new 
Flags(), new PropertyBuilder(), MAILBOX_ID);
 message2.setUid(UID);
 MessageAssert.assertThat(message1).isEqualTo(message2, 
MessageMapper.FetchType.Headers);
@@ -71,11 +73,11 @@ public class MailboxMessageAssertTest {
 String headerString = "name: headerName\n\n";
 String bodyString = "body\n.\n";
 Date date = new Date();
-SimpleMailboxMessage message1 = new SimpleMailboxMessage(date, 
headerString.length() + bodyString.length(),
+SimpleMailboxMessage message1 = new SimpleMailboxMessage(MESSAGE_ID, 
date, headerString.length() + bodyString.length(),
 headerString.length(), new 
SharedByteArrayInputStream((headerString + bodyString).getBytes()), new 
Flags(), new PropertyBuilder(), MAILBOX_ID);
 message1.setUid(UID);
 bodyString = "work\n.\n";
-SimpleMailboxMessage message2 = new SimpleMailboxMessage(date, 
headerString.length() + bodyString.length(),
+SimpleMailboxMessage message2 = new SimpleMailboxMessage(MESSAGE_ID, 
date, headerString.length() + bodyString.length(),
 headerString.length(), new 
SharedByteArrayInputStream((headerString + bodyString).getBytes()), new 
Flags(), new PropertyBuilder(), MAILBOX_ID);
 message2.setUid(UID);
 MessageAssert.assertThat(message1).isEqualTo(message2, 
MessageMapper.FetchType.Body);


[1/6] james-project git commit: MAILBOX-277 add MailboxManager.copy that takes MailboxId

2016-10-25 Thread aduprat
Repository: james-project
Updated Branches:
  refs/heads/master 188b6d19b -> 7882e36f5


MAILBOX-277 add MailboxManager.copy that takes MailboxId


Project: http://git-wip-us.apache.org/repos/asf/james-project/repo
Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/3e06733c
Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/3e06733c
Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/3e06733c

Branch: refs/heads/master
Commit: 3e06733c9c1dc87c0f1d8cbe5f152bec7adc4de4
Parents: 188b6d1
Author: Matthieu Baechler 
Authored: Tue Oct 18 14:48:16 2016 +0200
Committer: Matthieu Baechler 
Committed: Tue Oct 25 09:50:37 2016 +0200

--
 .../java/org/apache/james/mailbox/MailboxManager.java |  2 ++
 .../james/mailbox/store/StoreMailboxManager.java  | 14 ++
 .../imap/processor/base/MailboxEventAnalyserTest.java |  6 +-
 .../jmap/FirstUserConnectionFilterThreadTest.java |  6 ++
 4 files changed, 27 insertions(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/james-project/blob/3e06733c/mailbox/api/src/main/java/org/apache/james/mailbox/MailboxManager.java
--
diff --git 
a/mailbox/api/src/main/java/org/apache/james/mailbox/MailboxManager.java 
b/mailbox/api/src/main/java/org/apache/james/mailbox/MailboxManager.java
index 1b7afcd..6dc1335 100644
--- a/mailbox/api/src/main/java/org/apache/james/mailbox/MailboxManager.java
+++ b/mailbox/api/src/main/java/org/apache/james/mailbox/MailboxManager.java
@@ -198,6 +198,8 @@ public interface MailboxManager extends RequestAware, 
MailboxListenerSupport {
  */
 List copyMessages(MessageRange set, MailboxPath from, 
MailboxPath to, MailboxSession session) throws MailboxException;
 
+List copyMessages(MessageRange set, MailboxId from, 
MailboxId to, MailboxSession session) throws MailboxException;
+
 /**
  * Move the given {@link MessageRange} from one Mailbox to the other. 
  * 

http://git-wip-us.apache.org/repos/asf/james-project/blob/3e06733c/mailbox/store/src/main/java/org/apache/james/mailbox/store/StoreMailboxManager.java
--
diff --git 
a/mailbox/store/src/main/java/org/apache/james/mailbox/store/StoreMailboxManager.java
 
b/mailbox/store/src/main/java/org/apache/james/mailbox/store/StoreMailboxManager.java
index ba073d2..9512849 100644
--- 
a/mailbox/store/src/main/java/org/apache/james/mailbox/store/StoreMailboxManager.java
+++ 
b/mailbox/store/src/main/java/org/apache/james/mailbox/store/StoreMailboxManager.java
@@ -578,6 +578,20 @@ public class StoreMailboxManager implements MailboxManager 
{
 final StoreMessageManager toMailbox = (StoreMessageManager) 
getMailbox(to, session);
 final StoreMessageManager fromMailbox = (StoreMessageManager) 
getMailbox(from, session);
 
+return copyMessages(set, session, toMailbox, fromMailbox);
+}
+
+@Override
+public List copyMessages(MessageRange set, MailboxId from, 
MailboxId to, final MailboxSession session) throws MailboxException {
+final StoreMessageManager toMailbox = (StoreMessageManager) 
getMailbox(to, session);
+final StoreMessageManager fromMailbox = (StoreMessageManager) 
getMailbox(from, session);
+
+return copyMessages(set, session, toMailbox, fromMailbox);
+}
+
+
+private List copyMessages(MessageRange set, final 
MailboxSession session,
+final StoreMessageManager toMailbox, final StoreMessageManager 
fromMailbox) throws MailboxException {
 return copyBatcher.batchMessages(set, new 
MessageBatcher.BatchedOperation() {
 public List execute(MessageRange messageRange) 
throws MailboxException {
 return fromMailbox.copyTo(messageRange, toMailbox, session);

http://git-wip-us.apache.org/repos/asf/james-project/blob/3e06733c/protocols/imap/src/test/java/org/apache/james/imap/processor/base/MailboxEventAnalyserTest.java
--
diff --git 
a/protocols/imap/src/test/java/org/apache/james/imap/processor/base/MailboxEventAnalyserTest.java
 
b/protocols/imap/src/test/java/org/apache/james/imap/processor/base/MailboxEventAnalyserTest.java
index 48aa27b..6b145d4 100644
--- 
a/protocols/imap/src/test/java/org/apache/james/imap/processor/base/MailboxEventAnalyserTest.java
+++ 
b/protocols/imap/src/test/java/org/apache/james/imap/processor/base/MailboxEventAnalyserTest.java
@@ -369,8 +369,12 @@ public class MailboxEventAnalyserTest {
 
 public List copyMessages(MessageRange set, MailboxPath 
from, MailboxPath to, MailboxSession session) throws MailboxException {
 throw new 

[6/6] james-project git commit: MAILBOX-277 Message now have a messageId property

2016-10-25 Thread aduprat
MAILBOX-277 Message now have a messageId property


Project: http://git-wip-us.apache.org/repos/asf/james-project/repo
Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/7882e36f
Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/7882e36f
Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/7882e36f

Branch: refs/heads/master
Commit: 7882e36f554336dcc865c478a452823d521b82af
Parents: bfd0b61
Author: Matthieu Baechler 
Authored: Tue Oct 18 17:21:45 2016 +0200
Committer: Matthieu Baechler 
Committed: Tue Oct 25 09:50:50 2016 +0200

--
 .../apache/james/mailbox/model/MessageId.java   |   7 ++
 .../james/mailbox/model/MessageMetaData.java|   2 +
 .../cassandra/CassandraMailboxManager.java  |  10 +-
 .../CassandraMailboxSessionMapperFactory.java   |  10 +-
 .../cassandra/CassandraMessageManager.java  |   8 +-
 .../cassandra/mail/CassandraMessageMapper.java  |   9 +-
 .../META-INF/spring/mailbox-cassandra.xml   |   3 +
 .../cassandra/CassandraMailboxManagerTest.java  |   7 +-
 ...assandraMailboxSessionMapperFactoryTest.java |  16 ++-
 .../CassandraSubscriptionManagerTest.java   |   4 +-
 .../CassandraMailboxManagerAttachmentTest.java  |   8 +-
 .../cassandra/mail/CassandraMapperProvider.java |  19 +++-
 .../ElasticSearchIntegrationTest.java   |   6 +-
 .../MailboxMessageToElasticSearchJsonTest.java  | 100 ++-
 .../mailbox/hbase/HBaseMailboxManager.java  |  16 ++-
 .../hbase/HBaseMailboxSessionMapperFactory.java |   8 +-
 .../mailbox/hbase/HBaseMessageManager.java  |   8 +-
 .../apache/james/mailbox/hbase/HBaseUtils.java  |   5 +-
 .../mailbox/hbase/mail/HBaseMailboxMessage.java |  11 +-
 .../mailbox/hbase/mail/HBaseMessageMapper.java  |  18 ++--
 .../mailbox/hbase/HBaseMailboxManagerTest.java  |   9 +-
 .../HBaseMailboxSessionMapperFactoryTest.java   |  16 ++-
 .../james/mailbox/hbase/HBaseUtilsTest.java |   4 +-
 .../mail/HBaseMailboxMessageMapperTest.java |   9 +-
 .../hbase/user/HBaseSubscriptionMapperTest.java |   5 +-
 .../james/mailbox/jcr/JCRMailboxManager.java|  16 ++-
 .../james/mailbox/jcr/JCRMessageManager.java|  11 +-
 .../jcr/mail/model/JCRMailboxMessage.java   |  10 +-
 .../mailbox/jcr/JCRMailboxManagerTest.java  |   4 +-
 .../james/mailbox/jpa/JPAMailboxManager.java|   6 +-
 .../james/mailbox/jpa/JPAMessageManager.java|   5 +-
 .../openjpa/AbstractJPAMailboxMessage.java  |   2 +-
 .../jpa/openjpa/OpenJPAMailboxManager.java  |  22 ++--
 .../jpa/openjpa/OpenJPAMessageManager.java  |  12 ++-
 .../resources/META-INF/spring/mailbox-jpa.xml   |   4 +
 .../mailbox/jpa/JPAMailboxManagerTest.java  |   3 +-
 .../LuceneMailboxMessageSearchIndexTest.java|   9 +-
 .../search/LuceneMessageSearchIndexTest.java|   6 +-
 .../META-INF/spring/mailbox-maildir.xml |   4 +
 .../maildir/MaildirMailboxManagerTests.java |   4 +-
 .../inmemory/InMemoryMailboxManager.java|  10 +-
 .../inmemory/InMemoryMessageManager.java|   7 +-
 .../META-INF/spring/mailbox-memory.xml  |   3 +
 .../inmemory/InMemoryMailboxManagerTest.java|   6 +-
 .../InMemoryMailboxManagerAttachmentTest.java   |   9 +-
 .../inmemory/mail/InMemoryMapperProvider.java   |   9 ++
 .../manager/InMemoryIntegrationResources.java   |   5 +-
 .../search/SimpleMessageSearchIndexTest.java|   6 +-
 .../james/mailbox/store/MessageResultImpl.java  |   6 ++
 .../mailbox/store/SimpleMessageMetaData.java|  12 ++-
 .../mailbox/store/StoreMailboxManager.java  |  22 +++-
 .../mailbox/store/StoreMessageManager.java  |  28 +++---
 .../store/StoreMessageResultIterator.java   |  11 +-
 .../dto/MessageMetaDataDataTransferObject.java  |  15 +--
 .../store/mail/model/DefaultMessageId.java  |  54 ++
 .../mail/model/DelegatingMailboxMessage.java|   5 +-
 .../mail/model/impl/SimpleMailboxMessage.java   |  10 +-
 .../store/mail/model/impl/SimpleMessage.java|  10 +-
 .../james/mailbox/store/MessageBuilder.java |   3 +-
 .../mailbox/store/SimpleMailboxMembership.java  |  11 +-
 .../StoreMailboxManagerAnnotationTest.java  |   4 +-
 .../mailbox/store/StoreMailboxManagerTest.java  |  10 +-
 .../StoreMailboxMessageResultIteratorTest.java  |   3 +-
 .../mailbox/store/json/EventSerializerTest.java |   3 +-
 .../mail/model/DefaultMailboxMessageIdTest.java |  47 -
 .../mail/model/MailboxMessageAssertTest.java|  14 +--
 .../store/mail/model/MapperProvider.java|   3 +
 .../store/mail/model/MessageMapperTest.java |  37 +++
 .../store/mail/model/MessageMoveTest.java   |   7 +-
 .../store/mail/model/MetadataMapAssertTest.java |  12 ++-
 .../model/impl/SimpleMailboxMessageTest.java|   5 +-
 .../quota/ListeningCurrentQuotaUpdaterTest.java |   9 +-
 .../james/mailbox/copier/MailboxCopierTest.java |   4 +-
 

[jira] [Created] (MAILBOX-277) Make it possible to work with message regardless of any mailbox

2016-10-25 Thread Matthieu Baechler (JIRA)
Matthieu Baechler created MAILBOX-277:
-

 Summary: Make it possible to work with message regardless of any 
mailbox
 Key: MAILBOX-277
 URL: https://issues.apache.org/jira/browse/MAILBOX-277
 Project: James Mailbox
  Issue Type: Improvement
  Components: api
Reporter: Matthieu Baechler


Now that Message have a MessageId, it should be addressable without accessing a 
mailbox.

We should introduce a MessageIdManager for that purpose.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

-
To unsubscribe, e-mail: server-dev-unsubscr...@james.apache.org
For additional commands, e-mail: server-dev-h...@james.apache.org



[jira] [Closed] (JAMES-1656) Enhance MailboxMessage API

2016-10-25 Thread Antoine Duprat (JIRA)

 [ 
https://issues.apache.org/jira/browse/JAMES-1656?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Antoine Duprat closed JAMES-1656.
-
Resolution: Invalid

> Enhance MailboxMessage API
> --
>
> Key: JAMES-1656
> URL: https://issues.apache.org/jira/browse/JAMES-1656
> Project: James Server
>  Issue Type: Improvement
>  Components: MailStore & MailRepository
>Reporter: Antoine Duprat
>
> Enhance MailboxMessage API.
> In JMAP, a message may belong to multiple mailboxes.
> Change the *MailboxMessage.getMailboxId* method to
> *MailboxMessage.getMailboxIds* in order to return a list of mailboxes.
> Only change the API, not the implementations behaviour.
> Implementations should take care of a list with only one item.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

-
To unsubscribe, e-mail: server-dev-unsubscr...@james.apache.org
For additional commands, e-mail: server-dev-h...@james.apache.org



[jira] [Created] (JAMES-1849) Implement MailboxAnnotations on top of JPA

2016-10-25 Thread Tellier Benoit (JIRA)
Tellier Benoit created JAMES-1849:
-

 Summary: Implement MailboxAnnotations on top of JPA
 Key: JAMES-1849
 URL: https://issues.apache.org/jira/browse/JAMES-1849
 Project: James Server
  Issue Type: New Feature
Reporter: Tellier Benoit






--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

-
To unsubscribe, e-mail: server-dev-unsubscr...@james.apache.org
For additional commands, e-mail: server-dev-h...@james.apache.org