类com.fasterxml.jackson.databind.ser.PropertyFilter源码实例Demo

下面列出了怎么用com.fasterxml.jackson.databind.ser.PropertyFilter的API类实例代码及写法,或者点击链接到github查看源代码。

源代码1 项目: lams   文件: MapSerializer.java
@Override
public void serialize(Map<?,?> value, JsonGenerator gen, SerializerProvider provider)
    throws IOException
{
    gen.writeStartObject(value);
    if (!value.isEmpty()) {
        if (_sortKeys || provider.isEnabled(SerializationFeature.ORDER_MAP_ENTRIES_BY_KEYS)) {
            value = _orderEntries(value, gen, provider);
        }
        PropertyFilter pf;
        if ((_filterId != null) && (pf = findPropertyFilter(provider, _filterId, value)) != null) {
            serializeFilteredFields(value, gen, provider, pf, _suppressableValue);
        } else if ((_suppressableValue != null) || _suppressNulls) {
            serializeOptionalFields(value, gen, provider, _suppressableValue);
        } else if (_valueSerializer != null) {
            serializeFieldsUsing(value, gen, provider, _valueSerializer);
        } else {
            serializeFields(value, gen, provider);
        }
    }
    gen.writeEndObject();
}
 
源代码2 项目: lams   文件: MapSerializer.java
@Override
public void serializeWithType(Map<?,?> value, JsonGenerator gen, SerializerProvider provider,
        TypeSerializer typeSer)
    throws IOException
{
    // [databind#631]: Assign current value, to be accessible by custom serializers
    gen.setCurrentValue(value);
    WritableTypeId typeIdDef = typeSer.writeTypePrefix(gen,
            typeSer.typeId(value, JsonToken.START_OBJECT));
    if (!value.isEmpty()) {
        if (_sortKeys || provider.isEnabled(SerializationFeature.ORDER_MAP_ENTRIES_BY_KEYS)) {
            value = _orderEntries(value, gen, provider);
        }
        PropertyFilter pf;
        if ((_filterId != null) && (pf = findPropertyFilter(provider, _filterId, value)) != null) {
            serializeFilteredFields(value, gen, provider, pf, _suppressableValue);
        } else if ((_suppressableValue != null) || _suppressNulls) {
            serializeOptionalFields(value, gen, provider, _suppressableValue);
        } else if (_valueSerializer != null) {
            serializeFieldsUsing(value, gen, provider, _valueSerializer);
        } else {
            serializeFields(value, gen, provider);
        }
    }
    typeSer.writeTypeSuffix(gen, typeIdDef);
}
 
源代码3 项目: Bats   文件: DefaultSqlHandler.java
protected void log(final String name, final PhysicalPlan plan, final Logger logger) {
  if (logger.isDebugEnabled()) {
    PropertyFilter filter = new SimpleBeanPropertyFilter.SerializeExceptFilter(Sets.newHashSet("password"));
    String planText = plan.unparse(context.getLpPersistence().getMapper()
            .writer(new SimpleFilterProvider().addFilter("passwordFilter", filter)));
    logger.debug(name + " : \n" + planText);
  }
}
 
源代码4 项目: azure-cosmosdb-java   文件: RntbdObjectMapper.java
@SuppressWarnings("SameParameterValue")
static void registerPropertyFilter(final Class<?> type, final Class<? extends PropertyFilter> filter) {

    checkNotNull(type, "type");
    checkNotNull(filter, "filter");

    try {
        filterProvider.addFilter(type.getSimpleName(), filter.newInstance());
    } catch (final ReflectiveOperationException error) {
        throw new IllegalStateException(error);
    }
}
 
源代码5 项目: lams   文件: StdSerializer.java
/**
 * Helper method used to locate filter that is needed, based on filter id
 * this serializer was constructed with.
 * 
 * @since 2.3
 */
protected PropertyFilter findPropertyFilter(SerializerProvider provider,
        Object filterId, Object valueToFilter)
    throws JsonMappingException
{
    FilterProvider filters = provider.getFilterProvider();
    // Not ok to miss the provider, if a filter is declared to be needed.
    if (filters == null) {
        provider.reportBadDefinition(handledType(),
                "Cannot resolve PropertyFilter with id '"+filterId+"'; no FilterProvider configured");
    }
    // But whether unknown ids are ok just depends on filter provider; if we get null that's fine
    return filters.findPropertyFilter(filterId, valueToFilter);
}
 
