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