Example usage for com.fasterxml.jackson.databind.ser.impl SimpleFilterProvider setDefaultFilter

List of usage examples for com.fasterxml.jackson.databind.ser.impl SimpleFilterProvider setDefaultFilter

Introduction

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

Prototype

public SimpleFilterProvider setDefaultFilter(SimpleBeanPropertyFilter f) 

Source Link

Document

Overloaded variant just to resolve "ties" when using SimpleBeanPropertyFilter .

Usage

From source file:org.craftercms.commons.jackson.mvc.SelectorFilterFactory.java

@Override
protected FilterProvider createInstance() throws Exception {
    SimpleFilterProvider provider = new SimpleFilterProvider();
    for (AbstractCrafterPropertyFilter filter : filters) {
        provider.addFilter(filter.getFilterName(), filter);
    }//from   ww  w .j  a  v  a 2 s.  c  o  m
    if (!filters.isEmpty()) {
        provider.setDefaultFilter(filters.get(0));
    }
    return provider;
}

From source file:org.apache.james.jmap.methods.GetMessagesMethodTest.java

@Test
public void processShouldReturnPropertyFilterWhenFilteringHeadersRequested() throws Exception {
    MessageManager inbox = mailboxManager.getMailbox(inboxPath, session);
    Date now = new Date();
    ByteArrayInputStream message1Content = new ByteArrayInputStream(
            ("From: user@domain.tld\r\n" + "header1: Header1Content\r\n" + "HEADer2: Header2Content\r\n"
                    + "Subject: message 1 subject\r\n\r\nmy message").getBytes(Charsets.UTF_8));
    long message1Uid = inbox.appendMessage(message1Content, now, session, false, null);

    GetMessagesRequest request = GetMessagesRequest.builder()
            .ids(ImmutableList.of(new MessageId(ROBERT, inboxPath, message1Uid)))
            .properties(ImmutableList.of("headers.from", "headers.heADER2")).build();

    List<JmapResponse> result = testee.process(request, clientId, session).collect(Collectors.toList());

    assertThat(result).hasSize(1).extracting(JmapResponse::getFilterProvider)
            .are(new Condition<>(Optional::isPresent, "present"));
    SimpleFilterProvider actualFilterProvider = result.get(0).getFilterProvider().get();
    ObjectMapper objectMapper = new ObjectMapper();
    objectMapper//from  ww  w . j a v a  2s  .  c  o  m
            .setFilterProvider(actualFilterProvider.setDefaultFilter(SimpleBeanPropertyFilter.serializeAll()));
    String response = objectMapper.writer().writeValueAsString(result.get(0));
    assertThat(JsonPath.parse(response).<Map<String, String>>read("$.response.list[0].headers")).containsOnly(
            MapEntry.entry("From", "user@domain.tld"), MapEntry.entry("HEADer2", "Header2Content"));
}