From 6703aea615aa34645fc61a9ca4c3c91a7bd2ad2b Mon Sep 17 00:00:00 2001 From: Frank Lou Date: Mon, 23 Jan 2023 18:32:21 +0000 Subject: [PATCH] delete class DoubleParser Signed-off-by: Frank Lou --- .../common/settings/DoubleParser.java | 68 ------------------- .../opensearch/common/settings/Setting.java | 36 ++++++++-- 2 files changed, 30 insertions(+), 74 deletions(-) delete mode 100644 server/src/main/java/org/opensearch/common/settings/DoubleParser.java diff --git a/server/src/main/java/org/opensearch/common/settings/DoubleParser.java b/server/src/main/java/org/opensearch/common/settings/DoubleParser.java deleted file mode 100644 index e7cd74a27e7ae..0000000000000 --- a/server/src/main/java/org/opensearch/common/settings/DoubleParser.java +++ /dev/null @@ -1,68 +0,0 @@ -package org.opensearch.common.settings; - -import java.io.IOException; -import java.util.Arrays; -import java.util.EnumSet; -import java.util.function.Function; - -import org.opensearch.common.io.stream.StreamInput; -import org.opensearch.common.io.stream.StreamOutput; -import org.opensearch.common.io.stream.Writeable; -import org.opensearch.common.settings.Setting.Property; -import org.opensearch.common.settings.Setting.Validator; - -public class DoubleParser implements Function, Writeable { - private Double defaultValue; - private String key; - private Double minValue; - private Double maxValue; - private EnumSet propSet; - private Property[] properties; - - public DoubleParser(StreamInput in) throws IOException { - // Read the key - this.key = in.readString(); - // Read the default value - this.defaultValue = in.readDouble(); - // Read the min value - this.minValue = in.readDouble(); - // Read the max value - this.maxValue = in.readDouble(); - // Read properties - this.propSet = in.readEnumSet(Property.class); - this.properties = propSet.toArray(Property[]::new); - } - - private static boolean isFiltered(Property[] properties) { - return properties != null && Arrays.asList(properties).contains(Property.Filtered); - } - - private T perser(String s, double minValue, double maxValue, String key, boolean isFiltered, Class type) { - double value = Double.parseDouble(s); - if(value < minValue) { - String err = "Failed to parse value" + (isFiltered ? "" : " [" + s + "]") + " for setting [" + key + "] must be >= " + minValue; - throw new IllegalArgumentException(err); - } - if (value > maxValue) { - String err = "Failed to parse value" + (isFiltered ? "" : " [" + s + "]") + " for setting [" + key + "] must be <= " + maxValue; - throw new IllegalArgumentException(err); - } - return type.cast(value); - } - - @Override - public void writeTo(StreamOutput out) throws IOException { - out.writeString(key); - out.writeDouble(defaultValue); - out.writeDouble(minValue); - out.writeDouble(maxValue); - out.writeEnumSet(propSet); - - } - - @Override - public T apply(String s) { - return perser(s, minValue, maxValue, key, isFiltered(properties)); - } - -} diff --git a/server/src/main/java/org/opensearch/common/settings/Setting.java b/server/src/main/java/org/opensearch/common/settings/Setting.java index bd491f6cea324..067ac5e38c046 100644 --- a/server/src/main/java/org/opensearch/common/settings/Setting.java +++ b/server/src/main/java/org/opensearch/common/settings/Setting.java @@ -1312,8 +1312,8 @@ public FloatParser(String key, float minValue, float maxValue, boolean isFiltere @Override public void writeTo(StreamOutput out) throws IOException { out.writeString(key); - out.writeDouble(minValue); - out.writeDouble(maxValue); + out.writeFloat(minValue); + out.writeFloat(maxValue); out.writeBoolean(isFiltered); } @@ -1441,8 +1441,8 @@ public IntegerParser(String key, int minValue, int maxValue, boolean isFiltered) @Override public void writeTo(StreamOutput out) throws IOException { out.writeString(key); - out.writeDouble(minValue); - out.writeDouble(maxValue); + out.writeInt(minValue); + out.writeInt(maxValue); out.writeBoolean(isFiltered); } @@ -1562,8 +1562,8 @@ public LongParser(String key, long minValue, long maxValue, boolean isFiltered) @Override public void writeTo(StreamOutput out) throws IOException { out.writeString(key); - out.writeDouble(minValue); - out.writeDouble(maxValue); + out.writeLong(minValue); + out.writeLong(maxValue); out.writeBoolean(isFiltered); } @@ -2184,6 +2184,30 @@ public static Setting timeSetting( ); } + private static class TimeValueParser implements Function, Writeable { + private String key; + private TimeValue minValue; + private boolean isFiltered; + + public TimeValueParser(String key, TimeValue minValue, boolean isFiltered) { + this.key = key; + this.minValue = minValue; + this.isFiltered = isFiltered; + } + + @Override + public void writeTo(StreamOutput out) throws IOException { + out.writeString(key); + out.writeTimeValue(minValue); + out.writeBoolean(isFiltered); + } + + @Override + public TimeValue apply(Settings t) { + return parseTimeValue(t, minValue, key, isFiltered); + } + } + public static Setting timeSetting( final String key, Function defaultValue,