Java Code Examples for com.fasterxml.jackson.core.JsonFactory#configure()

The following examples show how to use com.fasterxml.jackson.core.JsonFactory#configure() . You can vote up the ones you like or vote down the ones you don't like, and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
Source File: JCalRawWriter.java    From biweekly with BSD 2-Clause "Simplified" License 7 votes vote down vote up
private void init() throws IOException {
	JsonFactory factory = new JsonFactory();
	factory.configure(Feature.AUTO_CLOSE_TARGET, false);
	generator = factory.createGenerator(writer);

	if (prettyPrint) {
		if (prettyPrinter == null) {
			prettyPrinter = new JCalPrettyPrinter();
		}
		generator.setPrettyPrinter(prettyPrinter);
	}

	if (wrapInArray) {
		generator.writeStartArray();
	}
}
 
Example 2
Source File: Metadata.java    From Bats with Apache License 2.0 6 votes vote down vote up
/**
 * Serialize parquet metadata to json and write to a file.
 *
 * @param parquetMetadata parquet table or directory metadata
 * @param p file path
 * @param fs Drill file system
 * @throws IOException if metadata can't be serialized
 */
private void writeFile(Object parquetMetadata, Path p, FileSystem fs) throws IOException {
  JsonFactory jsonFactory = new JsonFactory();
  jsonFactory.configure(Feature.AUTO_CLOSE_TARGET, false);
  jsonFactory.configure(JsonParser.Feature.AUTO_CLOSE_SOURCE, false);
  ObjectMapper mapper = new ObjectMapper(jsonFactory);
  SimpleModule module = new SimpleModule();
  module.addSerializer(Path.class, new PathSerDe.Se());
  if (parquetMetadata instanceof Metadata_V4.FileMetadata) {
    module.addSerializer(ColumnMetadata_v4.class, new ColumnMetadata_v4.Serializer());
  }
  mapper.registerModule(module);
  OutputStream os = fs.create(p);
  mapper.writerWithDefaultPrettyPrinter().writeValue(os, parquetMetadata);
  os.flush();
  os.close();
}
 
Example 3
Source File: JsonDocumentStream.java    From ojai with Apache License 2.0 6 votes vote down vote up
public JsonDocumentStream(InputStream in,
    Map<FieldPath, Type> fieldPathTypeMap, Events.Delegate eventDelegate) {
  inputStream = in;
  readStarted = false;
  iteratorOpened = false;
  this.eventDelegate = eventDelegate;
  this.fieldPathTypeMap = fieldPathTypeMap;
  try {
    JsonFactory jFactory = new JsonFactory();
    /* setting explicitly AUTO_CLOSE_SOURCE = false to ensure that
     * jsonParser.close() do not close the underlying inputstream.
     * It has to be closed by the owner of the stream.
     */
    jFactory.configure(JsonParser.Feature.AUTO_CLOSE_SOURCE, false);
    jsonParser = jFactory.createParser(inputStream);
  } catch (IOException e) {
    throw new DecodingException(e);
  }
}
 
Example 4
Source File: JSONOptions.java    From pulsar-flink with Apache License 2.0 5 votes vote down vote up
/** Sets config options on a Jackson [[JsonFactory]]. */
public void setJacksonOptions(JsonFactory factory) {
    factory.configure(JsonParser.Feature.ALLOW_COMMENTS, allowComments);
    factory.configure(JsonParser.Feature.ALLOW_UNQUOTED_FIELD_NAMES, allowUnquotedFieldNames);
    factory.configure(JsonParser.Feature.ALLOW_SINGLE_QUOTES, allowSingleQuotes);
    factory.configure(JsonParser.Feature.ALLOW_NUMERIC_LEADING_ZEROS, allowNumericLeadingZeros);
    factory.configure(JsonParser.Feature.ALLOW_NON_NUMERIC_NUMBERS, allowNonNumericNumbers);
    factory.configure(JsonParser.Feature.ALLOW_BACKSLASH_ESCAPING_ANY_CHARACTER, allowBackslashEscapingAnyCharacter);
    factory.configure(JsonParser.Feature.ALLOW_UNQUOTED_CONTROL_CHARS, allowUnquotedControlChars);
}
 
Example 5
Source File: ConnectionInformationSerializer.java    From rapidminer-studio with GNU Affero General Public License v3.0 5 votes vote down vote up
/**
 * Creates an ObjectMapper that doesn't close output streams
 *
 * @return a preconfigured ObjectMapper
 */
