This is an automated email from the ASF dual-hosted git repository. gk pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/turbine-fulcrum-yaafi-crypto.git
commit 306584142df082ffec78bdc99eac90ab1820409e Author: Georg Kallidis <[email protected]> AuthorDate: Tue Dec 14 12:06:41 2021 +0100 Update: Use Java 8 streams and Method refs, update .gitignore --- .../jce/crypto/extended/CryptoParametersJ8.java | 36 ++++++++++------------ 1 file changed, 17 insertions(+), 19 deletions(-) diff --git a/src/java/org/apache/fulcrum/jce/crypto/extended/CryptoParametersJ8.java b/src/java/org/apache/fulcrum/jce/crypto/extended/CryptoParametersJ8.java index 1c9220d..d1bb318 100644 --- a/src/java/org/apache/fulcrum/jce/crypto/extended/CryptoParametersJ8.java +++ b/src/java/org/apache/fulcrum/jce/crypto/extended/CryptoParametersJ8.java @@ -145,31 +145,29 @@ public interface CryptoParametersJ8 { * @return the matched results as a list or emtpy list */ public static List<String> getSupportedAlgos(List<String> algoList, String type, boolean exact) { - List<String> result = new ArrayList<String>(); Provider p[] = Security.getProviders(); List<Provider> providerList = Arrays.asList(p); - for (Provider provider : providerList) { - //System.out.println(provider); - result.addAll(Collections.list(provider.keys()).stream().map(t -> t.toString()) - .filter(x-> - (exact)? - (x.startsWith(type) && algoList.contains(x.replaceAll(type + ".", ""))): - (x.matches("(" +String.join("|", PROVIDER_TYPES) + ").*$") && - algoList.stream().anyMatch(y -> y.contains(x.replaceAll(type + ".", ""))) - ) - ) - .map( x -> - (exact)? - x.replaceAll(type + ".", ""): - x.replaceAll("(" +String.join("|", PROVIDER_TYPES) + ")" + ".", "") - ) - .collect(Collectors.toList())); - } + List<String> result = + providerList.stream().flatMap(provider -> Collections.list(provider.keys()).stream().map(Object::toString) + .filter(x -> + (exact) ? + (x.startsWith(type) && algoList.contains(x.replaceAll(type + ".", ""))) : + (x.matches("(" + String.join("|", PROVIDER_TYPES) + ").*$") && + algoList.stream().anyMatch(y -> y.contains(x.replaceAll(type + ".", ""))) + ) + ) + .map(x -> + (exact) ? + x.replaceAll(type + ".", "") : + x.replaceAll("(" + String.join("|", PROVIDER_TYPES) + ")" + ".", "") + ) + .collect(Collectors.toList()).stream()).collect(Collectors.toList()); return result; } - public static List[] LISTS = { Arrays.stream(CryptoParametersJ8.TYPES.values()).map(t -> t.toString()) + public static List[] LISTS = { + Arrays.stream(CryptoParametersJ8.TYPES.values()).map(Enum::toString) .collect(Collectors.toList()), Arrays.stream(CryptoParametersJ8.TYPES_IMPL.values()).map(t -> t.toString()) .collect(Collectors.toList()) };
