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

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

Introduction

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

Prototype

public void writeRaw(SerializableString raw) throws IOException, JsonGenerationException 

Source Link

Document

Method that will force generator to copy input text verbatim with no modifications (including that no escaping is done and no separators are added even if context [array, object] would otherwise require such).

Usage

From source file:org.datagator.api.client.SpooledRowBuffer.java

public void flush() throws IOException {
    if (cacheFile.length() > 0) {
        cacheFile.seek(cacheFile.length() - 1);
    } else {//from w  w w.  j  a  v a 2  s  .c  o m
        cacheFile.seek(0);
    }
    FileWriter writer = new FileWriter(cacheFile.getFD());
    JsonGenerator jg = Entity.json.createGenerator(writer);
    if (rowsCount < 0) {
        jg.writeRaw(",\n");
    }
    for (Object[] v : this.cache) {
        jg.writeStartArray();
        for (Object e : v) {
            jg.writeObject(e);
        }
        jg.writeEndArray();
        rowsCount += 1;
    }
    jg.flush();
    this.cache.clear();
}

From source file:com.jxt.web.util.MappingJackson2JsonpView.java

@Override
protected void renderMergedOutputModel(Map<String, Object> model, HttpServletRequest request,
        HttpServletResponse response) throws Exception {

    Object value = filterModel(model);
    JsonGenerator generator = this.objectMapper.getFactory().createGenerator(response.getOutputStream(),
            this.encoding);
    if (this.prefixJson) {
        generator.writeRaw("{} && ");
    }/*from  w  w  w  . j av  a2s.  com*/
    final String callBackParameter = getCallBackParameter(request);
    if (StringUtils.isEmpty(callBackParameter)) {
        this.objectMapper.writeValue(generator, value);
    } else {
        generator.writeRaw(callBackParameter);
        generator.writeRaw(cbPrefix);
        this.objectMapper.writeValue(generator, value);
        generator.writeRaw(cbSuffix);
        generator.writeRaw(cbEnd);
    }
    generator.flush();
}

From source file:org.springframework.http.converter.json.replacement.MappingJacksonHttpMessageConverter.java

@Override
protected void writeInternal(Object o, HttpOutputMessage outputMessage)
        throws IOException, HttpMessageNotWritableException {
    JsonEncoding encoding = getEncoding(outputMessage.getHeaders().getContentType());
    JsonGenerator jsonGenerator = objectMapper.getJsonFactory().createJsonGenerator(outputMessage.getBody(),
            encoding);//  w w w .j a v a  2 s . c o  m
    if (prefixJson) {
        jsonGenerator.writeRaw("{} && ");
    }
    objectMapper.writeValue(jsonGenerator, o);
}

From source file:org.oncoblocks.centromere.web.util.FilteringJackson2HttpMessageConverter.java

@Override
protected void writeInternal(Object object, Type type, HttpOutputMessage outputMessage)
        throws IOException, HttpMessageNotWritableException {

    ObjectMapper objectMapper = getObjectMapper();
    JsonGenerator jsonGenerator = objectMapper.getFactory().createGenerator(outputMessage.getBody());

    try {//from   ww  w  . j ava 2s .com

        if (this.prefixJson) {
            jsonGenerator.writeRaw(")]}', ");
        }

        if (object instanceof ResponseEnvelope) {

            ResponseEnvelope envelope = (ResponseEnvelope) object;
            Object entity = envelope.getEntity();
            Set<String> fieldSet = envelope.getFieldSet();
            Set<String> exclude = envelope.getExclude();
            FilterProvider filters = null;

            if (fieldSet != null && !fieldSet.isEmpty()) {
                if (entity instanceof ResourceSupport) {
                    fieldSet.add("content"); // Don't filter out the wrapped content.
                }
                filters = new SimpleFilterProvider()
                        .addFilter("fieldFilter", SimpleBeanPropertyFilter.filterOutAllExcept(fieldSet))
                        .setFailOnUnknownId(false);
            } else if (exclude != null && !exclude.isEmpty()) {
                filters = new SimpleFilterProvider()
                        .addFilter("fieldFilter", SimpleBeanPropertyFilter.serializeAllExcept(exclude))
                        .setFailOnUnknownId(false);
            } else {
                filters = new SimpleFilterProvider()
                        .addFilter("fieldFilter", SimpleBeanPropertyFilter.serializeAllExcept())
                        .setFailOnUnknownId(false);
            }

            objectMapper.setFilterProvider(filters);
            objectMapper.writeValue(jsonGenerator, entity);

        } else if (object == null) {
            jsonGenerator.writeNull();
        } else {
            FilterProvider filters = new SimpleFilterProvider().setFailOnUnknownId(false);
            objectMapper.setFilterProvider(filters);
            objectMapper.writeValue(jsonGenerator, object);
        }

    } catch (JsonProcessingException e) {
        e.printStackTrace();
        throw new HttpMessageNotWritableException("Could not write JSON: " + e.getMessage());
    }

}

