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

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

Introduction

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

Prototype

public abstract void writeEndArray() throws IOException, JsonGenerationException;

Source Link

Document

Method for writing closing marker of a JSON Array value (character ']'; plus possible white space decoration if pretty-printing is enabled).

Usage

From source file:org.pentaho.metaverse.impl.model.kettle.json.AbstractMetaJsonSerializer.java

protected void serializeConnections(T meta, JsonGenerator json) throws IOException {
    // connections
    json.writeArrayFieldStart(JSON_PROPERTY_CONNECTIONS);
    for (DatabaseMeta dbmeta : meta.getDatabases()) {
        BaseResourceInfo resourceInfo = (BaseResourceInfo) ExternalResourceInfoFactory
                .createDatabaseResource(dbmeta);
        resourceInfo.setInput(true);/*  www .  j  a v a  2s . c  om*/
        json.writeObject(resourceInfo);
    }
    json.writeEndArray();
}

From source file:io.swagger.inflector.processors.JsonNodeExampleSerializer.java

public void writeTo(JsonGenerator jgen, Example o) throws IOException {
    if (o instanceof ObjectExample) {
        ObjectExample obj = (ObjectExample) o;
        for (String key : obj.keySet()) {
            Example value = (Example) obj.get(key);
            writeValue(jgen, key, value);
        }/*  w  w w .  j  ava2s . c  om*/
    } else if (o instanceof ArrayExample) {
        jgen.writeStartArray();
        writeTo(jgen, o);
        jgen.writeEndArray();
    } else {
        writeValue(jgen, null, o);
    }
}

From source file:org.opendaylight.sxp.csit.libraries.DeviceTestLibrary.java

/**
 * @param libraryServer Server where Library will be added
 *//*from w  w w. j  a  v a  2  s .c  o  m*/
public DeviceTestLibrary(RobotLibraryServer libraryServer) {
    super(libraryServer);
    connectionTimers.setReconciliationTime(0);
    connectionTimers.setDeleteHoldDownTime(0);
    pojoBindingsSerializer.registerModule(
            new SimpleModule().addSerializer(SxpBindingFields.class, new JsonSerializer<SxpBindingFields>() {

                @Override
                public void serialize(SxpBindingFields value, JsonGenerator jgen, SerializerProvider provider)
                        throws IOException {
                    jgen.writeStartObject();
                    jgen.writeNumberField("sgt", value.getSecurityGroupTag().getValue());
                    jgen.writeArrayFieldStart("ip-prefix");
                    jgen.writeString(new String(value.getIpPrefix().getValue()));
                    jgen.writeEndArray();
                    jgen.writeEndObject();
                }
            }));
}

From source file:io.pdef.json.JsonJacksonFormat.java

private <T> void writeList(@Nonnull final List<T> object, final ListDescriptor<T> descriptor,
        final JsonGenerator generator) throws IOException {
    DataTypeDescriptor<T> elementd = descriptor.getElement();

    generator.writeStartArray();/*from   w  w  w  .  ja v  a2 s  .c o m*/
    for (T element : object) {
        write(element, elementd, generator);
    }
    generator.writeEndArray();
}

From source file:io.pdef.json.JsonJacksonFormat.java

private <T> void writeSet(@Nonnull final Set<T> object, final SetDescriptor<T> descriptor,
        final JsonGenerator generator) throws IOException {
    DataTypeDescriptor<T> elementd = descriptor.getElement();

    generator.writeStartArray();//from   www.  j av  a2s  .c om
    for (T element : object) {
        write(element, elementd, generator);
    }
    generator.writeEndArray();
}

From source file:com.predic8.membrane.core.interceptor.authentication.session.TelekomSMSTokenProvider.java

