Example usage for com.fasterxml.jackson.core JsonGenerator writeArrayFieldStart

List of usage examples for com.fasterxml.jackson.core JsonGenerator writeArrayFieldStart

Introduction

In this page you can find the example usage for com.fasterxml.jackson.core JsonGenerator writeArrayFieldStart.

Prototype

public final void writeArrayFieldStart(String fieldName) throws IOException, JsonGenerationException 

Source Link

Document

Convenience method for outputting a field entry ("member") (that will contain a JSON Array value), and the START_ARRAY marker.

Usage

From source file:net.echinopsii.ariane.community.core.directory.wat.json.ds.organisational.EnvironmentJSON.java

public final static void environment2JSON(Environment environment, JsonGenerator jgenerator)
        throws IOException {
    jgenerator.writeStartObject();//from w w w  .  ja v  a2s  .  c om
    jgenerator.writeNumberField(ENV_ID, environment.getId());
    jgenerator.writeNumberField(ENV_VERSION, environment.getVersion());
    jgenerator.writeStringField(ENV_NAME, environment.getName());
    jgenerator.writeStringField(ENV_DESCRIPTION, environment.getDescription());
    jgenerator.writeArrayFieldStart(ENV_OSI_ID);
    for (OSInstance osi : environment.getOsInstances())
        jgenerator.writeNumber(osi.getId());
    jgenerator.writeEndArray();
    jgenerator.writeEndObject();
}

From source file:org.apache.flink.runtime.jobgraph.jsonplan.JsonPlanGenerator.java

public static String generatePlan(JobGraph jg) {
    try {//ww w  .j  a v a2  s.  co  m
        final StringWriter writer = new StringWriter(1024);

        final JsonFactory factory = new JsonFactory();
        final JsonGenerator gen = factory.createGenerator(writer);

        // start of everything
        gen.writeStartObject();
        gen.writeStringField("jid", jg.getJobID().toString());
        gen.writeStringField("name", jg.getName());
        gen.writeArrayFieldStart("nodes");

        // info per vertex
        for (JobVertex vertex : jg.getVertices()) {

            String operator = vertex.getOperatorName() != null ? vertex.getOperatorName() : NOT_SET;

            String operatorDescr = vertex.getOperatorDescription() != null ? vertex.getOperatorDescription()
                    : NOT_SET;

            String optimizerProps = vertex.getResultOptimizerProperties() != null
                    ? vertex.getResultOptimizerProperties()
                    : EMPTY;

            String description = vertex.getOperatorPrettyName() != null ? vertex.getOperatorPrettyName()
                    : vertex.getName();

            // make sure the encoding is HTML pretty
            description = StringEscapeUtils.escapeHtml4(description);
            description = description.replace("\n", "<br/>");
            description = description.replace("\\", "&#92;");

            operatorDescr = StringEscapeUtils.escapeHtml4(operatorDescr);
            operatorDescr = operatorDescr.replace("\n", "<br/>");

            gen.writeStartObject();

            // write the core properties
            gen.writeStringField("id", vertex.getID().toString());
            gen.writeNumberField("parallelism", vertex.getParallelism());
            gen.writeStringField("operator", operator);
            gen.writeStringField("operator_strategy", operatorDescr);
            gen.writeStringField("description", description);

            if (!vertex.isInputVertex()) {
                // write the input edge properties
                gen.writeArrayFieldStart("inputs");

                List<JobEdge> inputs = vertex.getInputs();
                for (int inputNum = 0; inputNum < inputs.size(); inputNum++) {
                    JobEdge edge = inputs.get(inputNum);
                    if (edge.getSource() == null) {
                        continue;
                    }

                    JobVertex predecessor = edge.getSource().getProducer();

                    String shipStrategy = edge.getShipStrategyName();
                    String preProcessingOperation = edge.getPreProcessingOperationName();
                    String operatorLevelCaching = edge.getOperatorLevelCachingDescription();

                    gen.writeStartObject();
                    gen.writeNumberField("num", inputNum);
                    gen.writeStringField("id", predecessor.getID().toString());

                    if (shipStrategy != null) {
                        gen.writeStringField("ship_strategy", shipStrategy);
                    }
                    if (preProcessingOperation != null) {
                        gen.writeStringField("local_strategy", preProcessingOperation);
                    }
                    if (operatorLevelCaching != null) {
                        gen.writeStringField("caching", operatorLevelCaching);
                    }

                    gen.writeStringField("exchange", edge.getSource().getResultType().name().toLowerCase());

                    gen.writeEndObject();
                }

                gen.writeEndArray();
            }

            // write the optimizer properties
            gen.writeFieldName("optimizer_properties");
            gen.writeRawValue(optimizerProps);

            gen.writeEndObject();
        }

        // end of everything
        gen.writeEndArray();
        gen.writeEndObject();

        gen.close();

        return writer.toString();
    } catch (Exception e) {
        throw new RuntimeException("Failed to generate plan", e);
    }
}

