Skip to content

Commit

Permalink
ISSUE-292 Prevent SPI calls at runtime (#293)
Browse files Browse the repository at this point in the history
Signed-off-by: Benoit Tellier <btellier@linagora.com>

Signed-off-by: Benoit Tellier <btellier@linagora.com>
  • Loading branch information
chibenwa authored Jan 6, 2023
1 parent 7d69eef commit a8df7e7
Show file tree
Hide file tree
Showing 2 changed files with 12 additions and 9 deletions.
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@ Inspired from [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
- Document how to use Java 8 Time (JSR 310) objects ([#251](https://github.com/opensearch-project/opensearch-java/pull/251))
- Fixing version and build ([#254](https://github.com/opensearch-project/opensearch-java/pull/254))
- Update Gradle to 7.6 ([#309](https://github.com/opensearch-project/opensearch-java/pull/309))
- Prevent SPI calls at runtime ([#293](https://github.com/opensearch-project/opensearch-java/pull/293))

### Deprecated

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -49,11 +49,13 @@
* object (e.g. START_OBJECT, VALUE_NUMBER, etc).
*/
class JsonValueParser {
private final JsonProvider provider = JsonProvider.provider();
private static class DefaultJsonProvider {
private static final JsonProvider INSTANCE = JsonProvider.provider();
}

public JsonObject parseObject(JsonParser parser) throws IOException {

JsonObjectBuilder ob = provider.createObjectBuilder();
JsonObjectBuilder ob = DefaultJsonProvider.INSTANCE.createObjectBuilder();

JsonToken token;
while((token = parser.nextToken()) != JsonToken.END_OBJECT) {
Expand All @@ -68,7 +70,7 @@ public JsonObject parseObject(JsonParser parser) throws IOException {
}

public JsonArray parseArray(JsonParser parser) throws IOException {
JsonArrayBuilder ab = provider.createArrayBuilder();
JsonArrayBuilder ab = DefaultJsonProvider.INSTANCE.createArrayBuilder();

while(parser.nextToken() != JsonToken.END_ARRAY) {
ab.add(parseValue(parser));
Expand All @@ -94,22 +96,22 @@ public JsonValue parseValue(JsonParser parser) throws IOException {
return JsonValue.NULL;

case VALUE_STRING:
return provider.createValue(parser.getText());
return DefaultJsonProvider.INSTANCE.createValue(parser.getText());

case VALUE_NUMBER_FLOAT:
case VALUE_NUMBER_INT:
switch(parser.getNumberType()) {
case INT:
return provider.createValue(parser.getIntValue());
return DefaultJsonProvider.INSTANCE.createValue(parser.getIntValue());
case LONG:
return provider.createValue(parser.getLongValue());
return DefaultJsonProvider.INSTANCE.createValue(parser.getLongValue());
case FLOAT:
case DOUBLE:
return provider.createValue(parser.getDoubleValue());
return DefaultJsonProvider.INSTANCE.createValue(parser.getDoubleValue());
case BIG_DECIMAL:
return provider.createValue(parser.getDecimalValue());
return DefaultJsonProvider.INSTANCE.createValue(parser.getDecimalValue());
case BIG_INTEGER:
return provider.createValue(parser.getBigIntegerValue());
return DefaultJsonProvider.INSTANCE.createValue(parser.getBigIntegerValue());
}

default:
Expand Down

0 comments on commit a8df7e7

Please sign in to comment.