sijie closed pull request #1324: Remove WriteFlags from public API
URL: https://github.com/apache/bookkeeper/pull/1324
 
 
   

This is a PR merged from a forked repository.
As GitHub hides the original diff on merge, it is displayed below for
the sake of provenance:

As this is a foreign pull request (from a fork), the diff is supplied
below (as it won't show otherwise due to GitHub magic):

diff --git 
a/bookkeeper-server/src/main/java/org/apache/bookkeeper/client/LedgerCreateOp.java
 
b/bookkeeper-server/src/main/java/org/apache/bookkeeper/client/LedgerCreateOp.java
index aa6cd69d0..d6c77de3b 100644
--- 
a/bookkeeper-server/src/main/java/org/apache/bookkeeper/client/LedgerCreateOp.java
+++ 
b/bookkeeper-server/src/main/java/org/apache/bookkeeper/client/LedgerCreateOp.java
@@ -21,8 +21,10 @@
 
 package org.apache.bookkeeper.client;
 
+import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
 import java.security.GeneralSecurityException;
 import java.util.ArrayList;
+import java.util.Arrays;
 import java.util.Collections;
 import java.util.EnumSet;
 import java.util.List;
@@ -238,7 +240,7 @@ private void createComplete(int rc, LedgerHandle lh) {
         cb.createComplete(rc, lh, ctx);
     }
 
-    static class CreateBuilderImpl implements CreateBuilder {
+    public static class CreateBuilderImpl implements CreateBuilder {
 
         private final BookKeeper bk;
         private int builderEnsembleSize = 3;
@@ -260,12 +262,15 @@ public CreateBuilder withEnsembleSize(int ensembleSize) {
             return this;
         }
 
-        @Override
         public CreateBuilder withWriteFlags(EnumSet<WriteFlag> writeFlags) {
             this.builderWriteFlags = writeFlags;
             return this;
         }
 
+        public CreateBuilder withWriteFlags(WriteFlag... writeFlags) {
+            return withWriteFlags(EnumSet.copyOf(Arrays.asList(writeFlags)));
+        }
+
         @Override
         public CreateBuilder withWriteQuorumSize(int writeQuorumSize) {
             this.builderWriteQuorumSize = writeQuorumSize;
@@ -278,6 +283,7 @@ public CreateBuilder withAckQuorumSize(int ackQuorumSize) {
             return this;
         }
 
+        @SuppressFBWarnings("EI_EXPOSE_REP2")
         @Override
         public CreateBuilder withPassword(byte[] password) {
             this.builderPassword = password;
diff --git 
a/bookkeeper-server/src/main/java/org/apache/bookkeeper/client/api/CreateBuilder.java
 
b/bookkeeper-server/src/main/java/org/apache/bookkeeper/client/api/CreateBuilder.java
index aa6ad6d4b..cd5fd3d7c 100644
--- 
a/bookkeeper-server/src/main/java/org/apache/bookkeeper/client/api/CreateBuilder.java
+++ 
b/bookkeeper-server/src/main/java/org/apache/bookkeeper/client/api/CreateBuilder.java
@@ -20,8 +20,6 @@
  */
 package org.apache.bookkeeper.client.api;
 
-import java.util.Arrays;
-import java.util.EnumSet;
 import java.util.Map;
 import org.apache.bookkeeper.common.annotation.InterfaceAudience.Public;
 import org.apache.bookkeeper.common.annotation.InterfaceStability.Unstable;
@@ -93,26 +91,6 @@
      */
     CreateBuilder withDigestType(DigestType digestType);
 
-    /**
-     * Set write flags. Write wlags specify the behaviour of writes
-     *
-     * @param writeFlags the flags
-     *
-     * @return the builder itself
-     */
-    CreateBuilder withWriteFlags(EnumSet<WriteFlag> writeFlags);
-
-    /**
-     * Set write flags. Write wlags specify the behaviour of writes
-     *
-     * @param writeFlags the flags
-     *
-     * @return the builder itself
-     */
-    default CreateBuilder withWriteFlags(WriteFlag ... writeFlags) {
-        return withWriteFlags(EnumSet.copyOf(Arrays.asList(writeFlags)));
-    }
-
     /**
      * Switch the ledger into 'Advanced' mode. A ledger used in Advanced mode 
will explicitly generate the sequence of
      * entry identifiers. Advanced ledgers can be created with a client side 
defined ledgerId
diff --git 
a/bookkeeper-server/src/test/java/org/apache/bookkeeper/client/MockBookKeeperTestCase.java
 
b/bookkeeper-server/src/test/java/org/apache/bookkeeper/client/MockBookKeeperTestCase.java
index 5efd7bde7..f7ff4365f 100644
--- 
a/bookkeeper-server/src/test/java/org/apache/bookkeeper/client/MockBookKeeperTestCase.java
+++ 
b/bookkeeper-server/src/test/java/org/apache/bookkeeper/client/MockBookKeeperTestCase.java
@@ -48,7 +48,7 @@
 
 import org.apache.bookkeeper.client.BKException.BKDigestMatchException;
 import org.apache.bookkeeper.client.BKException.Code;
-import org.apache.bookkeeper.client.api.CreateBuilder;
+import org.apache.bookkeeper.client.LedgerCreateOp.CreateBuilderImpl;
 import org.apache.bookkeeper.client.api.DeleteBuilder;
 import org.apache.bookkeeper.client.api.OpenBuilder;
 import org.apache.bookkeeper.common.util.OrderedExecutor;
@@ -209,7 +209,7 @@ protected void setBookkeeperConfig(ClientConfiguration 
config) {
         when(bk.getConf()).thenReturn(config);
     }
 
-    protected CreateBuilder newCreateLedgerOp() {
+    protected CreateBuilderImpl newCreateLedgerOp() {
         return new LedgerCreateOp.CreateBuilderImpl(bk);
     }
 
diff --git 
a/bookkeeper-server/src/test/java/org/apache/bookkeeper/client/api/BookKeeperBuildersTest.java
 
b/bookkeeper-server/src/test/java/org/apache/bookkeeper/client/api/BookKeeperBuildersTest.java
index ddd9d4e98..cac76d41b 100644
--- 
a/bookkeeper-server/src/test/java/org/apache/bookkeeper/client/api/BookKeeperBuildersTest.java
+++ 
b/bookkeeper-server/src/test/java/org/apache/bookkeeper/client/api/BookKeeperBuildersTest.java
@@ -225,12 +225,12 @@ public void testDefaultWriteFlagsEmpty() throws Exception 
{
     public void testCreateAdvLedgerWriteFlags() throws Exception {
         setNewGeneratedLedgerId(ledgerId);
         WriteAdvHandle writer = newCreateLedgerOp()
+            .withWriteFlags(writeFlagsDeferredSync)
             .withAckQuorumSize(ackQuorumSize)
             .withEnsembleSize(ensembleSize)
             .withPassword(password)
             .withWriteQuorumSize(writeQuorumSize)
             .withCustomMetadata(customMetadata)
-            .withWriteFlags(writeFlagsDeferredSync)
             .makeAdv()
             .execute()
             .get();
@@ -248,12 +248,12 @@ public void testCreateAdvLedgerWriteFlags() throws 
Exception {
     public void testCreateLedgerWriteFlags() throws Exception {
         setNewGeneratedLedgerId(ledgerId);
         WriteHandle writer = newCreateLedgerOp()
+            .withWriteFlags(writeFlagsDeferredSync)
             .withAckQuorumSize(ackQuorumSize)
             .withEnsembleSize(ensembleSize)
             .withPassword(password)
             .withWriteQuorumSize(writeQuorumSize)
             .withCustomMetadata(customMetadata)
-            .withWriteFlags(writeFlagsDeferredSync)
             .execute()
             .get();
         assertEquals(ledgerId, writer.getId());
@@ -270,12 +270,12 @@ public void testCreateLedgerWriteFlags() throws Exception 
{
     public void testCreateLedgerWriteFlagsVarargs() throws Exception {
         setNewGeneratedLedgerId(ledgerId);
         WriteHandle writer = newCreateLedgerOp()
+            .withWriteFlags(DEFERRED_SYNC)
             .withAckQuorumSize(ackQuorumSize)
             .withEnsembleSize(ensembleSize)
             .withPassword(password)
             .withWriteQuorumSize(writeQuorumSize)
             .withCustomMetadata(customMetadata)
-            .withWriteFlags(DEFERRED_SYNC)
             .execute()
             .get();
         assertEquals(ledgerId, writer.getId());


 

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services

Reply via email to