From source file:net.echinopsii.ariane.community.core.directory.wat.json.ds.organisational.TeamJSON.java

public final static void team2JSON(Team team, JsonGenerator jgenerator) throws IOException {
    jgenerator.writeStartObject();/*from  w  ww  .  j  ava  2s .  co m*/
    jgenerator.writeNumberField(TEAM_ID, team.getId());
    jgenerator.writeNumberField(TEAM_VERSION, team.getVersion());
    jgenerator.writeStringField(TEAM_NAME, team.getName());
    jgenerator.writeStringField(TEAM_DESCRIPTION, team.getDescription());
    jgenerator.writeStringField(TEAM_COLOR_CODE, team.getColorCode());
    jgenerator.writeArrayFieldStart(TEAM_OSI_ID);
    for (OSInstance osi : team.getOsInstances())
        jgenerator.writeNumber(osi.getId());
    jgenerator.writeEndArray();
    jgenerator.writeArrayFieldStart(TEAM_APP_ID);
    for (Application app : team.getApplications())
        jgenerator.writeNumber(app.getId());
    jgenerator.writeEndArray();
    jgenerator.writeEndObject();
}

From source file:org.bndtools.rt.repository.marshall.CapReqJson.java

public static void writeCapability(Capability capability, JsonGenerator generator) throws IOException {
    generator.writeStartObject();//from   ww w.j  av a 2s .c o m
    generator.writeStringField("ns", capability.getNamespace());

    Map<String, Object> attrs = capability.getAttributes();
    if (!attrs.isEmpty()) {
        generator.writeArrayFieldStart("attrs");
        for (Entry<String, Object> entry : attrs.entrySet()) {
            writeAttribute(entry.getKey(), entry.getValue(), generator);
        }
        generator.writeEndArray();
    }

    Map<String, String> dirs = capability.getDirectives();
    if (!dirs.isEmpty()) {
        generator.writeArrayFieldStart("dirs");
        for (Entry<String, String> entry : dirs.entrySet()) {
            writeDirective(entry.getKey(), entry.getValue(), generator);
        }
        generator.writeEndArray();
    }

    generator.writeEndObject();
}

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);// w w  w . j ava 2 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.bndtools.rt.repository.marshall.CapReqJson.java

public static void writeRequirement(Requirement requirement, JsonGenerator generator) throws IOException {
    generator.writeStartObject();/*w  w w .  j a v a 2  s . c o  m*/
    generator.writeStringField("ns", requirement.getNamespace());

    Map<String, Object> attrs = requirement.getAttributes();
    if (!attrs.isEmpty()) {
        generator.writeArrayFieldStart("attrs");
        for (Entry<String, Object> entry : attrs.entrySet()) {
            writeAttribute(entry.getKey(), entry.getValue(), generator);
        }
        generator.writeEndArray();
    }

    Map<String, String> dirs = requirement.getDirectives();
    if (!dirs.isEmpty()) {
        generator.writeArrayFieldStart("dirs");
        for (Entry<String, String> entry : dirs.entrySet()) {
            writeDirective(entry.getKey(), entry.getValue(), generator);
        }
        generator.writeEndArray();
    }

    generator.writeEndObject();
}

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();//w  w w.  java  2 s .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:com.meetingninja.csse.database.ProjectDatabaseAdapter.java

