All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.opengis.cite.geopose10.BaseJsonSchemaValidatorTest Maven / Gradle / Ivy

package org.opengis.cite.geopose10;

import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.net.URI;
import java.net.URISyntaxException;
import java.net.URL;

import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.networknt.schema.JsonSchema;
import com.networknt.schema.JsonSchemaFactory;
import com.networknt.schema.SpecVersion;
import com.networknt.schema.SpecVersionDetector;

/**
 * 

* BaseJsonSchemaValidatorTest class. *

* */ public class BaseJsonSchemaValidatorTest { /** * int DEFAULT_BUFFER_SIZE = 8192 */ public final int DEFAULT_BUFFER_SIZE = 8192; private ObjectMapper mapper = new ObjectMapper(); // from // https://github.com/networknt/json-schema-validator/blob/master/doc/quickstart.md /** *

* getJsonNodeFromClasspath. *

* @param name a {@link java.lang.String} object * @return a {@link com.fasterxml.jackson.databind.JsonNode} object * @throws java.io.IOException if any. */ public JsonNode getJsonNodeFromClasspath(String name) throws IOException { InputStream is1 = Thread.currentThread().getContextClassLoader().getResourceAsStream(name); return mapper.readTree(is1); } /** *

* getJsonNodeFromStringContent. *

* @param content a {@link java.lang.String} object * @return a {@link com.fasterxml.jackson.databind.JsonNode} object * @throws java.io.IOException if any. */ public JsonNode getJsonNodeFromStringContent(String content) throws IOException { return mapper.readTree(content); } /** *

* getJsonNodeFromUrl. *

* @param url a {@link java.lang.String} object * @return a {@link com.fasterxml.jackson.databind.JsonNode} object * @throws java.io.IOException if any. */ public JsonNode getJsonNodeFromUrl(String url) throws IOException { return mapper.readTree(new URL(url)); } /** *

* getJsonSchemaFromClasspath. *

* @param name a {@link java.lang.String} object * @return a {@link com.networknt.schema.JsonSchema} object */ public JsonSchema getJsonSchemaFromClasspath(String name) { JsonSchemaFactory factory = JsonSchemaFactory.getInstance(SpecVersion.VersionFlag.V4); InputStream is = Thread.currentThread().getContextClassLoader().getResourceAsStream(name); return factory.getSchema(is); } /** *

* getJsonSchemaFromStringContent. *

* @param schemaContent a {@link java.lang.String} object * @return a {@link com.networknt.schema.JsonSchema} object */ public JsonSchema getJsonSchemaFromStringContent(String schemaContent) { JsonSchemaFactory factory = JsonSchemaFactory.getInstance(SpecVersion.VersionFlag.V4); return factory.getSchema(schemaContent); } /** *

* getJsonSchemaFromUrl. *

* @param uri a {@link java.lang.String} object * @return a {@link com.networknt.schema.JsonSchema} object * @throws java.net.URISyntaxException if any. */ public JsonSchema getJsonSchemaFromUrl(String uri) throws URISyntaxException { JsonSchemaFactory factory = JsonSchemaFactory.getInstance(SpecVersion.VersionFlag.V4); return factory.getSchema(new URI(uri)); } /** *

* getJsonSchemaFromJsonNode. *

* @param jsonNode a {@link com.fasterxml.jackson.databind.JsonNode} object * @return a {@link com.networknt.schema.JsonSchema} object */ public JsonSchema getJsonSchemaFromJsonNode(JsonNode jsonNode) { JsonSchemaFactory factory = JsonSchemaFactory.getInstance(SpecVersion.VersionFlag.V4); return factory.getSchema(jsonNode); } // Automatically detect version for given JsonNode /** *

* getJsonSchemaFromJsonNodeAutomaticVersion. *

* @param jsonNode a {@link com.fasterxml.jackson.databind.JsonNode} object * @return a {@link com.networknt.schema.JsonSchema} object */ public JsonSchema getJsonSchemaFromJsonNodeAutomaticVersion(JsonNode jsonNode) { JsonSchemaFactory factory = JsonSchemaFactory.getInstance(SpecVersionDetector.detect(jsonNode)); return factory.getSchema(jsonNode); } // from https://mkyong.com/java/how-to-convert-inputstream-to-string-in-java/ /** *

* otherConvertInputStreamToString. *

* @param is a {@link java.io.InputStream} object * @return a {@link java.lang.String} object * @throws java.io.IOException if any. */ public String otherConvertInputStreamToString(InputStream is) throws IOException { ByteArrayOutputStream result = new ByteArrayOutputStream(); byte[] buffer = new byte[DEFAULT_BUFFER_SIZE]; int length; while ((length = is.read(buffer)) != -1) { result.write(buffer, 0, length); } return result.toString("UTF-8"); } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy