Repository: james-project
Updated Branches:
  refs/heads/master aec24c4e9 -> 2e8efa384


JAMES-1849 Enable MPT testing for Jpa Mailbox Annotations


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

Branch: refs/heads/master
Commit: 7b0d31858067f97ff746c5ce74feb4af338b69cc
Parents: b6cd9e2
Author: Benoit Tellier <btell...@linagora.com>
Authored: Wed Nov 9 05:33:12 2016 +0100
Committer: Benoit Tellier <btell...@linagora.com>
Committed: Wed Nov 9 05:33:12 2016 +0100

----------------------------------------------------------------------
 .../apache/james/mailbox/jpa/mail/JPAAnnotationMapper.java    | 7 +++----
 .../james/mailbox/jpa/mail/model/JPAMailboxAnnotation.java    | 3 +--
 mpt/impl/imap-mailbox/core/src/main/resources/logback.xml     | 4 +++-
 .../resources/org/apache/james/imap/scripts/Annotation.test   | 3 ++-
 .../apache/james/mpt/imapmailbox/jpa/host/JPAHostSystem.java  | 6 ++++--
 5 files changed, 13 insertions(+), 10 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/james-project/blob/7b0d3185/mailbox/jpa/src/main/java/org/apache/james/mailbox/jpa/mail/JPAAnnotationMapper.java
----------------------------------------------------------------------
diff --git 
a/mailbox/jpa/src/main/java/org/apache/james/mailbox/jpa/mail/JPAAnnotationMapper.java
 
