This is an automated email from the ASF dual-hosted git repository.

ivank pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/bookkeeper.git


The following commit(s) were added to refs/heads/master by this push:
     new 269f609  Move GenericCallbackFuture so it can be used in production 
code
269f609 is described below

commit 269f609f6573ed2b529f20eb8e2e0182baa9db12
Author: Ivan Kelly <[email protected]>
AuthorDate: Mon Aug 13 10:37:34 2018 +0200

    Move GenericCallbackFuture so it can be used in production code
    
    It's a useful utility to have when dealing with callbacks.
    
    Author: Ivan Kelly <[email protected]>
    Author: Sijie Guo <[email protected]>
    
    Reviewers: Enrico Olivelli <[email protected]>, Sijie Guo 
<[email protected]>
    
    This closes #1597 from ivankelly/gen-cb-future
---
 .../bookkeeper/proto/BookkeeperInternalCallbacks.java   | 17 +++++++++++++++++
 .../bookkeeper/client/MetadataUpdateLoopTest.java       |  4 +---
 .../bookkeeper/meta/AbstractZkLedgerManagerTest.java    |  2 +-
 .../replication/AuditorPeriodicBookieCheckTest.java     |  6 +++---
 .../apache/bookkeeper/server/http/TestHttpService.java  |  6 +++---
 .../java/org/apache/bookkeeper/test/TestCallbacks.java  | 17 -----------------
 6 files changed, 25 insertions(+), 27 deletions(-)

diff --git 
a/bookkeeper-server/src/main/java/org/apache/bookkeeper/proto/BookkeeperInternalCallbacks.java
 
b/bookkeeper-server/src/main/java/org/apache/bookkeeper/proto/BookkeeperInternalCallbacks.java
index cd87ff1..d5ed5ae 100644
--- 
a/bookkeeper-server/src/main/java/org/apache/bookkeeper/proto/BookkeeperInternalCallbacks.java
+++ 
b/bookkeeper-server/src/main/java/org/apache/bookkeeper/proto/BookkeeperInternalCallbacks.java
@@ -23,12 +23,14 @@ package org.apache.bookkeeper.proto;
 
 import io.netty.buffer.ByteBuf;
 
+import java.util.concurrent.CompletableFuture;
 import java.util.concurrent.ExecutorService;
 import java.util.concurrent.LinkedBlockingQueue;
 import java.util.concurrent.RejectedExecutionException;
 import java.util.concurrent.TimeUnit;
 import java.util.concurrent.atomic.AtomicInteger;
 
+import org.apache.bookkeeper.client.BKException;
 import org.apache.bookkeeper.client.BookieInfoReader.BookieInfo;
 import org.apache.bookkeeper.client.LedgerEntry;
 import org.apache.bookkeeper.client.LedgerHandle;
