JAMES-2378 Log patch as part of JMAP SetMessages update validation logs

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

Branch: refs/heads/master
Commit: 2c37d153b8eb3502a1d1bbb5434359688e3b1950
Parents: e7db9a0
Author: benwa <btell...@linagora.com>
Authored: Wed May 2 14:48:24 2018 +0700
Committer: benwa <btell...@linagora.com>
Committed: Thu May 3 14:13:06 2018 +0700

----------------------------------------------------------------------
 .../james/jmap/methods/SetMessagesUpdateProcessor.java   | 10 +++++-----
 .../org/apache/james/jmap/model/UpdateMessagePatch.java  | 11 +++++++++++
 2 files changed, 16 insertions(+), 5 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/james-project/blob/2c37d153/server/protocols/jmap/src/main/java/org/apache/james/jmap/methods/SetMessagesUpdateProcessor.java
----------------------------------------------------------------------
diff --git 
a/server/protocols/jmap/src/main/java/org/apache/james/jmap/methods/SetMessagesUpdateProcessor.java
 
b/server/protocols/jmap/src/main/java/org/apache/james/jmap/methods/SetMessagesUpdateProcessor.java
index 9be8e39..445c998 100644
--- 
a/server/protocols/jmap/src/main/java/org/apache/james/jmap/methods/SetMessagesUpdateProcessor.java
+++ 
b/server/protocols/jmap/src/main/java/org/apache/james/jmap/methods/SetMessagesUpdateProcessor.java
@@ -113,7 +113,7 @@ public class SetMessagesUpdateProcessor implements 
SetMessagesProcessor {
                 if (patch.isValid()) {
                     update(id, patch, mailboxSession, responseBuilder);
                 } else {
-                    handleInvalidRequest(responseBuilder, id, 
patch.getValidationErrors());
+                    handleInvalidRequest(responseBuilder, id, 
patch.getValidationErrors(), patch);
                 }
             }
         );
@@ -150,7 +150,7 @@ public class SetMessagesUpdateProcessor implements 
SetMessagesProcessor {
                 .message(e.getMessage())
                 .build();
 
-            handleInvalidRequest(builder, messageId, 
ImmutableList.of(invalidPropertyMailboxIds));
+            handleInvalidRequest(builder, messageId, 
ImmutableList.of(invalidPropertyMailboxIds), updateMessagePatch);
         } catch (OverQuotaException e) {
             builder.notUpdated(messageId,
                 SetError.builder()
@@ -165,7 +165,7 @@ public class SetMessagesUpdateProcessor implements 
SetMessagesProcessor {
                     .message(e.getMessage())
                     .build();
 
-            handleInvalidRequest(builder, messageId, 
ImmutableList.of(invalidPropertyKeywords));
+            handleInvalidRequest(builder, messageId, 
ImmutableList.of(invalidPropertyKeywords), updateMessagePatch);
         }
     }
 
@@ -324,8 +324,8 @@ public class SetMessagesUpdateProcessor implements 
SetMessagesProcessor {
     }
 
     private void handleInvalidRequest(SetMessagesResponse.Builder 
responseBuilder, MessageId messageId,
-                                      ImmutableList<ValidationResult> 
validationErrors) {
-        LOGGER.warn("Invalid update request for message #{}: {}", messageId, 
validationErrors);
+                                      ImmutableList<ValidationResult> 
validationErrors, UpdateMessagePatch patch) {
+        LOGGER.warn("Invalid update request with patch {} for message #{}: 
{}", patch, messageId, validationErrors);
 
         String formattedValidationErrorMessage = validationErrors.stream()
                 .map(err -> err.getProperty() + ": " + err.getErrorMessage())

http://git-wip-us.apache.org/repos/asf/james-project/blob/2c37d153/server/protocols/jmap/src/main/java/org/apache/james/jmap/model/UpdateMessagePatch.java
----------------------------------------------------------------------
diff --git 
a/server/protocols/jmap/src/main/java/org/apache/james/jmap/model/UpdateMessagePatch.java
 
b/server/protocols/jmap/src/main/java/org/apache/james/jmap/model/UpdateMessagePatch.java
index 34878c6..087eb30 100644
--- 
a/server/protocols/jmap/src/main/java/org/apache/james/jmap/model/UpdateMessagePatch.java
+++ 
b/server/protocols/jmap/src/main/java/org/apache/james/jmap/model/UpdateMessagePatch.java
@@ -31,6 +31,7 @@ import org.apache.james.jmap.methods.ValidationResult;
 import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
 import com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder;
 import com.google.common.annotations.VisibleForTesting;
+import com.google.common.base.MoreObjects;
 import com.google.common.base.Preconditions;
 import com.google.common.collect.ImmutableList;
 import com.google.common.collect.ImmutableMap;
@@ -154,4 +155,14 @@ public class UpdateMessagePatch {
                 .map(keyword -> 
keyword.asFlagsWithRecentAndDeletedFrom(currentFlags))
                 .orElse(currentFlags));
     }
+
+    @Override
+    public String toString() {
+        return MoreObjects.toStringHelper(this)
+            .add("mailboxIds", mailboxIds)
+            .add("keywords", keywords)
+            .add("oldKeywords", oldKeywords)
+            .add("validationErrors", validationErrors)
+            .toString();
+    }
 }


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