private final void serializeFilteredFields(Multimap<?, ?> mmap, JsonGenerator gen, SerializerProvider provider)
        throws IOException
{
    final Set<String> ignored = _ignoredEntries;
    PropertyFilter filter = findPropertyFilter(provider, _filterId, mmap);  
    final MapProperty prop = new MapProperty(_valueTypeSerializer, _property);
    for (Entry<?, ? extends Collection<?>> entry : mmap.asMap().entrySet()) {
        // First, serialize key
        Object key = entry.getKey();
        if ((ignored != null) && ignored.contains(key)) {
            continue;
        }
        Collection<?> value = entry.getValue();
        JsonSerializer<Object> valueSer;
        if (value == null) {
            // !!! TODO: null suppression?
            valueSer = provider.getDefaultNullValueSerializer();
        } else {
            valueSer = _valueSerializer;
        }
        prop.reset(key, value, _keySerializer, valueSer);
        try {
            filter.serializeAsField(mmap, gen, provider, prop);
        } catch (Exception e) {
            String keyDesc = ""+key;
            wrapAndThrow(provider, e, value, keyDesc);
        }
    }
}
 
@Before
public void setUp() throws TechnicalException {
    PropertyFilter apiMembershipTypeFilter = new ApiPermissionFilter();
    objectMapper.setFilterProvider(new SimpleFilterProvider(Collections.singletonMap("apiMembershipTypeFilter", apiMembershipTypeFilter)));
    UserEntity u = mock(UserEntity.class);
    when(u.getId()).thenReturn("uid");
    when(userService.findById(any())).thenReturn(u);
    MembershipEntity po = mock(MembershipEntity.class);
    when(membershipService.getPrimaryOwner(
            eq(io.gravitee.rest.api.model.MembershipReferenceType.API),
            anyString())).thenReturn(po);
    when(api.getId()).thenReturn(API_ID);
}
 
@Before
public void setUp() {
    PropertyFilter apiMembershipTypeFilter = new ApiPermissionFilter();
    objectMapper.setFilterProvider(new SimpleFilterProvider(Collections.singletonMap("apiMembershipTypeFilter", apiMembershipTypeFilter)));
    UserEntity u = mock(UserEntity.class);
    when(u.getId()).thenReturn("uid");
    when(userService.findById(any())).thenReturn(u);
    MembershipEntity po = mock(MembershipEntity.class);
    when(membershipService.getPrimaryOwner(
            eq(io.gravitee.rest.api.model.MembershipReferenceType.API),
            anyString())).thenReturn(po);
    when(api.getId()).thenReturn(API_ID);
}
 
@Before
public void setUp() {
    PropertyFilter apiMembershipTypeFilter = new ApiPermissionFilter();
    objectMapper.setFilterProvider(new SimpleFilterProvider(Collections.singletonMap("apiMembershipTypeFilter", apiMembershipTypeFilter)));

    final SecurityContext securityContext = mock(SecurityContext.class);
    when(securityContext.getAuthentication()).thenReturn(mock(Authentication.class));
    SecurityContextHolder.setContext(securityContext);

    when(api.getId()).thenReturn(API_ID);
    when(api.getDefinition()).thenReturn("{\"id\": \"" + API_ID + "\",\"name\": \"" + API_NAME + "\",\"proxy\": {\"context_path\": \"/old\"}}");
}
 
源代码10 项目: ameba   文件: JacksonObjectProvider.java
@Override
@SuppressWarnings("unchecked")
public PropertyFilter findPropertyFilter(final Object filterId, final Object valueToFilter) {
    if (filterId instanceof String) {
        final String id = (String) filterId;

        // FilterId should represent a class only in case of root entity is marshalled.
        if (id.equals(root.getEntityClass().getName())) {
            stack.clear();
            return stack.push(root);
        }

        while (!stack.isEmpty()) {
            final FilteringPropertyFilter peek = stack.peek();
            final FilteringPropertyFilter subfilter = peek.findSubfilter(id);

            if (subfilter != null) {
                stack.push(subfilter);

                // Need special handling for maps here - map keys can be filtered as well so we just say that every key is
                // allowed.
                if (valueToFilter instanceof Map) {
                    final Map<String, ?> map = (Map<String, ?>) valueToFilter;
                    return new FilteringPropertyFilter(Map.class, map.keySet(),
                            Collections.emptyMap());
                }
                return subfilter;
            } else {
                stack.pop();
            }
        }
    }
    return SimpleBeanPropertyFilter.filterOutAllExcept();
}
 
