Search in sources :

Example 46 with JsonFactory

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();
    }
}
Also used : HeapDataOutputStream(org.apache.geode.internal.HeapDataOutputStream) JsonFactory(com.fasterxml.jackson.core.JsonFactory) JsonGenerator(com.fasterxml.jackson.core.JsonGenerator) IOException(java.io.IOException)

Example 47 with JsonFactory

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();
}
Also used : StringWriter(java.io.StringWriter) JsonFactory(com.fasterxml.jackson.core.JsonFactory) JsonGenerator(com.fasterxml.jackson.core.JsonGenerator) Produces(javax.ws.rs.Produces) GET(javax.ws.rs.GET) ApiOperation(io.swagger.annotations.ApiOperation)

Example 48 with JsonFactory

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();
}
Also used : JsonFactory(com.fasterxml.jackson.core.JsonFactory) ArrayList(java.util.ArrayList) JsonGenerator(com.fasterxml.jackson.core.JsonGenerator)

Example 49 with JsonFactory

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;
}
Also used : SegmentContext(io.atlasmap.core.AtlasPath.SegmentContext) ObjectNode(com.fasterxml.jackson.databind.node.ObjectNode) JsonFactory(com.fasterxml.jackson.core.JsonFactory) AtlasPath(io.atlasmap.core.AtlasPath) JsonNode(com.fasterxml.jackson.databind.JsonNode) IOException(java.io.IOException) AtlasException(io.atlasmap.api.AtlasException) ObjectMapper(com.fasterxml.jackson.databind.ObjectMapper) JsonParser(com.fasterxml.jackson.core.JsonParser)

Example 50 with JsonFactory

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);
    }
}
Also used : JsonFactory(com.fasterxml.jackson.core.JsonFactory) AtlasException(io.atlasmap.api.AtlasException) ObjectMapper(com.fasterxml.jackson.databind.ObjectMapper) AtlasException(io.atlasmap.api.AtlasException) AtlasConversionException(io.atlasmap.api.AtlasConversionException) JsonParser(com.fasterxml.jackson.core.JsonParser)

Aggregations

JsonFactory (com.fasterxml.jackson.core.JsonFactory)115 JsonGenerator (com.fasterxml.jackson.core.JsonGenerator)45 Test (org.junit.Test)37 ObjectMapper (com.fasterxml.jackson.databind.ObjectMapper)35 StringWriter (java.io.StringWriter)34 JsonParser (com.fasterxml.jackson.core.JsonParser)26 IOException (java.io.IOException)16 ExtensibleJSONWriter (com.instagram.common.json.annotation.processor.support.ExtensibleJSONWriter)15 Map (java.util.Map)14 HashMap (java.util.HashMap)11 ArrayList (java.util.ArrayList)9 SimpleParseUUT (com.instagram.common.json.annotation.processor.uut.SimpleParseUUT)8 List (java.util.List)8 Reader (java.io.Reader)6 ServletOutputStream (javax.servlet.ServletOutputStream)6 RemoteSession (org.apache.jackrabbit.oak.remote.RemoteSession)5 FileInputStream (java.io.FileInputStream)4 JSONWriter (org.json.JSONWriter)4 JsonNode (com.fasterxml.jackson.databind.JsonNode)3 BaseJsonHttpResponseHandler (com.loopj.android.http.BaseJsonHttpResponseHandler)3