List of usage examples for com.fasterxml.jackson.core JsonGenerator writeEndObject
public abstract void writeEndObject() throws IOException, JsonGenerationException;
From source file:org.bndtools.rt.repository.marshall.CapReqJson.java
public static void writeProviderArray(Map<Requirement, Collection<Capability>> providers, JsonGenerator generator) throws IOException { generator.writeStartArray();// ww w. j a v a 2 s .c om for (Entry<Requirement, Collection<Capability>> provider : providers.entrySet()) { generator.writeStartObject(); generator.writeFieldName("req"); writeRequirement(provider.getKey(), generator); generator.writeFieldName("providers"); writeCapabilityArray(provider.getValue(), generator); generator.writeEndObject(); } generator.writeEndArray(); }
From source file:org.elasticsearch.client.sniff.ElasticsearchHostsSnifferTests.java
private static SniffResponse buildSniffResponse(ElasticsearchHostsSniffer.Scheme scheme) throws IOException { int numNodes = RandomNumbers.randomIntBetween(getRandom(), 1, 5); List<HttpHost> hosts = new ArrayList<>(numNodes); JsonFactory jsonFactory = new JsonFactory(); StringWriter writer = new StringWriter(); JsonGenerator generator = jsonFactory.createGenerator(writer); generator.writeStartObject();/* w w w. j a v a 2 s .co m*/ if (getRandom().nextBoolean()) { generator.writeStringField("cluster_name", "elasticsearch"); } if (getRandom().nextBoolean()) { generator.writeObjectFieldStart("bogus_object"); generator.writeEndObject(); } generator.writeObjectFieldStart("nodes"); for (int i = 0; i < numNodes; i++) { String nodeId = RandomStrings.randomAsciiOfLengthBetween(getRandom(), 5, 10); generator.writeObjectFieldStart(nodeId); if (getRandom().nextBoolean()) { generator.writeObjectFieldStart("bogus_object"); generator.writeEndObject(); } if (getRandom().nextBoolean()) { generator.writeArrayFieldStart("bogus_array"); generator.writeStartObject(); generator.writeEndObject(); generator.writeEndArray(); } boolean isHttpEnabled = rarely() == false; if (isHttpEnabled) { String host = "host" + i; int port = RandomNumbers.randomIntBetween(getRandom(), 9200, 9299); HttpHost httpHost = new HttpHost(host, port, scheme.toString()); hosts.add(httpHost); generator.writeObjectFieldStart("http"); if (getRandom().nextBoolean()) { generator.writeArrayFieldStart("bound_address"); generator.writeString("[fe80::1]:" + port); generator.writeString("[::1]:" + port); generator.writeString("127.0.0.1:" + port); generator.writeEndArray(); } if (getRandom().nextBoolean()) { generator.writeObjectFieldStart("bogus_object"); generator.writeEndObject(); } generator.writeStringField("publish_address", httpHost.toHostString()); if (getRandom().nextBoolean()) { generator.writeNumberField("max_content_length_in_bytes", 104857600); } generator.writeEndObject(); } if (getRandom().nextBoolean()) { String[] roles = { "master", "data", "ingest" }; int numRoles = RandomNumbers.randomIntBetween(getRandom(), 0, 3); Set<String> nodeRoles = new HashSet<>(numRoles); for (int j = 0; j < numRoles; j++) { String role; do { role = RandomPicks.randomFrom(getRandom(), roles); } while (nodeRoles.add(role) == false); } generator.writeArrayFieldStart("roles"); for (String nodeRole : nodeRoles) { generator.writeString(nodeRole); } generator.writeEndArray(); } int numAttributes = RandomNumbers.randomIntBetween(getRandom(), 0, 3); Map<String, String> attributes = new HashMap<>(numAttributes); for (int j = 0; j < numAttributes; j++) { attributes.put("attr" + j, "value" + j); } if (numAttributes > 0) { generator.writeObjectFieldStart("attributes"); } for (Map.Entry<String, String> entry : attributes.entrySet()) { generator.writeStringField(entry.getKey(), entry.getValue()); } if (numAttributes > 0) { generator.writeEndObject(); } generator.writeEndObject(); } generator.writeEndObject(); generator.writeEndObject(); generator.close(); return SniffResponse.buildResponse(writer.toString(), hosts); }
From source file:com.meetingninja.csse.database.ProjectDatabaseAdapter.java
public static void updateProject(Project p) throws IOException { ByteArrayOutputStream json = new ByteArrayOutputStream(); // this type of print stream allows us to get a string easily PrintStream ps = new PrintStream(json); JsonGenerator jgen = JFACTORY.createGenerator(ps, JsonEncoding.UTF8); // Build JSON Object for Title jgen.writeStartObject();//w ww . j av a 2 s .co m jgen.writeStringField(Keys.Project.ID, p.getProjectID()); jgen.writeStringField("field", Keys.Project.TITLE); jgen.writeStringField("value", p.getProjectTitle()); jgen.writeEndObject(); jgen.close(); String payloadTitle = json.toString("UTF8"); ps.close(); json = new ByteArrayOutputStream(); // this type of print stream allows us to get a string easily ps = new PrintStream(json); jgen = JFACTORY.createGenerator(ps, JsonEncoding.UTF8); // Build JSON Object for Project members jgen.writeStartObject(); jgen.writeStringField(Keys.Project.ID, p.getProjectID()); jgen.writeStringField("field", Keys.Project.MEETINGS); jgen.writeArrayFieldStart("value"); for (Meeting meeting : p.getMeetings()) { jgen.writeStartObject(); jgen.writeStringField(Keys.Meeting.ID, meeting.getID()); jgen.writeEndObject(); } jgen.writeEndArray(); jgen.writeEndObject(); jgen.close(); String payloadMeetings = json.toString("UTF8"); ps.close(); json = new ByteArrayOutputStream(); // this type of print stream allows us to get a string easily ps = new PrintStream(json); jgen = JFACTORY.createGenerator(ps, JsonEncoding.UTF8); // Build JSON Object for Project members jgen.writeStartObject(); jgen.writeStringField(Keys.Project.ID, p.getProjectID()); jgen.writeStringField("field", Keys.Project.NOTES); jgen.writeArrayFieldStart("value"); for (Note note : p.getNotes()) { jgen.writeStartObject(); jgen.writeStringField(Keys.Note.ID, note.getID()); jgen.writeEndObject(); } jgen.writeEndArray(); jgen.writeEndObject(); jgen.close(); String payloadNotes = json.toString("UTF8"); ps.close(); json = new ByteArrayOutputStream(); // this type of print stream allows us to get a string easily ps = new PrintStream(json); jgen = JFACTORY.createGenerator(ps, JsonEncoding.UTF8); // Build JSON Object for Project members jgen.writeStartObject(); jgen.writeStringField(Keys.Project.ID, p.getProjectID()); jgen.writeStringField("field", Keys.Project.MEMBERS); jgen.writeArrayFieldStart("value"); for (User member : p.getMembers()) { jgen.writeStartObject(); jgen.writeStringField(Keys.User.ID, member.getID()); jgen.writeEndObject(); } jgen.writeEndArray(); jgen.writeEndObject(); jgen.close(); String payloadMembers = json.toString("UTF8"); ps.close(); // Establish connection updateHelper(payloadTitle); updateHelper(payloadMeetings); updateHelper(payloadNotes); System.out.println(updateHelper(payloadMembers)); }
From source file:com.meetingninja.csse.database.NotesDatabaseAdapter.java
public static String createNote(Note n) throws Exception { // Server URL setup String _url = getBaseUri().build().toString(); // Establish connection URL url = new URL(_url); HttpURLConnection conn = (HttpURLConnection) url.openConnection(); // add request header conn.setRequestMethod(IRequest.POST); //addRequestHeader(conn, true); // prepare POST payload ByteArrayOutputStream json = new ByteArrayOutputStream(); // this type of print stream allows us to get a string easily PrintStream ps = new PrintStream(json); // Create a generator to build the JSON string JsonGenerator jgen = JFACTORY.createGenerator(ps, JsonEncoding.UTF8); // Build JSON Object jgen.writeStartObject();/*from www .ja va 2 s . c o m*/ jgen.writeStringField(Keys.Note.CREATED_BY, n.getCreatedBy()); jgen.writeStringField(Keys.Note.TITLE, n.getTitle()); jgen.writeStringField(Keys.Note.DESC, n.getDescription()); jgen.writeStringField(Keys.Note.CONTENT, n.getContent()); jgen.writeStringField(Keys.Note.UPDATED, n.getDateCreated()); jgen.writeEndObject(); jgen.close(); // Get JSON Object payload from print stream String payload = json.toString("UTF8"); Log.d("CREATENOTE_payload", payload); ps.close(); // Send payload int responseCode = sendPostPayload(conn, payload); String response = getServerResponse(conn); Log.d("CREATENOTE_response", response); String ID = ""; if (!response.isEmpty()) { JsonNode tree = MAPPER.readTree(response); if (!tree.has(Keys.Note.ID)) ID = "-1"; else ID = tree.get(Keys.Note.ID).asText(); } conn.disconnect(); return ID; }
From source file:eu.project.ttc.readers.TermSuiteJsonCasSerializer.java
public static void serialize(Writer writer, JCas jCas) throws IOException { JsonFactory jsonFactory = new JsonFactory(); JsonGenerator jg = jsonFactory.createGenerator(writer); jg.useDefaultPrettyPrinter();//from ww w .j av a2 s . c om jg.writeStartObject(); jg.writeFieldName(F_SDI); writeSDI(jg, jCas); jg.writeFieldName(F_WORD_ANNOTATIONS); writeWordAnnotations(jg, jCas); jg.writeFieldName(F_TERM_OCC_ANNOTATIONS); writeTermOccAnnotations(jg, jCas); jg.writeFieldName(F_FIXED_EXPRESSIONS); writeFixedExpressions(jg, jCas); writeCoveredText(jg, jCas); jg.writeEndObject(); jg.flush(); writer.close(); }
From source file:com.netflix.hystrix.contrib.sample.stream.HystrixUtilizationJsonStream.java
protected static String convertToJson(HystrixUtilization utilization) throws IOException { StringWriter jsonString = new StringWriter(); JsonGenerator json = jsonFactory.createGenerator(jsonString); json.writeStartObject();// ww w .j a va 2 s . c o m json.writeStringField("type", "HystrixUtilization"); json.writeObjectFieldStart("commands"); for (Map.Entry<HystrixCommandKey, HystrixCommandUtilization> entry : utilization.getCommandUtilizationMap() .entrySet()) { final HystrixCommandKey key = entry.getKey(); final HystrixCommandUtilization commandUtilization = entry.getValue(); writeCommandUtilizationJson(json, key, commandUtilization); } json.writeEndObject(); json.writeObjectFieldStart("threadpools"); for (Map.Entry<HystrixThreadPoolKey, HystrixThreadPoolUtilization> entry : utilization .getThreadPoolUtilizationMap().entrySet()) { final HystrixThreadPoolKey threadPoolKey = entry.getKey(); final HystrixThreadPoolUtilization threadPoolUtilization = entry.getValue(); writeThreadPoolUtilizationJson(json, threadPoolKey, threadPoolUtilization); } json.writeEndObject(); json.writeEndObject(); json.close(); return jsonString.getBuffer().toString(); }
From source file:com.meetingninja.csse.database.AgendaDatabaseAdapter.java
public static Agenda createAgenda(Agenda create) throws IOException { Agenda newAgenda = new Agenda(create); // Server URL setup String _url = getBaseUri().build().toString(); // Establish connection URL url = new URL(_url); HttpURLConnection conn = (HttpURLConnection) url.openConnection(); // add request header conn.setRequestMethod(IRequest.POST); addRequestHeader(conn, true);//from www .j a v a2 s . c o m // prepare POST payload ByteArrayOutputStream json = new ByteArrayOutputStream(); // this type of print stream allows us to get a string easily PrintStream ps = new PrintStream(json); // Create a generator to build the JSON string JsonGenerator jgen = JFACTORY.createGenerator(ps, JsonEncoding.UTF8); // Build JSON Object jgen.writeStartObject(); // start agenda jgen.writeStringField(Keys.Agenda.TITLE, create.getTitle()); jgen.writeStringField(Keys.Agenda.MEETING, create.getAttachedMeetingID()); jgen.writeArrayFieldStart(Keys.Agenda.TOPIC); // start topics MAPPER.writeValue(jgen, create.getTopics()); // recursively does // subtopics jgen.writeEndArray(); // end topics jgen.writeEndObject(); // end agenda jgen.close(); // Get JSON Object payload from print stream String payload = json.toString("UTF8"); ps.close(); // Send payload int responseCode = sendPostPayload(conn, payload); String response = getServerResponse(conn); newAgenda = parseAgenda(MAPPER.readTree(response)); return newAgenda; }
From source file:org.bedework.carddav.vcard.JsonParameters.java
public static void addFields(final JsonGenerator jgen, final Property prop) throws WebdavException { try {//from w w w . ja v a 2s . c om jgen.writeStartObject(); final List<Parameter> pl = prop.getParameters(); if ((pl != null) && (pl.size() > 0)) { for (final Parameter p : pl) { final String nm = p.getId().getPname().toLowerCase(); jgen.writeFieldName(nm); if (multiMap.get(nm) == null) { jgen.writeString(p.getValue()); } else { outValue(jgen, p); } } } jgen.writeEndObject(); } catch (final Throwable t) { throw new WebdavException(t); } }
From source file:net.echinopsii.ariane.community.core.directory.wat.json.ds.technical.system.OSTypeJSON.java
public final static void osType2JSON(OSType osType, JsonGenerator jgenerator) throws IOException { jgenerator.writeStartObject();//from w ww .j a v a2s. co m jgenerator.writeNumberField(OST_ID, osType.getId()); jgenerator.writeNumberField(OST_VERSION, osType.getVersion()); jgenerator.writeStringField(OST_NAME, osType.getName()); jgenerator.writeStringField(OST_ARCHITECTURE, osType.getArchitecture()); jgenerator.writeNumberField(OST_CMP_ID, ((osType.getCompany() != null) ? osType.getCompany().getId() : -1)); jgenerator.writeArrayFieldStart(OST_OSI_ID); for (OSInstance osi : osType.getOsInstances()) jgenerator.writeNumber(osi.getId()); jgenerator.writeEndArray(); jgenerator.writeEndObject(); }
From source file:org.elasticsearch.client.sniff.ElasticsearchNodesSnifferTests.java
private static SniffResponse buildSniffResponse(ElasticsearchNodesSniffer.Scheme scheme) throws IOException { int numNodes = RandomNumbers.randomIntBetween(getRandom(), 1, 5); List<Node> nodes = new ArrayList<>(numNodes); JsonFactory jsonFactory = new JsonFactory(); StringWriter writer = new StringWriter(); JsonGenerator generator = jsonFactory.createGenerator(writer); generator.writeStartObject();/*from w ww . j ava 2s . com*/ if (getRandom().nextBoolean()) { generator.writeStringField("cluster_name", "elasticsearch"); } if (getRandom().nextBoolean()) { generator.writeObjectFieldStart("bogus_object"); generator.writeEndObject(); } generator.writeObjectFieldStart("nodes"); for (int i = 0; i < numNodes; i++) { String nodeId = RandomStrings.randomAsciiOfLengthBetween(getRandom(), 5, 10); String host = "host" + i; int port = RandomNumbers.randomIntBetween(getRandom(), 9200, 9299); HttpHost publishHost = new HttpHost(host, port, scheme.toString()); Set<HttpHost> boundHosts = new HashSet<>(); boundHosts.add(publishHost); if (randomBoolean()) { int bound = between(1, 5); for (int b = 0; b < bound; b++) { boundHosts.add(new HttpHost(host + b, port, scheme.toString())); } } int numAttributes = between(0, 5); Map<String, List<String>> attributes = new HashMap<>(numAttributes); for (int j = 0; j < numAttributes; j++) { int numValues = frequently() ? 1 : between(2, 5); List<String> values = new ArrayList<>(); for (int v = 0; v < numValues; v++) { values.add(j + "value" + v); } attributes.put("attr" + j, values); } Node node = new Node(publishHost, boundHosts, randomAsciiAlphanumOfLength(5), randomAsciiAlphanumOfLength(5), new Node.Roles(randomBoolean(), randomBoolean(), randomBoolean()), attributes); generator.writeObjectFieldStart(nodeId); if (getRandom().nextBoolean()) { generator.writeObjectFieldStart("bogus_object"); generator.writeEndObject(); } if (getRandom().nextBoolean()) { generator.writeArrayFieldStart("bogus_array"); generator.writeStartObject(); generator.writeEndObject(); generator.writeEndArray(); } boolean isHttpEnabled = rarely() == false; if (isHttpEnabled) { nodes.add(node); generator.writeObjectFieldStart("http"); generator.writeArrayFieldStart("bound_address"); for (HttpHost bound : boundHosts) { generator.writeString(bound.toHostString()); } generator.writeEndArray(); if (getRandom().nextBoolean()) { generator.writeObjectFieldStart("bogus_object"); generator.writeEndObject(); } generator.writeStringField("publish_address", publishHost.toHostString()); if (getRandom().nextBoolean()) { generator.writeNumberField("max_content_length_in_bytes", 104857600); } generator.writeEndObject(); } List<String> roles = Arrays.asList(new String[] { "master", "data", "ingest" }); Collections.shuffle(roles, getRandom()); generator.writeArrayFieldStart("roles"); for (String role : roles) { if ("master".equals(role) && node.getRoles().isMasterEligible()) { generator.writeString("master"); } if ("data".equals(role) && node.getRoles().isData()) { generator.writeString("data"); } if ("ingest".equals(role) && node.getRoles().isIngest()) { generator.writeString("ingest"); } } generator.writeEndArray(); generator.writeFieldName("version"); generator.writeString(node.getVersion()); generator.writeFieldName("name"); generator.writeString(node.getName()); if (numAttributes > 0) { generator.writeObjectFieldStart("attributes"); for (Map.Entry<String, List<String>> entry : attributes.entrySet()) { if (entry.getValue().size() == 1) { generator.writeStringField(entry.getKey(), entry.getValue().get(0)); } else { for (int v = 0; v < entry.getValue().size(); v++) { generator.writeStringField(entry.getKey() + "." + v, entry.getValue().get(v)); } } } generator.writeEndObject(); } generator.writeEndObject(); } generator.writeEndObject(); generator.writeEndObject(); generator.close(); return SniffResponse.buildResponse(writer.toString(), nodes); }