源代码11 项目: lams   文件: MapSerializer.java
/**
 * Helper method used when we have a JSON Filter to use for potentially
 * filtering out Map entries.
 * 
 * @since 2.5
 */
public void serializeFilteredFields(Map<?,?> value, JsonGenerator gen, SerializerProvider provider,
        PropertyFilter filter,
        Object suppressableValue) // since 2.5
    throws IOException
{
    final Set<String> ignored = _ignoredEntries;
    final MapProperty prop = new MapProperty(_valueTypeSerializer, _property);
    final boolean checkEmpty = (MARKER_FOR_EMPTY == suppressableValue);

    for (Map.Entry<?,?> entry : value.entrySet()) {
        // First, serialize key; unless ignorable by key
        final Object keyElem = entry.getKey();
        if (ignored != null && ignored.contains(keyElem)) continue;

        JsonSerializer<Object> keySerializer;
        if (keyElem == null) {
            keySerializer = provider.findNullKeySerializer(_keyType, _property);
        } else {
            keySerializer = _keySerializer;
        }
        // or by value; nulls often suppressed
        final Object valueElem = entry.getValue();

        JsonSerializer<Object> valueSer;
        // And then value
        if (valueElem == null) {
            if (_suppressNulls) {
                continue;
            }
            valueSer = provider.getDefaultNullValueSerializer();
        } else {
            valueSer = _valueSerializer;
            if (valueSer == null) {
                valueSer = _findSerializer(provider, valueElem);
            }
            // also may need to skip non-empty values:
            if (checkEmpty) {
                if (valueSer.isEmpty(provider, valueElem)) {
                    continue;
                }
            } else if (suppressableValue != null) {
                if (suppressableValue.equals(valueElem)) {
                    continue;
                }
            }
        }
        // and with that, ask filter to handle it
        prop.reset(keyElem, valueElem, keySerializer, valueSer);
        try {
            filter.serializeAsField(value, gen, provider, prop);
        } catch (Exception e) {
            wrapAndThrow(provider, e, value, String.valueOf(keyElem));
        }
    }
}
 
源代码12 项目: lams   文件: MapSerializer.java
/**
 * Helper method used when we have a JSON Filter to use AND contents are
 * "any properties" of a POJO.
 *
 * @param bean Enclosing POJO that has any-getter used to obtain "any properties"
 * 
 * @since 2.9
 */
public void serializeFilteredAnyProperties(SerializerProvider provider, JsonGenerator gen,
        Object bean, Map<?,?> value, PropertyFilter filter,
        Object suppressableValue)
    throws IOException
{
    final Set<String> ignored = _ignoredEntries;
    final MapProperty prop = new MapProperty(_valueTypeSerializer, _property);
    final boolean checkEmpty = (MARKER_FOR_EMPTY == suppressableValue);

    for (Map.Entry<?,?> entry : value.entrySet()) {
        // First, serialize key; unless ignorable by key
        final Object keyElem = entry.getKey();
        if (ignored != null && ignored.contains(keyElem)) continue;

        JsonSerializer<Object> keySerializer;
        if (keyElem == null) {
            keySerializer = provider.findNullKeySerializer(_keyType, _property);
        } else {
            keySerializer = _keySerializer;
        }
        // or by value; nulls often suppressed
        final Object valueElem = entry.getValue();

        JsonSerializer<Object> valueSer;
        // And then value
        if (valueElem == null) {
            if (_suppressNulls) {
                continue;
            }
            valueSer = provider.getDefaultNullValueSerializer();
        } else {
            valueSer = _valueSerializer;
            if (valueSer == null) {
                valueSer = _findSerializer(provider, valueElem);
            }
            // also may need to skip non-empty values:
            if (checkEmpty) {
                if (valueSer.isEmpty(provider, valueElem)) {
                    continue;
                }
            } else if (suppressableValue != null) {
                if (suppressableValue.equals(valueElem)) {
                    continue;
                }
            }
        }
        // and with that, ask filter to handle it
        prop.reset(keyElem, valueElem, keySerializer, valueSer);
        try {
            filter.serializeAsField(bean, gen, provider, prop);
        } catch (Exception e) {
            wrapAndThrow(provider, e, value, String.valueOf(keyElem));
        }
    }
}
 
private void registerFilterProvider() {
    PropertyFilter apiMembershipTypeFilter = new ApiPermissionFilter();
    mapper.setFilterProvider(new SimpleFilterProvider(Collections.singletonMap("apiMembershipTypeFilter", apiMembershipTypeFilter)));
}
 