@Override
protected void sendSMS(String text, String recipientNumber) {
    recipientNumber = recipientNumber.replaceAll("^00", "\\+");

    try {//from www .  j a  v a2  s.  c o  m
        ByteArrayOutputStream baos = new ByteArrayOutputStream();
        JsonFactory jsonFactory = new JsonFactory();
        JsonGenerator jg = jsonFactory.createGenerator(baos, JsonEncoding.UTF8);

        jg.writeStartObject();
        jg.writeObjectFieldStart("outboundSMSMessageRequest");
        jg.writeArrayFieldStart("address");
        jg.writeString("tel:" + recipientNumber);
        jg.writeEndArray();
        jg.writeStringField("senderAddress", senderAddress);
        jg.writeObjectFieldStart("outboundSMSTextMessage");
        jg.writeStringField("message", text);
        jg.writeEndObject();
        jg.writeStringField("outboundEncoding", "7bitGSM");
        jg.writeStringField("clientCorrelator", "" + ((long) (Math.random() * Long.MAX_VALUE)));
        if (senderName != null)
            jg.writeStringField("senderName", senderName);
        jg.writeEndObject();
        jg.writeEndObject();

        jg.close();

        Exchange exc = new Request.Builder()
                .post("https://gateway.developer.telekom.com/plone/sms/rest/"
                        + environment.name().toLowerCase() + "/smsmessaging/v1/outbound/"
                        + URLEncoder.encode(senderAddress, "UTF-8") + "/requests")
                .header("Host", "gateway.developer.telekom.com")
                .header("Authorization",
                        "OAuth realm=\"developergarden.com\",oauth_token=\"" + getAccessToken() + "\"")
                .header("Accept", "application/json").header("Content-Type", "application/json")
                .body(baos.toByteArray()).buildExchange();

        exc.setRule(new NullRule() {
            @Override
            public SSLProvider getSslOutboundContext() {
                return new SSLContext(new SSLParser(), new ResolverMap(), null);
            }
        });
        hc.call(exc, false, true);

        if (exc.getResponse().getStatusCode() != 201)
            throw new RuntimeException("Could not send SMS: " + exc.getResponse());

        log.debug("sent SMS to " + recipientNumber);
    } catch (Exception e2) {
        throw new RuntimeException(e2);
    }
}

From source file:org.talend.dataprep.schema.csv.CSVSerializer.java

@Override
public InputStream serialize(InputStream rawContent, DataSetMetadata metadata, long limit) {
    try {//from w w  w  .  j  a v a 2 s  .  c  o  m
        PipedInputStream pipe = new PipedInputStream();
        PipedOutputStream jsonOutput = new PipedOutputStream(pipe);
        // Serialize asynchronously for better performance (especially if caller doesn't consume all, see sampling).
        Runnable r = () -> {
            final Map<String, String> parameters = metadata.getContent().getParameters();
            final String separator = parameters.get(CSVFormatFamily.SEPARATOR_PARAMETER);
            try (CSVReader reader = new CSVReader(new InputStreamReader(rawContent, metadata.getEncoding()),
                    separator.charAt(0), '\"', '\0')) {
                JsonGenerator generator = new JsonFactory().createGenerator(jsonOutput);
                int i = 0;
                while (i++ < metadata.getContent().getNbLinesInHeader()) {
                    reader.readNext(); // Skip all header lines
                }
                generator.writeStartArray();
                writeLineContent(reader, metadata, generator, separator, limit);
                generator.writeEndArray();
                generator.flush();
            } catch (Exception e) {
                // Consumer may very well interrupt consumption of stream (in case of limit(n) use for sampling).
                // This is not an issue as consumer is allowed to partially consumes results, it's up to the
                // consumer to ensure data it consumed is consistent.
                LOGGER.debug("Unable to continue serialization for {}. Skipping remaining content.",
                        metadata.getId(), e);
            } finally {
                try {
                    jsonOutput.close();
                } catch (IOException e) {
                    LOGGER.error("Unable to close output", e);
                }
            }
        };
        executor.execute(r);
        return pipe;
    } catch (IOException e) {
        throw new TDPException(CommonErrorCodes.UNABLE_TO_SERIALIZE_TO_JSON, e);
    }
}

From source file:de.rallye.mapper.GroupPositionsSerializer.java

