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

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

Introduction

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

Prototype

public ObjectMapper setSerializationInclusion(JsonInclude.Include incl) 

Source Link

Document

Method for setting defalt POJO property inclusion strategy for serialization.

Usage

From source file:info.pancancer.arch3.beans.Job.java

public Job fromJSON(String json) {
    ObjectMapper mapper = new ObjectMapper();
    mapper.setSerializationInclusion(JsonInclude.Include.NON_NULL);
    try {/*from   w  w  w .  j a  va2 s . co  m*/
        return mapper.readValue(json, Job.class);
    } catch (JsonParseException e) {
        // TODO: improve logging for JSON parse errors.
        System.out.println("JSON parsing error: " + e.getMessage());
        e.printStackTrace();
        return null;
    } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
        return null;
    }

}

From source file:org.comicwiki.Repository.java

public void save(OutputStream out, DataFormat format) throws Exception {
    if (DataFormat.JSON.equals(format)) {
        ObjectMapper mapper = new ObjectMapper();
        mapper.setSerializationInclusion(Include.NON_DEFAULT);
        mapper.writeValue(out, cache.values());
    } else if (DataFormat.N_TRIPLES.equals(format)) {
        RDFDataset dataset = new RDFDataset();
        for (T t : cache.values()) {
            Collection<Statement> statements = ThingToStatementsTransformer.transform(t);

            for (Statement statement : statements) {
                dataset.addTriple(statement.getSubject().getValue(), statement.getPredicate().getValue(),
                        statement.getObject().getValue());
            }//from   ww w  . j  a  v a2  s  .  com
        }
        out.write(RDFDatasetUtils.toNQuads(dataset).getBytes());
    } else if (DataFormat.TURTLE.equals(format)) {
        RDFDataset dataset = new RDFDataset();
        for (T t : cache.values()) {
            Collection<Statement> statements = ThingToStatementsTransformer.transform(t);

            for (Statement statement : statements) {
                dataset.addTriple(statement.getSubject().getValue(), statement.getPredicate().getValue(),
                        statement.getObject().getValue());
            }
        }
        Object output = JsonLdProcessor.fromRDF(RDFDatasetUtils.toNQuads(dataset));

        out.write(output.toString().getBytes());
    }
    out.close();
}

From source file:io.apiman.manager.ui.server.servlets.ConfigurationServlet.java

