Example usage for com.fasterxml.jackson.databind ObjectMapper configure

List of usage examples for com.fasterxml.jackson.databind ObjectMapper configure

Introduction

In this page you can find the example usage for com.fasterxml.jackson.databind ObjectMapper configure.

Prototype

public ObjectMapper configure(JsonGenerator.Feature f, boolean state) 

Source Link

Document

Method for changing state of an on/off JsonGenerator feature for JsonFactory instance this object mapper uses.

Usage

From source file:com.redhat.red.offliner.alist.FoloReportArtifactListReader.java

private ObjectMapper newObjectMapper() {
    ObjectMapper mapper = new ObjectMapper();
    mapper.setSerializationInclusion(JsonInclude.Include.NON_EMPTY);
    mapper.configure(JsonGenerator.Feature.AUTO_CLOSE_JSON_CONTENT, true);

    mapper.enable(SerializationFeature.INDENT_OUTPUT, SerializationFeature.USE_EQUALITY_FOR_OBJECT_ID);

    mapper.enable(MapperFeature.AUTO_DETECT_FIELDS);
    //        disable( MapperFeature.AUTO_DETECT_GETTERS );

    mapper.disable(SerializationFeature.WRITE_NULL_MAP_VALUES, SerializationFeature.WRITE_EMPTY_JSON_ARRAYS);

    mapper.disable(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES);

    mapper.registerModule(new FoloSerializerModule());

    return mapper;
}

From source file:io.apptik.comm.jus.converter.JacksonConverterFactoryTest.java

@Before
public void setUp() {
    queue = Jus.newRequestQueue();/*from  w  w w . ja  v a2  s  .com*/
    SimpleModule module = new SimpleModule();
    module.addSerializer(AnInterface.class, new AnInterfaceSerializer());
    module.addDeserializer(AnInterface.class, new AnInterfaceDeserializer());
    ObjectMapper mapper = new ObjectMapper();
    mapper.registerModule(module);
    mapper.configure(MapperFeature.AUTO_DETECT_GETTERS, false);
    mapper.configure(MapperFeature.AUTO_DETECT_SETTERS, false);
    mapper.configure(MapperFeature.AUTO_DETECT_IS_GETTERS, false);
    mapper.setVisibilityChecker(mapper.getSerializationConfig().getDefaultVisibilityChecker()
            .withFieldVisibility(JsonAutoDetect.Visibility.ANY));

    RetroProxy retroProxy = new RetroProxy.Builder().baseUrl(server.url("/").toString())
            .addConverterFactory(JacksonConverterFactory.create(mapper)).requestQueue(queue).build();
    service = retroProxy.create(Service.class);
}

From source file:org.lable.rfc3881.auditlogger.serialization.RFC3881ModuleTest.java

@Test
public void moduleTest() throws JsonProcessingException {
    ObjectMapper objectMapper = new ObjectMapper();
    objectMapper.registerModule(new RFC3881Module());
    objectMapper.registerModule(new JodaModule());
    objectMapper.configure(SerializationFeature.INDENT_OUTPUT, true);
    objectMapper.setSerializationInclusion(JsonInclude.Include.NON_NULL);

    LogEntry logEntry = new LogEntry(
            new Event(new CodeReference("events", "logon", "log-on"), EventAction.EXECUTE,
                    EventOutcome.SUCCESS),
            new Principal("bob", null, "Bob Jones", new CodeReference("roles", "user", "authenticated user")),
            null, null, NetworkAccessPoint.byIPAddress("127.0.0.1"),
            Collections.singletonList(
                    new AuditSource("servercluster1", "tomcat1", AuditSourceType.WEB_SERVER_PROCESS)),
            Collections.singletonList(new ParticipantObject("bob", ParticipantObjectType.PERSON,
                    ParticipantObjectIDType.USER_IDENTIFIER, ParticipantObjectTypeRole.USER,
                    DataLifeCycle.ACCESS_OR_USE, new CodeReference("sensitivity", "TOPSECRET", "Quite secret"),
                    "Bob Jones", "TEST".getBytes(),
                    new ParticipantObject.Detail(new CodeReference("detail", "DT1", "Detail 1"), new byte[0]))),
            new CodeReference("version", "1", "1"));

    System.out.println(objectMapper.writeValueAsString(logEntry));
}

From source file:com.esri.geoportal.commons.ags.client.AgsClient.java

/**
 * Reads service information.//from  w w  w  . j  a  v a 2s  .co  m
 *
 * @param folder folder
 * @param si serivce info obtained through {@link listContent}
 * @return service response
 * @throws URISyntaxException if invalid URL
 * @throws IOException if accessing token fails
 */
