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