List of usage examples for com.fasterxml.jackson.core JsonGenerator writeStringField
public void writeStringField(String fieldName, String value) throws IOException, JsonGenerationException
From source file:pl.selvin.android.syncframework.content.TableInfo.java
public void GetChanges(SQLiteDatabase db, JsonGenerator gen, ArrayList<TableInfo> notifyTableInfo) throws IOException { String[] cols = new String[columns.length + 3]; int i = 0;//from w ww. j a v a2s . c om for (; i < columns.length; i++) cols[i] = columns[i].name; cols[i] = _.uri; cols[i + 1] = _.tempId; cols[i + 2] = _.isDeleted; Cursor c = db.query(name, cols, _.isDirtyP, new String[] { "1" }, null, null, null); //to fix startPos > actual rows for large cursors db operations should be done after cursor is closed ... final ArrayList<OperationHolder> operations = new ArrayList<OperationHolder>(); if (c.moveToFirst()) { if (!notifyTableInfo.contains(this)) notifyTableInfo.add(this); do { gen.writeStartObject(); gen.writeObjectFieldStart(_.__metadata); gen.writeBooleanField(_.isDirty, true); gen.writeStringField(_.type, scope_name); //Log.d("before", scope_name + ":" + c.getLong(i + 3)); String uri = c.getString(i); //Log.d("after", scope_name + ":" + c.getLong(i + 3)); if (uri == null) { gen.writeStringField(_.tempId, c.getString(i + 1)); } else { gen.writeStringField(_.uri, uri); final ContentValues update = new ContentValues(1); update.put(_.isDirty, 0); operations.add(new OperationHolder(name, OperationHolder.UPDATE, update, uri)); } boolean isDeleted = c.getInt(i + 2) == 1; if (isDeleted) { gen.writeBooleanField(_.isDeleted, true); gen.writeEndObject();// meta operations.add(new OperationHolder(name, OperationHolder.DELETE, null, uri)); } else { gen.writeEndObject();// meta for (i = 0; i < columns.length; i++) { if (columns[i].nullable && c.isNull(i)) { gen.writeNullField(columns[i].name); } else { switch (columns[i].type) { case ColumnType.BLOB: gen.writeBinaryField(columns[i].name, c.getBlob(i)); break; case ColumnType.BOOLEAN: gen.writeBooleanField(columns[i].name, c.getLong(i) == 1); break; case ColumnType.INTEGER: gen.writeNumberField(columns[i].name, c.getLong(i)); break; case ColumnType.DATETIME: try { gen.writeStringField(columns[i].name, String.format(msdate, sdf.parse(c.getString(i)).getTime())); } catch (Exception e) { if (BuildConfig.DEBUG) { Log.e("ListSync", e.getLocalizedMessage()); } } break; case ColumnType.NUMERIC: gen.writeNumberField(columns[i].name, c.getDouble(i)); break; default: gen.writeStringField(columns[i].name, c.getString(i)); break; } } } } gen.writeEndObject(); // end of row } while (c.moveToNext()); } c.close(); for (OperationHolder operation : operations) operation.execute(db); }
From source file:org.jmxtrans.embedded.output.CopperEggWriter.java
public void cue_serialize(@Nonnull Iterable<QueryResult> counters, @Nonnull OutputStream out) throws IOException { int first = 0; long time = 0; String myID = null;// w ww .ja v a 2 s.c o m JsonGenerator g = jsonFactory.createGenerator(out, JsonEncoding.UTF8); for (QueryResult counter : counters) { if (0 == first) { time = counter.getEpoch(TimeUnit.SECONDS); myID = counter.getType(); first = 1; g.writeStartObject(); g.writeStringField("identifier", myID); g.writeNumberField("timestamp", time); g.writeObjectFieldStart("values"); } if (counter.getValue() instanceof Integer) { g.writeNumberField(counter.getName(), (Integer) counter.getValue()); } else if (counter.getValue() instanceof Long) { g.writeNumberField(counter.getName(), (Long) counter.getValue()); } else if (counter.getValue() instanceof Float) { g.writeNumberField(counter.getName(), (Float) counter.getValue()); } else if (counter.getValue() instanceof Double) { g.writeNumberField(counter.getName(), (Double) counter.getValue()); } } g.writeEndObject(); g.writeEndObject(); g.flush(); g.close(); }
From source file:com.turn.splicer.Config.java
public void writeAsJson(JsonGenerator jgen) throws IOException { if (properties == null) { jgen.writeStartObject();//from w w w . j av a 2 s. c o m jgen.writeEndObject(); return; } TreeMap<String, String> map = new TreeMap<>(); for (Map.Entry<Object, Object> e : properties.entrySet()) { map.put(String.valueOf(e.getKey()), String.valueOf(e.getValue())); } InputStream is = getClass().getClassLoader().getResourceAsStream(VERSION_FILE); if (is != null) { LOG.debug("Loaded {} bytes of version file configuration", is.available()); Properties versionProps = new Properties(); versionProps.load(is); for (Map.Entry<Object, Object> e : versionProps.entrySet()) { map.put(String.valueOf(e.getKey()), String.valueOf(e.getValue())); } } else { LOG.error("No version file found on classpath. VERSION_FILE={}", VERSION_FILE); } jgen.writeStartObject(); for (Map.Entry<String, String> e : map.entrySet()) { if (e.getValue().indexOf(',') > 0) { splitList(e.getKey(), e.getValue(), jgen); } else { jgen.writeStringField(e.getKey(), e.getValue()); } } jgen.writeEndObject(); }
From source file:de.escalon.hypermedia.spring.hydra.LinkListSerializer.java
private void writeHydraVariableMapping(JsonGenerator jgen, @Nullable ActionDescriptor annotatedParameters, Collection<String> variableNames) throws IOException { if (annotatedParameters != null) { for (String variableName : variableNames) { // TODO: find also @Input ActionInputParameter annotatedParameter = annotatedParameters.getActionInputParameter(variableName); // TODO access @Input parameter, too // only unsatisfied parameters become hydra variables if (annotatedParameter != null && annotatedParameter.getValue() == null) { jgen.writeStartObject(); jgen.writeStringField("@type", "hydra:IriTemplateMapping"); jgen.writeStringField("hydra:variable", variableName); jgen.writeBooleanField("hydra:required", annotatedParameter.isRequired()); jgen.writeStringField("hydra:property", getExposedPropertyOrParamName(annotatedParameter)); jgen.writeEndObject();// www . j av a2 s . co m } } } }
From source file:com.tage.calcite.adapter.druid.DruidQuery.java
private QuerySpec getQuery(RelDataType rowType, RexNode filter, List<RexNode> projects, ImmutableBitSet groupSet, List<AggregateCall> aggCalls, List<String> aggNames) { QueryType queryType = QueryType.SELECT; final Translator translator = new Translator(druidTable, rowType); List<String> fieldNames = rowType.getFieldNames(); Json jsonFilter = null;/*from w ww .jav a2s .co m*/ if (filter != null) { jsonFilter = translator.translateFilter(filter); translator.metrics.clear(); translator.dimensions.clear(); } if (projects != null) { final ImmutableList.Builder<String> builder = ImmutableList.builder(); for (RexNode project : projects) { builder.add(translator.translate(project)); } fieldNames = builder.build(); } final List<String> dimensions = new ArrayList<>(); final List<JsonAggregation> aggregations = new ArrayList<>(); if (groupSet != null) { assert aggCalls != null; assert aggNames != null; assert aggCalls.size() == aggNames.size(); queryType = QueryType.GROUP_BY; final ImmutableList.Builder<String> builder = ImmutableList.builder(); for (int groupKey : groupSet) { final String s = fieldNames.get(groupKey); dimensions.add(s); builder.add(s); } for (Pair<AggregateCall, String> agg : Pair.zip(aggCalls, aggNames)) { final JsonAggregation jsonAggregation = getJsonAggregation(fieldNames, agg.right, agg.left); aggregations.add(jsonAggregation); builder.add(jsonAggregation.name); } fieldNames = builder.build(); } else { assert aggCalls == null; assert aggNames == null; } final StringWriter sw = new StringWriter(); final JsonFactory factory = new JsonFactory(); try { final JsonGenerator generator = factory.createGenerator(sw); switch (queryType) { case GROUP_BY: generator.writeStartObject(); if (aggregations.isEmpty()) { // Druid requires at least one aggregation, otherwise gives: // Must have at least one AggregatorFactory aggregations.add(new JsonAggregation("longSum", "unit_sales", "unit_sales")); } generator.writeStringField("queryType", "groupBy"); generator.writeStringField("dataSource", druidTable.dataSource); generator.writeStringField("granularity", "all"); writeField(generator, "dimensions", dimensions); writeFieldIf(generator, "limitSpec", null); writeFieldIf(generator, "filter", jsonFilter); writeField(generator, "aggregations", aggregations); writeFieldIf(generator, "postAggregations", null); writeField(generator, "intervals", druidTable.intervals); writeFieldIf(generator, "having", null); generator.writeEndObject(); break; case SELECT: generator.writeStartObject(); generator.writeStringField("queryType", "select"); generator.writeStringField("dataSource", druidTable.dataSource); generator.writeStringField("descending", "false"); writeField(generator, "intervals", druidTable.intervals); writeFieldIf(generator, "filter", jsonFilter); writeField(generator, "dimensions", translator.dimensions); writeField(generator, "metrics", translator.metrics); generator.writeStringField("granularity", "all"); generator.writeFieldName("pagingSpec"); generator.writeStartObject(); final int fetch = CalciteConnectionProperty.DRUID_FETCH.wrap(new Properties()).getInt(); generator.writeNumberField("threshold", fetch); generator.writeEndObject(); generator.writeEndObject(); break; default: throw new AssertionError("unknown query type " + queryType); } generator.close(); } catch (IOException e) { e.printStackTrace(); } return new QuerySpec(queryType, sw.toString(), fieldNames); }
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 ww . j ava 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.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)//from w w w . ja va 2s. 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.google.openrtb.json.OpenRtbJsonWriter.java
protected void writeSeatBidFields(SeatBid seatbid, JsonGenerator gen) throws IOException { if (seatbid.getBidCount() != 0) { gen.writeArrayFieldStart("bid"); for (Bid bid : seatbid.getBidList()) { writeBid(bid, gen);//from w ww . j a v a 2s. c o m } gen.writeEndArray(); } if (seatbid.hasSeat()) { gen.writeStringField("seat", seatbid.getSeat()); } if (seatbid.hasGroup()) { writeIntBoolField("group", seatbid.getGroup(), gen); } }
From source file:com.streamsets.datacollector.http.JMXJsonServlet.java
/** * Process a GET request for the specified resource. * * @param request/*from w ww. j a va 2s . c om*/ * The servlet request we are processing * @param response * The servlet response we are creating */ @Override public void doGet(HttpServletRequest request, HttpServletResponse response) { try { JsonGenerator jg = null; String jsonpcb = null; PrintWriter writer = null; try { writer = response.getWriter(); // "callback" parameter implies JSONP outpout jsonpcb = request.getParameter(CALLBACK_PARAM); if (jsonpcb != null) { response.setContentType("application/javascript; charset=utf8"); writer.write(jsonpcb + "("); } else { response.setContentType("application/json; charset=utf8"); } jg = jsonFactory.createGenerator(writer); jg.disable(JsonGenerator.Feature.AUTO_CLOSE_TARGET); jg.useDefaultPrettyPrinter(); jg.writeStartObject(); // query per mbean attribute String getmethod = request.getParameter("get"); if (getmethod != null) { String[] splitStrings = getmethod.split("\\:\\:"); if (splitStrings.length != 2) { jg.writeStringField("result", "ERROR"); jg.writeStringField("message", "query format is not as expected."); jg.flush(); response.setStatus(HttpServletResponse.SC_BAD_REQUEST); return; } listBeans(jg, new ObjectName(splitStrings[0]), splitStrings[1], response); return; } // query per mbean String qry = request.getParameter("qry"); if (qry == null) { qry = "*:*"; } listBeans(jg, new ObjectName(qry), null, response); } finally { if (jg != null) { jg.close(); } if (jsonpcb != null) { writer.write(");"); } if (writer != null) { writer.close(); } } } catch (IOException e) { response.setStatus(HttpServletResponse.SC_INTERNAL_SERVER_ERROR); } catch (MalformedObjectNameException e) { response.setStatus(HttpServletResponse.SC_BAD_REQUEST); } }