public ServerResponse readServiceInformation(String folder, ServiceInfo si)
        throws URISyntaxException, IOException {
    String url = rootUrl.toURI().resolve("rest/services/").resolve(StringUtils.stripToEmpty(folder))
            .resolve(si.name + "/" + si.type).toASCIIString();
    HttpGet get = new HttpGet(url + String.format("?f=%s", "json"));

    try (CloseableHttpResponse httpResponse = httpClient.execute(get);
            InputStream contentStream = httpResponse.getEntity().getContent();) {
        if (httpResponse.getStatusLine().getStatusCode() >= 400) {
            throw new HttpResponseException(httpResponse.getStatusLine().getStatusCode(),
                    httpResponse.getStatusLine().getReasonPhrase());
        }
        String responseContent = IOUtils.toString(contentStream, "UTF-8");
        ObjectMapper mapper = new ObjectMapper();
        mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
        mapper.setSerializationInclusion(JsonInclude.Include.NON_NULL);
        ServerResponse response = mapper.readValue(responseContent, ServerResponse.class);
        response.url = url;
        return response;
    }
}

From source file:com.derpgroup.echodebugger.App.java

@Override
public void run(MainConfig config, Environment environment) throws IOException {
    if (config.isPrettyPrint()) {
        ObjectMapper mapper = environment.getObjectMapper();
        mapper.enable(SerializationFeature.INDENT_OUTPUT);
        mapper.registerModule(new JavaTimeModule());
        mapper.configure(SerializationFeature.WRITE_DATE_TIMESTAMPS_AS_NANOSECONDS, false);
        mapper.configure(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS, false);
    }/*w  ww  .j a va 2  s  . c  o m*/

    // Health checks
    environment.healthChecks().register("basics", new BasicHealthCheck(config, environment));

    // Load up the content
    UserDaoLocalImpl userDao = new UserDaoLocalImpl(config, environment);
    userDao.initialize();

    // Build the helper thread that saves data every X minutes
    UserDaoLocalImplThread userThread = new UserDaoLocalImplThread(config, userDao);
    userThread.start();

    EchoDebuggerResource debuggerResource = new EchoDebuggerResource(config, environment);
    debuggerResource.setUserDao(userDao);

    // Resources
    environment.jersey().register(debuggerResource);

    // Providers
    environment.jersey().register(new ResponderExceptionMapper());
}

From source file:com.miserablemind.api.consumer.tradeking.api.impl.response_entities.TKResponse.java

/**
 * For arrays of objects TK returns an array when multiple, but if only one object found, it is not wrapped in array.
 * This method deserializes and wraps that object to array
 *
 * @param className Class Name of the object to de-serialize to
 * @param response  response from TK//w  w  w  .  j a  v  a  2s.  co m
 * @param nestedKey Nesting array key
 * @return Array of objects. The user of this class will cast this to accommodate specif needs
 * @throws Exception
 */
Object[] extractArray(Class<? extends Object[]> className, LinkedHashMap response, String nestedKey)
        throws Exception {

    ObjectMapper mapper = new ObjectMapper();
    mapper.registerModule(new TradeKingModule());
    mapper.registerModule(new JodaModule());
    mapper.configure(DeserializationFeature.READ_ENUMS_USING_TO_STRING, true);
    mapper.configure(SerializationFeature.WRITE_ENUMS_USING_TO_STRING, true);

    Object nestedEntry = response.get(nestedKey);

    if (nestedEntry.getClass() != ArrayList.class) {
        nestedEntry = new Object[] { nestedEntry };
    }

    String jsonArray = mapper.writeValueAsString(nestedEntry);

    return mapper.readValue(jsonArray, className);

}

From source file:io.gumga.security.WebConfigForTest.java

private MappingJackson2HttpMessageConverter jacksonConverter() {
    ObjectMapper mapper = new ObjectMapper();
    mapper.registerModule(new Hibernate4Module());
    mapper.registerModule(new JodaModule());
    mapper.configure(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS, false);
    mapper.setDateFormat(new ISO8601DateFormat());
    mapper.setVisibility(PropertyAccessor.ALL, JsonAutoDetect.Visibility.NONE);
    mapper.setVisibility(PropertyAccessor.FIELD, JsonAutoDetect.Visibility.ANY);

    MappingJackson2HttpMessageConverter jacksonConverter = new MappingJackson2HttpMessageConverter();
    mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
    jacksonConverter.setObjectMapper(mapper);

    return jacksonConverter;
}

From source file:org.mycontroller.standalone.api.jaxrs.mixins.McJacksonJson2Provider.java