@Override
public void serialize(Map<Integer, Node> value, JsonGenerator jgen, SerializerProvider provider)
        throws IOException/*,
                          JsonProcessingException*/ {

    jgen.writeStartArray();/* w w  w . j  a  v  a 2s.c om*/

    for (Integer groupId : value.keySet()) {
        int nodeId = value.get(groupId).nodeID;

        jgen.writeStartObject();

        jgen.writeFieldName(Group.GROUP_ID);
        jgen.writeNumber(groupId);

        jgen.writeFieldName(Node.NODE_ID);
        jgen.writeNumber(nodeId);

        jgen.writeEndObject();

    }

    jgen.writeEndArray();

}

From source file:io.protostuff.JsonOutput.java

@Override
public <T> void writeObject(final int fieldNumber, final T value, final Schema<T> schema,
        final boolean repeated) throws IOException {
    final JsonGenerator generator = this.generator;
    final Schema<?> lastSchema = this.schema;

    if (lastNumber != fieldNumber) {
        if (lastRepeated)
            generator.writeEndArray();

        final String name = numeric ? Integer.toString(fieldNumber) : lastSchema.getFieldName(fieldNumber);

        if (repeated)
            generator.writeArrayFieldStart(name);
        else/*from   w  w  w  . j  a  va 2 s  .c  o m*/
            generator.writeFieldName(name);
    }

    // reset
    this.schema = schema;
    lastNumber = 0;
    lastRepeated = false;

    generator.writeStartObject();
    // recursive write
    schema.writeTo(this, value);

    if (lastRepeated)
        generator.writeEndArray();

    generator.writeEndObject();

    // restore state
    lastNumber = fieldNumber;
    lastRepeated = repeated;
    this.schema = lastSchema;
}

From source file:be.dnsbelgium.rdap.jackson.ContactSerializer.java

@Override
public void serialize(Contact contact, JsonGenerator jsonGenerator, SerializerProvider serializerProvider)
        throws IOException {
    jsonGenerator.writeStartArray();/* ww  w. j a va2  s  .  c om*/
    // start write version
    jsonGenerator.writeStartArray();
    jsonGenerator.writeString("version");
    jsonGenerator.writeStartObject();
    jsonGenerator.writeEndObject();
    jsonGenerator.writeString("text");
    jsonGenerator.writeString("4.0");
    jsonGenerator.writeEndArray();
    // end write version
    for (Contact.Property property : contact.getProperties()) {
        // start write property
        jsonGenerator.writeStartArray();
        // start write property name
        String key = (property.getGroup() == null) ? property.getName()
                : property.getGroup() + "." + property.getName();
        jsonGenerator.writeString(property.getName().toLowerCase(Locale.ENGLISH));
        // end write property name
        // start write property parameters
        jsonGenerator.writeStartObject();
        if (property.getGroup() != null) {
            jsonGenerator.writeFieldName("group");
            jsonGenerator.writeString(property.getGroup());
        }
        if (property.getParameters() != null) {

            Iterator<String> it = property.getParameters().keys();
            while (it.hasNext()) {
                String k = it.next();
                if (k.equalsIgnoreCase("value")) {
                    continue;
                }
                Set<String> values = property.getParameters().get(k);
                if (values.size() == 0) {
                    // no parameters for this property, skip this step
                    continue;
                }
                jsonGenerator.writeFieldName(k.toLowerCase(Locale.ENGLISH));
                if (values.size() == 1) {
                    jsonGenerator.writeString(values.toArray(new String[values.size()])[0]);
                    continue;
                }
                // start write all property parameter values (array)
                jsonGenerator.writeStartArray();
                for (String str : property.getParameters().get(k)) {
                    jsonGenerator.writeString(str);
                }
                jsonGenerator.writeEndArray();
                // end write all property parameter values (array)

            }
        }
        jsonGenerator.writeEndObject();
        // end write property parameters
        // start write property type
        String value = "text";
        if (property.getParameters() != null) {
            Set<String> types = property.getParameters().get("VALUE");
            if (types != null) {
                value = types.iterator().next();
            }
        }
        jsonGenerator.writeString(value);
        // end write property type
        // start write property value
        JsonSerializer s = serializerProvider.findValueSerializer(property.getValue().getClass(), null);
        s.serialize(property.getValue(), jsonGenerator, serializerProvider);
        // end write property value
        jsonGenerator.writeEndArray();
        // end write property
    }
    jsonGenerator.writeEndArray();
}