Author: btellier
Date: Wed Jun 17 09:11:12 2015
New Revision: 1685965
URL: http://svn.apache.org/r1685965
Log:
MAILBOX-209 generalise FunctionRunnerWithRetry - patch contributed by Matthieu
Baechler
Modified:
james/mailbox/trunk/cassandra/src/main/java/org/apache/james/mailbox/cassandra/mail/utils/FunctionRunnerWithRetry.java
james/mailbox/trunk/cassandra/src/test/java/org/apache/james/mailbox/cassandra/CassandraClusterSingleton.java
Modified:
james/mailbox/trunk/cassandra/src/main/java/org/apache/james/mailbox/cassandra/mail/utils/FunctionRunnerWithRetry.java
URL:
http://svn.apache.org/viewvc/james/mailbox/trunk/cassandra/src/main/java/org/apache/james/mailbox/cassandra/mail/utils/FunctionRunnerWithRetry.java?rev=1685965&r1=1685964&r2=1685965&view=diff
==============================================================================
---
james/mailbox/trunk/cassandra/src/main/java/org/apache/james/mailbox/cassandra/mail/utils/FunctionRunnerWithRetry.java
(original)
+++
james/mailbox/trunk/cassandra/src/main/java/org/apache/james/mailbox/cassandra/mail/utils/FunctionRunnerWithRetry.java
Wed Jun 17 09:11:12 2015
@@ -26,11 +26,11 @@ import java.util.Optional;
import java.util.function.BooleanSupplier;
import java.util.stream.IntStream;
-public class FunctionRunnerWithRetry<Id> {
+public class FunctionRunnerWithRetry {
@FunctionalInterface
- public interface OptionalSupplier<Id> {
- Optional<Id> getAsOptional();
+ public interface OptionalSupplier<T> {
+ Optional<T> getAsOptional();
}
private final int maxRetry;
@@ -47,7 +47,7 @@ public class FunctionRunnerWithRetry<Id>
.orElseThrow(() -> new MailboxException("Can not execute Boolean
Supplier."));
}
- public Id executeAndRetrieveObject(OptionalSupplier<Id>
functionNotifyingSuccess) throws MailboxException {
+ public <T> T executeAndRetrieveObject(OptionalSupplier<T>
functionNotifyingSuccess) throws MailboxException {
return IntStream.range(0, maxRetry)
.mapToObj((x) -> functionNotifyingSuccess.getAsOptional())
.filter(Optional::isPresent)
Modified:
james/mailbox/trunk/cassandra/src/test/java/org/apache/james/mailbox/cassandra/CassandraClusterSingleton.java
URL:
http://svn.apache.org/viewvc/james/mailbox/trunk/cassandra/src/test/java/org/apache/james/mailbox/cassandra/CassandraClusterSingleton.java?rev=1685965&r1=1685964&r2=1685965&view=diff
==============================================================================
---
james/mailbox/trunk/cassandra/src/test/java/org/apache/james/mailbox/cassandra/CassandraClusterSingleton.java
(original)
+++
james/mailbox/trunk/cassandra/src/test/java/org/apache/james/mailbox/cassandra/CassandraClusterSingleton.java
Wed Jun 17 09:11:12 2015
@@ -64,7 +64,7 @@ public final class CassandraClusterSingl
private CassandraClusterSingleton() throws RuntimeException {
try {
EmbeddedCassandraServerHelper.startEmbeddedCassandra();
- session = new FunctionRunnerWithRetry<Session>(MAX_RETRY)
+ session = new FunctionRunnerWithRetry(MAX_RETRY)
.executeAndRetrieveObject(CassandraClusterSingleton.this::tryInitializeSession);
typesProvider = new CassandraTypesProvider(session);
} catch(Exception exception) {
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]