static <T extends Enum<T> & DiscoverableEnum<T>> Set<Class<T>> scanDiscoverableEnums( // final String basePackage, final Class<T> type) { // InterfaceFilter(type, false) not working here. final TypeFilter includeFilter = new FileAndClasspathUtils.AssignableFilter(type, false, false); return FileAndClasspathUtils.scan(basePackage, includeFilter); }
/** * scan. * * @param basePackage base package * @param type type to find * @param <T> enum type * @return found */ @SuppressWarnings({"unchecked", "rawtypes"}) public static <T extends Enum<T> & DiscoverableEnum<T>> DiscoverableEnums<T> discoverableEnums( // final String basePackage, final Class<?> type // ) { return new DiscoverableEnums(basePackage, type); } }
@SneakyThrows public static RSAPrivateKey privateKeyPkcs8(final String pkcs8) { final byte[] raw = CodecUtils.decodeBase64(dropComment(pkcs8, COMMENT_MARK)); return (RSAPrivateKey) KeyFactory.getInstance(ALGO_RSA).generatePrivate(new PKCS8EncodedKeySpec(raw)); }
@Override public String encrypt(final String plainText, final Integer maxAge) { return this.buildCompactJws(plainText, Defaults.now(), maxAge); }
public SpringSecurityJackson2Module() { super(); try { // TODO remove all SimpleGrantedAuthority. Class.forName("org.springframework.security.core.GrantedAuthority"); addSerializer(org.springframework.security.core.GrantedAuthority.class, new GrantedAuthoritySerializer()); addDeserializer(org.springframework.security.core.GrantedAuthority.class, new GrantedAuthorityDeserializer()); addSerializer(org.springframework.security.core.authority.SimpleGrantedAuthority.class, // new GrantedAuthoritySerializer()); addDeserializer(org.springframework.security.core.authority.SimpleGrantedAuthority.class, // new GrantedAuthorityDeserializer()); } catch (final ClassNotFoundException ignored) { log.debug("class not found, skip SpringSecurityJackson2Module", ignored); } }
@Override public String toToken(final T obj) { final String token = this.delegate.toToken(obj); return CodecUtils.urlEncode(token); }
public static String basicAuthHeader(final String username, final String password) { final String authStr = username + COLON + password; return "Basic " + CodecUtils.encodeBase64(authStr.getBytes(UTF_8)); }
public static <T> String toJson(final ObjectMapper objectMapper, final T item) { return toJson(objectMapper).apply(item); } }
@Autowired(required = false) public void setObjectMapper(final com.fasterxml.jackson.databind.ObjectMapper objectMapper) { cn.home1.oss.lib.common.Jackson2Utils.setupObjectMapper(this.environment, objectMapper); } }
@Override public T fromToken(final String token) { final String decoded = CodecUtils.urlDecode(token); return this.delegate.fromToken(decoded); } }
/** * Setup a Mapper. * * @param propertyResolver propertyResolver * @param objectMapper to setup * @param <T> ObjectMapper or XmlMapper * @return same instance of objectMapper param */ @SuppressWarnings("rawtypes") public static <T extends ObjectMapper> T setupObjectMapper( // final PropertyResolver propertyResolver, final T objectMapper) { for (final Jackson2Configurator instance : scanJackson2Configurators()) { log.info("config objectMapper: '{}' using: '{}'.", objectMapper, instance); instance.config(propertyResolver, objectMapper); } return objectMapper; }
public static Gson setup(final GsonBuilder builder) { return builder .registerTypeAdapter(GrantedAuthority.class, getAuthoritySerializer()) .registerTypeAdapter(GrantedAuthority.class, getAuthorityDeSerializer()).create(); }
@Override public <M extends ObjectMapper> M config(final PropertyResolver propertyResolver, final M mapper) { mapper.registerModule(new SpringSecurityJackson2Module()); return mapper; } };
public static <T> Function<String, T> fromJson( // final ObjectMapper objectMapper, // final TypeReference<T> typeReference // ) { return string -> { try { return objectMapper.readValue(string, typeReference); } catch (final IOException wrapped) { throw new RuntimeJsonProcessingException("error read from JSON.", wrapped); } }; }
@SneakyThrows public static RSAPublicKey publicKeyX509(final String x509) { final byte[] raw = CodecUtils.decodeBase64(dropComment(x509, COMMENT_MARK)); return (RSAPublicKey) KeyFactory.getInstance(ALGO_RSA).generatePublic(new X509EncodedKeySpec(raw)); } }
@Override public String toToken(final T obj) { final String token = this.delegate.toToken(obj); return CodecUtils.urlEncode(token); }
@Autowired(required = false) public void setObjectMapper(final com.fasterxml.jackson.databind.ObjectMapper objectMapper) { cn.home1.oss.lib.common.Jackson2Utils.setupObjectMapper(this.environment, objectMapper); } }
@Override public T fromToken(final String token) { final String decoded = CodecUtils.urlDecode(token); return this.delegate.fromToken(decoded); } }