List of usage examples for com.fasterxml.jackson.core JsonGenerator writeStartObject
public abstract void writeStartObject() throws IOException, JsonGenerationException;
From source file:com.meetingninja.csse.database.GroupDatabaseAdapter.java
public static Group updateGroup(Group group) 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(); jgen.writeStringField(Keys.Group.ID, group.getGroupID()); jgen.writeStringField("field", Keys.Group.TITLE); jgen.writeStringField("value", group.getGroupTitle()); jgen.writeEndObject();//from www . j a v a 2 s .c o m 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 Group members jgen.writeStartObject(); jgen.writeStringField(Keys.Group.ID, group.getGroupID()); jgen.writeStringField("field", Keys.Group.MEMBERS); jgen.writeArrayFieldStart("value"); for (User member : group.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 sendSingleEdit(payloadTitle); String response = sendSingleEdit(payloadMembers); JsonNode groupNode = MAPPER.readTree(response); return parseGroup(groupNode, new Group()); }
From source file:jvmoptions.OptionAnalyzer.java
static Path toJson(String java6, String java7, String java8) throws Exception { Map<String, Map<String, String>> map6 = makeMap(java6); Map<String, Map<String, String>> map7 = makeMap(java7); Map<String, Map<String, String>> map8 = makeMap(java8); Path output = Paths.get("result", filename("json")); JsonFactory factory = new JsonFactory(); JsonGenerator jg = factory.createGenerator(output.toFile(), JsonEncoding.UTF8).useDefaultPrettyPrinter(); jg.writeStartObject(); Stream.of(map6, map7, map8).map(Map::keySet).flatMap(Collection::stream).sorted().distinct().forEach(k -> { try {//www . j ava2 s . com jg.writeFieldName(k); jg.writeStartObject(); Map<String, String> base = pick(k, map8, map7, map6); jg.writeStringField("kind", base.get("kind")); jg.writeStringField("type", base.get("type")); jg.writeStringField("description", base.get("description")); jg.writeStringField("file", base.get("file")); write(jg, "java6", map6.get(k)); write(jg, "java7", map7.get(k)); write(jg, "java8", map8.get(k)); jg.writeEndObject(); } catch (IOException e) { throw new UncheckedIOException(e); } }); jg.writeEndObject(); jg.close(); return output; }
From source file:com.meetingninja.csse.database.MeetingDatabaseAdapter.java
private static String getEditPayload(String meetingID, String field, String value) throws IOException { 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 for Title jgen.writeStartObject(); jgen.writeStringField(Keys.Meeting.ID, meetingID); jgen.writeStringField("field", field); jgen.writeStringField("value", value); jgen.writeEndObject();/*from w w w . jav a 2 s. c om*/ jgen.close(); String payload = json.toString("UTF8"); ps.close(); return payload; }
From source file:com.meetingninja.csse.database.GroupDatabaseAdapter.java
public static Group createGroup(Group g) throws IOException, MalformedURLException { // Server URL setup String _url = getBaseUri().build().toString(); // establish connection URL url = new URL(_url); HttpURLConnection conn = (HttpURLConnection) url.openConnection(); conn.setRequestMethod("POST"); addRequestHeader(conn, true);//from www . j av a 2s . 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(); jgen.writeStringField(Keys.Group.TITLE, g.getGroupTitle()); jgen.writeArrayFieldStart(Keys.Group.MEMBERS); for (User member : g.getMembers()) { jgen.writeStartObject(); jgen.writeStringField(Keys.User.ID, member.getID()); jgen.writeEndObject(); } jgen.writeEndArray(); jgen.writeEndObject(); 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); // prepare to get the id of the created Meeting // Map<String, String> responseMap = new HashMap<String, String>(); /* * result should get valid={"meetingID":"##"} */ String result = new String(); if (!response.isEmpty()) { // responseMap = MAPPER.readValue(response, // new TypeReference<HashMap<String, String>>() { // }); JsonNode groupNode = MAPPER.readTree(response); if (!groupNode.has(Keys.Group.ID)) { result = "invalid"; } else result = groupNode.get(Keys.Group.ID).asText(); } if (!result.equalsIgnoreCase("invalid")) g.setID(result); conn.disconnect(); return g; }
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(); 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();/*from ww w . java 2 s. com*/ 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:com.meetingninja.csse.database.TaskDatabaseAdapter.java
private static String getEditPayload(String taskID, String field, String value) throws IOException { 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 for Title jgen.writeStartObject(); jgen.writeStringField(Keys.Task.ID, taskID); jgen.writeStringField("field", field); jgen.writeStringField("value", value); jgen.writeEndObject();//from w w w . j av a 2 s.c o m jgen.close(); String payload = json.toString("UTF8"); ps.close(); return payload; }
From source file:com.meetingninja.csse.database.TaskDatabaseAdapter.java
public static Task createTask(Task t) throws IOException { String _url = getBaseUri().build().toString(); URL url = new URL(_url); HttpURLConnection conn = (HttpURLConnection) url.openConnection(); // add request header conn.setRequestMethod(IRequest.POST); addRequestHeader(conn, false);/*from w ww . j a va 2s . c o m*/ 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 for Title jgen.writeStartObject(); jgen.writeStringField(Keys.Task.TITLE, t.getTitle()); jgen.writeStringField(Keys.Task.COMPLETED, Boolean.toString(t.getIsCompleted())); jgen.writeStringField(Keys.Task.DESC, t.getDescription()); jgen.writeStringField(Keys.Task.DEADLINE, Long.toString(t.getEndTimeInMillis())); jgen.writeStringField(Keys.Task.DATE_CREATED, t.getDateCreated()); jgen.writeStringField(Keys.Task.DATE_ASSIGNED, t.getDateAssigned()); jgen.writeStringField(Keys.Task.CRITERIA, t.getCompletionCriteria()); jgen.writeStringField(Keys.Task.ASSIGNED_TO, t.getAssignedTo()); jgen.writeStringField(Keys.Task.ASSIGNED_FROM, t.getAssignedFrom()); jgen.writeStringField(Keys.Task.CREATED_BY, t.getCreatedBy()); jgen.writeEndObject(); jgen.close(); String payload = json.toString("UTF8"); ps.close(); // Get server response sendPostPayload(conn, payload); String response = getServerResponse(conn); Map<String, String> responseMap = new HashMap<String, String>(); if (responseMap.containsKey(Keys.Task.ID)) { t.setID(responseMap.get(Keys.Task.ID)); } return t; }
From source file:com.meetingninja.csse.database.MeetingDatabaseAdapter.java
public static Meeting createMeeting(String userID, Meeting m) throws IOException, MalformedURLException { // Server URL setup String _url = getBaseUri().appendPath(userID).build().toString(); // establish connection URL url = new URL(_url); HttpURLConnection conn = (HttpURLConnection) url.openConnection(); conn.setRequestMethod("POST"); addRequestHeader(conn, true);//from w w w . j ava2s.com // 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(); jgen.writeStringField(Keys.User.ID, userID); jgen.writeStringField(Keys.Meeting.TITLE, m.getTitle()); jgen.writeStringField(Keys.Meeting.LOCATION, m.getLocation()); jgen.writeStringField(Keys.Meeting.DATETIME, m.getStartTime()); jgen.writeStringField(Keys.Meeting.OTHEREND, m.getEndTime()); jgen.writeStringField(Keys.Meeting.DESC, m.getDescription()); jgen.writeArrayFieldStart(Keys.Meeting.ATTEND); // TODO: Add attendees to meeting // for (String attendee : m.getAttendance()) { // if (attendee.isAttending()) { jgen.writeStartObject(); jgen.writeStringField(Keys.User.ID, userID); jgen.writeEndObject(); // } // } jgen.writeEndArray(); jgen.writeEndObject(); 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); // prepare to get the id of the created Meeting JsonNode responseMap; m.setID(404); Meeting created = new Meeting(m); /* * result should get valid={"meetingID":"##"} */ // String result = new String(); if (!response.isEmpty()) { responseMap = MAPPER.readTree(response); if (responseMap.has(Keys.Meeting.ID)) created.setID(responseMap.get(Keys.Meeting.ID).asText()); } // if (!result.equalsIgnoreCase("invalid")) // created.setID(result); conn.disconnect(); return created; }
From source file:com.meetingninja.csse.database.AgendaDatabaseAdapter.java
public static JsonNode update(String agendaID, Map<String, String> key_values) throws JsonGenerationException, IOException, InterruptedException { // 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); for (String key : key_values.keySet()) { jgen.flush();/* w w w .java 2 s.c o m*/ // Build JSON Object jgen.writeStartObject(); jgen.writeStringField(Keys.Agenda.ID, agendaID); jgen.writeStringField("field", key); jgen.writeStringField("value", key_values.get(key)); jgen.writeEndObject(); jgen.writeRaw("\f"); // write a form-feed to separate the payloads } jgen.close(); // Get JSON Object payload from print stream String payload = json.toString("UTF8"); ps.close(); // The backend can only update a single field at a time String[] payloads = payload.split("\f\\s*"); // split at each form-feed Thread t = new Thread(new Thread(new Runnable() { @Override public void run() { try { Thread.sleep(500); } catch (InterruptedException e) { e.getLocalizedMessage(); } } })); String response = ""; for (String p : payloads) { t.run(); response = updateHelper(p); } return MAPPER.readTree(response); }
From source file:com.infinities.skyport.util.JsonUtil.java
public static String toLegendJson(Throwable e) { StringWriter wtr = new StringWriter(); try {/* w w w. j a v a2 s. c o m*/ JsonGenerator g = new JsonFactory().createGenerator(wtr); g.writeStartArray(); g.writeStartObject(); g.writeStringField("RES", "FALSE"); g.writeStringField("REASON", e.toString()); // g.writeStringField("REASON", Objects.firstNonNull(e.getMessage(), // e.toString())); g.writeEndObject(); g.writeEndArray(); g.close(); } catch (Exception ee) { ArrayNode array = getObjectMapper().createArrayNode(); ObjectNode reason = getObjectMapper().createObjectNode(); ObjectNode status = getObjectMapper().createObjectNode(); status.put(JsonConstants.STATUS, String.valueOf("FALSE")); reason.put(JsonConstants.REASON, "an unexpected error occurred"); array.add(status).add(reason); // "[{\"RES\":\"FALSE\"}, {\"REASON\":\"an unexpected error occurred\"}]"; return array.toString(); } return wtr.toString(); }