From source file:sys.core.jackson.MappingJacksonHttpMessageConverter.java

@Override
protected void writeInternal(Object object, HttpOutputMessage outputMessage)
        throws IOException, HttpMessageNotWritableException {
    System.out.println("Entro al writeInternal");
    JsonEncoding encoding = getJsonEncoding(outputMessage.getHeaders().getContentType());
    JsonGenerator jsonGenerator = this.objectMapper.getJsonFactory()
            .createJsonGenerator(outputMessage.getBody(), encoding);
    try {//from  w ww .j  a  v  a  2 s .c o m
        if (this.prefixJson) {
            jsonGenerator.writeRaw("{} && ");
        }
        this.objectMapper.writeValue(jsonGenerator, object);
    } catch (JsonProcessingException ex) {
        throw new HttpMessageNotWritableException("Could not write JSON: " + ex.getMessage(), ex);
    }
}

From source file:com.meetingninja.csse.database.UserDatabaseAdapter.java

public static User update(String userID, Map<String, String> key_values)
        throws JsonGenerationException, IOException, InterruptedException {
    // 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);
    for (String key : key_values.keySet()) {
        if (key.equals(Keys.User.EMAIL) && !Utilities.isValidEmailAddress(key_values.get(Keys.User.EMAIL)))
            throw new IOException("Error : [Update User] Incorrect email format");
        else {//  ww w .  j a va 2 s.  c o  m
            jgen.flush();
            // Build JSON Object
            jgen.writeStartObject();
            jgen.writeStringField(Keys.User.ID, userID);
            jgen.writeStringField("field", key);
            jgen.writeStringField("value", key_values.get(key));
            jgen.writeEndObject();
            jgen.writeRaw("\f");
        }
    }

    jgen.close();
    // Get JSON Object payload from print stream
    String payload = json.toString("UTF8");
    ps.close();
    String[] payloads = payload.split("\f\\s*");

    Thread t = new Thread(new Thread(new Runnable() {
        @Override
        public void run() {
            try {
                Thread.sleep(500);
            } catch (InterruptedException e) {
                e.getLocalizedMessage();
            }
        }
    }));
    String response = "";
    for (String p : payloads) {
        t.run();
        response = updateHelper(p);
    }
    return parseUser(MAPPER.readTree(response));
}

From source file:org.brutusin.json.impl.serializers.JsonNodeSerializer.java

@Override
public void serialize(JsonNode value, JsonGenerator gen, SerializerProvider provider) throws IOException {
    JsonWriteContext ctx = (JsonWriteContext) gen.getOutputContext();

    int status = ctx.writeValue();
    switch (status) {
    case JsonWriteContext.STATUS_OK_AFTER_COMMA:
        gen.writeRaw(',');
        break;//  ww  w . j a v a  2s .c o m
    case JsonWriteContext.STATUS_OK_AFTER_COLON:
        gen.writeRaw(':');
        break;
    case JsonWriteContext.STATUS_OK_AFTER_SPACE:
        gen.writeRaw(' ');
        break;
    }
    ;
    if (value == null) {
        gen.writeRaw("null");
    } else {
        gen.writeRaw(value.toString());
    }
}

From source file:com.cloudmine.api.persistance.CMJacksonModule.java