private static ObjectMapper createObjectMapper() {
	JsonFactory jsonFactory = new JsonFactory();
	// Don't close underlying streams
	jsonFactory.configure(JsonGenerator.Feature.AUTO_CLOSE_TARGET, false);
	ObjectMapper mapper = new ObjectMapper(jsonFactory);
	mapper.configure(SerializationFeature.INDENT_OUTPUT, true);
	return mapper;
}
 
Example 6
Source File: JacksonCustomConverter.java    From microservices-comparison with Apache License 2.0 5 votes vote down vote up
private ObjectMapper createMapper() {
    JsonFactory jsonFactory = new JsonFactory();
    jsonFactory.configure(JsonGenerator.Feature.AUTO_CLOSE_TARGET, false);
    ObjectMapper mapper = new ObjectMapper(jsonFactory);
    mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
    mapper.registerModule(new Jdk8Module());
    return mapper;
}
 
Example 7
Source File: DataVirtualizationService.java    From syndesis with Apache License 2.0 4 votes vote down vote up
/**
 * Create an export of the current workspace.  Optionally including the full vdb.
 */
private StreamingResponseBody createExportStream(DataVirtualization dv, VDBMetaData theVdb, Long revision)
        {
    DataVirtualizationV1Adapter adapter = new DataVirtualizationV1Adapter(dv);

    List<? extends ViewDefinition> views = getWorkspaceManager().findViewDefinitions(dv.getName());

    Map<String, SourceV1> sources = new LinkedHashMap<>();

    for (ViewDefinition view : views) {
        adapter.getViews().add(new ViewDefinitionV1Adapter(view));
        for (String path : view.getSourcePaths()) {
            String connection = PathUtils.getOptions(path).get(0).getSecond();
            if (sources.containsKey(connection)) {
                continue;
            }
            TeiidDataSource tds = this.metadataService.findTeiidDatasource(connection);
            if (tds != null) {
                SourceV1 source = new SourceV1();
                source.setSourceId(tds.getSyndesisId());
                source.setName(tds.getName());
                sources.put(connection, source);
            }
        }
    }

    List<TablePrivileges> tablePrivileges = getWorkspaceManager().findAllTablePrivileges(dv.getName());
    for (TablePrivileges privileges : tablePrivileges) {
        adapter.getTablePriveleges().add(new TablePrivilegeV1Adapter(privileges));
    }

    adapter.setSources(new ArrayList<>(sources.values()));

    return out -> {
        ZipOutputStream zos = new ZipOutputStream(out);

        JsonFactory jsonFactory = new JsonFactory();
        jsonFactory.configure(JsonGenerator.Feature.AUTO_CLOSE_TARGET, false);
        ObjectMapper mapper = new ObjectMapper(jsonFactory);

        zos.putNextEntry(new ZipEntry(DV_JSON));
        mapper.writerWithDefaultPrettyPrinter().writeValue(zos, adapter);
        zos.closeEntry();

        zos.putNextEntry(new ZipEntry("dv-info.json")); //$NON-NLS-1$
        String json = String.format("{\"exportVersion\":%s,%n" //$NON-NLS-1$
                + "\"revision\":%s,%n" //$NON-NLS-1$
                + "\"entityVersion\":%s}", 1, //$NON-NLS-1$
                revision == null ? "\"draft\"" : revision, dv.getVersion()); //$NON-NLS-1$
        zos.write(json.getBytes("UTF-8")); //$NON-NLS-1$
        zos.closeEntry();

        if (theVdb != null) {
            zos.putNextEntry(new ZipEntry(DV_VDB_XML));
            try {
                VDBMetadataParser.marshall(theVdb, zos);
            } catch (XMLStreamException e) {
                throw new IOException(e);
            }
            //the marshal closes automatically
            //zos.closeEntry();
        }

        zos.close();
    };
}
 
Example 8
Source File: AbstractSPARQLJSONParser.java    From rdf4j with BSD 3-Clause "New" or "Revised" License 4 votes vote down vote up
/**
 * Get an instance of JsonFactory configured using the settings from {@link #getParserConfig()}.
 *
 * @return A newly configured JsonFactory based on the currently enabled settings
 */