private void registerFilterProvider() {
    PropertyFilter apiMembershipTypeFilter = new ApiPermissionFilter();
    mapper.setFilterProvider(new SimpleFilterProvider(Collections.singletonMap("apiMembershipTypeFilter", apiMembershipTypeFilter)));
}
 
@Before
public void setUp() {
    PropertyFilter apiMembershipTypeFilter = new ApiPermissionFilter();
    objectMapper.setFilterProvider(new SimpleFilterProvider(Collections.singletonMap("apiMembershipTypeFilter", apiMembershipTypeFilter)));
}
 
@Before
public void setUp()  throws TechnicalException {
    PropertyFilter apiMembershipTypeFilter = new ApiPermissionFilter();
    objectMapper.setFilterProvider(new SimpleFilterProvider(Collections.singletonMap("apiMembershipTypeFilter", apiMembershipTypeFilter)));
    when(apiRepository.findById(API_ID)).thenReturn(Optional.of(api));
    when(apiRepository.update(any())).thenReturn(api);
    when(api.getName()).thenReturn(API_NAME);
    when(api.getApiLifecycleState()).thenReturn(ApiLifecycleState.CREATED);

    existingApi = new UpdateApiEntity();
    existingApi.setName(API_NAME);
    existingApi.setVersion("v1");
    existingApi.setDescription("Ma description");
    existingApi.setLifecycleState(io.gravitee.rest.api.model.api.ApiLifecycleState.CREATED);
    final Proxy proxy = new Proxy();
    EndpointGroup endpointGroup = new EndpointGroup();
    Endpoint endpoint = new HttpEndpoint(null, null);
    endpointGroup.setEndpoints(singleton(endpoint));
    proxy.setGroups(singleton(endpointGroup));
    existingApi.setProxy(proxy);
    proxy.setVirtualHosts(Collections.singletonList(new VirtualHost("/context")));
    
    RoleEntity poRoleEntity = new RoleEntity();
    poRoleEntity.setName(SystemRole.PRIMARY_OWNER.name());
    poRoleEntity.setScope(RoleScope.API);
    when(roleService.findByScopeAndName(RoleScope.API, SystemRole.PRIMARY_OWNER.name())).thenReturn(Optional.of(poRoleEntity));
    MemberEntity po = new MemberEntity();
    po.setId(USER_NAME);
    po.setReferenceId(API_ID);
    po.setReferenceType(io.gravitee.rest.api.model.MembershipReferenceType.API);
    po.setRoles(Collections.singletonList(poRoleEntity));
    when(membershipService.getMembersByReferencesAndRole(any(), any(), any())).thenReturn(singleton(po));
    
    
    mockStatic(System.class);
    when(System.currentTimeMillis()).thenReturn(0L);

    final SecurityContext securityContext = mock(SecurityContext.class);
    when(securityContext.getAuthentication()).thenReturn(mock(Authentication.class));
    SecurityContextHolder.setContext(securityContext);
}
 
@Before
public void setUp() {
    PropertyFilter apiMembershipTypeFilter = new ApiPermissionFilter();
    objectMapper.setFilterProvider(new SimpleFilterProvider(Collections.singletonMap("apiMembershipTypeFilter", apiMembershipTypeFilter)));
}
 
@Before
public void setUp() {
    PropertyFilter apiMembershipTypeFilter = new ApiPermissionFilter();
    objectMapper.setFilterProvider(new SimpleFilterProvider(Collections.singletonMap("apiMembershipTypeFilter", apiMembershipTypeFilter)));
}
 
源代码19 项目: onetwo   文件: JsonMapper.java
public JsonMapper defaultFiler(PropertyFilter bpf){
//		this.filterProvider.setDefaultFilter(bpf);
		this.filterProvider.setDefaultFilter(bpf);
		return this;
	}
 
源代码20 项目: james-project   文件: GetMessagesMethod.java
private PropertyFilter buildHeadersPropertyFilter(ImmutableSet<HeaderProperty> headerProperties) {
    return new FieldNamePropertyFilter((fieldName) -> headerProperties.contains(HeaderProperty.fromFieldName(fieldName)));
}
 
源代码21 项目: james-project   文件: JmapResponseWriterImpl.java
private PropertyFilter getPropertiesFilter(Optional<? extends Set<? extends Property>> properties) {
    return properties
            .map(this::toFieldNames)
            .map(SimpleBeanPropertyFilter::filterOutAllExcept)
            .orElse(SimpleBeanPropertyFilter.serializeAll());
}
 
 类方法
 同包方法