public CMJacksonModule() {
    super("CustomModule", new Version(1, 0, 0, null));
    addSerializer(new JsonSerializer<Date>() {

        @Override//from ww w  . ja  v  a  2s .  c  o m
        public void serialize(Date value, JsonGenerator jgen, SerializerProvider provider)
                throws IOException, JsonProcessingException {
            jgen.writeStartObject();
            jgen.writeRaw(JsonUtilities.convertDateToUnwrappedJsonClass(value));
            jgen.writeEndObject();
        }

        @Override
        public Class<Date> handledType() {
            return Date.class;
        }
    });

    addDeserializer(Date.class, new JsonDeserializer<Date>() {
        @Override
        public Date deserialize(JsonParser jp, DeserializationContext ctxt)
                throws IOException, JsonProcessingException {
            ObjectMapper mapper = (ObjectMapper) jp.getCodec();
            ObjectNode root = (ObjectNode) mapper.readTree(jp);
            JsonNode classNode = root.get(JsonUtilities.CLASS_KEY);
            boolean isDate = classNode != null && JsonUtilities.DATE_CLASS.equals(classNode.asText());
            if (isDate) {
                JsonNode timeNode = root.get(JsonUtilities.TIME_KEY);
                if (timeNode != null) {
                    Long seconds = timeNode.asLong();
                    Date date = new Date(seconds * 1000);
                    return date;
                }
            }
            return null;
        }
    });
    addSerializer(new JsonSerializer<SimpleCMObject>() {

        @Override
        public void serialize(SimpleCMObject value, JsonGenerator jgen, SerializerProvider provider)
                throws IOException {
            jgen.writeStartObject();
            String json = null;
            try {
                json = value.asUnkeyedObject();
            } catch (ConversionException e) {
                LOG.error("Error while serializing, sending empty json", e);
                json = JsonUtilities.EMPTY_JSON;
            }
            jgen.writeRaw(JsonUtilities.unwrap(json));
            jgen.writeEndObject();
        }

        @Override
        public Class<SimpleCMObject> handledType() {
            return SimpleCMObject.class;
        }
    });

    addSerializer(jsonSerializerForType(CMFile.class));
    addSerializer(jsonSerializerForType(CMSessionToken.class));
    addSerializer(jsonSerializerForType(CMType.class));
    addSerializer(jsonSerializerForType(TransportableString.class));
    addSerializer(jsonSerializerForType(ResponseBase.class));

}

From source file:org.brutusin.json.impl.serializers.InputStreamSerializer.java

@Override
public void serialize(InputStream value, JsonGenerator gen, SerializerProvider provider) throws IOException {
    JsonWriteContext ctx = (JsonWriteContext) gen.getOutputContext();
    int status = ctx.writeValue();
    switch (status) {
    case JsonWriteContext.STATUS_OK_AFTER_COMMA:
        gen.writeRaw(',');
        break;//from  ww  w.  j av a 2s  .c  om
    case JsonWriteContext.STATUS_OK_AFTER_COLON:
        gen.writeRaw(':');
        break;
    case JsonWriteContext.STATUS_OK_AFTER_SPACE:
        gen.writeRaw(' ');
        break;
    }
    ;
    if (value == null) {
        gen.writeRaw("null");
    } else {
        SerializationContext sCtx = SerializationContext.getCurrentContext();
        if (sCtx == null) {
            sCtx = new SerializationContext();
            SerializationContext.setCurrentContext(sCtx);
        }
        gen.writeRaw("\"" + sCtx.addStream(value) + "\"");
    }
}

From source file:org.webpda.server.core.servermessage.PVEventMessage.java

@Override
public String createJson() throws JsonProcessingException {
    try {/* ww  w  .  ja  v  a  2  s .  co  m*/
        ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
        JsonGenerator jg = JsonUtil.jsonFactory.createGenerator(outputStream);
        jg.writeStartObject();
        jg.writeNumberField(PVID, id);
        jg.writeStringField(EVENT, evt.name());
        jg.writeFieldName(DATA);
        if (isRawJson)
            jg.writeRaw(":" + data);
        else
            jg.writeObject(data);
        jg.writeEndObject();
        jg.close();
        String s = outputStream.toString(Constants.CHARSET);
        //         System.out.println(s.length() + s);
        outputStream.close();
        return s;
    } catch (Exception e) {
        LoggerUtil.getLogger().log(Level.SEVERE, "Failed to create json.", e);
    }

    return null;
}