use of com.fasterxml.jackson.core.JsonFactory in project geode by apache.
the class PdxToJSON method getJSONByteArray.
public byte[] getJSONByteArray() {
JsonFactory jf = new JsonFactory();
HeapDataOutputStream hdos = new HeapDataOutputStream(org.apache.geode.internal.Version.CURRENT);
try {
JsonGenerator jg = jf.createJsonGenerator(hdos, JsonEncoding.UTF8);
enableDisableJSONGeneratorFeature(jg);
getJSONString(jg, m_pdxInstance);
jg.close();
return hdos.toByteArray();
} catch (IOException e) {
throw new RuntimeException(e.getMessage());
} finally {
hdos.close();
}
}
use of com.fasterxml.jackson.core.JsonFactory in project winery by eclipse.
the class VisualAppearanceResource method getConnectionTypeForJsPlumbData.
@GET
@ApiOperation(value = "@return JSON object to be used at jsPlumb.registerConnectionType('NAME', <data>)")
@Produces(MediaType.APPLICATION_JSON)
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":
// 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();
jg.writeStringField("dash", getDash());
jg.writeStringField("sourceArrowHead", this.getSourceArrowHead());
jg.writeStringField("targetArrowHead", this.getTargetArrowHead());
jg.writeStringField("color", this.getColor());
jg.writeStringField("hoverColor", this.getHoverColor());
// 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", "(" + this.res.getName() + ")");
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();
}
use of com.fasterxml.jackson.core.JsonFactory in project CFLint by cflint.
the class JSONOutput method output.
/**
* Output bug list in JSON format.
*/
public void output(final BugList bugList, final Writer writer, final CFLintStats stats) throws IOException {
final BugCounts counts = stats.getCounts();
final JsonFactory jsonF = new JsonFactory();
final JsonGenerator jg = jsonF.createGenerator(writer);
if (prettyPrint) {
jg.useDefaultPrettyPrinter();
}
outputStart(stats, jg);
outputStartIssues(jg);
List<String> keys = new ArrayList<>(bugList.getBugList().keySet());
Collections.sort(keys);
for (final String key : keys) {
List<BugInfo> currentList = bugList.getBugList().get(key);
final Iterator<BugInfo> iterator = currentList.iterator();
BugInfo bugInfo = iterator.hasNext() ? iterator.next() : null;
BugInfo prevbugInfo;
while (bugInfo != null) {
final Levels severity = currentList.get(0).getSeverity();
final String code = currentList.get(0).getMessageCode();
outputStartIssue(jg, severity, code);
do {
outputLocation(jg, bugInfo);
prevbugInfo = bugInfo;
bugInfo = iterator.hasNext() ? iterator.next() : null;
} while (bugInfo != null && isGrouped(prevbugInfo, bugInfo));
outputCloseIssue(jg);
}
}
outputCloseIssues(jg);
outputCounts(stats, counts, jg);
outputEnd(jg);
writer.close();
}
use of com.fasterxml.jackson.core.JsonFactory in project atlasmap by atlasmap.
the class JsonModule method getCollectionSize.
@Override
public int getCollectionSize(AtlasInternalSession session, Field field) throws AtlasException {
// TODO could this use FieldReader?
Object document = session.getSourceDocument(getDocId());
// make this a JSON document
JsonFactory jsonFactory = new JsonFactory();
ObjectMapper objectMapper = new ObjectMapper();
try {
JsonParser parser = jsonFactory.createParser(document.toString());
JsonNode rootNode = objectMapper.readTree(parser);
ObjectNode parentNode = (ObjectNode) rootNode;
String parentSegment = "[root node]";
for (SegmentContext sc : new AtlasPath(field.getPath()).getSegmentContexts(false)) {
JsonNode currentNode = JsonFieldWriter.getChildNode(parentNode, parentSegment, sc.getSegment());
if (currentNode == null) {
return 0;
}
if (AtlasPath.isCollectionSegment(sc.getSegment())) {
if (currentNode != null && currentNode.isArray()) {
return currentNode.size();
}
return 0;
}
parentNode = (ObjectNode) currentNode;
}
} catch (IOException e) {
throw new AtlasException(e.getMessage(), e);
}
return 0;
}
use of com.fasterxml.jackson.core.JsonFactory in project atlasmap by atlasmap.
the class JsonFieldReader method setDocument.
public void setDocument(String document) throws AtlasException {
if (document == null || document.isEmpty()) {
throw new AtlasException(new IllegalArgumentException("document cannot be null nor empty"));
}
try {
JsonFactory factory = new JsonFactory();
ObjectMapper mapper = new ObjectMapper();
JsonParser parser = factory.createParser(document);
this.rootNode = mapper.readTree(parser);
} catch (Exception e) {
throw new AtlasException(e);
}
}
Aggregations