private JsonFactory configureNewJsonFactory() {
	final JsonFactory nextJsonFactory = new JsonFactory();
	// Disable features that may work for most JSON where the field names are
	// in limited supply,
	// but does not work for SPARQL/JSON where a wide range of URIs are used for
	// subjects and predicates
	nextJsonFactory.disable(JsonFactory.Feature.INTERN_FIELD_NAMES);
	nextJsonFactory.disable(JsonFactory.Feature.CANONICALIZE_FIELD_NAMES);
	nextJsonFactory.disable(JsonGenerator.Feature.AUTO_CLOSE_TARGET);

	if (getParserConfig().isSet(JSONSettings.ALLOW_BACKSLASH_ESCAPING_ANY_CHARACTER)) {
		nextJsonFactory.configure(JsonParser.Feature.ALLOW_BACKSLASH_ESCAPING_ANY_CHARACTER,
				getParserConfig().get(JSONSettings.ALLOW_BACKSLASH_ESCAPING_ANY_CHARACTER));
	}
	if (getParserConfig().isSet(JSONSettings.ALLOW_COMMENTS)) {
		nextJsonFactory.configure(JsonParser.Feature.ALLOW_COMMENTS,
				getParserConfig().get(JSONSettings.ALLOW_COMMENTS));
	}
	if (getParserConfig().isSet(JSONSettings.ALLOW_NON_NUMERIC_NUMBERS)) {
		nextJsonFactory.configure(JsonParser.Feature.ALLOW_NON_NUMERIC_NUMBERS,
				getParserConfig().get(JSONSettings.ALLOW_NON_NUMERIC_NUMBERS));
	}
	if (getParserConfig().isSet(JSONSettings.ALLOW_NUMERIC_LEADING_ZEROS)) {
		nextJsonFactory.configure(JsonParser.Feature.ALLOW_NUMERIC_LEADING_ZEROS,
				getParserConfig().get(JSONSettings.ALLOW_NUMERIC_LEADING_ZEROS));
	}
	if (getParserConfig().isSet(JSONSettings.ALLOW_SINGLE_QUOTES)) {
		nextJsonFactory.configure(JsonParser.Feature.ALLOW_SINGLE_QUOTES,
				getParserConfig().get(JSONSettings.ALLOW_SINGLE_QUOTES));
	}
	if (getParserConfig().isSet(JSONSettings.ALLOW_UNQUOTED_CONTROL_CHARS)) {
		nextJsonFactory.configure(JsonParser.Feature.ALLOW_UNQUOTED_CONTROL_CHARS,
				getParserConfig().get(JSONSettings.ALLOW_UNQUOTED_CONTROL_CHARS));
	}
	if (getParserConfig().isSet(JSONSettings.ALLOW_UNQUOTED_FIELD_NAMES)) {
		nextJsonFactory.configure(JsonParser.Feature.ALLOW_UNQUOTED_FIELD_NAMES,
				getParserConfig().get(JSONSettings.ALLOW_UNQUOTED_FIELD_NAMES));
	}
	if (getParserConfig().isSet(JSONSettings.ALLOW_YAML_COMMENTS)) {
		nextJsonFactory.configure(JsonParser.Feature.ALLOW_YAML_COMMENTS,
				getParserConfig().get(JSONSettings.ALLOW_YAML_COMMENTS));
	}
	if (getParserConfig().isSet(JSONSettings.ALLOW_TRAILING_COMMA)) {
		nextJsonFactory.configure(JsonParser.Feature.ALLOW_TRAILING_COMMA,
				getParserConfig().get(JSONSettings.ALLOW_TRAILING_COMMA));
	}
	if (getParserConfig().isSet(JSONSettings.INCLUDE_SOURCE_IN_LOCATION)) {
		nextJsonFactory.configure(JsonParser.Feature.INCLUDE_SOURCE_IN_LOCATION,
				getParserConfig().get(JSONSettings.INCLUDE_SOURCE_IN_LOCATION));
	}
	if (getParserConfig().isSet(JSONSettings.STRICT_DUPLICATE_DETECTION)) {
		nextJsonFactory.configure(JsonParser.Feature.STRICT_DUPLICATE_DETECTION,
				getParserConfig().get(JSONSettings.STRICT_DUPLICATE_DETECTION));
	}
	return nextJsonFactory;
}
 
Example 9
Source File: RDFJSONParser.java    From rdf4j with BSD 3-Clause "New" or "Revised" License 4 votes vote down vote up
/**
 * Get an instance of JsonFactory configured using the settings from {@link #getParserConfig()}.
 *
 * @return A newly configured JsonFactory based on the currently enabled settings
 */