public static Project createProject(Project p) 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);//www  .ja  va  2 s. co 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.Project.TITLE, p.getProjectTitle());
    jgen.writeArrayFieldStart(Keys.Project.MEETINGS);
    for (Meeting meeting : p.getMeetings()) {
        jgen.writeStartObject();
        jgen.writeStringField(Keys.Meeting.ID, meeting.getID());
        jgen.writeEndObject();

    }
    jgen.writeEndArray();
    jgen.writeArrayFieldStart(Keys.Project.NOTES);
    for (Note note : p.getNotes()) {
        jgen.writeStartObject();
        jgen.writeStringField(Keys.Note.ID, note.getID());
        jgen.writeEndObject();

    }
    jgen.writeEndArray();
    jgen.writeArrayFieldStart(Keys.Project.MEMBERS);
    for (User member : p.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
    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 projectNode = MAPPER.readTree(response);
        if (!projectNode.has(Keys.Project.ID)) {
            result = "invalid";
        } else
            result = projectNode.get(Keys.Project.ID).asText();
    }

    if (!result.equalsIgnoreCase("invalid"))
        p.setProjectID(result);

    conn.disconnect();
    return p;
}

From source file:net.echinopsii.ariane.community.core.directory.wat.json.ds.technical.system.OSInstanceJSON.java

public final static void osInstance2JSON(OSInstance osInstance, JsonGenerator jgenerator) throws IOException {
    jgenerator.writeStartObject();/*from   w  w  w .ja  v a2s.  c  om*/
    jgenerator.writeNumberField(OSI_ID, osInstance.getId());
    jgenerator.writeNumberField(OSI_VERSION, osInstance.getVersion());
    jgenerator.writeStringField(OSI_NAME, osInstance.getName());
    jgenerator.writeStringField(OSI_ADMIN_GATE_URI, osInstance.getAdminGateURI());
    jgenerator.writeStringField(OSI_DESCRIPTION, osInstance.getDescription());
    jgenerator.writeArrayFieldStart(OSI_SUBNETS_ID);
    if (osInstance.getNetworkSubnets() != null)
        for (Subnet subnet : osInstance.getNetworkSubnets())
            jgenerator.writeNumber(subnet.getId());
    jgenerator.writeEndArray();
    jgenerator.writeNumberField(OSI_EMBEDDING_OSI_ID,
            ((osInstance.getEmbeddingOSInstance() != null) ? osInstance.getEmbeddingOSInstance().getId() : -1));
    jgenerator.writeArrayFieldStart(OSI_EMBEDDED_OSI_ID);
    for (OSInstance eosi : osInstance.getEmbeddedOSInstances())
        jgenerator.writeNumber(eosi.getId());
    jgenerator.writeEndArray();
    jgenerator.writeNumberField(OSI_OST_ID,
            ((osInstance.getOsType() != null) ? osInstance.getOsType().getId() : -1));
    jgenerator.writeArrayFieldStart(OSI_APPS_ID);
    for (Application app : osInstance.getApplications())
        jgenerator.writeNumber(app.getId());
    jgenerator.writeEndArray();
    jgenerator.writeArrayFieldStart(OSI_TEAMS_ID);
    for (Team team : osInstance.getTeams())
        jgenerator.writeNumber(team.getId());
    jgenerator.writeEndArray();
    jgenerator.writeArrayFieldStart(OSI_ENVS_ID);
    for (Environment env : osInstance.getEnvironments())
        jgenerator.writeNumber(env.getId());
    jgenerator.writeEndArray();
    jgenerator.writeEndObject();
}

From source file:net.echinopsii.ariane.community.core.directory.wat.json.ds.organisational.ApplicationJSON.java

public final static void application2JSON(Application application, JsonGenerator jgenerator)
        throws IOException {
    jgenerator.writeStartObject();/*from w w  w. ja va2  s .  com*/
    jgenerator.writeNumberField(APP_ID, application.getId());
    jgenerator.writeNumberField(APP_VERSION, application.getVersion());
    jgenerator.writeStringField(APP_NAME, application.getName());
    jgenerator.writeStringField(APP_SHORT_NAME, application.getShortName());
    jgenerator.writeStringField(APP_COLOR_CODE, application.getColorCode());
    jgenerator.writeStringField(APP_DESCRIPTION, application.getDescription());
    jgenerator.writeArrayFieldStart(APP_OSI_ID);
    for (OSInstance osi : application.getOsInstances())
        jgenerator.writeNumber(osi.getId());
    jgenerator.writeEndArray();
    jgenerator.writeNumberField(APP_TEAM_ID,
            ((application.getTeam() != null) ? application.getTeam().getId() : -1));
    jgenerator.writeNumberField(APP_COMPANY_ID,
            ((application.getCompany() != null) ? application.getCompany().getId() : -1));
    jgenerator.writeEndObject();
}