/**
 * @see javax.servlet.http.HttpServlet#doGet(javax.servlet.http.HttpServletRequest,
 *      javax.servlet.http.HttpServletResponse)
 *//* w  w  w. j a  v a2s  .co m*/
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {

    try {
        Class.forName("io.apiman.manager.ui.server.UIConfig"); //$NON-NLS-1$
    } catch (Throwable t) {
        t.printStackTrace();
    }

    JsonGenerator g = null;
    try {
        response.getOutputStream().write("window.APIMAN_CONFIG_DATA = ".getBytes("UTF-8")); //$NON-NLS-1$ //$NON-NLS-2$
        JsonFactory f = new JsonFactory();
        g = f.createGenerator(response.getOutputStream(), JsonEncoding.UTF8);
        ObjectMapper mapper = new ObjectMapper();
        mapper.setSerializationInclusion(Include.NON_NULL);
        g.setCodec(mapper);
        g.useDefaultPrettyPrinter();

        // Get data from various sources.
        String endpoint = getConfig().getManagementApiEndpoint();
        if (endpoint == null) {
            endpoint = getDefaultEndpoint(request);
        }
        UIVersion version = UIVersion.get();
        ApiAuthType authType = getConfig().getManagementApiAuthType();

        ConfigurationBean configBean = new ConfigurationBean();
        configBean.setApiman(new AppConfigurationBean());
        configBean.setUser(new UserConfigurationBean());
        configBean.setUi(new UiConfigurationBean());
        configBean.setApi(new ApiConfigurationBean());
        configBean.getUi().setHeader("community"); //$NON-NLS-1$
        configBean.getUi().setMetrics(getConfig().isMetricsEnabled());
        configBean.getUi().setPlatform(getConfig().getPlatform());
        configBean.getApiman().setVersion(version.getVersionString());
        configBean.getApiman().setBuiltOn(version.getVersionDate());
        configBean.getApiman().setLogoutUrl(getConfig().getLogoutUrl());
        configBean.getUser().setUsername(request.getRemoteUser());
        configBean.getApi().setEndpoint(endpoint);
        configBean.getApi().setAuth(new ApiAuthConfigurationBean());
        switch (authType) {
        case authToken: {
            configBean.getApi().getAuth().setType(ApiAuthType.authToken);
            String tokenGeneratorClassName = getConfig().getManagementApiAuthTokenGenerator();
            if (tokenGeneratorClassName == null) {
                throw new ServletException("No token generator class specified."); //$NON-NLS-1$
            }
            Class<?> c = Class.forName(tokenGeneratorClassName);
            ITokenGenerator tokenGenerator = (ITokenGenerator) c.newInstance();
            configBean.getApi().getAuth().setBearerToken(tokenGenerator.generateToken(request));
            break;
        }
        case basic: {
            configBean.getApi().getAuth().setType(ApiAuthType.basic);
            configBean.getApi().getAuth().setBasic(new BasicAuthCredentialsBean());
            String username = getConfig().getManagementApiAuthUsername();
            String password = getConfig().getManagementApiAuthPassword();
            configBean.getApi().getAuth().getBasic().setUsername(username);
            configBean.getApi().getAuth().getBasic().setPassword(password);
            break;
        }
        case bearerToken: {
            configBean.getApi().getAuth().setType(ApiAuthType.bearerToken);
            String tokenGeneratorClassName = getConfig().getManagementApiAuthTokenGenerator();
            if (tokenGeneratorClassName == null)
                throw new ServletException("No token generator class specified."); //$NON-NLS-1$
            Class<?> c = Class.forName(tokenGeneratorClassName);
            ITokenGenerator tokenGenerator = (ITokenGenerator) c.newInstance();
            configBean.getApi().getAuth().setBearerToken(tokenGenerator.generateToken(request));
            break;
        }
        case samlBearerToken: {
            configBean.getApi().getAuth().setType(ApiAuthType.samlBearerToken);
            String tokenGeneratorClassName = getConfig().getManagementApiAuthTokenGenerator();
            if (tokenGeneratorClassName == null)
                throw new ServletException("No token generator class specified."); //$NON-NLS-1$
            Class<?> c = Class.forName(tokenGeneratorClassName);
            ITokenGenerator tokenGenerator = (ITokenGenerator) c.newInstance();
            configBean.getApi().getAuth().setBearerToken(tokenGenerator.generateToken(request));
            break;
        }
        }
        g.writeObject(configBean);

        g.flush();
        response.getOutputStream().write(";".getBytes("UTF-8")); //$NON-NLS-1$ //$NON-NLS-2$
    } catch (Exception e) {
        throw new ServletException(e);
    } finally {
        IOUtils.closeQuietly(g);
    }
}

From source file:org.jasig.cas.util.AbstractJacksonBackedJsonSerializer.java

/**
 * Initialize object mapper./*  w  w w .jav a2 s. c o m*/
 *
 * @return the object mapper
 */
protected ObjectMapper initializeObjectMapper() {
    final ObjectMapper mapper = new ObjectMapper();
    mapper.configure(SerializationFeature.FAIL_ON_EMPTY_BEANS, false);
    mapper.setSerializationInclusion(JsonInclude.Include.NON_EMPTY);
    mapper.setVisibility(PropertyAccessor.SETTER, JsonAutoDetect.Visibility.PROTECTED_AND_PUBLIC);
    mapper.setVisibility(PropertyAccessor.GETTER, JsonAutoDetect.Visibility.PROTECTED_AND_PUBLIC);
    mapper.setVisibility(PropertyAccessor.IS_GETTER, JsonAutoDetect.Visibility.PROTECTED_AND_PUBLIC);
    mapper.enableDefaultTyping(ObjectMapper.DefaultTyping.NON_FINAL, JsonTypeInfo.As.PROPERTY);
    return mapper;
}

