From 2c32c38c19cadeb4ce1c84eb5efea6aa6f1d6982 Mon Sep 17 00:00:00 2001 From: Martin Vogel <martin.vogel@sinc.de> Date: Tue, 6 Sep 2022 08:22:26 +0000 Subject: [PATCH] chore: remove static field initializers from enums, simplify fromValue loop --- .../api/domain/model/jwk/AlgEnum.java | 12 +++++----- .../api/domain/model/jwk/EEnum.java | 12 +++++----- .../api/domain/model/jwk/KeyOpsEnum.java | 12 +++++----- .../api/domain/model/jwk/KtyEnum.java | 12 +++++----- .../model/metadata/EidasAdesProfile.java | 20 ++++------------ .../model/metadata/SignatureFormat.java | 21 +++++----------- .../model/metadata/attachment/Purpose.java | 24 ++++++------------- .../signature/AttachmentSignatureType.java | 20 ++++------------ .../metadata/data/DataSignatureType.java | 20 ++++------------ .../domain/model/metadata/data/MimeType.java | 21 +++++----------- 10 files changed, 58 insertions(+), 116 deletions(-) diff --git a/api/src/main/java/de/fitko/fitconnect/api/domain/model/jwk/AlgEnum.java b/api/src/main/java/de/fitko/fitconnect/api/domain/model/jwk/AlgEnum.java index 660d7209f..efa8b3181 100644 --- a/api/src/main/java/de/fitko/fitconnect/api/domain/model/jwk/AlgEnum.java +++ b/api/src/main/java/de/fitko/fitconnect/api/domain/model/jwk/AlgEnum.java @@ -3,6 +3,8 @@ package de.fitko.fitconnect.api.domain.model.jwk; import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonValue; +import java.util.Arrays; + public enum AlgEnum { PS512("PS512"), @@ -27,11 +29,9 @@ public enum AlgEnum { @JsonCreator public static AlgEnum fromValue(final String value) { - for (final AlgEnum algEnum : AlgEnum.values()) { - if (algEnum.value.equals(value)) { - return algEnum; - } - } - throw new IllegalArgumentException("Unexpected value '" + value + "'"); + return Arrays.stream(AlgEnum.values()) + .filter(enumValue -> enumValue.value.equals(value)) + .findFirst() + .orElseThrow(() -> new IllegalArgumentException("Unexpected value '" + value + "'")); } } diff --git a/api/src/main/java/de/fitko/fitconnect/api/domain/model/jwk/EEnum.java b/api/src/main/java/de/fitko/fitconnect/api/domain/model/jwk/EEnum.java index 4a4d8345a..dc447ae3f 100644 --- a/api/src/main/java/de/fitko/fitconnect/api/domain/model/jwk/EEnum.java +++ b/api/src/main/java/de/fitko/fitconnect/api/domain/model/jwk/EEnum.java @@ -3,6 +3,8 @@ package de.fitko.fitconnect.api.domain.model.jwk; import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonValue; +import java.util.Arrays; + public enum EEnum { AQAB("AQAB"); @@ -25,11 +27,9 @@ public enum EEnum { @JsonCreator public static EEnum fromValue(final String value) { - for (final EEnum eEnum : EEnum.values()) { - if (eEnum.value.equals(value)) { - return eEnum; - } - } - throw new IllegalArgumentException("Unexpected value '" + value + "'"); + return Arrays.stream(EEnum.values()) + .filter(enumValue -> enumValue.value.equals(value)) + .findFirst() + .orElseThrow(() -> new IllegalArgumentException("Unexpected value '" + value + "'")); } } diff --git a/api/src/main/java/de/fitko/fitconnect/api/domain/model/jwk/KeyOpsEnum.java b/api/src/main/java/de/fitko/fitconnect/api/domain/model/jwk/KeyOpsEnum.java index 211734e90..455ff64f2 100644 --- a/api/src/main/java/de/fitko/fitconnect/api/domain/model/jwk/KeyOpsEnum.java +++ b/api/src/main/java/de/fitko/fitconnect/api/domain/model/jwk/KeyOpsEnum.java @@ -3,6 +3,8 @@ package de.fitko.fitconnect.api.domain.model.jwk; import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonValue; +import java.util.Arrays; + public enum KeyOpsEnum { VERIFY("verify"), @@ -27,11 +29,9 @@ public enum KeyOpsEnum { @JsonCreator public static KeyOpsEnum fromValue(final String value) { - for (final KeyOpsEnum keyOpsEnum : KeyOpsEnum.values()) { - if (keyOpsEnum.value.equals(value)) { - return keyOpsEnum; - } - } - throw new IllegalArgumentException("Unexpected value '" + value + "'"); + return Arrays.stream(KeyOpsEnum.values()) + .filter(enumValue -> enumValue.value.equals(value)) + .findFirst() + .orElseThrow(() -> new IllegalArgumentException("Unexpected value '" + value + "'")); } } diff --git a/api/src/main/java/de/fitko/fitconnect/api/domain/model/jwk/KtyEnum.java b/api/src/main/java/de/fitko/fitconnect/api/domain/model/jwk/KtyEnum.java index a9a65a887..b422d165a 100644 --- a/api/src/main/java/de/fitko/fitconnect/api/domain/model/jwk/KtyEnum.java +++ b/api/src/main/java/de/fitko/fitconnect/api/domain/model/jwk/KtyEnum.java @@ -3,6 +3,8 @@ package de.fitko.fitconnect.api.domain.model.jwk; import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonValue; +import java.util.Arrays; + public enum KtyEnum { RSA("RSA"); @@ -25,11 +27,9 @@ public enum KtyEnum { @JsonCreator public static KtyEnum fromValue(final String value) { - for (final KtyEnum ktyEnum : KtyEnum.values()) { - if (ktyEnum.value.equals(value)) { - return ktyEnum; - } - } - throw new IllegalArgumentException("Unexpected value '" + value + "'"); + return Arrays.stream(KtyEnum.values()) + .filter(enumValue -> enumValue.value.equals(value)) + .findFirst() + .orElseThrow(() -> new IllegalArgumentException("Unexpected value '" + value + "'")); } } diff --git a/api/src/main/java/de/fitko/fitconnect/api/domain/model/metadata/EidasAdesProfile.java b/api/src/main/java/de/fitko/fitconnect/api/domain/model/metadata/EidasAdesProfile.java index e15e1e7f5..ae1e93c20 100644 --- a/api/src/main/java/de/fitko/fitconnect/api/domain/model/metadata/EidasAdesProfile.java +++ b/api/src/main/java/de/fitko/fitconnect/api/domain/model/metadata/EidasAdesProfile.java @@ -3,8 +3,7 @@ package de.fitko.fitconnect.api.domain.model.metadata; import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonValue; -import java.util.HashMap; -import java.util.Map; +import java.util.Arrays; public enum EidasAdesProfile { @@ -14,13 +13,6 @@ public enum EidasAdesProfile { HTTP_URI_ETSI_ORG_ADES_191_X_2_LEVEL_BASELINE_B_LTA("http://uri.etsi.org/ades/191x2/level/baseline/B-LTA#"); private final String value; - private final static Map<String, EidasAdesProfile> CONSTANTS = new HashMap<>(); - - static { - for (final EidasAdesProfile c : values()) { - CONSTANTS.put(c.value, c); - } - } EidasAdesProfile(final String value) { this.value = value; @@ -38,12 +30,10 @@ public enum EidasAdesProfile { @JsonCreator public static EidasAdesProfile fromValue(final String value) { - final EidasAdesProfile constant = CONSTANTS.get(value); - if (constant == null) { - throw new IllegalArgumentException(value); - } else { - return constant; - } + return Arrays.stream(EidasAdesProfile.values()) + .filter(enumValue -> enumValue.value.equals(value)) + .findFirst() + .orElseThrow(() -> new IllegalArgumentException("Unexpected value '" + value + "'")); } } diff --git a/api/src/main/java/de/fitko/fitconnect/api/domain/model/metadata/SignatureFormat.java b/api/src/main/java/de/fitko/fitconnect/api/domain/model/metadata/SignatureFormat.java index e9f017ec2..6d4230e95 100644 --- a/api/src/main/java/de/fitko/fitconnect/api/domain/model/metadata/SignatureFormat.java +++ b/api/src/main/java/de/fitko/fitconnect/api/domain/model/metadata/SignatureFormat.java @@ -3,8 +3,7 @@ package de.fitko.fitconnect.api.domain.model.metadata; import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonValue; -import java.util.HashMap; -import java.util.Map; +import java.util.Arrays; public enum SignatureFormat { @@ -13,14 +12,8 @@ public enum SignatureFormat { PDF("pdf"), ASIC("asic"), JSON("json"); - private final String value; - private final static Map<String, SignatureFormat> CONSTANTS = new HashMap<>(); - static { - for (final SignatureFormat c : values()) { - CONSTANTS.put(c.value, c); - } - } + private final String value; SignatureFormat(final String value) { this.value = value; @@ -38,12 +31,10 @@ public enum SignatureFormat { @JsonCreator public static SignatureFormat fromValue(final String value) { - final SignatureFormat constant = CONSTANTS.get(value); - if (constant == null) { - throw new IllegalArgumentException(value); - } else { - return constant; - } + return Arrays.stream(SignatureFormat.values()) + .filter(enumValue -> enumValue.value.equals(value)) + .findFirst() + .orElseThrow(() -> new IllegalArgumentException("Unexpected value '" + value + "'")); } } \ No newline at end of file diff --git a/api/src/main/java/de/fitko/fitconnect/api/domain/model/metadata/attachment/Purpose.java b/api/src/main/java/de/fitko/fitconnect/api/domain/model/metadata/attachment/Purpose.java index a5726ea38..1df21ac81 100644 --- a/api/src/main/java/de/fitko/fitconnect/api/domain/model/metadata/attachment/Purpose.java +++ b/api/src/main/java/de/fitko/fitconnect/api/domain/model/metadata/attachment/Purpose.java @@ -3,8 +3,7 @@ package de.fitko.fitconnect.api.domain.model.metadata.attachment; import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonValue; -import java.util.HashMap; -import java.util.Map; +import java.util.Arrays; public enum Purpose { @@ -12,15 +11,8 @@ public enum Purpose { ATTACHMENT("attachment"), REPORT("report"); private final String value; - private final static Map<String, Purpose> CONSTANTS = new HashMap<>(); - static { - for (Purpose c : values()) { - CONSTANTS.put(c.value, c); - } - } - - Purpose(String value) { + Purpose(final String value) { this.value = value; } @@ -35,12 +27,10 @@ public enum Purpose { } @JsonCreator - public static Purpose fromValue(String value) { - Purpose constant = CONSTANTS.get(value); - if (constant == null) { - throw new IllegalArgumentException(value); - } else { - return constant; - } + public static Purpose fromValue(final String value) { + return Arrays.stream(Purpose.values()) + .filter(enumValue -> enumValue.value.equals(value)) + .findFirst() + .orElseThrow(() -> new IllegalArgumentException("Unexpected value '" + value + "'")); } } diff --git a/api/src/main/java/de/fitko/fitconnect/api/domain/model/metadata/attachment/signature/AttachmentSignatureType.java b/api/src/main/java/de/fitko/fitconnect/api/domain/model/metadata/attachment/signature/AttachmentSignatureType.java index 250885804..12366b044 100644 --- a/api/src/main/java/de/fitko/fitconnect/api/domain/model/metadata/attachment/signature/AttachmentSignatureType.java +++ b/api/src/main/java/de/fitko/fitconnect/api/domain/model/metadata/attachment/signature/AttachmentSignatureType.java @@ -3,20 +3,12 @@ package de.fitko.fitconnect.api.domain.model.metadata.attachment.signature; import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonValue; -import java.util.HashMap; -import java.util.Map; +import java.util.Arrays; public enum AttachmentSignatureType { SHA_512("sha512"); private final String value; - private final static Map<String, AttachmentSignatureType> CONSTANTS = new HashMap<>(); - - static { - for (final AttachmentSignatureType c : values()) { - CONSTANTS.put(c.value, c); - } - } AttachmentSignatureType(final String value) { this.value = value; @@ -34,12 +26,10 @@ public enum AttachmentSignatureType { @JsonCreator public static AttachmentSignatureType fromValue(final String value) { - final AttachmentSignatureType constant = CONSTANTS.get(value); - if (constant == null) { - throw new IllegalArgumentException(value); - } else { - return constant; - } + return Arrays.stream(AttachmentSignatureType.values()) + .filter(enumValue -> enumValue.value.equals(value)) + .findFirst() + .orElseThrow(() -> new IllegalArgumentException("Unexpected value '" + value + "'")); } } diff --git a/api/src/main/java/de/fitko/fitconnect/api/domain/model/metadata/data/DataSignatureType.java b/api/src/main/java/de/fitko/fitconnect/api/domain/model/metadata/data/DataSignatureType.java index 3208cb14f..06b7ffe84 100644 --- a/api/src/main/java/de/fitko/fitconnect/api/domain/model/metadata/data/DataSignatureType.java +++ b/api/src/main/java/de/fitko/fitconnect/api/domain/model/metadata/data/DataSignatureType.java @@ -3,20 +3,12 @@ package de.fitko.fitconnect.api.domain.model.metadata.data; import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonValue; -import java.util.HashMap; -import java.util.Map; +import java.util.Arrays; public enum DataSignatureType { SHA_512("sha512"); private final String value; - private final static Map<String, DataSignatureType> CONSTANTS = new HashMap<>(); - - static { - for (final DataSignatureType c : values()) { - CONSTANTS.put(c.value, c); - } - } DataSignatureType(final String value) { this.value = value; @@ -34,12 +26,10 @@ public enum DataSignatureType { @JsonCreator public static DataSignatureType fromValue(final String value) { - final DataSignatureType constant = CONSTANTS.get(value); - if (constant == null) { - throw new IllegalArgumentException(value); - } else { - return constant; - } + return Arrays.stream(DataSignatureType.values()) + .filter(enumValue -> enumValue.value.equals(value)) + .findFirst() + .orElseThrow(() -> new IllegalArgumentException("Unexpected value '" + value + "'")); } } diff --git a/api/src/main/java/de/fitko/fitconnect/api/domain/model/metadata/data/MimeType.java b/api/src/main/java/de/fitko/fitconnect/api/domain/model/metadata/data/MimeType.java index 03bfb1eef..88c3fe319 100644 --- a/api/src/main/java/de/fitko/fitconnect/api/domain/model/metadata/data/MimeType.java +++ b/api/src/main/java/de/fitko/fitconnect/api/domain/model/metadata/data/MimeType.java @@ -3,21 +3,14 @@ package de.fitko.fitconnect.api.domain.model.metadata.data; import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonValue; -import java.util.HashMap; -import java.util.Map; +import java.util.Arrays; public enum MimeType { APPLICATION_JSON("application/json"), APPLICATION_XML("application/xml"); - private final String value; - private final static Map<String, MimeType> CONSTANTS = new HashMap<>(); - static { - for (final MimeType c : values()) { - CONSTANTS.put(c.value, c); - } - } + private final String value; MimeType(final String value) { this.value = value; @@ -35,11 +28,9 @@ public enum MimeType { @JsonCreator public static MimeType fromValue(final String value) { - final MimeType constant = CONSTANTS.get(value); - if (constant == null) { - throw new IllegalArgumentException(value); - } else { - return constant; - } + return Arrays.stream(MimeType.values()) + .filter(enumValue -> enumValue.value.equals(value)) + .findFirst() + .orElseThrow(() -> new IllegalArgumentException("Unexpected value '" + value + "'")); } } -- GitLab