@Override
public void writeTo(Object value, Class<?> type, Type genericType, Annotation[] annotations,
        MediaType mediaType, MultivaluedMap<String, Object> httpHeaders, OutputStream entityStream)
        throws IOException {
    ObjectMapper mapper = locateMapper(type, mediaType);
    mapper.configure(SerializationFeature.INDENT_OUTPUT, true); // this creates a 'configured' mapper
    mapper.setSerializationInclusion(Include.NON_NULL);
    mapper.configure(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS, false);
    mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);

    //AddMixIns/*  ww w.  j a va 2  s.  c o m*/
    mapper.addMixIn(RuleDefinitionTable.class, RuleDefinitionMixin.class);
    mapper.addMixIn(Dashboard.class, DashboardMixin.class);
    mapper.addMixIn(ExternalServerTable.class, ExternalServerMixin.class);
    mapper.addMixIn(Firmware.class, FirmwareMixin.class);
    mapper.addMixIn(ForwardPayload.class, ForwardPayloadMixin.class);
    mapper.addMixIn(GatewayTable.class, GatewayMixin.class);
    mapper.addMixIn(Node.class, NodeMixin.class);
    mapper.addMixIn(OperationTable.class, OperationMixin.class);
    mapper.addMixIn(Resource.class, ResourceMixin.class);
    mapper.addMixIn(ResourcesGroup.class, ResourcesGroupMixin.class);
    mapper.addMixIn(ResourcesGroupMap.class, ResourcesGroupMapMixin.class);
    mapper.addMixIn(ResourcesLogs.class, ResourcesLogsMixin.class);
    mapper.addMixIn(Role.class, RoleMixin.class);
    mapper.addMixIn(Sensor.class, SensorMixin.class);
    mapper.addMixIn(Timer.class, TimerMixin.class);
    mapper.addMixIn(User.class, UserMixin.class);
    mapper.addMixIn(McScript.class, McScriptMixin.class);
    mapper.addMixIn(SensorVariable.class, SensorVariableMixin.class);
    mapper.addMixIn(SensorVariableJson.class, SensorVariableJsonMixin.class);

    if (_logger.isDebugEnabled()) {
        _logger.debug("Response: Headers:{}", httpHeaders);
        _logger.debug("Response: Value:{}", value);
        _logger.debug("Request headers:{}", headers.getRequestHeaders());
    }

    super.writeTo(value, type, genericType, annotations, mediaType, httpHeaders, entityStream);
}

From source file:com.esri.geoportal.commons.ags.client.AgsClient.java

/**
 * Generates token./*from  www.java2 s . c  o m*/
 *
 * @param minutes expiration in minutes.
 * @param credentials credentials.
 * @return token response
 * @throws URISyntaxException if invalid URL
 * @throws IOException if accessing token fails
 */
public TokenResponse generateToken(int minutes, SimpleCredentials credentials)
        throws URISyntaxException, IOException {
    HttpPost post = new HttpPost(rootUrl.toURI().resolve("tokens/generateToken"));
    HashMap<String, String> params = new HashMap<>();
    params.put("f", "json");
    if (credentials != null) {
        params.put("username", StringUtils.trimToEmpty(credentials.getUserName()));
        params.put("password", StringUtils.trimToEmpty(credentials.getPassword()));
    }
    params.put("client", "ip");
    params.put("ip", InetAddress.getLocalHost().getHostAddress());
    params.put("expiration", Integer.toString(minutes));
    HttpEntity entity = new UrlEncodedFormEntity(params.entrySet().stream()
            .map(e -> new BasicNameValuePair(e.getKey(), e.getValue())).collect(Collectors.toList()));
    post.setEntity(entity);

    try (CloseableHttpResponse httpResponse = httpClient.execute(post);
            InputStream contentStream = httpResponse.getEntity().getContent();) {
        if (httpResponse.getStatusLine().getStatusCode() >= 400) {
            throw new HttpResponseException(httpResponse.getStatusLine().getStatusCode(),
                    httpResponse.getStatusLine().getReasonPhrase());
        }
        String responseContent = IOUtils.toString(contentStream, "UTF-8");
        ObjectMapper mapper = new ObjectMapper();
        mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
        mapper.setSerializationInclusion(JsonInclude.Include.NON_NULL);
        return mapper.readValue(responseContent, TokenResponse.class);
    }
}

From source file:biz.dfch.j.clickatell.ClickatellClient.java

public AccountBalanceResponse getBalance() throws URISyntaxException, ClientProtocolException, IOException {
    String response = Request.Get(uriBalance.toString()).setHeader(headerApiVersion)
            .setHeader(headerContentType).setHeader(headerAccept).setHeader("Authorization", bearerToken)
            .execute().returnContent().asString();

    ObjectMapper om = new ObjectMapper();
    om.configure(SerializationFeature.FAIL_ON_EMPTY_BEANS, true);
    AccountBalanceResponse accountBalanceResponse = om.readValue(response, AccountBalanceResponse.class);
    return accountBalanceResponse;
}