List of usage examples for com.fasterxml.jackson.core JsonGenerator writeEndArray
public abstract void writeEndArray() throws IOException, JsonGenerationException;
From source file:ch.ralscha.extdirectspring.util.MapActionSerializer.java
@Override public void serialize(Map<String, List<Action>> value, JsonGenerator jgen, SerializerProvider provider) throws IOException { if (null != value) { jgen.writeStartObject();// w w w . j a v a2 s . com for (Entry<String, List<Action>> entry : value.entrySet()) { String key = entry.getKey(); jgen.writeArrayFieldStart(key); List<Action> actions = entry.getValue(); for (Action action : actions) { // PrettyPrinter is not set the generator is on one line // mode if (jgen.getPrettyPrinter() != null && action instanceof ActionDoc) {// insertion // of // doc // here ActionDoc actionDoc = (ActionDoc) action; jgen.writeRaw("\n\t/**"); if (actionDoc.isDeprecated()) { jgen.writeRaw("\n\t* @deprecated"); } jgen.writeRaw("\n\t* " + actionDoc.getName() + ": " + actionDoc.getMethodComment()); jgen.writeRaw("\n\t* @author: " + actionDoc.getAuthor()); jgen.writeRaw("\n\t* @version: " + actionDoc.getVersion()); jgen.writeRaw("\n\t*"); for (Entry<String, String> entry2 : actionDoc.getParameters().entrySet()) { jgen.writeRaw("\n\t* @param: [" + entry2.getKey() + "] " + entry2.getValue()); } jgen.writeRaw("\n\t* @return"); for (Entry<String, String> entry2 : actionDoc.getReturnMethod().entrySet()) { jgen.writeRaw("\n\t*\t [" + entry2.getKey() + "] " + entry2.getValue()); } jgen.writeRaw("\n\t*/\n"); } jgen.writeObject(action); } jgen.writeEndArray(); } jgen.writeEndObject(); } }
From source file:org.apache.olingo.server.core.serializer.json.ODataJsonSerializer.java
@Override public SerializerResult referenceCollection(final ServiceMetadata metadata, final EdmEntitySet edmEntitySet, final AbstractEntityCollection entityCollection, final ReferenceCollectionSerializerOptions options) throws SerializerException { OutputStream outputStream = null; SerializerException cachedException = null; boolean pagination = false; try {//from w w w . ja va 2 s. co m final ContextURL contextURL = checkContextURL(options == null ? null : options.getContextURL()); CircleStreamBuffer buffer = new CircleStreamBuffer(); final UriHelper uriHelper = new UriHelperImpl(); outputStream = buffer.getOutputStream(); final JsonGenerator json = new JsonFactory().createGenerator(outputStream); json.writeStartObject(); writeContextURL(contextURL, json); if (options != null && options.getCount() != null && options.getCount().getValue()) { writeInlineCount("", entityCollection.getCount(), json); } json.writeArrayFieldStart(Constants.VALUE); for (final Entity entity : entityCollection) { json.writeStartObject(); json.writeStringField(constants.getId(), uriHelper.buildCanonicalURL(edmEntitySet, entity)); json.writeEndObject(); } json.writeEndArray(); writeNextLink(entityCollection, json, pagination); json.writeEndObject(); json.close(); outputStream.close(); return SerializerResultImpl.with().content(buffer.getInputStream()).build(); } catch (final IOException e) { cachedException = new SerializerException(IO_EXCEPTION_TEXT, e, SerializerException.MessageKeys.IO_EXCEPTION); throw cachedException; } finally { closeCircleStreamBufferOutput(outputStream, cachedException); } }
From source file:org.apache.airavata.db.AbstractThriftSerializer.java
@Override public void serialize(final T value, final JsonGenerator jgen, final SerializerProvider provider) throws IOException { jgen.writeStartObject();/*from ww w .j a v a2s .c o m*/ for (final E field : getFieldValues()) { if (value.isSet(field)) { final Object fieldValue = value.getFieldValue(field); if (fieldValue != null) { log.debug("Adding field {} to the JSON string...", CaseFormat.UPPER_CAMEL.to(CaseFormat.LOWER_CAMEL, field.getFieldName())); jgen.writeFieldName(CaseFormat.UPPER_CAMEL.to(CaseFormat.LOWER_CAMEL, field.getFieldName())); if (fieldValue instanceof Short) { jgen.writeNumber((Short) fieldValue); } else if (fieldValue instanceof Integer) { jgen.writeNumber((Integer) fieldValue); } else if (fieldValue instanceof Long) { jgen.writeNumber((Long) fieldValue); } else if (fieldValue instanceof Double) { jgen.writeNumber((Double) fieldValue); } else if (fieldValue instanceof Float) { jgen.writeNumber((Float) fieldValue); } else if (fieldValue instanceof Boolean) { jgen.writeBoolean((Boolean) fieldValue); } else if (fieldValue instanceof String) { jgen.writeString(fieldValue.toString()); } else if (fieldValue instanceof Collection) { log.debug("Array opened for field {}.", CaseFormat.UPPER_CAMEL.to(CaseFormat.LOWER_CAMEL, field.getFieldName())); jgen.writeStartArray(); for (final Object arrayObject : (Collection<?>) fieldValue) { jgen.writeObject(arrayObject); } jgen.writeEndArray(); log.debug("Array closed for field {}.", CaseFormat.UPPER_CAMEL.to(CaseFormat.LOWER_CAMEL, field.getFieldName())); } else { jgen.writeObject(fieldValue); } } else { log.debug("Skipping converting field {} to JSON: value is null!", CaseFormat.UPPER_CAMEL.to(CaseFormat.LOWER_CAMEL, field.getFieldName())); } } else { log.debug("Skipping converting field {} to JSON: field has not been set!", CaseFormat.UPPER_CAMEL.to(CaseFormat.LOWER_CAMEL, field.getFieldName())); } } jgen.writeEndObject(); }
From source file:com.baidubce.services.bos.BosClient.java
/** * Completes a multipart upload by assembling previously uploaded parts. * * @param request The CompleteMultipartUploadRequest object that specifies all the parameters of this operation. * @return A CompleteMultipartUploadResponse from Bos containing the ETag for * the new object composed of the individual parts. *//*from w w w . j a v a2 s . c om*/ public CompleteMultipartUploadResponse completeMultipartUpload(CompleteMultipartUploadRequest request) { checkNotNull(request, "request should not be null."); InternalRequest internalRequest = this.createRequest(request, HttpMethodName.POST); internalRequest.addParameter("uploadId", request.getUploadId()); ObjectMetadata metadata = request.getObjectMetadata(); if (metadata != null) { populateRequestMetadata(internalRequest, metadata); } byte[] json = null; List<PartETag> partETags = request.getPartETags(); StringWriter writer = new StringWriter(); try { JsonGenerator jsonGenerator = JsonUtils.jsonGeneratorOf(writer); jsonGenerator.writeStartObject(); jsonGenerator.writeArrayFieldStart("parts"); for (PartETag partETag : partETags) { jsonGenerator.writeStartObject(); jsonGenerator.writeNumberField("partNumber", partETag.getPartNumber()); jsonGenerator.writeStringField("eTag", partETag.getETag()); jsonGenerator.writeEndObject(); } jsonGenerator.writeEndArray(); jsonGenerator.writeEndObject(); jsonGenerator.close(); } catch (IOException e) { throw new BceClientException("Fail to generate json", e); } try { json = writer.toString().getBytes(DEFAULT_ENCODING); } catch (UnsupportedEncodingException e) { throw new BceClientException("Fail to get UTF-8 bytes", e); } internalRequest.addHeader(Headers.CONTENT_LENGTH, String.valueOf(json.length)); internalRequest.addHeader(Headers.CONTENT_TYPE, "application/json"); internalRequest.setContent(RestartableInputStream.wrap(json)); CompleteMultipartUploadResponse response = this.invokeHttpClient(internalRequest, CompleteMultipartUploadResponse.class); response.setBucketName(request.getBucketName()); return response; }
From source file:org.openiot.security.oauth.OAuth20ProfileController.java
@Override protected ModelAndView handleRequestInternal(final HttpServletRequest request, final HttpServletResponse response) throws Exception { final String accessToken = request.getParameter(OAuthConstants.ACCESS_TOKEN); log.debug("accessToken : {}", accessToken); final JsonFactory jsonFactory = new JsonFactory(); final JsonGenerator jsonGenerator = jsonFactory.createJsonGenerator(response.getWriter()); response.setContentType("application/json"); // accessToken is required if (StringUtils.isBlank(accessToken)) { log.error("missing accessToken"); jsonGenerator.writeStartObject(); jsonGenerator.writeStringField("error", OAuthConstants.MISSING_ACCESS_TOKEN); jsonGenerator.writeEndObject();/*from w w w . jav a 2 s . c om*/ jsonGenerator.close(); response.flushBuffer(); return null; } // get ticket granting ticket final TicketGrantingTicket ticketGrantingTicket = (TicketGrantingTicket) this.ticketRegistry .getTicket(accessToken); if (ticketGrantingTicket == null || ticketGrantingTicket.isExpired()) { log.error("expired accessToken : {}", accessToken); jsonGenerator.writeStartObject(); jsonGenerator.writeStringField("error", OAuthConstants.EXPIRED_ACCESS_TOKEN); jsonGenerator.writeEndObject(); jsonGenerator.close(); response.flushBuffer(); return null; } // generate profile : identifier + attributes final Principal principal = ticketGrantingTicket.getAuthentication().getPrincipal(); jsonGenerator.writeStartObject(); jsonGenerator.writeStringField(CasWrapperProfile.ID, principal.getId()); jsonGenerator.writeArrayFieldStart(CasWrapperProfile.ATTRIBUTES); final Map<String, Object> attributes = principal.getAttributes(); for (final String key : attributes.keySet()) { jsonGenerator.writeStartObject(); Object vals = attributes.get(key); if (vals instanceof Iterable<?>) { jsonGenerator.writeArrayFieldStart(key); for (final Object value : (Iterable<?>) vals) jsonGenerator.writeString(value.toString()); jsonGenerator.writeEndArray(); } else if ("role_name".equals(key)) { jsonGenerator.writeArrayFieldStart(key); if (!StringUtils.isBlank((String) vals)) jsonGenerator.writeString(vals.toString()); jsonGenerator.writeEndArray(); } else jsonGenerator.writeObjectField(key, attributes.get(key)); jsonGenerator.writeEndObject(); } jsonGenerator.writeEndArray(); jsonGenerator.writeEndObject(); jsonGenerator.close(); response.flushBuffer(); return null; }
From source file:org.apache.olingo.commons.core.serialization.JsonEntitySetSerializer.java
protected void doContainerSerialize(final ResWrap<EntitySet> container, final JsonGenerator jgen) throws IOException, EdmPrimitiveTypeException { final EntitySet entitySet = container.getPayload(); jgen.writeStartObject();/* w w w . j a v a 2s . com*/ if (serverMode) { if (container.getContextURL() != null) { jgen.writeStringField(version.compareTo(ODataServiceVersion.V40) >= 0 ? Constants.JSON_CONTEXT : Constants.JSON_METADATA, container.getContextURL().toASCIIString()); } if (version.compareTo(ODataServiceVersion.V40) >= 0 && StringUtils.isNotBlank(container.getMetadataETag())) { jgen.writeStringField(Constants.JSON_METADATA_ETAG, container.getMetadataETag()); } } if (entitySet.getId() != null) { jgen.writeStringField(version.getJsonName(ODataServiceVersion.JsonKey.ID), entitySet.getId().toASCIIString()); } jgen.writeNumberField(version.getJsonName(ODataServiceVersion.JsonKey.COUNT), entitySet.getCount() == null ? entitySet.getEntities().size() : entitySet.getCount()); if (serverMode) { if (entitySet.getNext() != null) { jgen.writeStringField(version.getJsonName(ODataServiceVersion.JsonKey.NEXT_LINK), entitySet.getNext().toASCIIString()); } if (entitySet.getDeltaLink() != null) { jgen.writeStringField(version.getJsonName(ODataServiceVersion.JsonKey.DELTA_LINK), entitySet.getDeltaLink().toASCIIString()); } } for (Annotation annotation : entitySet.getAnnotations()) { valuable(jgen, annotation, "@" + annotation.getTerm()); } jgen.writeArrayFieldStart(Constants.VALUE); final JsonEntitySerializer entitySerializer = new JsonEntitySerializer(version, serverMode); for (Entity entity : entitySet.getEntities()) { entitySerializer.doSerialize(entity, jgen); } jgen.writeEndArray(); jgen.writeEndObject(); }
From source file:org.apache.olingo.client.core.serialization.JsonSerializer.java
protected void clientLinks(final Linked linked, final JsonGenerator jgen) throws IOException, EdmPrimitiveTypeException { final Map<String, List<String>> entitySetLinks = new HashMap<String, List<String>>(); for (Link link : linked.getNavigationLinks()) { for (Annotation annotation : link.getAnnotations()) { valuable(jgen, annotation, link.getTitle() + "@" + annotation.getTerm()); }/* w w w.j av a2 s .c o m*/ if (isEntitySetNavigation(link)) { final List<String> uris; if (entitySetLinks.containsKey(link.getTitle())) { uris = entitySetLinks.get(link.getTitle()); } else { uris = new ArrayList<String>(); entitySetLinks.put(link.getTitle(), uris); } if (StringUtils.isNotBlank(link.getHref())) { uris.add(link.getHref()); } } else { if (StringUtils.isNotBlank(link.getHref())) { jgen.writeStringField(link.getTitle() + Constants.JSON_BIND_LINK_SUFFIX, link.getHref()); } } if (link.getInlineEntity() != null) { jgen.writeFieldName(link.getTitle()); new JsonEntitySerializer(serverMode, contentType).doSerialize(link.getInlineEntity(), jgen); } else if (link.getInlineEntitySet() != null) { jgen.writeArrayFieldStart(link.getTitle()); final JsonEntitySerializer entitySerializer = new JsonEntitySerializer(serverMode, contentType); for (Entity subEntry : link.getInlineEntitySet().getEntities()) { entitySerializer.doSerialize(subEntry, jgen); } jgen.writeEndArray(); } } for (Map.Entry<String, List<String>> entitySetLink : entitySetLinks.entrySet()) { if (!entitySetLink.getValue().isEmpty()) { jgen.writeArrayFieldStart(entitySetLink.getKey() + Constants.JSON_BIND_LINK_SUFFIX); for (String uri : entitySetLink.getValue()) { jgen.writeString(uri); } jgen.writeEndArray(); } } }
From source file:org.apache.olingo.client.core.serialization.JsonSerializer.java
protected void serverLinks(final Linked linked, final JsonGenerator jgen) throws IOException, EdmPrimitiveTypeException { if (linked instanceof Entity) { for (Link link : ((Entity) linked).getMediaEditLinks()) { if (StringUtils.isNotBlank(link.getHref())) { jgen.writeStringField(/*ww w. j a va2 s . co m*/ link.getTitle() + StringUtils.prependIfMissing(Constants.JSON_MEDIA_EDIT_LINK, "@"), link.getHref()); } } } for (Link link : linked.getAssociationLinks()) { if (StringUtils.isNotBlank(link.getHref())) { jgen.writeStringField(link.getTitle() + Constants.JSON_ASSOCIATION_LINK, link.getHref()); } } for (Link link : linked.getNavigationLinks()) { for (Annotation annotation : link.getAnnotations()) { valuable(jgen, annotation, link.getTitle() + "@" + annotation.getTerm()); } if (StringUtils.isNotBlank(link.getHref())) { jgen.writeStringField(link.getTitle() + Constants.JSON_NAVIGATION_LINK, link.getHref()); } if (link.getInlineEntity() != null) { jgen.writeFieldName(link.getTitle()); new JsonEntitySerializer(serverMode, contentType).doSerialize(link.getInlineEntity(), jgen); } else if (link.getInlineEntitySet() != null) { jgen.writeArrayFieldStart(link.getTitle()); JsonEntitySerializer entitySerializer = new JsonEntitySerializer(serverMode, contentType); for (Entity subEntry : link.getInlineEntitySet().getEntities()) { entitySerializer.doSerialize(subEntry, jgen); } jgen.writeEndArray(); } } }
From source file:com.google.openrtb.json.OpenRtbJsonWriter.java
protected void writeUserFields(User user, JsonGenerator gen) throws IOException { if (user.hasId()) { gen.writeStringField("id", user.getId()); }/*from w w w.j a va2 s . co m*/ if (user.hasBuyeruid()) { gen.writeStringField("buyeruid", user.getBuyeruid()); } if (user.hasYob()) { gen.writeNumberField("yob", user.getYob()); } if (user.hasGender() && Gender.forCode(user.getGender()) != null) { gen.writeStringField("gender", user.getGender()); } if (user.hasKeywords()) { gen.writeStringField("keywords", user.getKeywords()); } if (user.hasCustomdata()) { gen.writeStringField("customdata", user.getCustomdata()); } if (user.hasGeo()) { gen.writeFieldName("geo"); writeGeo(user.getGeo(), gen); } if (user.getDataCount() != 0) { gen.writeArrayFieldStart("data"); for (Data data : user.getDataList()) { writeData(data, gen); } gen.writeEndArray(); } }
From source file:com.baidubce.services.bos.BosClient.java
/** * Sets the Acl for the specified Bos bucket. * * @param request The request object containing the bucket to modify and the ACL to set. *//*from w ww. ja va2 s.com*/ public void setBucketAcl(SetBucketAclRequest request) { checkNotNull(request, "request should not be null."); InternalRequest internalRequest = this.createRequest(request, HttpMethodName.PUT); internalRequest.addParameter("acl", null); if (request.getCannedAcl() != null) { internalRequest.addHeader(Headers.BCE_ACL, request.getCannedAcl().toString()); this.setZeroContentLength(internalRequest); } else if (request.getAccessControlList() != null) { byte[] json = null; List<Grant> grants = request.getAccessControlList(); StringWriter writer = new StringWriter(); try { JsonGenerator jsonGenerator = JsonUtils.jsonGeneratorOf(writer); jsonGenerator.writeStartObject(); jsonGenerator.writeArrayFieldStart("accessControlList"); for (Grant grant : grants) { jsonGenerator.writeStartObject(); jsonGenerator.writeArrayFieldStart("grantee"); for (Grantee grantee : grant.getGrantee()) { jsonGenerator.writeStartObject(); jsonGenerator.writeStringField("id", grantee.getId()); jsonGenerator.writeEndObject(); } jsonGenerator.writeEndArray(); jsonGenerator.writeArrayFieldStart("permission"); for (Permission permission : grant.getPermission()) { jsonGenerator.writeString(permission.toString()); } jsonGenerator.writeEndArray(); jsonGenerator.writeEndObject(); } jsonGenerator.writeEndArray(); jsonGenerator.writeEndObject(); jsonGenerator.close(); } catch (IOException e) { throw new BceClientException("Fail to generate json", e); } try { json = writer.toString().getBytes(DEFAULT_ENCODING); } catch (UnsupportedEncodingException e) { throw new BceClientException("Fail to get UTF-8 bytes", e); } internalRequest.addHeader(Headers.CONTENT_LENGTH, String.valueOf(json.length)); internalRequest.addHeader(Headers.CONTENT_TYPE, "application/json"); internalRequest.setContent(RestartableInputStream.wrap(json)); } else { checkNotNull(null, "request.acl should not be null."); } this.invokeHttpClient(internalRequest, BosResponse.class); }