private JsonFactory configureNewJsonFactory() {
	final JsonFactory nextJsonFactory = new JsonFactory();
	// Disable features that may work for most JSON where the field names are
	// in limited supply,
	// but does not work for RDF/JSON where a wide range of URIs are used for
	// subjects and predicates
	nextJsonFactory.disable(JsonFactory.Feature.INTERN_FIELD_NAMES);
	nextJsonFactory.disable(JsonFactory.Feature.CANONICALIZE_FIELD_NAMES);
	nextJsonFactory.disable(JsonGenerator.Feature.AUTO_CLOSE_TARGET);

	if (getParserConfig().isSet(JSONSettings.ALLOW_BACKSLASH_ESCAPING_ANY_CHARACTER)) {
		nextJsonFactory.configure(JsonParser.Feature.ALLOW_BACKSLASH_ESCAPING_ANY_CHARACTER,
				getParserConfig().get(JSONSettings.ALLOW_BACKSLASH_ESCAPING_ANY_CHARACTER));
	}
	if (getParserConfig().isSet(JSONSettings.ALLOW_COMMENTS)) {
		nextJsonFactory.configure(JsonParser.Feature.ALLOW_COMMENTS,
				getParserConfig().get(JSONSettings.ALLOW_COMMENTS));
	}
	if (getParserConfig().isSet(JSONSettings.ALLOW_NON_NUMERIC_NUMBERS)) {
		nextJsonFactory.configure(JsonParser.Feature.ALLOW_NON_NUMERIC_NUMBERS,
				getParserConfig().get(JSONSettings.ALLOW_NON_NUMERIC_NUMBERS));
	}
	if (getParserConfig().isSet(JSONSettings.ALLOW_NUMERIC_LEADING_ZEROS)) {
		nextJsonFactory.configure(JsonParser.Feature.ALLOW_NUMERIC_LEADING_ZEROS,
				getParserConfig().get(JSONSettings.ALLOW_NUMERIC_LEADING_ZEROS));
	}
	if (getParserConfig().isSet(JSONSettings.ALLOW_SINGLE_QUOTES)) {
		nextJsonFactory.configure(JsonParser.Feature.ALLOW_SINGLE_QUOTES,
				getParserConfig().get(JSONSettings.ALLOW_SINGLE_QUOTES));
	}
	if (getParserConfig().isSet(JSONSettings.ALLOW_UNQUOTED_CONTROL_CHARS)) {
		nextJsonFactory.configure(JsonParser.Feature.ALLOW_UNQUOTED_CONTROL_CHARS,
				getParserConfig().get(JSONSettings.ALLOW_UNQUOTED_CONTROL_CHARS));
	}
	if (getParserConfig().isSet(JSONSettings.ALLOW_UNQUOTED_FIELD_NAMES)) {
		nextJsonFactory.configure(JsonParser.Feature.ALLOW_UNQUOTED_FIELD_NAMES,
				getParserConfig().get(JSONSettings.ALLOW_UNQUOTED_FIELD_NAMES));
	}
	if (getParserConfig().isSet(JSONSettings.ALLOW_YAML_COMMENTS)) {
		nextJsonFactory.configure(JsonParser.Feature.ALLOW_YAML_COMMENTS,
				getParserConfig().get(JSONSettings.ALLOW_YAML_COMMENTS));
	}
	if (getParserConfig().isSet(JSONSettings.ALLOW_TRAILING_COMMA)) {
		nextJsonFactory.configure(JsonParser.Feature.ALLOW_TRAILING_COMMA,
				getParserConfig().get(JSONSettings.ALLOW_TRAILING_COMMA));
	}
	if (getParserConfig().isSet(JSONSettings.INCLUDE_SOURCE_IN_LOCATION)) {
		nextJsonFactory.configure(JsonParser.Feature.INCLUDE_SOURCE_IN_LOCATION,
				getParserConfig().get(JSONSettings.INCLUDE_SOURCE_IN_LOCATION));
	}
	if (getParserConfig().isSet(JSONSettings.STRICT_DUPLICATE_DETECTION)) {
		nextJsonFactory.configure(JsonParser.Feature.STRICT_DUPLICATE_DETECTION,
				getParserConfig().get(JSONSettings.STRICT_DUPLICATE_DETECTION));
	}
	return nextJsonFactory;
}
 
