List of usage examples for com.fasterxml.jackson.core JsonGenerator writeArrayFieldStart
public final void writeArrayFieldStart(String fieldName) throws IOException, JsonGenerationException
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();// w w w. j a va2s . c o m 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:com.spotify.docker.client.DefaultDockerClient.java
@Override public String execCreate(String containerId, String[] cmd, ExecParameter... params) throws DockerException, InterruptedException { WebTarget resource = resource().path("containers").path(containerId).path("exec"); final StringWriter writer = new StringWriter(); try {//from w ww .j a va 2 s . co m final JsonGenerator generator = objectMapper().getFactory().createGenerator(writer); generator.writeStartObject(); for (ExecParameter param : params) { generator.writeBooleanField(param.getName(), true); } generator.writeArrayFieldStart("Cmd"); for (String s : cmd) { generator.writeString(s); } generator.writeEndArray(); generator.writeEndObject(); generator.close(); } catch (IOException e) { throw new DockerException(e); } String response; try { response = request(POST, String.class, resource, resource.request(APPLICATION_JSON_TYPE), Entity.json(writer.toString())); } catch (DockerRequestException e) { switch (e.status()) { case 404: throw new ContainerNotFoundException(containerId); default: throw e; } } try { JsonNode json = objectMapper().readTree(response); return json.findValue("Id").textValue(); } catch (IOException e) { throw new DockerException(e); } }
From source file:com.attribyte.essem.model.StoredGraph.java
/** * Generates JSON for this key./*from w ww.j a va2s . c o m*/ * @param generator The generator. * @throws java.io.IOException on generation error. */ public void generateJSON(final JsonGenerator generator) throws IOException { generator.writeStartObject(); generator.writeStringField("id", id); generator.writeStringField("uid", uid); generator.writeStringField("index", index); generator.writeStringField("application", key.application); generator.writeStringField("host", key.host); generator.writeStringField("instance", key.instance); generator.writeStringField("name", key.name); generator.writeStringField("field", key.field); generator.writeStringField("range", range); generator.writeNumberField("startTimestamp", startTimestamp); generator.writeNumberField("endTimestamp", endTimestamp); generator.writeStringField("downsampleFn", downsampleFn); if (rateUnit != null) generator.writeStringField("rateUnit", rateUnit); generator.writeStringField("title", title); generator.writeStringField("description", description); generator.writeStringField("xLabel", xLabel); generator.writeStringField("yLabel", yLabel); generator.writeArrayFieldStart("tag"); for (String tag : tags) { generator.writeString(tag); } generator.writeEndArray(); generator.writeStringField("created", DateTime.standardFormat(this.createTime)); generator.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. ja v a 2 s. c o m*/ 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: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 w w . ja va2s .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); }
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 {// w ww.ja v a 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.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()); }//from w ww . j a v a 2 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(// w ww . j av a 2s . c om 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:org.apache.olingo.commons.core.data.JSONEntrySerializer.java
@Override protected void doSerialize(final JSONEntryImpl entry, final JsonGenerator jgen, final SerializerProvider provider) throws IOException, JsonProcessingException { jgen.writeStartObject();//from www . j a v a2 s . c o m if (entry.getMetadata() != null) { jgen.writeStringField(Constants.JSON_METADATA, entry.getMetadata().toASCIIString()); } if (entry.getId() != null) { jgen.writeStringField(Constants.JSON_ID, entry.getId()); } final Map<String, List<String>> entitySetLinks = new HashMap<String, List<String>>(); for (Link link : entry.getNavigationLinks()) { ODataLinkType type = null; try { type = ODataLinkType.fromString(version, link.getRel(), link.getType()); } catch (IllegalArgumentException e) { // ignore } if (type == ODataLinkType.ENTITY_SET_NAVIGATION) { final List<String> uris; if (entitySetLinks.containsKey(link.getTitle())) { uris = entitySetLinks.get(link.getTitle()); } else { uris = new ArrayList<String>(); entitySetLinks.put(link.getTitle(), uris); } uris.add(link.getHref()); } else { if (StringUtils.isNotBlank(link.getHref())) { jgen.writeStringField(link.getTitle() + Constants.JSON_BIND_LINK_SUFFIX, link.getHref()); } } if (link.getInlineEntry() != null) { jgen.writeObjectField(link.getTitle(), link.getInlineEntry()); } else if (link.getInlineFeed() != null) { jgen.writeArrayFieldStart(link.getTitle()); for (Entry subEntry : link.getInlineFeed().getEntries()) { jgen.writeObject(subEntry); } jgen.writeEndArray(); } } for (Map.Entry<String, List<String>> entitySetLink : entitySetLinks.entrySet()) { jgen.writeArrayFieldStart(entitySetLink.getKey() + Constants.JSON_BIND_LINK_SUFFIX); for (String uri : entitySetLink.getValue()) { jgen.writeString(uri); } jgen.writeEndArray(); } for (Link link : entry.getMediaEditLinks()) { if (link.getTitle() == null) { jgen.writeStringField(Constants.JSON_MEDIAEDIT_LINK, link.getHref()); } if (link.getInlineEntry() != null) { jgen.writeObjectField(link.getTitle(), link.getInlineEntry()); } if (link.getInlineFeed() != null) { jgen.writeArrayFieldStart(link.getTitle()); for (Entry subEntry : link.getInlineFeed().getEntries()) { jgen.writeObject(subEntry); } jgen.writeEndArray(); } } for (Property property : entry.getProperties()) { property(jgen, property, property.getName()); } jgen.writeEndObject(); }