Skip to content

Commit 4cd9f9c

Browse files
committed
Use asString
1 parent 9a500e0 commit 4cd9f9c

File tree

3 files changed

+6
-16
lines changed

3 files changed

+6
-16
lines changed

src/main/java/com/saasquatch/jsonschemainferrer/EnumExtractors.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
package com.saasquatch.jsonschemainferrer;
22

33
import static com.saasquatch.jsonschemainferrer.JunkDrawer.isValidEnum;
4-
import static com.saasquatch.jsonschemainferrer.JunkDrawer.textValue;
54

65
import com.saasquatch.jsonschemainferrer.annotations.Beta;
76
import java.util.Arrays;
@@ -37,7 +36,7 @@ public static <E extends Enum<E>> EnumExtractor validEnum(@Nonnull Class<E> enum
3736
Objects.requireNonNull(enumClass);
3837
return input -> {
3938
final Set<? extends JsonNode> enumNodes = input.getSamples().stream()
40-
.filter(j -> isValidEnum(enumClass, textValue(j)))
39+
.filter(j -> isValidEnum(enumClass, j.asString(null)))
4140
.collect(Collectors.toSet());
4241
return enumNodes.isEmpty() ? Collections.emptySet() : Collections.singleton(enumNodes);
4342
};

src/main/java/com/saasquatch/jsonschemainferrer/JsonSchemaInferrer.java

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,6 @@
1010
import static com.saasquatch.jsonschemainferrer.JunkDrawer.newArray;
1111
import static com.saasquatch.jsonschemainferrer.JunkDrawer.newObject;
1212
import static com.saasquatch.jsonschemainferrer.JunkDrawer.stringColToArrayDistinct;
13-
import static com.saasquatch.jsonschemainferrer.JunkDrawer.textValue;
1413

1514
import com.saasquatch.jsonschemainferrer.annotations.VisibleForTesting;
1615
import java.util.ArrayList;
@@ -252,8 +251,8 @@ private Set<ObjectNode> processPrimitives(@Nonnull Collection<ValueNode> valueNo
252251
}
253252
// Put the combined examples and default back into the result schema
254253
for (ObjectNode anyOf : anyOfs) {
255-
final String type = textValue(anyOf.path(Consts.Fields.TYPE));
256-
final String format = textValue(anyOf.path(Consts.Fields.FORMAT));
254+
final String type = anyOf.path(Consts.Fields.TYPE).asString(null);
255+
final String format = anyOf.path(Consts.Fields.FORMAT).asString(null);
257256
@Nonnull final PrimitivesSummary primitivesSummary =
258257
Objects.requireNonNull(primitivesSummaryMap.getPrimitivesSummary(type, format));
259258
processGenericSchemaFeature(anyOf, primitivesSummary.getSamples(), type, path);
@@ -326,7 +325,7 @@ private void postProcessAnyOfs(@Nonnull Collection<ObjectNode> anyOfs) {
326325
final Set<String> anyOfSchemaFieldNames = new LinkedHashSet<>(anyOf.propertyNames());
327326
if (anyOfSchemaFieldNames.equals(Consts.Fields.SINGLETON_TYPE)) {
328327
simpleAnyOfs.add(anyOf);
329-
simpleTypes.add(textValue(anyOf.path(Consts.Fields.TYPE)));
328+
simpleTypes.add(anyOf.path(Consts.Fields.TYPE).asString(null));
330329
}
331330
}
332331
// Combine all the simple types into an array

src/main/java/com/saasquatch/jsonschemainferrer/JunkDrawer.java

Lines changed: 2 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,6 @@
2020
import javax.annotation.Nullable;
2121
import tools.jackson.databind.JsonNode;
2222
import tools.jackson.databind.node.ArrayNode;
23-
import tools.jackson.databind.node.BinaryNode;
2423
import tools.jackson.databind.node.JsonNodeFactory;
2524
import tools.jackson.databind.node.NumericNode;
2625
import tools.jackson.databind.node.ObjectNode;
@@ -206,8 +205,8 @@ static int getBase64Length(int bytesLength) {
206205
* Get the serialized text length, or -1 if the input cannot be serialized as text.
207206
*/
208207
static int getSerializedTextLength(@Nonnull JsonNode jsonNode) {
209-
if (jsonNode instanceof BinaryNode) {
210-
final byte[] binaryValue = ((BinaryNode) jsonNode).binaryValue();
208+
if (jsonNode.isBinary()) {
209+
final byte[] binaryValue = jsonNode.binaryValue();
211210
return getBase64Length(binaryValue.length);
212211
} else if (isTextualFloat(jsonNode)) {
213212
// Handle NaN and infinity
@@ -279,13 +278,6 @@ static boolean nonNull(@Nullable JsonNode j) {
279278
return !isNull(j);
280279
}
281280

282-
static String textValue(JsonNode j) {
283-
if (j != null && j.isString()) {
284-
return j.stringValue();
285-
}
286-
return null;
287-
}
288-
289281
/**
290282
* The list of characters that need to be escaped are found <a
291283
* href="https://www.freeformatter.com/json-escape.html">here</a>.

0 commit comments

Comments
 (0)