Example 10
Source File: JSONLDParser.java    From rdf4j with BSD 3-Clause "New" or "Revised" License 4 votes vote down vote up
/**
 * Get an instance of JsonFactory configured using the settings from {@link #getParserConfig()}.
 *
 * @return A newly configured JsonFactory based on the currently enabled settings
 */
private JsonFactory configureNewJsonFactory() {
	final JsonFactory nextJsonFactory = new JsonFactory(JSON_MAPPER);
	ParserConfig parserConfig = getParserConfig();

	if (parserConfig.isSet(JSONSettings.ALLOW_BACKSLASH_ESCAPING_ANY_CHARACTER)) {
		nextJsonFactory.configure(JsonParser.Feature.ALLOW_BACKSLASH_ESCAPING_ANY_CHARACTER,
				parserConfig.get(JSONSettings.ALLOW_BACKSLASH_ESCAPING_ANY_CHARACTER));
	}
	if (parserConfig.isSet(JSONSettings.ALLOW_COMMENTS)) {
		nextJsonFactory.configure(JsonParser.Feature.ALLOW_COMMENTS,
				parserConfig.get(JSONSettings.ALLOW_COMMENTS));
	}
	if (parserConfig.isSet(JSONSettings.ALLOW_NON_NUMERIC_NUMBERS)) {
		nextJsonFactory.configure(JsonParser.Feature.ALLOW_NON_NUMERIC_NUMBERS,
				parserConfig.get(JSONSettings.ALLOW_NON_NUMERIC_NUMBERS));
	}
	if (parserConfig.isSet(JSONSettings.ALLOW_NUMERIC_LEADING_ZEROS)) {
		nextJsonFactory.configure(JsonParser.Feature.ALLOW_NUMERIC_LEADING_ZEROS,
				parserConfig.get(JSONSettings.ALLOW_NUMERIC_LEADING_ZEROS));
	}
	if (parserConfig.isSet(JSONSettings.ALLOW_SINGLE_QUOTES)) {
		nextJsonFactory.configure(JsonParser.Feature.ALLOW_SINGLE_QUOTES,
				parserConfig.get(JSONSettings.ALLOW_SINGLE_QUOTES));
	}
	if (parserConfig.isSet(JSONSettings.ALLOW_UNQUOTED_CONTROL_CHARS)) {
		nextJsonFactory.configure(JsonParser.Feature.ALLOW_UNQUOTED_CONTROL_CHARS,
				parserConfig.get(JSONSettings.ALLOW_UNQUOTED_CONTROL_CHARS));
	}
	if (parserConfig.isSet(JSONSettings.ALLOW_UNQUOTED_FIELD_NAMES)) {
		nextJsonFactory.configure(JsonParser.Feature.ALLOW_UNQUOTED_FIELD_NAMES,
				parserConfig.get(JSONSettings.ALLOW_UNQUOTED_FIELD_NAMES));
	}
	if (parserConfig.isSet(JSONSettings.ALLOW_YAML_COMMENTS)) {
		nextJsonFactory.configure(JsonParser.Feature.ALLOW_YAML_COMMENTS,
				parserConfig.get(JSONSettings.ALLOW_YAML_COMMENTS));
	}
	if (parserConfig.isSet(JSONSettings.ALLOW_TRAILING_COMMA)) {
		nextJsonFactory.configure(JsonParser.Feature.ALLOW_TRAILING_COMMA,
				parserConfig.get(JSONSettings.ALLOW_TRAILING_COMMA));
	}
	if (parserConfig.isSet(JSONSettings.INCLUDE_SOURCE_IN_LOCATION)) {
		nextJsonFactory.configure(JsonParser.Feature.INCLUDE_SOURCE_IN_LOCATION,
				parserConfig.get(JSONSettings.INCLUDE_SOURCE_IN_LOCATION));
	}
	if (parserConfig.isSet(JSONSettings.STRICT_DUPLICATE_DETECTION)) {
		nextJsonFactory.configure(JsonParser.Feature.STRICT_DUPLICATE_DETECTION,
				parserConfig.get(JSONSettings.STRICT_DUPLICATE_DETECTION));
	}
	return nextJsonFactory;
}
 
Example 11
Source File: TopicSerialization.java    From strimzi-kafka-operator with Apache License 2.0 4 votes vote down vote up
private static ObjectMapper objectMapper() {
    JsonFactory jf = new JsonFactory();
    jf.configure(JsonParser.Feature.INCLUDE_SOURCE_IN_LOCATION, false);
    return new ObjectMapper(jf);
}