List of usage examples for com.fasterxml.jackson.core JsonGenerator writeString
public abstract void writeString(SerializableString text) throws IOException, JsonGenerationException;
From source file:org.opendaylight.sxp.csit.libraries.DeviceTestLibrary.java
/** * @param libraryServer Server where Library will be added *///ww w. ja va2 s .c o m public DeviceTestLibrary(RobotLibraryServer libraryServer) { super(libraryServer); connectionTimers.setReconciliationTime(0); connectionTimers.setDeleteHoldDownTime(0); pojoBindingsSerializer.registerModule( new SimpleModule().addSerializer(SxpBindingFields.class, new JsonSerializer<SxpBindingFields>() { @Override public void serialize(SxpBindingFields value, JsonGenerator jgen, SerializerProvider provider) throws IOException { jgen.writeStartObject(); jgen.writeNumberField("sgt", value.getSecurityGroupTag().getValue()); jgen.writeArrayFieldStart("ip-prefix"); jgen.writeString(new String(value.getIpPrefix().getValue())); jgen.writeEndArray(); jgen.writeEndObject(); } })); }
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)// www. j ava 2s. c o 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; } }
From source file:net.logstash.logback.composite.loggingevent.TagsJsonProvider.java
@SuppressWarnings("deprecation") private boolean writeTagIfNecessary(JsonGenerator generator, boolean hasWrittenStart, final Marker marker) throws IOException { if (!marker.getName().equals(JsonMessageJsonProvider.JSON_MARKER_NAME) && !LogstashMarkersJsonProvider.isLogstashMarker(marker)) { if (!hasWrittenStart) { generator.writeArrayFieldStart(getFieldName()); hasWrittenStart = true;/* w w w .j a v a 2 s.com*/ } generator.writeString(marker.getName()); } if (marker.hasReferences()) { for (Iterator<?> i = marker.iterator(); i.hasNext();) { Marker next = (Marker) i.next(); hasWrittenStart |= writeTagIfNecessary(generator, hasWrittenStart, next); } } return hasWrittenStart; }
From source file:net.opentsdb.contrib.tsquare.web.controller.ExtendedApiController.java
@RequestMapping(value = "/grep", method = RequestMethod.GET) public void grep(@RequestParam(required = false, defaultValue = "") String type, @RequestParam(required = false, defaultValue = "wildcard") String method, @RequestParam(required = true) String q, final HttpServletResponse servletResponse) throws IOException { if (log.isInfoEnabled()) { log.info("Suggest {} using {} expression: {}", type, method, q); }/*from w ww .j a va 2s. c o m*/ // Do we have a valid type? Note that an empty "type" is valid. if (!Strings.isNullOrEmpty(type)) { Preconditions.checkArgument(getTsdbManager().getKnownUidKinds().contains(type), "Unknown type: %s", type); } // We can only query hbase using regex, so convert a wildcard query into // a regex if necessary. final String regex; if ("wildcard".equalsIgnoreCase(method)) { regex = TsWebUtils.wildcardToRegex(q); log.debug("Converted wildcard expression {} to regex: {}", q, regex); } else { regex = q; } final UidQuery query = getTsdbManager().newUidQuery(); query.setRegex(regex); if (Strings.isNullOrEmpty(type)) { query.includeAllKinds(); } else { query.includeKind(type); } servletResponse.setContentType("application/json"); final OutputStream stream = servletResponse.getOutputStream(); final JsonGenerator json = new JsonFactory().createJsonGenerator(stream); try { json.writeStartArray(); query.run(new QueryCallback<Uid>() { @Override public boolean onResult(final Uid resultObject) { try { json.writeString(resultObject.getName()); return true; } catch (IOException e) { throw new IllegalArgumentException("Unable to serialize " + resultObject + " to JSON", e); } } }); json.writeEndArray(); json.flush(); } finally { Closeables.close(stream, false); } }
From source file:com.acmemotors.batch.LoaderJobConfiguration.java
@Bean @StepScope//from w w w . j a va2 s. com public ItemProcessor<Map<String, Object>, String> processor( @Value("#{jobParameters['delay']}") final long delay) { return item -> { DefaultSerializerProvider provider = new DefaultSerializerProvider.Impl(); provider.setNullValueSerializer(new JsonSerializer<Object>() { @Override public void serialize(Object value, JsonGenerator jgen, SerializerProvider provider) throws IOException { if (value == null) { jgen.writeString(""); } else { if (value instanceof String) { jgen.writeString((String) value); } else { if (value instanceof Integer) { jgen.writeNumber((Integer) value); } else { jgen.writeNumber((Double) value); } } } } }); ObjectMapper mapper = new ObjectMapper(); mapper.setSerializerProvider(provider); String processedItem = mapper.writeValueAsString(item); Thread.sleep(delay); return processedItem; }; }
From source file:org.eclipse.winery.repository.resources.entitytypes.relationshiptypes.VisualAppearanceResource.java
@GET @RestDoc(methodDescription = "@return JSON object to be used at jsPlumb.registerConnectionType('NAME', <data>)") @Produces(MediaType.APPLICATION_JSON)//w ww . j a v a2s .com public Response getConnectionTypeForJsPlumbData() { JsonFactory jsonFactory = new JsonFactory(); StringWriter sw = new StringWriter(); try { JsonGenerator jg = jsonFactory.createGenerator(sw); jg.writeStartObject(); jg.writeFieldName("connector"); jg.writeString("Flowchart"); jg.writeFieldName("paintStyle"); jg.writeStartObject(); jg.writeFieldName("lineWidth"); jg.writeNumber(this.getLineWidth()); jg.writeFieldName("strokeStyle"); jg.writeObject(this.getColor()); String dash = this.getDash(); if (!StringUtils.isEmpty(dash)) { String dashStyle = null; switch (dash) { case "dotted": dashStyle = "1 5"; break; case "dotted2": dashStyle = "3 4"; break; case "plain": // default works // otherwise, "1 0" can be used break; } if (dashStyle != null) { jg.writeStringField("dashstyle", dashStyle); } } jg.writeEndObject(); jg.writeFieldName("hoverPaintStyle"); jg.writeStartObject(); jg.writeFieldName("strokeStyle"); jg.writeObject(this.getHoverColor()); jg.writeEndObject(); // BEGIN: Overlays jg.writeFieldName("overlays"); jg.writeStartArray(); // source arrow head String head = this.getSourceArrowHead(); if (!head.equals("none")) { jg.writeStartArray(); jg.writeString(head); jg.writeStartObject(); jg.writeFieldName("location"); jg.writeNumber(0); // arrow should point towards the node and not away from it jg.writeFieldName("direction"); jg.writeNumber(-1); jg.writeFieldName("width"); jg.writeNumber(20); jg.writeFieldName("length"); jg.writeNumber(12); jg.writeEndObject(); jg.writeEndArray(); } // target arrow head head = this.getTargetArrowHead(); if (!head.equals("none")) { jg.writeStartArray(); jg.writeString(head); jg.writeStartObject(); jg.writeFieldName("location"); jg.writeNumber(1); jg.writeFieldName("width"); jg.writeNumber(20); jg.writeFieldName("length"); jg.writeNumber(12); jg.writeEndObject(); jg.writeEndArray(); } // Type in brackets on the arrow jg.writeStartArray(); jg.writeString("Label"); jg.writeStartObject(); jg.writeStringField("id", "label"); //jg.writeStringField("label", "(" + ((RelationshipTypeResource) this.res).getName() + ")"); jg.writeStringField("label", ""); jg.writeStringField("cssClass", "relationshipTypeLabel"); jg.writeFieldName("location"); jg.writeNumber(0.5); jg.writeEndObject(); jg.writeEndArray(); jg.writeEndArray(); // END: Overlays jg.writeEndObject(); jg.close(); } catch (Exception e) { VisualAppearanceResource.logger.error(e.getMessage(), e); return Response.status(Status.INTERNAL_SERVER_ERROR).entity(e).build(); } String res = sw.toString(); return Response.ok(res).build(); }
From source file:com.predic8.membrane.core.interceptor.authentication.session.TelekomSMSTokenProvider.java
@Override protected void sendSMS(String text, String recipientNumber) { recipientNumber = recipientNumber.replaceAll("^00", "\\+"); try {/*from w ww. ja va 2 s . c o m*/ ByteArrayOutputStream baos = new ByteArrayOutputStream(); JsonFactory jsonFactory = new JsonFactory(); JsonGenerator jg = jsonFactory.createGenerator(baos, JsonEncoding.UTF8); jg.writeStartObject(); jg.writeObjectFieldStart("outboundSMSMessageRequest"); jg.writeArrayFieldStart("address"); jg.writeString("tel:" + recipientNumber); jg.writeEndArray(); jg.writeStringField("senderAddress", senderAddress); jg.writeObjectFieldStart("outboundSMSTextMessage"); jg.writeStringField("message", text); jg.writeEndObject(); jg.writeStringField("outboundEncoding", "7bitGSM"); jg.writeStringField("clientCorrelator", "" + ((long) (Math.random() * Long.MAX_VALUE))); if (senderName != null) jg.writeStringField("senderName", senderName); jg.writeEndObject(); jg.writeEndObject(); jg.close(); Exchange exc = new Request.Builder() .post("https://gateway.developer.telekom.com/plone/sms/rest/" + environment.name().toLowerCase() + "/smsmessaging/v1/outbound/" + URLEncoder.encode(senderAddress, "UTF-8") + "/requests") .header("Host", "gateway.developer.telekom.com") .header("Authorization", "OAuth realm=\"developergarden.com\",oauth_token=\"" + getAccessToken() + "\"") .header("Accept", "application/json").header("Content-Type", "application/json") .body(baos.toByteArray()).buildExchange(); exc.setRule(new NullRule() { @Override public SSLProvider getSslOutboundContext() { return new SSLContext(new SSLParser(), new ResolverMap(), null); } }); hc.call(exc, false, true); if (exc.getResponse().getStatusCode() != 201) throw new RuntimeException("Could not send SMS: " + exc.getResponse()); log.debug("sent SMS to " + recipientNumber); } catch (Exception e2) { throw new RuntimeException(e2); } }
From source file:de.alexkamp.sandbox.ChrootSandboxProcess.java
public void toJson(JsonGenerator sender) throws IOException { sender.writeStartObject();/*from w w w.j ava 2s . c o m*/ sender.writeObjectField("WorkDir", getWorkdir()); sender.writeObjectField("Executable", getExecutable()); sender.writeObjectField("Timeout", getTimeout()); sender.writeArrayFieldStart("Arguments"); for (String arg : getArgs()) { sender.writeString(arg); } sender.writeEndArray(); sender.writeEndObject(); }
From source file:com.basho.riak.client.query.BucketMapReduce.java
@Override protected void writeInput(JsonGenerator jsonGenerator) throws IOException { if (hasFilters()) { jsonGenerator.writeObject(new Object() { @SuppressWarnings("unused") @JsonProperty//from w ww . ja va 2s . co m String bucket = getBucket(); @SuppressWarnings("unused") @JsonProperty Collection<Object[]> key_filters = getKeyFilters(); }); } else { jsonGenerator.writeString(bucket); } }
From source file:org.eclipse.winery.repository.resources.entitytypes.relationshiptypes.ImplementationsOfOneRelationshipTypeResource.java
/** * required by implementations.jsp// www. j a v a 2s . co m * * Method similar top the one of ImplementationsOfOneNodeTypeResource * * @return for each node type implementation implementing the associated * node type */ @Override public String getImplementationsTableData() { String res; JsonFactory jsonFactory = new JsonFactory(); StringWriter tableDataSW = new StringWriter(); try { JsonGenerator jGenerator = jsonFactory.createGenerator(tableDataSW); jGenerator.writeStartArray(); Collection<RelationshipTypeImplementationId> allNTIids = BackendUtils .getAllElementsRelatedWithATypeAttribute(RelationshipTypeImplementationId.class, this.getTypeId().getQName()); for (RelationshipTypeImplementationId ntiID : allNTIids) { jGenerator.writeStartArray(); jGenerator.writeString(ntiID.getNamespace().getDecoded()); jGenerator.writeString(ntiID.getXmlId().getDecoded()); jGenerator.writeEndArray(); } jGenerator.writeEndArray(); jGenerator.close(); tableDataSW.close(); res = tableDataSW.toString(); } catch (Exception e) { ImplementationsOfOneRelationshipTypeResource.LOGGER.error(e.getMessage(), e); res = "[]"; } return res; }