b/mailbox/jpa/src/main/java/org/apache/james/mailbox/jpa/mail/JPAAnnotationMapper.java
index 4ba35ad..0704c9f 100644
--- 
a/mailbox/jpa/src/main/java/org/apache/james/mailbox/jpa/mail/JPAAnnotationMapper.java
+++ 
b/mailbox/jpa/src/main/java/org/apache/james/mailbox/jpa/mail/JPAAnnotationMapper.java
@@ -156,10 +156,9 @@ public class JPAAnnotationMapper extends 
JPATransactionalMapper implements Annot
     public void deleteAnnotation(MailboxId mailboxId, MailboxAnnotationKey 
key) {
         try {
             JPAId jpaId = (JPAId) mailboxId;
-            getEntityManager().createNamedQuery("deleteAnnotation")
-                .setParameter("idParam", jpaId.getRawId())
-                .setParameter("key", key.asString())
-                .executeUpdate();
+            JPAMailboxAnnotation jpaMailboxAnnotation = getEntityManager()
+                .find(JPAMailboxAnnotation.class, new 
JPAMailboxAnnotation.JPAMailboxAnnotationId(jpaId.getRawId(), key.asString()));
+            getEntityManager().remove(jpaMailboxAnnotation);
         } catch (NoResultException e) {
             LOGGER.debug("Mailbox annotation not found for ID {} and key {}", 
mailboxId.serialize(), key.asString());
         } catch (PersistenceException pe) {

http://git-wip-us.apache.org/repos/asf/james-project/blob/7b0d3185/mailbox/jpa/src/main/java/org/apache/james/mailbox/jpa/mail/model/JPAMailboxAnnotation.java
----------------------------------------------------------------------
diff --git 
a/mailbox/jpa/src/main/java/org/apache/james/mailbox/jpa/mail/model/JPAMailboxAnnotation.java
 
b/mailbox/jpa/src/main/java/org/apache/james/mailbox/jpa/mail/model/JPAMailboxAnnotation.java
index fe9ce8e..5836f24 100644
--- 
a/mailbox/jpa/src/main/java/org/apache/james/mailbox/jpa/mail/model/JPAMailboxAnnotation.java
+++ 
b/mailbox/jpa/src/main/java/org/apache/james/mailbox/jpa/mail/model/JPAMailboxAnnotation.java
@@ -35,8 +35,7 @@ import com.google.common.base.Objects;
 @NamedQueries({
     @NamedQuery(name = "retrieveAllAnnotations", query = "SELECT annotation 
FROM MailboxAnnotation annotation WHERE annotation.mailboxId = :idParam"),
     @NamedQuery(name = "retrieveByKey", query = "SELECT annotation FROM 
MailboxAnnotation annotation WHERE annotation.mailboxId = :idParam AND 
annotation.key = :keyParam"),
-    @NamedQuery(name = "retrieveByKeyLike", query = "SELECT annotation FROM 
MailboxAnnotation annotation WHERE annotation.mailboxId = :idParam AND 
annotation.key LIKE :keyParam"),
-    @NamedQuery(name = "deleteAnnotation", query = "DELETE FROM 
MailboxAnnotation annotation WHERE annotation.mailboxId = :idParam AND 
annotation.key = :key")})
+    @NamedQuery(name = "retrieveByKeyLike", query = "SELECT annotation FROM 
MailboxAnnotation annotation WHERE annotation.mailboxId = :idParam AND 
annotation.key LIKE :keyParam")})
 @IdClass(JPAMailboxAnnotation.JPAMailboxAnnotationId.class)
 public class JPAMailboxAnnotation {
 

http://git-wip-us.apache.org/repos/asf/james-project/blob/7b0d3185/mpt/impl/imap-mailbox/core/src/main/resources/logback.xml
----------------------------------------------------------------------
diff --git a/mpt/impl/imap-mailbox/core/src/main/resources/logback.xml 
b/mpt/impl/imap-mailbox/core/src/main/resources/logback.xml
index 85ee3d4..72816f6 100644
--- a/mpt/impl/imap-mailbox/core/src/main/resources/logback.xml
+++ b/mpt/impl/imap-mailbox/core/src/main/resources/logback.xml
@@ -16,7 +16,9 @@
                 <appender-ref ref="CONSOLE" />
         </root>
 
-        <logger name="org.apache.james" level="DEBUG"/>
+        <logger name="org.apache.james" level="DEBUG">
+                <appender-ref ref="CONSOLE" />
+        </logger>
 
 
 </configuration>

http://git-wip-us.apache.org/repos/asf/james-project/blob/7b0d3185/mpt/impl/imap-mailbox/core/src/main/resources/org/apache/james/imap/scripts/Annotation.test
----------------------------------------------------------------------
diff --git 
a/mpt/impl/imap-mailbox/core/src/main/resources/org/apache/james/imap/scripts/Annotation.test
 
b/mpt/impl/imap-mailbox/core/src/main/resources/org/apache/james/imap/scripts/Annotation.test
index 673729a..4114b1a 100644
--- 
a/mpt/impl/imap-mailbox/core/src/main/resources/org/apache/james/imap/scripts/Annotation.test
+++ 
b/mpt/impl/imap-mailbox/core/src/main/resources/org/apache/james/imap/scripts/Annotation.test
@@ -80,7 +80,8 @@ C: s2 SETMETADATA INBOX (/shared/comment "The shared comment")
 S: s2 OK SETMETADATA completed.
 
 C: g3 GETMETADATA "INBOX" (/shared/comment /private/comment)
-S: \* METADATA "INBOX" \(\/private\/comment "My own comment" \/shared\/comment 
"The shared comment"\)
+# Regex used to be order agnostic. Annotation1 Annotation2 OR Annotation2 
Annotation1
+S: \* METADATA "INBOX" \((\/private\/comment "My own comment" 
\/shared\/comment "The shared comment"|\/shared\/comment "The shared comment" 
\/private\/comment "My own comment")\)
 S: g3 OK GETMETADATA completed.
 
 C: g4 GETMETADATA "INBOX"

http://git-wip-us.apache.org/repos/asf/james-project/blob/7b0d3185/mpt/impl/imap-mailbox/jpa/src/test/java/org/apache/james/mpt/imapmailbox/jpa/host/JPAHostSystem.java
----------------------------------------------------------------------
diff --git 
a/mpt/impl/imap-mailbox/jpa/src/test/java/org/apache/james/mpt/imapmailbox/jpa/host/JPAHostSystem.java
 
b/mpt/impl/imap-mailbox/jpa/src/test/java/org/apache/james/mpt/imapmailbox/jpa/host/JPAHostSystem.java
index b22b8ac..2f13699 100644
--- 
a/mpt/impl/imap-mailbox/jpa/src/test/java/org/apache/james/mpt/imapmailbox/jpa/host/JPAHostSystem.java
+++ 
b/mpt/impl/imap-mailbox/jpa/src/test/java/org/apache/james/mpt/imapmailbox/jpa/host/JPAHostSystem.java
@@ -40,6 +40,7 @@ import org.apache.james.mailbox.jpa.JPASubscriptionManager;
 import org.apache.james.mailbox.jpa.mail.JPAModSeqProvider;
 import org.apache.james.mailbox.jpa.mail.JPAUidProvider;
 import org.apache.james.mailbox.jpa.mail.model.JPAMailbox;
+import org.apache.james.mailbox.jpa.mail.model.JPAMailboxAnnotation;
 import org.apache.james.mailbox.jpa.mail.model.JPAProperty;
 import org.apache.james.mailbox.jpa.mail.model.JPAUserFlag;
 import 
org.apache.james.mailbox.jpa.mail.model.openjpa.AbstractJPAMailboxMessage;
@@ -63,7 +64,7 @@ import org.slf4j.LoggerFactory;
 public class JPAHostSystem extends JamesImapHostSystem {
 
     public static final String META_DATA_DIRECTORY = "target/user-meta-data";
-    private static final ImapFeatures SUPPORTED_FEATURES = 
ImapFeatures.of(Feature.NAMESPACE_SUPPORT, Feature.USER_FLAGS_SUPPORT);
+    private static final ImapFeatures SUPPORTED_FEATURES = 
ImapFeatures.of(Feature.NAMESPACE_SUPPORT, Feature.USER_FLAGS_SUPPORT, 
Feature.ANNOTATION_SUPPORT);
 
     public static JamesImapHostSystem build() throws Exception {
         return new JPAHostSystem();
@@ -111,7 +112,8 @@ public class JPAHostSystem extends JamesImapHostSystem {
                 JPAMailboxMessage.class.getName() + ";" +
                 JPAProperty.class.getName() + ";" +
                 JPAUserFlag.class.getName() + ";" + 
-                JPASubscription.class.getName() + ")");
+                JPASubscription.class.getName() + ";" +
+                JPAMailboxAnnotation.class.getName() + ")");
         
         userManager = new FakeAuthenticator();
         entityManagerFactory = 
OpenJPAPersistence.getEntityManagerFactory(properties);


---------------------------------------------------------------------
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