From f7d35353650c33a1dfda678effeebbe7fa3a1370 Mon Sep 17 00:00:00 2001 From: OZGCloud <ozgcloud@mgm-tp.com> Date: Fri, 16 Feb 2024 20:53:23 +0100 Subject: [PATCH] OZG-4857 OZG-4934 compose method --- .../alfa/kommentar/DateiformatCode.java | 30 +++++++++++++------ 1 file changed, 21 insertions(+), 9 deletions(-) diff --git a/alfa-xdomea/src/main/java/de/ozgcloud/alfa/kommentar/DateiformatCode.java b/alfa-xdomea/src/main/java/de/ozgcloud/alfa/kommentar/DateiformatCode.java index 689d6db61d..55bbc10a3c 100644 --- a/alfa-xdomea/src/main/java/de/ozgcloud/alfa/kommentar/DateiformatCode.java +++ b/alfa-xdomea/src/main/java/de/ozgcloud/alfa/kommentar/DateiformatCode.java @@ -3,7 +3,6 @@ package de.ozgcloud.alfa.kommentar; import java.util.Collections; import java.util.HashMap; import java.util.Map; -import java.util.Map.Entry; import java.util.Objects; import org.apache.commons.lang3.StringUtils; @@ -59,16 +58,29 @@ public final class DateiformatCode { } public static String getXdomeaCode(String mimeType, String extension) { - var fileExtensionToCodeMapping = mimeTypesMapping.getOrDefault( + var fileExtensionToCodeMapping = getFileExtensionToCodeMapping(mimeType); + if (hasSingleExtensionMapping(fileExtensionToCodeMapping)) { + return getCodeOrDefault(fileExtensionToCodeMapping); + } + return getCodeForExtensionOrDefault(extension, fileExtensionToCodeMapping); + } + + private static Map<String, String> getFileExtensionToCodeMapping(String mimeType) { + return mimeTypesMapping.getOrDefault( Objects.requireNonNullElse(mimeType, StringUtils.EMPTY), Collections.emptyMap()); - if (fileExtensionToCodeMapping.entrySet().size() == 1) { - return fileExtensionToCodeMapping.entrySet().stream().findFirst().map(Entry::getValue).orElse(SONSTIGES_CODE); - } - return fileExtensionToCodeMapping.getOrDefault( - Objects.requireNonNullElse(extension, StringUtils.EMPTY), - SONSTIGES_CODE - ); + } + + private static boolean hasSingleExtensionMapping(Map<String, String> fileExtensionToCodeMapping) { + return fileExtensionToCodeMapping.entrySet().size() == 1; + } + + private static String getCodeOrDefault(Map<String, String> fileExtensionToCodeMapping) { + return fileExtensionToCodeMapping.values().stream().findFirst().orElse(SONSTIGES_CODE); + } + + private static String getCodeForExtensionOrDefault(String extension, Map<String, String> fileExtensionToCodeMapping) { + return fileExtensionToCodeMapping.getOrDefault(Objects.requireNonNullElse(extension, StringUtils.EMPTY), SONSTIGES_CODE); } } -- GitLab