diff options
author | Arne Juul <arnej@verizonmedia.com> | 2021-06-29 20:13:37 +0000 |
---|---|---|
committer | Arne Juul <arnej@verizonmedia.com> | 2021-06-30 10:29:38 +0000 |
commit | fe0cf2b20c61685f18c60af44083b10868db0e15 (patch) | |
tree | 638086d10bd49d52f60e56ac071573a17fcee3ef /client/src/main/java | |
parent | 49833295b149f33c97961a56a689b00efc76f24b (diff) |
String.format -> Text.format
* needs its own copy of Text.format
* various %f formatting must be with English decimal separator
Diffstat (limited to 'client/src/main/java')
11 files changed, 40 insertions, 25 deletions
diff --git a/client/src/main/java/ai/vespa/client/dsl/Aggregator.java b/client/src/main/java/ai/vespa/client/dsl/Aggregator.java index c746eca0ac5..58285184a61 100644 --- a/client/src/main/java/ai/vespa/client/dsl/Aggregator.java +++ b/client/src/main/java/ai/vespa/client/dsl/Aggregator.java @@ -17,6 +17,6 @@ public class Aggregator { @Override public String toString() { - return String.format("%s(%s)", type, value); + return Text.format("%s(%s)", type, value); } } diff --git a/client/src/main/java/ai/vespa/client/dsl/EndQuery.java b/client/src/main/java/ai/vespa/client/dsl/EndQuery.java index d07d3536563..a0de9cf4081 100644 --- a/client/src/main/java/ai/vespa/client/dsl/EndQuery.java +++ b/client/src/main/java/ai/vespa/client/dsl/EndQuery.java @@ -163,8 +163,8 @@ public class EndQuery { public String toString() { StringBuilder sb = new StringBuilder(); String orderStr = order.stream().map(array -> A.empty().equals(array[0]) - ? String.format("%s %s", array[1], array[2]) - : String.format("[%s]%s %s", array[0], array[1], array[2])) + ? Text.format("%s %s", array[1], array[2]) + : Text.format("[%s]%s %s", array[0], array[1], array[2])) .collect(Collectors.joining(", ")); String others = map.entrySet().stream() diff --git a/client/src/main/java/ai/vespa/client/dsl/Field.java b/client/src/main/java/ai/vespa/client/dsl/Field.java index cc30b8aaded..12c9def4e08 100644 --- a/client/src/main/java/ai/vespa/client/dsl/Field.java +++ b/client/src/main/java/ai/vespa/client/dsl/Field.java @@ -613,8 +613,8 @@ public class Field extends QueryChain { .collect(Collectors.joining(", ")); return hasAnnotation - ? String.format("([%s]range(%s, %s))", annotation, fieldName, valuesStr) - : String.format("range(%s, %s)", fieldName, valuesStr); + ? Text.format("([%s]range(%s, %s))", annotation, fieldName, valuesStr) + : Text.format("range(%s, %s)", fieldName, valuesStr); case "near": case "onear": case "phrase": @@ -622,23 +622,23 @@ public class Field extends QueryChain { case "uri": valuesStr = values.stream().map(Object::toString).collect(Collectors.joining(", ")); return hasAnnotation - ? String.format("%s contains ([%s]%s(%s))", fieldName, annotation, relation, valuesStr) - : String.format("%s contains %s(%s)", fieldName, relation, valuesStr); + ? Text.format("%s contains ([%s]%s(%s))", fieldName, annotation, relation, valuesStr) + : Text.format("%s contains %s(%s)", fieldName, relation, valuesStr); case "sameElement": - return String.format("%s contains %s(%s)", fieldName, relation, + return Text.format("%s contains %s(%s)", fieldName, relation, ((Query) values.get(0)).toCommaSeparatedAndQueries()); case "nearestNeighbor": valuesStr = values.stream().map(i -> (String) i).collect(Collectors.joining(", ")); return hasAnnotation - ? String.format("([%s]nearestNeighbor(%s, %s))", annotation, fieldName, valuesStr) - : String.format("nearestNeighbor(%s, %s)", fieldName, valuesStr); + ? Text.format("([%s]nearestNeighbor(%s, %s))", annotation, fieldName, valuesStr) + : Text.format("nearestNeighbor(%s, %s)", fieldName, valuesStr); default: Object value = values.get(0); valuesStr = value instanceof Long ? value.toString() + "L" : value.toString(); return hasAnnotation - ? String.format("%s %s ([%s]%s)", fieldName, relation, annotation, valuesStr) - : String.format("%s %s %s", fieldName, relation, valuesStr); + ? Text.format("%s %s ([%s]%s)", fieldName, relation, annotation, valuesStr) + : Text.format("%s %s %s", fieldName, relation, valuesStr); } } diff --git a/client/src/main/java/ai/vespa/client/dsl/FixedQuery.java b/client/src/main/java/ai/vespa/client/dsl/FixedQuery.java index 9bab35c44bc..3aab9406a4d 100644 --- a/client/src/main/java/ai/vespa/client/dsl/FixedQuery.java +++ b/client/src/main/java/ai/vespa/client/dsl/FixedQuery.java @@ -236,10 +236,10 @@ public class FixedQuery { double absLat = Math.abs(lat); double absLon = Math.abs(lon); if (absLat > 90 || absLon > 180) { - throw new IllegalArgumentException(String.format("invalid lat long value, lat=%f, long=%f", lat, lon)); + throw new IllegalArgumentException(Text.format("invalid lat long value, lat=%f, long=%f", lat, lon)); } - return String.format("%s%f;%s%f", + return Text.format("%s%f;%s%f", lat > 0 ? "N" : "S", absLat, lon > 0 ? "E" : "W", absLon); } @@ -260,7 +260,7 @@ public class FixedQuery { } public FixedQuery posBoundingBox(double n, double s, double e, double w) { - this.param("pos.bb", String.format("n=%f,s=%f,e=%f,w=%f", n, s, e, w)); + this.param("pos.bb", Text.format("n=%f,s=%f,e=%f,w=%f", n, s, e, w)); return this; } diff --git a/client/src/main/java/ai/vespa/client/dsl/Group.java b/client/src/main/java/ai/vespa/client/dsl/Group.java index 63e3d6d4410..adb848f68e8 100644 --- a/client/src/main/java/ai/vespa/client/dsl/Group.java +++ b/client/src/main/java/ai/vespa/client/dsl/Group.java @@ -17,7 +17,7 @@ public class Group implements IGroup, IGroupOperation { @Override public String toString() { - return String.format("%s(%s)", + return Text.format("%s(%s)", type, Stream.of(operations).map(Objects::toString).collect(Collectors.joining(" "))); } diff --git a/client/src/main/java/ai/vespa/client/dsl/GroupOperation.java b/client/src/main/java/ai/vespa/client/dsl/GroupOperation.java index efd01ebcdec..ef0df3161ac 100644 --- a/client/src/main/java/ai/vespa/client/dsl/GroupOperation.java +++ b/client/src/main/java/ai/vespa/client/dsl/GroupOperation.java @@ -24,10 +24,10 @@ public class GroupOperation implements IGroupOperation { @Override public String toString() { if (value != null) { - return String.format("%s(%s)", type, value); + return Text.format("%s(%s)", type, value); } - return String.format("%s(%s)", + return Text.format("%s(%s)", type, Stream.of(aggregators).map(Objects::toString).collect(Collectors.joining(" "))); } diff --git a/client/src/main/java/ai/vespa/client/dsl/NonEmpty.java b/client/src/main/java/ai/vespa/client/dsl/NonEmpty.java index ea1c860cb25..f62e7b2e91b 100644 --- a/client/src/main/java/ai/vespa/client/dsl/NonEmpty.java +++ b/client/src/main/java/ai/vespa/client/dsl/NonEmpty.java @@ -17,7 +17,7 @@ public class NonEmpty extends QueryChain { @Override public String toString() { - return String.format("nonEmpty(%s)", query); + return Text.format("nonEmpty(%s)", query); } @Override diff --git a/client/src/main/java/ai/vespa/client/dsl/Text.java b/client/src/main/java/ai/vespa/client/dsl/Text.java new file mode 100644 index 00000000000..98138e5e61a --- /dev/null +++ b/client/src/main/java/ai/vespa/client/dsl/Text.java @@ -0,0 +1,15 @@ +// Copyright Verizon Media. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. + +package ai.vespa.client.dsl; + +import java.util.Locale; + +/** + * Text utility functions. + * @author arnej + **/ +final class Text { + public static String format(String format, Object... args) { + return String.format(Locale.US, format, args); + } +} diff --git a/client/src/main/java/ai/vespa/client/dsl/UserInput.java b/client/src/main/java/ai/vespa/client/dsl/UserInput.java index 8c9247d17f7..36cd0e47868 100644 --- a/client/src/main/java/ai/vespa/client/dsl/UserInput.java +++ b/client/src/main/java/ai/vespa/client/dsl/UserInput.java @@ -49,8 +49,8 @@ public class UserInput extends QueryChain { public String toString() { //([{"defaultIndex": "shpdescfree"}](userInput(@_shpdescfree_1))) return setDefaultIndex - ? String.format("([%s]userInput(@%s))", annotation, placeholder) - : String.format("userInput(@%s)", placeholder); + ? Text.format("([%s]userInput(@%s))", annotation, placeholder) + : Text.format("userInput(@%s)", placeholder); } diff --git a/client/src/main/java/ai/vespa/client/dsl/Wand.java b/client/src/main/java/ai/vespa/client/dsl/Wand.java index 597a7985ec4..9c0d0b4318a 100644 --- a/client/src/main/java/ai/vespa/client/dsl/Wand.java +++ b/client/src/main/java/ai/vespa/client/dsl/Wand.java @@ -65,7 +65,7 @@ public class Wand extends QueryChain { @Override public String toString() { boolean hasAnnotation = A.hasAnnotation(annotation); - String s = String.format("wand(%s, %s)", fieldName, Q.gson.toJson(value)); - return hasAnnotation ? String.format("([%s]%s)", annotation, s) : s; + String s = Text.format("wand(%s, %s)", fieldName, Q.gson.toJson(value)); + return hasAnnotation ? Text.format("([%s]%s)", annotation, s) : s; } } diff --git a/client/src/main/java/ai/vespa/client/dsl/WeakAnd.java b/client/src/main/java/ai/vespa/client/dsl/WeakAnd.java index a13eafc58e8..3059e4adea1 100644 --- a/client/src/main/java/ai/vespa/client/dsl/WeakAnd.java +++ b/client/src/main/java/ai/vespa/client/dsl/WeakAnd.java @@ -55,9 +55,9 @@ public class WeakAnd extends QueryChain { boolean hasAnnotation = A.hasAnnotation(annotation); String s = - String.format("weakAnd(%s, %s)", fieldName, + Text.format("weakAnd(%s, %s)", fieldName, value.queries.stream().map(Object::toString).collect(Collectors.joining(", "))); - return hasAnnotation ? String.format("([%s]%s)", annotation, s) : s; + return hasAnnotation ? Text.format("([%s]%s)", annotation, s) : s; } } |