@Override public S isNumber() { isNotNull(); assertThat(actual.isNumber()) .overridingErrorMessage("Expected JSON value <%s> to be a number but it was not.", actual) .isTrue(); return myself; }
@Override public S isNotNumber() { isNotNull(); assertThat(actual.isNumber()) .overridingErrorMessage("Expected JSON value <%s> not to be a number but it was.", actual) .isFalse(); return myself; }
private static Object toJavaObject(final JsonValue jsonValue) { final Object result; if (null == jsonValue) { result = null; } else if (jsonValue.isNull()) { result = null; } else if (jsonValue.isString()) { result = jsonValue.asString(); } else if (jsonValue.isBoolean()) { result = jsonValue.asBoolean(); } else if (jsonValue.isNumber()) { final Double doubleValue = jsonValue.asDouble(); if (doubleValue.intValue() == doubleValue) { result = doubleValue.intValue(); } else if (doubleValue.longValue() == doubleValue) { result = doubleValue.longValue(); } else { result = doubleValue; } } else if (jsonValue.isObject()) { result = toJavaMap(jsonValue.asObject()); } else if (jsonValue.isArray()) { result = toJavaList(jsonValue.asArray()); } else { throw new IllegalStateException( MessageFormat.format("Failed to convert {0} to a Java object", jsonValue)); } return result; }
private static List<Document> toFlatAttributesList(final String path, final JsonValue value, final List<Document> flatAttributes) { if (value.isString()) { flatAttributes.add(createFlatSubDocument(path, value.asString())); } else if (value.isBoolean()) { flatAttributes.add(createFlatSubDocument(path, value.asBoolean())); } else if (value.isNumber()) { try { flatAttributes.add(createFlatSubDocument(path, value.asLong())); } catch (final NumberFormatException e) { flatAttributes.add(createFlatSubDocument(path, value.asDouble())); } } else if (value.isNull()) { flatAttributes.add(createFlatSubDocument(path, null)); } else if (value.isObject()) { handleObject(path, value, flatAttributes); } return flatAttributes; }
private static List<Document> toFlatAttributesList(final String path, final JsonValue value, final List<Document> flatAttributes) { if (value.isString()) { flatAttributes.add(createFlatSubDocument(path, value.asString())); } else if (value.isBoolean()) { flatAttributes.add(createFlatSubDocument(path, value.asBoolean())); } else if (value.isNumber()) { if (value.isLong()) { flatAttributes.add(createFlatSubDocument(path, value.asLong())); } else { flatAttributes.add(createFlatSubDocument(path, value.asDouble())); } } else if (value.isNull()) { flatAttributes.add(createFlatSubDocument(path, null)); } else if (value.isObject()) { handleObject(path, value, flatAttributes); } return flatAttributes; }
private static List<Document> toFlatFeaturesList(final String path, final String featureId, final JsonValue value, final List<Document> flatFeatures) { if (value.isString()) { flatFeatures.add(createFlatSubDocument(path, featureId, value.asString())); } else if (value.isBoolean()) { flatFeatures.add(createFlatSubDocument(path, featureId, value.asBoolean())); } else if (value.isNumber()) { try { flatFeatures.add(createFlatSubDocument(path, featureId, value.asLong())); } catch (final NumberFormatException e) { flatFeatures.add(createFlatSubDocument(path, featureId, value.asDouble())); } } else if (value.isNull()) { flatFeatures.add(createFlatSubDocument(path, featureId, null)); } else if (value.isObject()) { handleObject(path, value.asObject(), featureId, flatFeatures); } return flatFeatures; }
private static List<Document> toFlatFeaturesList(final String path, final String featureId, final JsonValue value, final List<Document> flatFeatures) { if (value.isString()) { flatFeatures.add(createFlatSubDocument(path, featureId, value.asString())); } else if (value.isBoolean()) { flatFeatures.add(createFlatSubDocument(path, featureId, value.asBoolean())); } else if (value.isNumber()) { if (value.isLong()) { flatFeatures.add(createFlatSubDocument(path, featureId, value.asLong())); } else { flatFeatures.add(createFlatSubDocument(path, featureId, value.asDouble())); } } else if (value.isNull()) { flatFeatures.add(createFlatSubDocument(path, featureId, null)); } else if (value.isObject()) { handleObject(path, value.asObject(), featureId, flatFeatures); } return flatFeatures; }
} else if (jsonValue.isBoolean()) { result = Json.value(jsonValue.asBoolean()); } else if (jsonValue.isNumber()) { final Double doubleValue = jsonValue.asDouble(); if (doubleValue.intValue() == doubleValue) {
private void addInternalAttributes(final String path, final JsonValue jsonValue) { if (jsonValue == null || jsonValue.isNull()) { attributeInternally(path, null); } else if (jsonValue.isString()) { attributeInternally(path, jsonValue.asString()); } else if (jsonValue.isBoolean()) { attributeInternally(path, jsonValue.asBoolean()); } else if (jsonValue.isNumber()) { addNumberAttribute(path, jsonValue); } else if (jsonValue.isObject()) { jsonValue.asObject().getKeys().forEach(key -> // addInternalAttributes(path + PersistenceConstants.SLASH + key, jsonValue.asObject().getValue(key).orElse(null))); } }
private void addInternalFeatures(final String path, final JsonValue jsonValue, final String featureId) { if ((jsonValue == null) || jsonValue.isNull()) { featureInternally(path, null, featureId); } else if (jsonValue.isString()) { featureInternally(path, jsonValue.asString(), featureId); } else if (jsonValue.isBoolean()) { featureInternally(path, jsonValue.asBoolean(), featureId); } else if (jsonValue.isNumber()) { addNumberFeature(path, jsonValue, featureId); } else if (jsonValue.isObject()) { jsonValue.asObject().getKeys().forEach(name -> // addInternalFeatures(path + "/" + name, jsonValue.asObject().getValue(name).orElse(null), featureId)); } }
private void addInternalAttributes(final String path, final JsonValue jsonValue) { if ((jsonValue == null) || jsonValue.isNull()) { attributeInternally(path, null); } else if (jsonValue.isString()) { attributeInternally(path, jsonValue.asString()); } else if (jsonValue.isBoolean()) { attributeInternally(path, jsonValue.asBoolean()); } else if (jsonValue.isNumber()) { addNumberAttribute(path, jsonValue); } else if (jsonValue.isObject()) { jsonValue.asObject().getKeys().forEach(key -> // addInternalAttributes(path + PersistenceConstants.SLASH + key, jsonValue.asObject().getValue(key).orElse(null))); } }
private void addInternalFeatures(final String path, final JsonValue jsonValue, final String featureId) { if ((jsonValue == null) || jsonValue.isNull()) { featureInternally(path, null, featureId); } else if (jsonValue.isString()) { featureInternally(path, jsonValue.asString(), featureId); } else if (jsonValue.isBoolean()) { featureInternally(path, jsonValue.asBoolean(), featureId); } else if (jsonValue.isNumber()) { addNumberFeature(path, jsonValue, featureId); } else if (jsonValue.isObject()) { jsonValue.asObject().getKeys().forEach(name -> // addInternalFeatures(path + "/" + name, jsonValue.asObject().getValue(name).orElse(null), featureId)); } }
if (v.isNull()) { return null; } else if (v.isNumber()) { try { return v.asInt();
/** * Maps the given {@code jsonValue} to it's equivalent Java type. A {@code JsonObject} will be mapped to {@code * Document}. * * @param jsonValue the JSON value. * @return the value. */ public static Object toValue(final JsonValue jsonValue) { final Object value; if (jsonValue.isNull()) { value = null; } else if (jsonValue.isString()) { value = jsonValue.asString(); } else if (jsonValue.isBoolean()) { value = jsonValue.asBoolean(); } else if (jsonValue.isNumber()) { value = handleNumberAttribute(jsonValue); } else if (jsonValue.isObject()) { value = objectToDocument(jsonValue.asObject()); } else { value = null; } return value; }
/** * Maps the given {@code jsonValue} to it's equivalent Java type. A {@code JsonObject} will be mapped to {@code * Document}. * * @param jsonValue the JSON value. * @return the value. */ public static Object toValue(final JsonValue jsonValue) { final Object value; if (jsonValue.isNull()) { value = null; } else if (jsonValue.isString()) { value = jsonValue.asString(); } else if (jsonValue.isBoolean()) { value = jsonValue.asBoolean(); } else if (jsonValue.isNumber()) { value = handleNumberAttribute(jsonValue); } else if (jsonValue.isObject()) { value = objectToDocument(jsonValue.asObject()); } else { value = null; } return value; }
/** * Maps the specified JsonValue to a Java Object which can be stored in MongoDB. * * @param jsonValue the value to be mapped. * @return {@code jsonValue} as Java Object which can be stored in MongoDB or {@code null}. * @throws NullPointerException if {@code jsonValue} is {@code null}. */ @Nullable private Object mapJsonValueToJavaObject(final JsonValue jsonValue) { checkNotNull(jsonValue, "JSON value to be mapped"); final Object result; if (jsonValue.isNull()) { result = null; } else if (jsonValue.isString()) { result = jsonValue.asString(); } else if (jsonValue.isNumber()) { result = mapJsonNumberToJavaNumber(jsonValue); } else if (jsonValue.isObject()) { result = mapJsonObjectToBasicDBObject(jsonValue.asObject()); } else if (jsonValue.isArray()) { result = mapJsonArrayToBasicDBList(jsonValue.asArray()); } else if (jsonValue.isBoolean()) { result = jsonValue.asBoolean(); } else { result = null; } return result; }
/** * Maps the specified JsonValue to a Java Object which can be stored in MongoDB. * * @param jsonValue the value to be mapped. * @return {@code jsonValue} as Java Object which can be stored in MongoDB or {@code null}. * @throws NullPointerException if {@code jsonValue} is {@code null}. */ @Nullable private Object mapJsonValueToJavaObject(final JsonValue jsonValue) { checkNotNull(jsonValue, "JSON value to be mapped"); final Object result; if (jsonValue.isNull()) { result = null; } else if (jsonValue.isString()) { result = jsonValue.asString(); } else if (jsonValue.isNumber()) { result = mapJsonNumberToJavaNumber(jsonValue); } else if (jsonValue.isObject()) { result = mapJsonObjectToBsonDocument(jsonValue.asObject()); } else if (jsonValue.isArray()) { result = mapJsonArrayToBsonArray(jsonValue.asArray()); } else if (jsonValue.isBoolean()) { result = jsonValue.asBoolean(); } else { result = null; } return result; }
private static Object toJavaObject(final JsonValue jsonValue) { final Object result; if (null == jsonValue) { result = null; } else if (jsonValue.isNull()) { result = null; } else if (jsonValue.isString()) { result = jsonValue.asString(); } else if (jsonValue.isBoolean()) { result = jsonValue.asBoolean(); } else if (jsonValue.isNumber()) { if (jsonValue.isInt()) { result = jsonValue.asInt(); } else if (jsonValue.isLong()) { result = jsonValue.asLong(); } else { result = jsonValue.asDouble(); } } else if (jsonValue.isObject()) { result = toJavaMap(jsonValue.asObject()); } else if (jsonValue.isArray()) { result = toJavaList(jsonValue.asArray()); } else { throw new IllegalStateException( MessageFormat.format("Failed to convert {0} to a Java object", jsonValue)); } return result; }
private static Object mapJsonValueToJava(final JsonValue jsonValue) { final Object result; if (jsonValue.isString()) { result = jsonValue.asString(); } else if (jsonValue.isBoolean()) { result = jsonValue.asBoolean(); } else if (jsonValue.isNull()) { result = null; } else if (jsonValue.isNumber()) { if (jsonValue.isLong()) { result = jsonValue.asLong(); } else { result = jsonValue.asDouble(); } } else if (jsonValue.isArray()) { result = null; // filtering arrays is not supported } else if (jsonValue.isObject()) { result = null; // filtering objects is not supported } else { result = null; } return result; }
/** * Maps the specified JsonValue to a Java Object which can be stored in MongoDB. * * @param jsonValue the value to be mapped. * @return {@code jsonValue} as Java Object which can be stored in MongoDB or {@code null}. * @throws NullPointerException if {@code jsonValue} is {@code null}. */ @Nullable private BsonValue mapJsonValueToBsonValue(final JsonValue jsonValue) { checkNotNull(jsonValue, "JSON value to be mapped"); final BsonValue result; if (jsonValue.isNull()) { result = BsonNull.VALUE; } else if (jsonValue.isString()) { result = new BsonString(jsonValue.asString()); } else if (jsonValue.isNumber()) { result = mapJsonNumberToBsonNumber(jsonValue); } else if (jsonValue.isObject()) { result = mapJsonObjectToBsonDocument(jsonValue.asObject()); } else if (jsonValue.isArray()) { result = mapJsonArrayToBsonArray(jsonValue.asArray()); } else if (jsonValue.isBoolean()) { result = BsonBoolean.valueOf(jsonValue.asBoolean()); } else { result = null; } return result; }