You are viewing a plain text version of this content. The canonical link for it is here.
Posted to server-dev@james.apache.org by bt...@apache.org on 2015/06/17 11:11:12 UTC
svn commit: r1685965 - in /james/mailbox/trunk/cassandra/src:
main/java/org/apache/james/mailbox/cassandra/mail/utils/FunctionRunnerWithRetry.java
test/java/org/apache/james/mailbox/cassandra/CassandraClusterSingleton.java
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: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org