MAILBOX-297 add containsFailedResults to FlagsUpdateStageResult

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

Branch: refs/heads/master
Commit: 75cdccc29ad40af15cc5006d62ba405f9904aca9
Parents: 32fa054
Author: benwa <[email protected]>
Authored: Wed May 24 15:33:10 2017 +0700
Committer: benwa <[email protected]>
Committed: Mon May 29 17:02:50 2017 +0700

----------------------------------------------------------------------
 .../mailbox/cassandra/mail/CassandraMessageMapper.java |  4 ++--
 .../cassandra/mail/utils/FlagsUpdateStageResult.java   |  4 ++++
 .../mail/utils/FlagsUpdateStageResultTest.java         | 13 +++++++++++++
 3 files changed, 19 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/james-project/blob/75cdccc2/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/mail/CassandraMessageMapper.java
----------------------------------------------------------------------
diff --git 
a/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/mail/CassandraMessageMapper.java
 
b/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/mail/CassandraMessageMapper.java
index b959972..68133eb 100644
--- 
a/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/mail/CassandraMessageMapper.java
+++ 
b/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/mail/CassandraMessageMapper.java
@@ -282,7 +282,7 @@ public class CassandraMessageMapper implements 
MessageMapper {
 
         FlagsUpdateStageResult firstResult = runUpdateStage(mailboxId, 
toBeUpdated, flagUpdateCalculator);
         FlagsUpdateStageResult finalResult = 
handleUpdatesStagedRetry(mailboxId, flagUpdateCalculator, firstResult);
-        if (!finalResult.getFailed().isEmpty()) {
+        if (finalResult.containsFailedResults()) {
             LOGGER.error("Can not update following UIDs {} for mailbox {}", 
finalResult.getFailed(), mailboxId.asUuid());
         }
         return finalResult.getSucceeded().iterator();
@@ -291,7 +291,7 @@ public class CassandraMessageMapper implements 
MessageMapper {
     private FlagsUpdateStageResult handleUpdatesStagedRetry(CassandraId 
mailboxId, FlagsUpdateCalculator flagUpdateCalculator, FlagsUpdateStageResult 
firstResult) {
         FlagsUpdateStageResult globalResult = firstResult;
         int retryCount = 0;
-        while (retryCount < maxRetries && !globalResult.getFailed().isEmpty()) 
{
+        while (retryCount < maxRetries && 
globalResult.containsFailedResults()) {
             retryCount++;
             FlagsUpdateStageResult stageResult = retryUpdatesStage(mailboxId, 
flagUpdateCalculator, globalResult.getFailed());
             globalResult = globalResult.keepSucceded().merge(stageResult);

http://git-wip-us.apache.org/repos/asf/james-project/blob/75cdccc2/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/mail/utils/FlagsUpdateStageResult.java
----------------------------------------------------------------------
diff --git 
a/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/mail/utils/FlagsUpdateStageResult.java
 
b/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/mail/utils/FlagsUpdateStageResult.java
index 0bdaa7e..df2858f 100644
--- 
a/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/mail/utils/FlagsUpdateStageResult.java
+++ 
b/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/mail/utils/FlagsUpdateStageResult.java
@@ -70,6 +70,10 @@ public class FlagsUpdateStageResult {
                 .build());
     }
 
+    public boolean containsFailedResults() {
+        return !failed.isEmpty();
+    }
+
     public FlagsUpdateStageResult keepSucceded() {
         return new FlagsUpdateStageResult(ImmutableList.of(), succeeded);
     }

http://git-wip-us.apache.org/repos/asf/james-project/blob/75cdccc2/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/utils/FlagsUpdateStageResultTest.java
----------------------------------------------------------------------
diff --git 
a/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/utils/FlagsUpdateStageResultTest.java
 
b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/utils/FlagsUpdateStageResultTest.java
index 2c43111..93f7273 100644
--- 
a/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/utils/FlagsUpdateStageResultTest.java
+++ 
b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/utils/FlagsUpdateStageResultTest.java
@@ -131,4 +131,17 @@ public class FlagsUpdateStageResultTest {
             .isEqualTo(FlagsUpdateStageResult.success(UPDATED_FLAGS));
     }
 
+    @Test
+    public void containsFailedResultsShouldReturnTrueWhenFailed() {
+        assertThat(FlagsUpdateStageResult.fail(UID).containsFailedResults())
+            .isTrue();
+    }
+
+
+    @Test
+    public void containsFailedResultsShouldReturnFalseWhenSucceeded() {
+        
assertThat(FlagsUpdateStageResult.success(UPDATED_FLAGS).containsFailedResults())
+            .isFalse();
+    }
+
 }


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to