/** * The contents of this file are subject to the license and copyright * detailed in the LICENSE file at the root of the source * tree and available online at * * https://github.com/keeps/roda */ package org.roda.core.plugins.plugins.common; import java.util.Arrays; import java.util.HashMap; import java.util.List; import java.util.Map; import org.apache.commons.lang3.StringUtils; import org.roda.core.RodaCoreFactory; public class FileFormatUtils { private static final String CORE = "core"; private static final String TOOLS = "tools"; private FileFormatUtils() { // do nothing } public static Map<String, List<String>> getPronomToExtension(String tool) { Map<String, List<String>> map = new HashMap<>(); String inputFormatPronoms = RodaCoreFactory.getRodaConfigurationAsString(CORE, TOOLS, tool, "inputFormatPronoms"); for (String pronom : Arrays.asList(inputFormatPronoms.split(" "))) { String pronomExtensions = RodaCoreFactory.getRodaConfigurationAsString(CORE, TOOLS, "pronom", pronom); map.put(pronom, Arrays.asList(pronomExtensions.split(" "))); } return map; } public static Map<String, List<String>> getMimetypeToExtension(String tool) { Map<String, List<String>> map = new HashMap<>(); String inputFormatMimetypes = RodaCoreFactory.getRodaConfigurationAsString(CORE, TOOLS, tool, "inputFormatMimetypes"); if (StringUtils.isNotBlank(inputFormatMimetypes)) { for (String mimetype : Arrays.asList(inputFormatMimetypes.split(" "))) { String mimeExtensions = RodaCoreFactory.getRodaConfigurationAsString(CORE, TOOLS, "mimetype", mimetype); if (StringUtils.isNotBlank(mimeExtensions)) { map.put(mimetype, Arrays.asList(mimeExtensions.split(" "))); } } } return map; } public static List<String> getInputExtensions(String tool) { String inputFormatExtensions = RodaCoreFactory.getRodaConfigurationAsString(CORE, TOOLS, tool, "inputFormatExtensions"); return Arrays.asList(inputFormatExtensions.split(" ")); } }