From source file:com.thesett.util.hibernate.JsonUserType.java

/**
 * Transforms an object into JSON./*w ww.  ja v  a 2  s .c  o m*/
 *
 * @param  object The object to convert to JSON.
 *
 * @return The object as a JSON string.
 */
String convertObjectToJson(Object object) {
    try {
        ObjectMapper mapper = new ObjectMapper();
        mapper.enableDefaultTyping(ObjectMapper.DefaultTyping.NON_FINAL);
        mapper.setSerializationInclusion(JsonInclude.Include.NON_NULL);

        return mapper.writeValueAsString(object);
    } catch (IOException e) {
        throw new IllegalStateException(e);
    }
}

From source file:org.elasticsoftware.elasticactors.base.serialization.ObjectMapperBuilder.java

public final ObjectMapper build() {
    ObjectMapper objectMapper = new ObjectMapper();
    objectMapper.setSerializationInclusion(JsonInclude.Include.NON_NULL);

    // scan everything for META-INF/elasticactors.properties
    Set<String> basePackages = new HashSet<>();
    try {/*from  ww w  . ja  v a2 s .  c o m*/
        Enumeration<URL> resources = Thread.currentThread().getContextClassLoader().getResources(RESOURCE_NAME);
        while (resources.hasMoreElements()) {
            URL url = resources.nextElement();
            Properties props = new Properties();
            props.load(url.openStream());
            basePackages.add(props.getProperty("basePackage"));
        }
    } catch (IOException e) {
        logger.warn(String.format("Failed to load elasticactors.properties"), e);
    }

    // add other base packages
    if (this.basePackages != null && !"".equals(this.basePackages)) {
        String[] otherPackages = this.basePackages.split(",");
        basePackages.addAll(Arrays.asList(otherPackages));
    }

    ConfigurationBuilder configurationBuilder = new ConfigurationBuilder();

    for (String basePackage : basePackages) {
        configurationBuilder.addUrls(ClasspathHelper.forPackage(basePackage));
    }

    Reflections reflections = new Reflections(configurationBuilder);
    registerSubtypes(reflections, objectMapper);

    SimpleModule jacksonModule = new SimpleModule("org.elasticsoftware.elasticactors",
            new Version(1, 0, 0, null, null, null));

    registerCustomSerializers(reflections, jacksonModule);
    registerCustomDeserializers(reflections, jacksonModule);

    objectMapper.registerModule(jacksonModule);

    if (useAfterBurner) {
        // register the afterburner module to increase performance
        // afterburner does NOT work correctly with jackson version lower than 2.4.5! (if @JsonSerialize annotation is used)
        AfterburnerModule afterburnerModule = new AfterburnerModule();
        //afterburnerModule.setUseValueClassLoader(false);
        //afterburnerModule.setUseOptimizedBeanDeserializer(false);
        objectMapper.registerModule(afterburnerModule);
    }

    return objectMapper;
}

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.upnext.beaconos.sdk.backend.BeaconControlManagerImpl.java

private ObjectMapper getObjectMapper() {
    ObjectMapper objectMapper = new ObjectMapper();
    objectMapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
    objectMapper.setSerializationInclusion(JsonInclude.Include.NON_NULL);

    return objectMapper;
}

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

/**
 * Lists folder content.//from  w  w w  .  j a  v  a2s .  c o  m
 *
 * @param folder folder or <code>null</code>
 * @return content response
 * @throws URISyntaxException if invalid URL
 * @throws IOException if accessing token fails
 */
public ContentResponse listContent(String folder) throws URISyntaxException, IOException {
    String url = rootUrl.toURI().resolve("rest/services/").resolve(StringUtils.stripToEmpty(folder))
            .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);
        ContentResponse response = mapper.readValue(responseContent, ContentResponse.class);
        response.url = url;
        return response;
    }
}

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

/**
 * Reads service information.//  www .ja v  a  2s  . c o  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;
    }
}