Repository: incubator-ratis Updated Branches: refs/heads/master 4e5d0d795 -> 615e76724
RATIS-35. Add SafeVarargs annotation for ConfUtils methods. Contributed by Tsz Wo Nicholas Sze. Project: http://git-wip-us.apache.org/repos/asf/incubator-ratis/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-ratis/commit/615e7672 Tree: http://git-wip-us.apache.org/repos/asf/incubator-ratis/tree/615e7672 Diff: http://git-wip-us.apache.org/repos/asf/incubator-ratis/diff/615e7672 Branch: refs/heads/master Commit: 615e767247063434c94baf3ab69cae937611ab75 Parents: 4e5d0d7 Author: Jing Zhao <[email protected]> Authored: Thu Mar 9 16:06:41 2017 -0800 Committer: Jing Zhao <[email protected]> Committed: Thu Mar 9 16:06:41 2017 -0800 ---------------------------------------------------------------------- .../java/org/apache/ratis/conf/ConfUtils.java | 19 +++++++++++-------- .../ratis/util/TestTraditionalBinaryPrefix.java | 2 +- .../org/apache/ratis/grpc/GrpcConfigKeys.java | 2 +- 3 files changed, 13 insertions(+), 10 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-ratis/blob/615e7672/ratis-common/src/main/java/org/apache/ratis/conf/ConfUtils.java ---------------------------------------------------------------------- diff --git a/ratis-common/src/main/java/org/apache/ratis/conf/ConfUtils.java b/ratis-common/src/main/java/org/apache/ratis/conf/ConfUtils.java index d05c0f8..169fb61 100644 --- a/ratis-common/src/main/java/org/apache/ratis/conf/ConfUtils.java +++ b/ratis-common/src/main/java/org/apache/ratis/conf/ConfUtils.java @@ -99,24 +99,28 @@ public interface ConfUtils { }; } + @SafeVarargs static boolean getBoolean( BiFunction<String, Boolean, Boolean> booleanGetter, String key, boolean defaultValue, BiConsumer<String, Boolean>... assertions) { return get(booleanGetter, key, defaultValue, assertions); } + @SafeVarargs static int getInt( BiFunction<String, Integer, Integer> integerGetter, String key, int defaultValue, BiConsumer<String, Integer>... assertions) { return get(integerGetter, key, defaultValue, assertions); } + @SafeVarargs static long getLong( BiFunction<String, Long, Long> longGetter, String key, long defaultValue, BiConsumer<String, Long>... assertions) { return get(longGetter, key, defaultValue, assertions); } + @SafeVarargs static SizeInBytes getSizeInBytes( BiFunction<String, SizeInBytes, SizeInBytes> getter, String key, SizeInBytes defaultValue, BiConsumer<String, SizeInBytes>... assertions) { @@ -125,6 +129,7 @@ public interface ConfUtils { return value; } + @SafeVarargs static TimeDuration getTimeDuration( BiFunction<String, TimeDuration, TimeDuration> getter, String key, TimeDuration defaultValue, BiConsumer<String, TimeDuration>... assertions) { @@ -133,6 +138,7 @@ public interface ConfUtils { return value; } + @SafeVarargs static <T> T get(BiFunction<String, T, T> getter, String key, T defaultValue, BiConsumer<String, T>... assertions) { final T value = getter.apply(key, defaultValue); @@ -147,24 +153,28 @@ public interface ConfUtils { return NetUtils.createSocketAddr(get(stringGetter, key, defaultValue)); } + @SafeVarargs static void setBoolean( BiConsumer<String, Boolean> booleanSetter, String key, boolean value, BiConsumer<String, Boolean>... assertions) { set(booleanSetter, key, value, assertions); } + @SafeVarargs static void setInt( BiConsumer<String, Integer> integerSetter, String key, int value, BiConsumer<String, Integer>... assertions) { set(integerSetter, key, value, assertions); } + @SafeVarargs static void setLong( BiConsumer<String, Long> longSetter, String key, long value, BiConsumer<String, Long>... assertions) { set(longSetter, key, value, assertions); } + @SafeVarargs static void setSizeInBytes( BiConsumer<String, String> stringSetter, String key, SizeInBytes value, BiConsumer<String, Long>... assertions) { @@ -173,14 +183,7 @@ public interface ConfUtils { set(stringSetter, key, value.getInput()); } - static void setSizeInBytesInt( - BiConsumer<String, String> stringSetter, String key, SizeInBytes value, - BiConsumer<String, Integer>... assertions) { - final int v = value.getSizeInt(); - Arrays.asList(assertions).forEach(a -> a.accept(key, v)); - set(stringSetter, key, value.getInput()); - } - + @SafeVarargs static <T> void set( BiConsumer<String, T> setter, String key, T value, BiConsumer<String, T>... assertions) { http://git-wip-us.apache.org/repos/asf/incubator-ratis/blob/615e7672/ratis-common/src/test/java/org/apache/ratis/util/TestTraditionalBinaryPrefix.java ---------------------------------------------------------------------- diff --git a/ratis-common/src/test/java/org/apache/ratis/util/TestTraditionalBinaryPrefix.java b/ratis-common/src/test/java/org/apache/ratis/util/TestTraditionalBinaryPrefix.java index ed9aadb..f8068a9 100644 --- a/ratis-common/src/test/java/org/apache/ratis/util/TestTraditionalBinaryPrefix.java +++ b/ratis-common/src/test/java/org/apache/ratis/util/TestTraditionalBinaryPrefix.java @@ -77,7 +77,7 @@ public class TestTraditionalBinaryPrefix { } catch (IllegalArgumentException e) { assertEquals("Invalid size prefix '" + invalidPrefix + "' in '" + invalidFormatNumStr - + "'. Allowed prefixes are k, m, g, t, p, e(case insensitive)", + + "'. Allowed prefixes are k, m, g, t, p, e (case insensitive)", e.getMessage()); } http://git-wip-us.apache.org/repos/asf/incubator-ratis/blob/615e7672/ratis-grpc/src/main/java/org/apache/ratis/grpc/GrpcConfigKeys.java ---------------------------------------------------------------------- diff --git a/ratis-grpc/src/main/java/org/apache/ratis/grpc/GrpcConfigKeys.java b/ratis-grpc/src/main/java/org/apache/ratis/grpc/GrpcConfigKeys.java index 430fd17..429e83d 100644 --- a/ratis-grpc/src/main/java/org/apache/ratis/grpc/GrpcConfigKeys.java +++ b/ratis-grpc/src/main/java/org/apache/ratis/grpc/GrpcConfigKeys.java @@ -65,7 +65,7 @@ public interface GrpcConfigKeys { BUFFER_SIZE_KEY, BUFFER_SIZE_DEFAULT); } static void setBufferSize(RaftProperties properties, SizeInBytes bufferSize) { - setSizeInBytesInt(properties::set, BUFFER_SIZE_KEY, bufferSize); + setSizeInBytes(properties::set, BUFFER_SIZE_KEY, bufferSize); } String RETRY_TIMES_KEY = PREFIX + ".retry.times";