@@ -140,6 +142,21 @@ public class BookkeeperInternalCallbacks {
     }
 
     /**
+     * Generic callback future.
+     */
+    public static class GenericCallbackFuture<T>
+        extends CompletableFuture<T> implements GenericCallback<T> {
+        @Override
+        public void operationComplete(int rc, T value) {
+            if (rc != BKException.Code.OK) {
+                completeExceptionally(BKException.create(rc));
+            } else {
+                complete(value);
+            }
+        }
+    }
+
+    /**
      * Declaration of a callback interface for the Last Add Confirmed context 
of a reader.
      */
     public interface ReadEntryCallbackCtx {
diff --git 
a/bookkeeper-server/src/test/java/org/apache/bookkeeper/client/MetadataUpdateLoopTest.java
 
b/bookkeeper-server/src/test/java/org/apache/bookkeeper/client/MetadataUpdateLoopTest.java
index c708a84..cb1dbd2 100644
--- 
a/bookkeeper-server/src/test/java/org/apache/bookkeeper/client/MetadataUpdateLoopTest.java
+++ 
b/bookkeeper-server/src/test/java/org/apache/bookkeeper/client/MetadataUpdateLoopTest.java
@@ -42,10 +42,8 @@ import java.util.stream.IntStream;
 import org.apache.bookkeeper.meta.LedgerManager;
 import org.apache.bookkeeper.meta.MockLedgerManager;
 import org.apache.bookkeeper.net.BookieSocketAddress;
-
 import org.apache.bookkeeper.proto.BookkeeperInternalCallbacks.GenericCallback;
-
-import org.apache.bookkeeper.test.TestCallbacks.GenericCallbackFuture;
+import 
org.apache.bookkeeper.proto.BookkeeperInternalCallbacks.GenericCallbackFuture;
 import org.apache.bookkeeper.versioning.Version;
 import org.apache.commons.lang3.tuple.Triple;
 
diff --git 
a/bookkeeper-server/src/test/java/org/apache/bookkeeper/meta/AbstractZkLedgerManagerTest.java
 
b/bookkeeper-server/src/test/java/org/apache/bookkeeper/meta/AbstractZkLedgerManagerTest.java
index 0066f99..b2cf68d 100644
--- 
a/bookkeeper-server/src/test/java/org/apache/bookkeeper/meta/AbstractZkLedgerManagerTest.java
+++ 
b/bookkeeper-server/src/test/java/org/apache/bookkeeper/meta/AbstractZkLedgerManagerTest.java
@@ -54,8 +54,8 @@ import org.apache.bookkeeper.client.LedgerMetadata;
 import org.apache.bookkeeper.common.testing.executors.MockExecutorController;
 import org.apache.bookkeeper.conf.ClientConfiguration;
 import org.apache.bookkeeper.meta.zk.ZKMetadataDriverBase;
+import 
org.apache.bookkeeper.proto.BookkeeperInternalCallbacks.GenericCallbackFuture;
 import 
org.apache.bookkeeper.proto.BookkeeperInternalCallbacks.LedgerMetadataListener;
-import org.apache.bookkeeper.test.TestCallbacks.GenericCallbackFuture;
 import org.apache.bookkeeper.util.ZkUtils;
 import org.apache.bookkeeper.versioning.LongVersion;
 import org.apache.bookkeeper.versioning.Version;
diff --git 
a/bookkeeper-server/src/test/java/org/apache/bookkeeper/replication/AuditorPeriodicBookieCheckTest.java
 
b/bookkeeper-server/src/test/java/org/apache/bookkeeper/replication/AuditorPeriodicBookieCheckTest.java
index 50ad2c9..3ec8ae1 100644
--- 
a/bookkeeper-server/src/test/java/org/apache/bookkeeper/replication/AuditorPeriodicBookieCheckTest.java
+++ 
b/bookkeeper-server/src/test/java/org/apache/bookkeeper/replication/AuditorPeriodicBookieCheckTest.java
@@ -37,8 +37,8 @@ import org.apache.bookkeeper.meta.LedgerManager;
 import org.apache.bookkeeper.meta.LedgerUnderreplicationManager;
 import org.apache.bookkeeper.meta.zk.ZKMetadataDriverBase;
 import org.apache.bookkeeper.net.BookieSocketAddress;
+import 
org.apache.bookkeeper.proto.BookkeeperInternalCallbacks.GenericCallbackFuture;
 import org.apache.bookkeeper.test.BookKeeperClusterTestCase;
-import org.apache.bookkeeper.test.TestCallbacks;
 import org.apache.bookkeeper.zookeeper.ZooKeeperClient;
 import org.apache.zookeeper.ZooKeeper;
 import org.junit.After;
@@ -111,8 +111,8 @@ public class AuditorPeriodicBookieCheckTest extends 
BookKeeperClusterTestCase {
                 ensemble.set(0, new BookieSocketAddress("1.1.1.1", 1000));
                 md.updateEnsemble(0L, ensemble);
 
-                TestCallbacks.GenericCallbackFuture<LedgerMetadata> cb =
-                    new TestCallbacks.GenericCallbackFuture<LedgerMetadata>();
+                GenericCallbackFuture<LedgerMetadata> cb =
+                    new GenericCallbackFuture<LedgerMetadata>();
                 ledgerManager.writeLedgerMetadata(lh.getId(), md, cb);
                 cb.get();
 
diff --git 
a/bookkeeper-server/src/test/java/org/apache/bookkeeper/server/http/TestHttpService.java
 
b/bookkeeper-server/src/test/java/org/apache/bookkeeper/server/http/TestHttpService.java
index d360b1f..bc57424 100644
--- 
a/bookkeeper-server/src/test/java/org/apache/bookkeeper/server/http/TestHttpService.java
+++ 
b/bookkeeper-server/src/test/java/org/apache/bookkeeper/server/http/TestHttpService.java
@@ -47,9 +47,9 @@ import org.apache.bookkeeper.meta.LedgerManager;
 import org.apache.bookkeeper.meta.LedgerManagerFactory;
 import org.apache.bookkeeper.meta.LedgerUnderreplicationManager;
 import org.apache.bookkeeper.net.BookieSocketAddress;
+import 
org.apache.bookkeeper.proto.BookkeeperInternalCallbacks.GenericCallbackFuture;
 import org.apache.bookkeeper.replication.AuditorElector;
 import org.apache.bookkeeper.test.BookKeeperClusterTestCase;
-import org.apache.bookkeeper.test.TestCallbacks;
 import org.apache.bookkeeper.zookeeper.ZooKeeperClient;
 import org.apache.zookeeper.ZooKeeper;
 import org.junit.Before;
@@ -677,8 +677,8 @@ public class TestHttpService extends 
BookKeeperClusterTestCase {
         ensemble.set(0, new BookieSocketAddress("1.1.1.1", 1000));
         md.updateEnsemble(0L, ensemble);
 
-        TestCallbacks.GenericCallbackFuture<LedgerMetadata> cb =
-            new TestCallbacks.GenericCallbackFuture<LedgerMetadata>();
+        GenericCallbackFuture<LedgerMetadata> cb =
+            new GenericCallbackFuture<LedgerMetadata>();
         ledgerManager.writeLedgerMetadata(lh.getId(), md, cb);
         cb.get();
 
diff --git 
a/bookkeeper-server/src/test/java/org/apache/bookkeeper/test/TestCallbacks.java 
b/bookkeeper-server/src/test/java/org/apache/bookkeeper/test/TestCallbacks.java
index 23b83bd..237f050 100644
--- 
a/bookkeeper-server/src/test/java/org/apache/bookkeeper/test/TestCallbacks.java
+++ 
b/bookkeeper-server/src/test/java/org/apache/bookkeeper/test/TestCallbacks.java
@@ -22,11 +22,9 @@ package org.apache.bookkeeper.test;
 
 import com.google.common.util.concurrent.AbstractFuture;
 
-import java.util.concurrent.CompletableFuture;
 import org.apache.bookkeeper.client.AsyncCallback.AddCallback;
 import org.apache.bookkeeper.client.BKException;
 import org.apache.bookkeeper.client.LedgerHandle;
-import org.apache.bookkeeper.proto.BookkeeperInternalCallbacks.GenericCallback;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -38,21 +36,6 @@ public class TestCallbacks {
     private static final Logger logger = 
LoggerFactory.getLogger(TestCallbacks.class);
 
     /**
-     * Generic callback future.
-     */
-    public static class GenericCallbackFuture<T>
-        extends CompletableFuture<T> implements GenericCallback<T> {
-        @Override
-        public void operationComplete(int rc, T value) {
-            if (rc != BKException.Code.OK) {
-                completeExceptionally(BKException.create(rc));
-            } else {
-                complete(value);
-            }
-        }
-    }
-
-    /**
      * Add callback future implementation.
      */
     public static class AddCallbackFuture

Reply via email to