List of usage examples for com.fasterxml.jackson.core JsonGenerator writeRaw
public void writeRaw(SerializableString raw) throws IOException, JsonGenerationException
From source file:com.fiadot.springjsoncrypt.json.CryptMappingJacson2HttpMessageConverter.java
@Override protected void writeInternal(Object object, HttpOutputMessage outputMessage) throws IOException, HttpMessageNotWritableException { JsonEncoding encoding = getJsonEncoding(outputMessage.getHeaders().getContentType()); // The following has been deprecated as late as Jackson 2.2 (April 2013); // preserved for the time being, for Jackson 2.0/2.1 compatibility. @SuppressWarnings("deprecation") JsonGenerator jsonGenerator = this.objectMapper.getJsonFactory() .createJsonGenerator(outputMessage.getBody(), encoding); // A workaround for JsonGenerators not applying serialization features // https://github.com/FasterXML/jackson-databind/issues/12 if (this.objectMapper.isEnabled(SerializationFeature.INDENT_OUTPUT)) { jsonGenerator.useDefaultPrettyPrinter(); }//from w w w . j a va2s . c o m try { if (this.jsonPrefix != null) { jsonGenerator.writeRaw(this.jsonPrefix); } // original source // jsonGenerator. //this.objectMapper.writeValue(jsonGenerator, object); CipherEncryptUtils cryptoUtil = new CipherEncryptUtils("AES", "AES/CBC/PKCS7Padding", "ls4h+XaXU+A5m72HRpwkeQ==", "W46YspHuEiQlKDcLTqoySw=="); String encStr = null; try { encStr = cryptoUtil.encrypt(this.objectMapper.writeValueAsString(object)); logger.info("MessageMapper::WriteInternal() encStr=" + encStr); } catch (Exception e) { } outputMessage.getBody().write(encStr.getBytes()); } catch (JsonProcessingException ex) { throw new HttpMessageNotWritableException("Could not write JSON: " + ex.getMessage(), ex); } }
From source file:ch.ralscha.extdirectspring.util.MapActionSerializer.java
@Override public void serialize(Map<String, List<Action>> value, JsonGenerator jgen, SerializerProvider provider) throws IOException { if (null != value) { jgen.writeStartObject();/*from w ww .j a va 2 s . c o m*/ for (Entry<String, List<Action>> entry : value.entrySet()) { String key = entry.getKey(); jgen.writeArrayFieldStart(key); List<Action> actions = entry.getValue(); for (Action action : actions) { // PrettyPrinter is not set the generator is on one line // mode if (jgen.getPrettyPrinter() != null && action instanceof ActionDoc) {// insertion // of // doc // here ActionDoc actionDoc = (ActionDoc) action; jgen.writeRaw("\n\t/**"); if (actionDoc.isDeprecated()) { jgen.writeRaw("\n\t* @deprecated"); } jgen.writeRaw("\n\t* " + actionDoc.getName() + ": " + actionDoc.getMethodComment()); jgen.writeRaw("\n\t* @author: " + actionDoc.getAuthor()); jgen.writeRaw("\n\t* @version: " + actionDoc.getVersion()); jgen.writeRaw("\n\t*"); for (Entry<String, String> entry2 : actionDoc.getParameters().entrySet()) { jgen.writeRaw("\n\t* @param: [" + entry2.getKey() + "] " + entry2.getValue()); } jgen.writeRaw("\n\t* @return"); for (Entry<String, String> entry2 : actionDoc.getReturnMethod().entrySet()) { jgen.writeRaw("\n\t*\t [" + entry2.getKey() + "] " + entry2.getValue()); } jgen.writeRaw("\n\t*/\n"); } jgen.writeObject(action); } jgen.writeEndArray(); } jgen.writeEndObject(); } }
From source file:gr.abiss.calipso.jpasearch.json.serializer.FormSchemaSerializer.java
@Override public void serialize(FormSchema schema, JsonGenerator jgen, SerializerProvider provider) throws IOException, JsonGenerationException { try {/* w w w . j a va2 s .c om*/ Class domainClass = schema.getDomainClass(); if (null == domainClass) { throw new RuntimeException("formSchema has no domain class set"); } else { jgen.writeStartObject(); PropertyDescriptor[] descriptors = new PropertyUtilsBean().getPropertyDescriptors(domainClass); for (int i = 0; i < descriptors.length; i++) { PropertyDescriptor descriptor = descriptors[i]; String name = descriptor.getName(); if (!ignoredFieldNames.contains(name)) { jgen.writeFieldName(name); jgen.writeStartObject(); // String fieldValue = getFormFieldConfig(domainClass, name); if (StringUtils.isNotBlank(fieldValue)) { jgen.writeRaw(fieldValue); } jgen.writeEndObject(); } } jgen.writeEndObject(); } } catch (Exception e) { LOGGER.error("Failed serializing form schema", e); } }
From source file:com.bazaarvoice.jsonpps.PrettyPrintJson.java
public void prettyPrint(List<File> inputFiles, File outputFile) throws IOException { JsonFactory factory = new JsonFactory(); factory.disable(JsonFactory.Feature.INTERN_FIELD_NAMES); if (!strict) { factory.enable(JsonParser.Feature.ALLOW_BACKSLASH_ESCAPING_ANY_CHARACTER); factory.enable(JsonParser.Feature.ALLOW_COMMENTS); factory.enable(JsonParser.Feature.ALLOW_NON_NUMERIC_NUMBERS); factory.enable(JsonParser.Feature.ALLOW_NUMERIC_LEADING_ZEROS); factory.enable(JsonParser.Feature.ALLOW_SINGLE_QUOTES); factory.enable(JsonParser.Feature.ALLOW_UNQUOTED_CONTROL_CHARS); factory.enable(JsonParser.Feature.ALLOW_UNQUOTED_FIELD_NAMES); }/*from w ww . ja v a 2 s . c om*/ ObjectMapper mapper = null; if (sortKeys) { mapper = new ObjectMapper(factory); mapper.enable(SerializationFeature.ORDER_MAP_ENTRIES_BY_KEYS); mapper.disable(SerializationFeature.FLUSH_AFTER_WRITE_VALUE); } // Open the output stream and create the Json emitter. JsonGenerator generator; File tempOutputFile = null; if (STDINOUT.equals(outputFile)) { generator = factory.createGenerator(stdout, JsonEncoding.UTF8); } else if (!caseInsensitiveContains(inputFiles, outputFile)) { generator = factory.createGenerator(outputFile, JsonEncoding.UTF8); } else { // Writing to an input file.. use a temp file to stage the output until we're done. tempOutputFile = getTemporaryFileFor(outputFile); generator = factory.createGenerator(tempOutputFile, JsonEncoding.UTF8); } try { // Separate top-level objects by a newline in the output. String newline = System.getProperty("line.separator"); generator.setPrettyPrinter(new DefaultPrettyPrinter(newline)); if (wrap) { generator.writeStartArray(); } for (File inputFile : inputFiles) { JsonParser parser; if (STDINOUT.equals(inputFile)) { parser = factory.createParser(stdin); } else { parser = factory.createParser(inputFile); } try { while (parser.nextToken() != null) { copyCurrentStructure(parser, mapper, 0, generator); } } finally { parser.close(); } } if (wrap) { generator.writeEndArray(); } generator.writeRaw(newline); } finally { generator.close(); } if (tempOutputFile != null && !tempOutputFile.renameTo(outputFile)) { System.err.println("error: unable to rename temporary file to output: " + outputFile); System.exit(1); } }
From source file:com.arpnetworking.logback.serialization.BaseSerializationStrategy.java
/** * Complete writing the Steno JSON wrapper. * * @param event Instance of <code>ILoggingEvent</code>. * @param eventName The name of the event. * @param contextKeys The <code>List</code> of context keys. * @param contextValues The <code>List</code> of context values. * @param jsonGenerator <code>JsonGenerator</code> instance. * @param objectMapper <code>ObjectMapper</code> instance. * @throws IOException If writing JSON fails. *///from w w w .j a v a 2 s .c om // CHECKSTYLE.OFF: NPathComplexity - Many combinations protected void endStenoWrapper(final ILoggingEvent event, final String eventName, final List<String> contextKeys, final List<Object> contextValues, final JsonGenerator jsonGenerator, final ObjectMapper objectMapper) throws IOException { jsonGenerator.writeObjectFieldStart("context"); if (_encoder.isInjectContextHost()) { jsonGenerator.writeStringField("host", HOST_CONVERTER.convert(event)); } if (_encoder.isInjectContextProcess()) { jsonGenerator.writeStringField("processId", PROCESS_CONVERTER.convert(event)); } if (_encoder.isInjectContextThread()) { jsonGenerator.writeStringField("threadId", THREAD_CONVERTER.convert(event)); } if (_encoder.isInjectContextLogger()) { if (_encoder.isCompressLoggerName()) { jsonGenerator.writeStringField("logger", CONDENSED_LOGGER_CONVERTER.convert(event)); } else { jsonGenerator.writeStringField("logger", LOGGER_CONVERTER.convert(event)); } } if (_encoder.isInjectContextFile()) { jsonGenerator.writeStringField("file", FILE_CONVERTER.convert(event)); } if (_encoder.isInjectContextClass()) { jsonGenerator.writeStringField("class", CLASS_CONVERTER.convert(event)); } if (_encoder.isInjectContextMethod()) { jsonGenerator.writeStringField("method", METHOD_CONVERTER.convert(event)); } if (_encoder.isInjectContextLine()) { jsonGenerator.writeStringField("line", LINE_CONVERTER.convert(event)); } for (final String key : _encoder.getMdcProperties()) { final String value = event.getMDCPropertyMap().get(key); jsonGenerator.writeStringField(key, value); } writeKeyValuePairs(contextKeys, contextValues, jsonGenerator, objectMapper); jsonGenerator.writeEndObject(); // End 'context' field jsonGenerator.writeObjectField("id", createId()); jsonGenerator.writeObjectField("version", "0"); jsonGenerator.writeEndObject(); // End log message jsonGenerator.writeRaw('\n'); jsonGenerator.flush(); }
From source file:org.fluentd.jvmwatcher.parser.JsonSimpleLogParser.java
/** * @param generator/* w w w. j a v a2s . c om*/ * @param state * @throws IOException * @throws JsonGenerationException */ private void outSimpleLog(JsonGenerator generator, JvmWatchState state) throws JsonGenerationException, IOException { Collection<JvmStateLog> logArray = state.getStateLog(); // convert to JSON stream of JvmStateLog. for (JvmStateLog elem : logArray) { generator.writeStartObject(); // Common generator.writeNumberField(LOG_DATETIME, elem.getLogDateTime()); generator.writeStringField(HOST_NAME, this.getHostName()); generator.writeStringField(PROC_STATE, elem.getProcState().name()); generator.writeNumberField(JVM_ID, state.getJvmId()); generator.writeStringField(SHORT_NAME, state.getShortName()); generator.writeStringField(DISPRAY_NAME, state.getDisplayName()); // runtime generator.writeNumberField(START_TIME, state.getJvmStartTime()); generator.writeNumberField(LOG_RUN_UP_TIME, elem.getJvmUpTime()); // cpu usage generator.writeNumberField(LOG_CPU_USAGE, elem.getCpuUsage()); // Compilation generator.writeNumberField(LOG_COMPILE_TIME, elem.getCompileTime()); // Class loading generator.writeNumberField(LOG_CLASS_LOAD_CNT, elem.getClassLoadedCount()); generator.writeNumberField(LOG_CLASS_UNLOAD_CNT, elem.getClassUnloadedCount()); generator.writeNumberField(LOG_CLASS_TOTAL_LOAD_CNT, elem.getClassTotalLoadedCount()); // Thread generator.writeNumberField(LOG_THREAD_CNT, elem.getThreadCount()); generator.writeNumberField(LOG_DAEMON_TH_CNT, elem.getDaemonThreadCount()); generator.writeNumberField(LOG_PEAK_TH_CNT, elem.getPeakThreadCount()); // Memory if (elem.getHeapSize() != null) { generator.writeNumberField(LOG_MEM_HEAP_INIT, elem.getHeapSize().getInit()); generator.writeNumberField(LOG_MEM_HEAP_USED, elem.getHeapSize().getUsed()); generator.writeNumberField(LOG_MEM_HEAP_COMMITED, elem.getHeapSize().getCommitted()); generator.writeNumberField(LOG_MEM_HEAP_MAX, elem.getHeapSize().getMax()); } if (elem.getNotheapSize() != null) { generator.writeNumberField(LOG_MEM_NOTHEAP_INIT, elem.getNotheapSize().getInit()); generator.writeNumberField(LOG_MEM_NOTHEAP_USED, elem.getNotheapSize().getUsed()); generator.writeNumberField(LOG_MEM_NOTHEAP_COMMITED, elem.getNotheapSize().getCommitted()); generator.writeNumberField(LOG_MEM_NOTHEAP_MAX, elem.getNotheapSize().getMax()); } generator.writeNumberField(LOG_MEM_PENDING_FIN_CNT, elem.getPendingFinalizationCount_()); // OS Information generator.writeNumberField(LOG_OS_TOTAL_PHY_MEM_SIZE, elem.getTotalPhysicalMemorySize()); generator.writeNumberField(LOG_OS_TOTAL_SWAP_MEM_SIZE, elem.getTotalSwapSpaceSize()); generator.writeNumberField(LOG_OS_FREE_PHY_MEM_SIZE, elem.getFreePhysicalMemorySize()); generator.writeNumberField(LOG_OS_FREE_SWAP_MEM_SIZE, elem.getFreeSwapSpaceSize()); generator.writeNumberField(LOG_OS_COMMIT_VMEM_SIZE, elem.getCommittedVirtualMemorySize()); Collection<GarbageCollectorState> gcColl = elem.getGcStateCollection(); if (null != gcColl) { // GC INformation (Array output) generator.writeFieldName(LOG_KEY_GC_COLLECT); generator.writeStartArray(); for (GarbageCollectorState gcElem : gcColl) { generator.writeStartObject(); generator.writeStringField(LOG_GC_MEM_MGR_NAME, gcElem.getMemoryManagerName()); generator.writeNumberField(LOG_GC_COLLECTION_CNT, gcElem.getCollectionCount()); generator.writeNumberField(LOG_GC_COLLECTION_TIME, gcElem.getCollectionTime()); generator.writeEndObject(); } generator.writeEndArray(); } generator.writeEndObject(); generator.writeRaw("\n"); } }
From source file:org.craftercms.commons.jackson.mvc.CrafterJackson2MessageConverter.java
@Override protected void writeInternal(Object object, HttpOutputMessage outputMessage) throws IOException, HttpMessageNotWritableException { JsonEncoding encoding = getJsonEncoding(outputMessage.getHeaders().getContentType()); JsonGenerator jsonGenerator = this.getObjectMapper().getFactory().createGenerator(outputMessage.getBody(), encoding);// w ww .j ava 2 s. c o m // A workaround for JsonGenerators not applying serialization features // https://github.com/FasterXML/jackson-databind/issues/12 if (this.getObjectMapper().isEnabled(SerializationFeature.INDENT_OUTPUT)) { jsonGenerator.useDefaultPrettyPrinter(); } try { if (this.jsonPrefix != null) { jsonGenerator.writeRaw(this.jsonPrefix); } runAnnotations(object); ObjectWriter writer = this.getObjectMapper().writer(filter); writer.writeValue(jsonGenerator, object); } catch (JsonProcessingException ex) { throw new HttpMessageNotWritableException("Could not write JSON: " + ex.getMessage(), ex); } }