Skip to content
Snippets Groups Projects
Commit f7d35353 authored by OZGCloud's avatar OZGCloud
Browse files

OZG-4857 OZG-4934 compose method

parent df01cc20
Branches
Tags
No related merge requests found
......@@ -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);
}
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment