Example usage for com.fasterxml.jackson.databind.ser.impl SimpleBeanPropertyFilter serializeAllExcept

List of usage examples for com.fasterxml.jackson.databind.ser.impl SimpleBeanPropertyFilter serializeAllExcept

Introduction

In this page you can find the example usage for com.fasterxml.jackson.databind.ser.impl SimpleBeanPropertyFilter serializeAllExcept.

Prototype

public static SimpleBeanPropertyFilter serializeAllExcept(String... propertyArray) 

Source Link

Usage

From source file:org.bonitasoft.web.designer.utils.ObjectMapperExceptField.java

public ObjectMapperExceptField(Class<?> targetClass, String property) {
    super();/*  w  ww  . j av a2 s.c  om*/
    SimpleBeanPropertyFilter theFilter = SimpleBeanPropertyFilter.serializeAllExcept(property);
    FilterProvider filters = new SimpleFilterProvider().addFilter("myFilter", theFilter);
    addMixInAnnotations(targetClass, PropertyFilterMixIn.class);
    setFilters(filters);
}

From source file:com.acme.SyndEntryJsonTransformer.java

/**
 * Configure ObjectMapper to filter out fields causing serialization problems
 *//*ww  w.j  a  va  2  s . c  om*/
public SyndEntryJsonTransformer() {
    mapper = new ObjectMapper();
    mapper.addMixInAnnotations(SyndEntry.class, this.getClass());
    FilterProvider filterProvider = new SimpleFilterProvider().addFilter("foreignMarkup filter",
            SimpleBeanPropertyFilter.serializeAllExcept("foreignMarkup"));
    mapper.setFilters(filterProvider);
}

From source file:org.camunda.bpm.elasticsearch.jackson.JacksonMixInFilterModule.java

public static SimpleFilterProvider getCustomFilterProvider() {
    SimpleFilterProvider filterProvider = new SimpleFilterProvider();
    for (Map.Entry<Class<? extends HistoryEvent>, Class> mixInFilter : getDefaultMixInFilters().entrySet()) {
        String jsonFilterId = getJsonFilterAnnotationValue(mixInFilter.getValue());
        if (jsonFilterId != null) {
            SimpleBeanPropertyFilter filter = SimpleBeanPropertyFilter.serializeAllExcept("");
            // TODO: add extension mechanism to declare filter values via ElasticSearchHistoryPluginConfiguration
            filterProvider.addFilter(jsonFilterId, filter);
        }//  w w  w. j av  a2 s.co m
    }

    return filterProvider;
}

From source file:ob.servlet.getmessage.java

/**
 * Processes requests for both HTTP <code>GET</code> and <code>POST</code>
 * methods./*from  w  w  w  .  jav  a 2  s . c  om*/
 *
 * @param request servlet request
 * @param response servlet response
 * @throws ServletException if a servlet-specific error occurs
 * @throws IOException if an I/O error occurs
 */
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {
    outinfo = "fail";
    String loginedUserName = (String) request.getSession().getAttribute("username");
    if (loginedUserName != null && !loginedUserName.equals("")) {
        int loginedUserid = (Integer) request.getSession().getAttribute("userid");
        po = dao.getinfo(loginedUserid);
        if (po != null) {
            if (po.getUsername().equals(loginedUserName)) {//??
                FilterProvider filters = new SimpleFilterProvider().addFilter("smsFilter",
                        SimpleBeanPropertyFilter.serializeAllExcept("uid"));
                outinfo = mapper.writer(filters).writeValueAsString(po.getSms());
            }
        }
    }
    response.setContentType("text/html;charset=UTF-8");
    PrintWriter out = response.getWriter();
    try {
        /* TODO output your page here. You may use following sample code. */
        out.print(outinfo);
    } finally {
        out.close();
    }
}

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 {// w w w.j a v a 2 s.  c o m

        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:com.groupon.odo.controllers.PathController.java

@SuppressWarnings("deprecation")
@RequestMapping(value = "/api/path", method = RequestMethod.GET)
public @ResponseBody String getPathsForProfile(Model model, String profileIdentifier,
        @RequestParam(value = "typeFilter[]", required = false) String[] typeFilter,
        @RequestParam(value = "clientUUID", defaultValue = Constants.PROFILE_CLIENT_DEFAULT_ID) String clientUUID)
        throws Exception {
    int profileId = ControllerUtils.convertProfileIdentifier(profileIdentifier);
    List<EndpointOverride> paths = PathOverrideService.getInstance().getPaths(profileId, clientUUID,
            typeFilter);//from   w  w w  .  j a  v a2  s.c  o  m

    HashMap<String, Object> jqReturn = Utils.getJQGridJSON(paths, "paths");

    ObjectMapper objectMapper = new ObjectMapper();
    objectMapper.addMixInAnnotations(Object.class, ViewFilters.GetPathFilter.class);
    String[] ignorableFieldNames = { "possibleEndpoints", "enabledEndpoints" };
    FilterProvider filters = new SimpleFilterProvider().addFilter(
            "Filter properties from the PathController GET",
            SimpleBeanPropertyFilter.serializeAllExcept(ignorableFieldNames));

    ObjectWriter writer = objectMapper.writer(filters);

    return writer.writeValueAsString(jqReturn);
}

From source file:com.groupon.odo.controllers.PathController.java

@RequestMapping(value = "/api/path/test", method = RequestMethod.GET)
public @ResponseBody String testPath(@RequestParam String url, @RequestParam String profileIdentifier,
        @RequestParam Integer requestType) throws Exception {
    int profileId = ControllerUtils.convertProfileIdentifier(profileIdentifier);

    List<EndpointOverride> trySelectedRequestPaths = PathOverrideService.getInstance().getSelectedPaths(
            Constants.OVERRIDE_TYPE_REQUEST, ClientService.getInstance().findClient("-1", profileId),
            ProfileService.getInstance().findProfile(profileId), url, requestType, true);

    HashMap<String, Object> jqReturn = Utils.getJQGridJSON(trySelectedRequestPaths, "paths");

    ObjectMapper objectMapper = new ObjectMapper();
    objectMapper.addMixInAnnotations(Object.class, ViewFilters.GetPathFilter.class);
    String[] ignorableFieldNames = { "possibleEndpoints", "enabledEndpoints" };
    FilterProvider filters = new SimpleFilterProvider().addFilter(
            "Filter properties from the PathController GET",
            SimpleBeanPropertyFilter.serializeAllExcept(ignorableFieldNames));

    ObjectWriter writer = objectMapper.writer(filters);

    return writer.writeValueAsString(jqReturn);
}

From source file:com.ryo.log4j2.context.core.JacksonFactory.java

ObjectWriter newWriter(final boolean locationInfo, final boolean properties, final boolean compact) {
    final SimpleFilterProvider filters = new SimpleFilterProvider();
    final Set<String> except = new HashSet<>(2);
    if (!locationInfo) {
        except.add(this.getPropertNameForSource());
    }// w  w w.  j av  a  2 s. c o  m
    if (!properties) {
        except.add(this.getPropertNameForContextMap());
    }
    except.add(this.getPropertNameForNanoTime());
    filters.addFilter(Log4jLogEvent.class.getName(), SimpleBeanPropertyFilter.serializeAllExcept(except));
    final ObjectWriter writer = this.newObjectMapper()
            .writer(compact ? this.newCompactPrinter() : this.newPrettyPrinter());
    return writer.with(filters);
}

From source file:com.arpnetworking.logback.StenoEncoder.java

/**
 * Enables/Disables redaction support when serializing complex objects.  Redacted fields/properties marked
 * with the @LogRedact annotation will be output as a string with the value "{@code<REDACTED>}".
 *
 * @param redactEnabled - true to filter out redacted fields
 *
 * @since 1.1.0//w  ww. ja  v  a2s  .  com
 */
public void setRedactEnabled(final boolean redactEnabled) {
    final SimpleFilterProvider simpleFilterProvider = new SimpleFilterProvider();
    if (redactEnabled) {
        simpleFilterProvider.addFilter(RedactionFilter.REDACTION_FILTER_ID, new RedactionFilter(!_redactNull));
    } else {
        simpleFilterProvider.addFilter(RedactionFilter.REDACTION_FILTER_ID,
                SimpleBeanPropertyFilter.serializeAllExcept(Collections.<String>emptySet()));
    }
    _objectMapper.setFilters(simpleFilterProvider);
    _redactEnabled = redactEnabled;
}

From source file:org.apereo.portal.dao.usertype.StatisticsJacksonColumnMapper.java

@Override
protected void customizeObjectMapper(ObjectMapper mapper) {
    //Just operate on fields
    mapper.setVisibility(PropertyAccessor.FIELD, Visibility.ANY);
    mapper.setVisibility(PropertyAccessor.GETTER, Visibility.NONE);
    mapper.setVisibility(PropertyAccessor.IS_GETTER, Visibility.NONE);
    mapper.setVisibility(PropertyAccessor.SETTER, Visibility.NONE);
    mapper.setVisibility(PropertyAccessor.CREATOR, Visibility.NONE);

    //Ignore the empty storedData field in all of the stat summary objects
    filters = new SimpleFilterProvider().addFilter(StoredDataFilterMixIn.FILTER_NAME,
            SimpleBeanPropertyFilter.serializeAllExcept("storedData"));
    mapper.addMixInAnnotations(Object.class, StoredDataFilterMixIn.class);
}