List of usage examples for com.fasterxml.jackson.core JsonFactory JsonFactory
public JsonFactory()
From source file:org.graylog2.gelfclient.encoder.GelfMessageJsonEncoderTest.java
@Test public void testEncode() throws Exception { byte[] bytes = readBytes(); JsonFactory json = new JsonFactory(); JsonParser parser = json.createParser(bytes); String version = null;//from ww w . ja va 2 s. co m Number timestamp = null; String host = null; String short_message = null; String full_message = null; Number level = null; Number _foo = null; Number _bar = null; String _baz = null; while (parser.nextToken() != JsonToken.END_OBJECT) { String key = parser.getCurrentName(); if (key == null) { continue; } parser.nextToken(); switch (key) { case "version": version = parser.getText(); break; case "timestamp": timestamp = parser.getNumberValue(); break; case "host": host = parser.getText(); break; case "short_message": short_message = parser.getText(); break; case "full_message": full_message = parser.getText(); break; case "level": level = parser.getNumberValue(); break; case "_foo": _foo = parser.getNumberValue(); break; case "_bar": _bar = parser.getNumberValue(); break; case "_baz": _baz = parser.getText(); break; default: throw new Exception("Found unexpected field in JSON payload: " + key); } } assertEquals(message.getVersion().toString(), version); assertEquals(message.getTimestamp(), timestamp); assertEquals(message.getHost(), host); assertEquals(message.getMessage(), short_message); assertEquals(message.getFullMessage(), full_message); assertEquals(message.getLevel().getNumericLevel(), level); assertEquals(1.0, _foo); assertEquals(128, _bar); assertEquals("a value", _baz); }
From source file:org.lobid.lodmill.JsonDecoder.java
private JsonToken parseJson(final Reader reader) throws IOException, JsonParseException { String text = CharStreams.toString(reader); this.jsonParser = new JsonFactory().createParser(text); JsonToken currentToken = null;//from w w w .j a v a2 s . c o m try { currentToken = this.jsonParser.nextToken(); } catch (final JsonParseException e) { // is it JSONP ? if (text.indexOf(JsonDecoder.JSON_START_CHAR) == -1) { LOG.info("No JSON(P) - ignoring"); return null; } currentToken = handleJsonp(text); } while (JsonToken.START_OBJECT != currentToken) { this.jsonParser.nextToken(); } return currentToken; }
From source file:io.seldon.spark.actions.JobUtils.java
public static String getJsonFromActionData(ActionData actionData) { JsonFactory jsonFactory = new JsonFactory(); StringWriter sw = new StringWriter(); try {//from ww w .j a va 2s . c o m JsonGenerator jg = jsonFactory.createGenerator(sw); jg.writeStartObject(); jg.writeStringField("timestamp_utc", actionData.timestamp_utc); jg.writeStringField("client", actionData.client); jg.writeStringField("client_userid", actionData.client_userid); jg.writeNumberField("userid", actionData.userid); jg.writeNumberField("itemid", actionData.itemid); jg.writeStringField("client_itemid", actionData.client_itemid); jg.writeStringField("rectag", actionData.rectag); jg.writeNumberField("type", actionData.type); jg.writeNumberField("value", actionData.value); jg.writeEndObject(); jg.close(); } catch (IOException e) { e.printStackTrace(); } return sw.toString(); }
From source file:org.apache.lucene.server.handlers.BulkAddDocumentsHandler.java
@Override public String handleStreamed(Reader reader, Map<String, List<String>> params) throws Exception { JsonFactory jfactory = new JsonFactory(); JsonParser parser = jfactory.createJsonParser(reader); if (parser.nextToken() != JsonToken.START_OBJECT) { throw new IllegalArgumentException("expected JSON object"); }//from w w w . j ava 2 s. c om if (parser.nextToken() != JsonToken.FIELD_NAME) { throw new IllegalArgumentException("expected indexName first"); } if (!parser.getText().equals("indexName")) { throw new IllegalArgumentException("expected indexName first"); } if (parser.nextToken() != JsonToken.VALUE_STRING) { throw new IllegalArgumentException("indexName should be string"); } IndexState indexState = globalState.get(parser.getText()); indexState.verifyStarted(null); if (parser.nextToken() != JsonToken.FIELD_NAME) { throw new IllegalArgumentException("expected documents next"); } if (!parser.getText().equals("documents")) { throw new IllegalArgumentException("expected documents after indexName"); } ShardState shardState = indexState.getShard(0); if (parser.nextToken() != JsonToken.START_ARRAY) { throw new IllegalArgumentException("documents should be a list"); } int count = 0; IndexingContext ctx = new IndexingContext(); AddDocumentHandler addDocHandler = (AddDocumentHandler) globalState.getHandler("addDocument"); // Parse as many doc blocks as there are: while (true) { List<Document> children = null; Document parent = null; JsonToken token = parser.nextToken(); if (token == JsonToken.END_ARRAY) { break; } if (token != JsonToken.START_OBJECT) { throw new IllegalArgumentException("expected object"); } // Parse parent + children for this one doc block: while (true) { token = parser.nextToken(); if (token == JsonToken.END_OBJECT) { // Done with parent + child in this block break; } if (token != JsonToken.FIELD_NAME) { throw new IllegalArgumentException("missing field name: " + token); } String f = parser.getText(); if (f.equals("children")) { token = parser.nextToken(); if (token != JsonToken.START_ARRAY) { throw new IllegalArgumentException("expected array for children"); } children = new ArrayList<Document>(); // Parse each child: while (true) { Document doc = addDocHandler.parseDocument(indexState, parser); if (doc == null) { break; } children.add(doc); } } else if (f.equals("parent")) { parent = addDocHandler.parseDocument(indexState, parser); } else { throw new IllegalArgumentException("unrecognized field name \"" + f + "\""); } } if (parent == null) { throw new IllegalArgumentException("missing parent"); } if (children == null) { throw new IllegalArgumentException("missing children"); } // Parent is last: children.add(parent); globalState.submitIndexingTask(shardState.getAddDocumentsJob(count, null, children, ctx)); count++; } // nocommit this is ... lameish: while (true) { if (ctx.addCount.get() == count) { break; } Thread.sleep(1); } Throwable t = ctx.getError(); if (t != null) { IOUtils.reThrow(t); } JSONObject o = new JSONObject(); o.put("indexGen", shardState.writer.getMaxCompletedSequenceNumber()); o.put("indexedDocumentBlockCount", count); return o.toString(); }
From source file:org.apache.lucene.server.handlers.BulkUpdateDocumentHandler.java
@Override public String handleStreamed(Reader reader, Map<String, List<String>> params) throws Exception { JsonFactory jfactory = new JsonFactory(); JsonParser parser = jfactory.createJsonParser(reader); if (parser.nextToken() != JsonToken.START_OBJECT) { throw new IllegalArgumentException("expected JSON object"); }//from w w w . ja v a 2s .co m if (parser.nextToken() != JsonToken.FIELD_NAME) { throw new IllegalArgumentException("expected indexName first"); } if (!parser.getText().equals("indexName")) { throw new IllegalArgumentException("expected indexName first"); } if (parser.nextToken() != JsonToken.VALUE_STRING) { throw new IllegalArgumentException("indexName should be string"); } IndexState indexState = globalState.get(parser.getText()); indexState.verifyStarted(null); ShardState shardState = indexState.getShard(0); if (parser.nextToken() != JsonToken.FIELD_NAME) { throw new IllegalArgumentException("expected documents next"); } if (!parser.getText().equals("documents")) { throw new IllegalArgumentException("expected documents after indexName"); } if (parser.nextToken() != JsonToken.START_ARRAY) { throw new IllegalArgumentException("documents should be a list"); } IndexingContext ctx = new IndexingContext(); AddDocumentHandler addDocHandler = (AddDocumentHandler) globalState.getHandler("addDocument"); // Parse any number of documents to update: int count = 0; while (true) { JsonToken token = parser.nextToken(); if (token == JsonToken.END_ARRAY) { break; } if (token != JsonToken.START_OBJECT) { throw new IllegalArgumentException("missing object"); } // Parse term: and fields: Term updateTerm = null; final Document doc = new Document(); while (true) { token = parser.nextToken(); if (token == JsonToken.END_OBJECT) { break; } if (token != JsonToken.FIELD_NAME) { throw new IllegalArgumentException("missing field name"); } String f = parser.getText(); if (f.equals("term")) { if (parser.nextToken() != JsonToken.START_OBJECT) { throw new IllegalArgumentException("missing object"); } // TODO: allow field to be specified only once, then // only text per document String field = null, term = null; while (parser.nextToken() != JsonToken.END_OBJECT) { String f2 = parser.getText(); if (f2.equals("field")) { if (parser.nextToken() != JsonToken.VALUE_STRING) { throw new IllegalArgumentException("missing string value"); } field = parser.getText(); // Ensure field is valid: indexState.getField(field); } else if (f2.equals("term")) { if (parser.nextToken() != JsonToken.VALUE_STRING) { throw new IllegalArgumentException("missing string value"); } term = parser.getText(); } else { throw new IllegalArgumentException("unexpected field " + f); } } updateTerm = new Term(field, term); } else if (f.equals("fields")) { addDocHandler.parseFields(indexState, doc, parser); } else { boolean handled = false; for (AddDocumentHandler.PostHandle postHandle : addDocHandler.postHandlers) { if (postHandle.invoke(indexState, f, parser, doc)) { handled = true; break; } } if (!handled) { throw new IllegalArgumentException("unrecognized field " + parser.getText()); } } } if (updateTerm == null) { throw new IllegalArgumentException("missing term"); } // TODO: this is dup'd code ... share better w/ AddDocHandler globalState.submitIndexingTask(shardState.getAddDocumentJob(count, updateTerm, doc, ctx)); count++; } // nocommit this is ... lameish: while (true) { if (ctx.addCount.get() == count) { break; } Thread.sleep(1); } JSONObject o = new JSONObject(); o.put("indexGen", shardState.writer.getMaxCompletedSequenceNumber()); o.put("indexedDocumentCount", count); return o.toString(); }
From source file:org.codehaus.modello.plugin.jsonschema.JsonSchemaGenerator.java
private void generateJsonSchema(Properties parameters) throws IOException, ModelloException { Model objectModel = getModel();/* w w w.ja va 2 s. co m*/ File directory = getOutputDirectory(); if (isPackageWithVersion()) { directory = new File(directory, getGeneratedVersion().toString()); } if (!directory.exists()) { directory.mkdirs(); } // we assume parameters not null String schemaFileName = parameters.getProperty(ModelloParameterConstants.OUTPUT_JSONSCHEMA_FILE_NAME); File schemaFile; if (schemaFileName != null) { schemaFile = new File(directory, schemaFileName); } else { schemaFile = new File(directory, objectModel.getId() + "-" + getGeneratedVersion() + ".schema.json"); } JsonGenerator generator = new JsonFactory().enable(Feature.AUTO_CLOSE_JSON_CONTENT) .enable(Feature.AUTO_CLOSE_TARGET).enable(Feature.ESCAPE_NON_ASCII) .enable(Feature.FLUSH_PASSED_TO_STREAM).enable(Feature.QUOTE_FIELD_NAMES) .enable(Feature.QUOTE_NON_NUMERIC_NUMBERS).disable(Feature.WRITE_NUMBERS_AS_STRINGS) .createGenerator(schemaFile, JsonEncoding.UTF8); generator.useDefaultPrettyPrinter(); ModelClass root = objectModel.getClass(objectModel.getRoot(getGeneratedVersion()), getGeneratedVersion()); try { generator.writeStartObject(); generator.writeStringField("$schema", "http://json-schema.org/draft-04/schema#"); writeClassDocumentation(generator, root, true); generator.writeObjectFieldStart("definitions"); for (ModelClass current : objectModel.getClasses(getGeneratedVersion())) { if (!root.equals(current)) { writeClassDocumentation(generator, current, false); } } // end "definitions" generator.writeEndObject(); // end main object generator.writeEndObject(); } finally { generator.close(); } }
From source file:org.apache.olingo.commons.core.serialization.JsonSerializer.java
@Override public <T> void write(final Writer writer, final T obj) throws ODataSerializerException { try {/*w w w.ja v a 2s .c om*/ final JsonGenerator json = new JsonFactory().createGenerator(writer); if (obj instanceof EntitySet) { new JsonEntitySetSerializer(version, serverMode).doSerialize((EntitySet) obj, json); } else if (obj instanceof Entity) { new JsonEntitySerializer(version, serverMode).doSerialize((Entity) obj, json); } else if (obj instanceof Property) { new JsonPropertySerializer(version, serverMode).doSerialize((Property) obj, json); } else if (obj instanceof Link) { link((Link) obj, json); } json.flush(); } catch (final IOException e) { throw new ODataSerializerException(e); } catch (final EdmPrimitiveTypeException e) { throw new ODataSerializerException(e); } }
From source file:org.apache.hadoop.gateway.filter.rewrite.impl.json.JsonFilterReader.java
public JsonFilterReader(Reader reader, UrlRewriteFilterContentDescriptor config) throws IOException { this.reader = reader; factory = new JsonFactory(); mapper = new ObjectMapper(); parser = factory.createParser(reader); writer = new StringWriter(); buffer = writer.getBuffer();/* w w w . jav a2 s. c o m*/ offset = 0; generator = factory.createGenerator(writer); stack = new Stack<Level>(); bufferingLevel = null; bufferingConfig = null; this.config = config; }
From source file:eionet.meta.exports.json.VocabularyJSONOutputHelper.java
/** * Writes JSON to output stream./* www .ja v a2 s . c o m*/ * <p> * NOTE: For readability purposes, nested blocks are used in this method while generating json contents. * </p> * * @param out * output stream * @param vocabulary * vocabulary base uri * @param concepts * list of vocabulary concepts * @param language * language for the preferred label * @throws java.io.IOException * if error in I/O */ public static void writeJSON(OutputStream out, VocabularyFolder vocabulary, List<VocabularyConcept> concepts, String language) throws IOException { OutputStreamWriter osw = new OutputStreamWriter(out, "UTF-8"); JsonFactory f = new JsonFactory(); JsonGenerator generator = f.createGenerator(out); generator.useDefaultPrettyPrinter(); language = StringUtils.trimToNull(language); boolean checkLanguage = StringUtils.isNotBlank(language); List<String> relationalDataElemIdentifiers = new ArrayList<String>(); relationalDataElemIdentifiers.add(BROADER); relationalDataElemIdentifiers.add(NARROWER); // start json object generator.writeStartObject(); // add context generator.writeObjectFieldStart(JSON_LD_CONTEXT); { generator.writeStringField(JSON_LD_BASE, VocabularyFolder.getBaseUri(vocabulary)); generator.writeStringField(VocabularyOutputHelper.LinkedDataNamespaces.SKOS, VocabularyOutputHelper.LinkedDataNamespaces.SKOS_NS); generator.writeStringField(JSON_LD_CONCEPTS, SKOS_CONCEPT); generator.writeStringField(PREF_LABEL, SKOS_PREF_LABEL); for (String dataElemShortIdentifier : relationalDataElemIdentifiers) { generator.writeStringField(dataElemShortIdentifier, DATA_ELEM_MAP.get(dataElemShortIdentifier)); } generator.writeStringField(JSON_LD_LANGUAGE, StringUtils.isNotBlank(language) ? language : DEFAULT_LANGUAGE); } generator.writeEndObject(); // start writing concepts... generator.writeArrayFieldStart(JSON_LD_CONCEPTS); // iterate on concepts for (VocabularyConcept concept : concepts) { generator.writeStartObject(); { generator.writeStringField(JSON_LD_ID, concept.getIdentifier()); generator.writeStringField(JSON_LD_TYPE, SKOS_CONCEPT); // start writing prefLabels generator.writeArrayFieldStart(PREF_LABEL); { String label; String labelLang; if (checkLanguage) { List<DataElement> dataElementValuesByNameAndLang = VocabularyOutputHelper .getDataElementValuesByNameAndLang(SKOS_PREF_LABEL, language, concept.getElementAttributes()); if (dataElementValuesByNameAndLang != null && dataElementValuesByNameAndLang.size() > 0) { label = dataElementValuesByNameAndLang.get(0).getAttributeValue(); labelLang = language; } else { dataElementValuesByNameAndLang = VocabularyOutputHelper .getDataElementValuesByNameAndLang(SKOS_PREF_LABEL, DEFAULT_LANGUAGE, concept.getElementAttributes()); if (dataElementValuesByNameAndLang != null && dataElementValuesByNameAndLang.size() > 0) { label = dataElementValuesByNameAndLang.get(0).getAttributeValue(); } else { label = concept.getLabel(); } labelLang = DEFAULT_LANGUAGE; } generator.writeStartObject(); { generator.writeStringField(JSON_LD_VALUE, label); generator.writeStringField(JSON_LD_LANGUAGE, labelLang); } generator.writeEndObject(); } else { generator.writeStartObject(); { generator.writeStringField(JSON_LD_VALUE, concept.getLabel()); generator.writeStringField(JSON_LD_LANGUAGE, DEFAULT_LANGUAGE); } generator.writeEndObject(); List<DataElement> dataElementValuesByName = VocabularyOutputHelper .getDataElementValuesByName(SKOS_PREF_LABEL, concept.getElementAttributes()); if (dataElementValuesByName != null && dataElementValuesByName.size() > 0) { for (DataElement elem : dataElementValuesByName) { generator.writeStartObject(); { generator.writeStringField(JSON_LD_VALUE, elem.getAttributeValue()); generator.writeStringField(JSON_LD_LANGUAGE, elem.getAttributeLanguage()); } generator.writeEndObject(); } } } } // end writing prefLabels generator.writeEndArray(); // write data elements for (String shortDataElemIdentifier : relationalDataElemIdentifiers) { // check if it has this element List<DataElement> dataElementValuesByName = VocabularyOutputHelper.getDataElementValuesByName( DATA_ELEM_MAP.get(shortDataElemIdentifier), concept.getElementAttributes()); if (dataElementValuesByName != null && dataElementValuesByName.size() > 0) { // start writing element values generator.writeArrayFieldStart(shortDataElemIdentifier); for (DataElement elem : dataElementValuesByName) { generator.writeStartObject(); { generator.writeStringField(JSON_LD_ID, elem.getRelatedConceptIdentifier()); } generator.writeEndObject(); } // end writing element values generator.writeEndArray(); } } } // end writing concept generator.writeEndObject(); } // end of iteration on concepts generator.writeEndArray(); // end of vocabulary name generator.writeEndObject(); // close writer and stream generator.close(); osw.close(); }
From source file:org.apache.olingo.client.core.serialization.JsonSerializer.java
@Override public <T> void write(final Writer writer, final T obj) throws ODataSerializerException { try {/*from www . ja v a 2s .co m*/ final JsonGenerator json = new JsonFactory().createGenerator(writer); if (obj instanceof EntityCollection) { new JsonEntitySetSerializer(serverMode, contentType).doSerialize((EntityCollection) obj, json); } else if (obj instanceof Entity) { new JsonEntitySerializer(serverMode, contentType).doSerialize((Entity) obj, json); } else if (obj instanceof Property) { new JsonPropertySerializer(serverMode, contentType).doSerialize((Property) obj, json); } else if (obj instanceof Link) { link((Link) obj, json); } json.flush(); } catch (final IOException e) { throw new ODataSerializerException(e); } catch (final EdmPrimitiveTypeException e) { throw new ODataSerializerException(e); } }