List of usage examples for com.fasterxml.jackson.core JsonGenerator writeFieldName
public abstract void writeFieldName(SerializableString name) throws IOException, JsonGenerationException;
From source file:io.debezium.document.JacksonWriter.java
protected void writeDocument(Document document, JsonGenerator generator) throws IOException { generator.writeStartObject();//w ww .j ava 2s.c o m try { document.stream().forEach((field) -> { try { generator.writeFieldName(field.getName().toString()); writeValue(field.getValue(), generator); } catch (IOException e) { throw new WritingError(e); } }); generator.writeEndObject(); } catch (WritingError e) { throw e.wrapped(); } }
From source file:com.streamsets.datacollector.bundles.content.SdcInfoContentGenerator.java
private void writeAttribute(JsonGenerator jg, String attName, Object value) throws IOException { jg.writeFieldName(attName); writeObject(jg, value);// ww w.j ava2s. c o m }
From source file:de.rallye.mapper.GroupPositionsSerializer.java
@Override public void serialize(Map<Integer, Node> value, JsonGenerator jgen, SerializerProvider provider) throws IOException/*, JsonProcessingException*/ { jgen.writeStartArray();// w w w. j a v a 2 s. c o m for (Integer groupId : value.keySet()) { int nodeId = value.get(groupId).nodeID; jgen.writeStartObject(); jgen.writeFieldName(Group.GROUP_ID); jgen.writeNumber(groupId); jgen.writeFieldName(Node.NODE_ID); jgen.writeNumber(nodeId); jgen.writeEndObject(); } jgen.writeEndArray(); }
From source file:models.ProcessSerializer.java
@Override public void serialize(Process process, JsonGenerator jgen, SerializerProvider provider) throws IOException { jgen.writeStartObject();//w w w . ja v a 2 s. c o m jgen.writeStringField("id", process.getId()); jgen.writeFieldName("unit"); jgen.writeObject(process.getUnit()); jgen.writeFieldName("keywords"); jgen.writeObject(process.getKeywords()); jgen.writeFieldName("groups"); jgen.writeStartArray(); for (Group group : process.getGroups()) { jgen.writeStartObject(); jgen.writeStringField("id", group.getId()); jgen.writeStringField("label", group.getLabel()); jgen.writeEndObject(); } jgen.writeEndArray(); jgen.writeFieldName("relations"); jgen.writeStartArray(); for (DerivedRelation relation : process.getUpstreamDerivedRelations()) { jgen.writeObject(relation); } for (DerivedRelation relation : process.getDownstreamDerivedRelations()) { jgen.writeObject(relation); } jgen.writeEndArray(); jgen.writeFieldName("impacts"); jgen.writeStartObject(); for (Impact impact : process.getImpacts().values()) { jgen.writeFieldName(impact.getType().getId()); jgen.writeStartObject(); jgen.writeFieldName("value"); jgen.writeObject(impact.getValue()); jgen.writeFieldName("upstream"); jgen.writeObject(getUpstreamImpacts(process, impact)); jgen.writeFieldName("composition"); jgen.writeObject(getImpactComposition(process, impact)); jgen.writeEndObject(); } jgen.writeEndObject(); jgen.writeFieldName("flows"); jgen.writeStartObject(); for (ElementaryFlow flow : process.getCalculatedFlows().values()) { jgen.writeFieldName(flow.getType().getId()); jgen.writeStartObject(); jgen.writeFieldName("value"); jgen.writeObject(flow.getValue()); jgen.writeFieldName("upstream"); jgen.writeObject(getUpstreamFlows(process, flow)); jgen.writeEndObject(); } jgen.writeEndObject(); jgen.writeEndObject(); }
From source file:net.nullschool.grains.jackson.datatype.GrainSerializer.java
private void serializeExtension(String key, Object value, JsonGenerator jgen, SerializerProvider provider) throws IOException { if (value != null) { // This extension's value is not the default value _null_, so write it to the stream. jgen.writeFieldName(key); JsonSerializer<Object> serializer = findLateSerializer(value.getClass(), provider); serializer.serialize(value, jgen, provider); }//from ww w . j a va 2s .co m }
From source file:org.cloudcoder.dataanalysis.ProgsnapExport.java
private String encodeLine(String tagname, Object value) throws IOException { StringWriter sw = new StringWriter(); JsonFactory factory = new JsonFactory(); JsonGenerator jg = factory.createGenerator(sw); jg.writeStartObject();/*from w ww.j a va2s.co m*/ jg.writeStringField("tag", tagname); jg.writeFieldName("value"); writeJsonFieldValue(jg, value); jg.writeEndObject(); jg.close(); return sw.toString(); }
From source file:com.proofpoint.event.client.EventFieldMetadata.java
private void writeMultimap(JsonGenerator jsonGenerator, Multimap<?, ?> value, Deque<Object> objectStack) throws IOException { jsonGenerator.writeStartObject();//from w w w . java 2 s. c om for (Map.Entry<?, ? extends Collection<?>> entry : value.asMap().entrySet()) { jsonGenerator.writeFieldName((String) entry.getKey()); writeArray(jsonGenerator, entry.getValue(), objectStack); } jsonGenerator.writeEndObject(); }
From source file:com.cedarsoft.serialization.test.performance.JacksonTest.java
@Test public void testIt() throws IOException { FileType fileType = new FileType("Canon Raw", new Extension(".", "cr2", true), false); ByteArrayOutputStream out = new ByteArrayOutputStream(); JsonGenerator generator = jsonFactory.createGenerator(out, JsonEncoding.UTF8); generator.writeStartObject();// w ww .jav a2s. c o m generator.writeStringField("id", fileType.getId()); generator.writeBooleanField("dependent", fileType.isDependent()); generator.writeFieldName("extension"); generator.writeStartObject(); generator.writeStringField("extension", fileType.getExtension().getExtension()); generator.writeBooleanField("default", fileType.getExtension().isDefault()); generator.writeStringField("delimiter", fileType.getExtension().getDelimiter()); generator.writeEndObject(); // generator.writeFieldName( "id" ); // generator.writeString( fileType.getId() ); generator.writeEndObject(); generator.close(); assertEquals(JSON, out.toString()); }
From source file:com.cedarsoft.serialization.test.performance.Bson4JacksonTest.java
@Test public void testIt() throws IOException { FileType fileType = new FileType("Canon Raw", new Extension(".", "cr2", true), false); ByteArrayOutputStream out = new ByteArrayOutputStream(); JsonGenerator generator = jsonFactory.createGenerator(out, JsonEncoding.UTF8); generator.writeStartObject();/* w w w . java2 s.com*/ generator.writeStringField("id", fileType.getId()); generator.writeBooleanField("dependent", fileType.isDependent()); generator.writeFieldName("extension"); generator.writeStartObject(); generator.writeStringField("extension", fileType.getExtension().getExtension()); generator.writeBooleanField("default", fileType.getExtension().isDefault()); generator.writeStringField("delimiter", fileType.getExtension().getDelimiter()); generator.writeEndObject(); // generator.writeFieldName( "id" ); // generator.writeString( fileType.getId() ); generator.writeEndObject(); generator.close(); assertEquals(BSON, Hex.encodeHexString(out.toByteArray())); }
From source file:org.eclipse.winery.repository.resources.servicetemplates.plans.PlansResource.java
@POST @RestDoc(methodDescription = "<p>Linked plans are currently not supported. Existing plans with the same id are overwritten</p> <p>@return JSON with .tableData: Array with row data for dataTable</p>") @Consumes({ MediaType.MULTIPART_FORM_DATA }) @Produces(MediaType.APPLICATION_JSON)//from www.java 2 s.co m // the supertype consumes JSON and XML at org.eclipse.winery.repository.resources._support.collections.EntityCollectionResource.addNewElement(EntityT) // @formatter:off public Response onPost(@FormDataParam("planName") String name, @FormDataParam("planType") String type, @FormDataParam("planLanguage") @RestDocParam(description = "the plan language (e..g, BPMN or BPEL). Full URL.") String language, @FormDataParam("file") @RestDocParam(description = "(optional in the case of BPMN4TOSCA) file containing the plan.") InputStream uploadedInputStream, @FormDataParam("file") FormDataContentDisposition fileDetail, @FormDataParam("file") FormDataBodyPart body) { // @formatter:on if (StringUtils.isEmpty(name)) { return Response.status(Status.BAD_REQUEST).entity("planName must be given").build(); } if (StringUtils.isEmpty(type)) { return Response.status(Status.BAD_REQUEST).entity("planType must be given").build(); } if (StringUtils.isEmpty(language)) { return Response.status(Status.BAD_REQUEST).entity("planLanguage must be given").build(); } boolean bpmn4toscaMode = org.eclipse.winery.common.constants.Namespaces.URI_BPMN4TOSCA_20.equals(language); if (!bpmn4toscaMode) { if (uploadedInputStream == null) { return Response.status(Status.BAD_REQUEST).entity("file must be given").build(); } } // A plan carries both a name and an ID // To be user-friendly, we create the ID based on the name // the drawback is, that we do not allow two plans with the same name // during creation, but allow renaming plans to the same name (as we do // not allow ID renaming) String xmlId = Utils.createXMLidAsString(name); // BEGIN: Store plan file // Determine Id PlansId plansId = new PlansId((ServiceTemplateId) ((ServiceTemplateResource) this.res).getId()); PlanId planId = new PlanId(plansId, new XMLId(xmlId, false)); // Ensure overwriting if (Repository.INSTANCE.exists(planId)) { try { Repository.INSTANCE.forceDelete(planId); // Quick hack to remove the deleted plan from the plans element ((ServiceTemplateResource) this.res).synchronizeReferences(); } catch (IOException e) { return Response.status(Status.INTERNAL_SERVER_ERROR).entity(e.getMessage()).build(); } } String fileName; if (bpmn4toscaMode) { fileName = xmlId + Constants.SUFFIX_BPMN4TOSCA; RepositoryFileReference ref = new RepositoryFileReference(planId, fileName); try { Repository.INSTANCE.putContentToFile(ref, "{}", MediaType.APPLICATION_JSON_TYPE); } catch (IOException e1) { return Response.status(Status.INTERNAL_SERVER_ERROR) .entity("Could not create empty plan. " + e1.getMessage()).build(); } } else { // We use the filename also as local file name. Alternatively, we could use the xml id // With URL encoding, this should not be an issue fileName = Util.URLencode(fileDetail.getFileName()); // Really store it RepositoryFileReference ref = new RepositoryFileReference(planId, fileName); try { Repository.INSTANCE.putContentToFile(ref, uploadedInputStream, body.getMediaType()); } catch (IOException e1) { return Response.status(Status.INTERNAL_SERVER_ERROR) .entity("Could not store plan. " + e1.getMessage()).build(); } } // END: Store plan file TPlan plan = new TPlan(); plan.setId(xmlId); plan.setName(name); plan.setPlanType(type); plan.setPlanLanguage(language); PlansResource.setPlanModelReference(plan, planId, fileName); this.list.add(plan); // prepare result JsonFactory jsonFactory = new JsonFactory(); StringWriter sw = new StringWriter(); try { JsonGenerator jGenerator = jsonFactory.createGenerator(sw); jGenerator.writeStartObject(); jGenerator.writeFieldName("tableData"); jGenerator.writeStartArray(); jGenerator.writeString(xmlId); jGenerator.writeString(""); // precondition jGenerator.writeString(name); jGenerator.writeString(PlanTypesManager.INSTANCE.getShortName(type)); jGenerator.writeString(PlanLanguagesManager.INSTANCE.getShortName(language)); jGenerator.writeEndArray(); jGenerator.writeEndObject(); jGenerator.close(); sw.close(); } catch (JsonGenerationException e) { PlansResource.logger.error(e.getMessage(), e); return Response.serverError().build(); } catch (IOException e) { PlansResource.logger.error(e.getMessage(), e); return Response.serverError().build(); } Response res = BackendUtils.persist(this.res); if (res.getStatus() == 204) { // everything OK, return created return Response.created(Utils.createURI(Util.URLencode(xmlId))).entity(sw.toString()).build(); } else { return res; } }