From e7613da62ef5ec19f7cf3727834eb5977b5a50fa Mon Sep 17 00:00:00 2001 From: Francesco Mangiacrapa Date: Mon, 8 Jul 2019 10:02:45 +0000 Subject: [PATCH] Renamed ExtensionToMimeTypeMap to WsExtensionToMimeTypeMap in order to avoid clashing with the files declared into HL git-svn-id: http://svn.d4science-ii.research-infrastructures.eu/gcube/trunk/portlets/user/workspace-tree-widget@181150 82a268e6-3cf1-43bd-a215-b396298e98cf --- .../server/util/MimeTypeUtility.java | 20 +++++++++++++------ ...es => WsExtensionToMimeTypeMap.properties} | 0 ...es => WsMimeTypeToExtensionMap.properties} | 0 .../user/workspace/MimeTypeUtilityTest.java | 2 +- 4 files changed, 15 insertions(+), 7 deletions(-) rename src/main/resources/{ExtensionToMimeTypeMap.properties => WsExtensionToMimeTypeMap.properties} (100%) rename src/main/resources/{MimeTypeToExtensionMap.properties => WsMimeTypeToExtensionMap.properties} (100%) diff --git a/src/main/java/org/gcube/portlets/user/workspace/server/util/MimeTypeUtility.java b/src/main/java/org/gcube/portlets/user/workspace/server/util/MimeTypeUtility.java index 0039315..5f72fd8 100644 --- a/src/main/java/org/gcube/portlets/user/workspace/server/util/MimeTypeUtility.java +++ b/src/main/java/org/gcube/portlets/user/workspace/server/util/MimeTypeUtility.java @@ -33,6 +33,8 @@ import org.apache.tika.mime.MediaType; */ public class MimeTypeUtility { + private static final String DOT_STRING = "."; + protected static Logger logger = Logger.getLogger(MimeTypeUtility.class); /** @@ -47,8 +49,8 @@ public class MimeTypeUtility { protected static final Map extension_mimetype_map = new LinkedHashMap(); static { - InputStream extensionToMimetype = MimeTypeUtility.class.getResourceAsStream("/ExtensionToMimeTypeMap.properties"); - InputStream mimetypeToExtension = MimeTypeUtility.class.getResourceAsStream("/MimeTypeToExtensionMap.properties"); + InputStream extensionToMimetype = MimeTypeUtility.class.getResourceAsStream("/WsExtensionToMimeTypeMap.properties"); + InputStream mimetypeToExtension = MimeTypeUtility.class.getResourceAsStream("/WsMimeTypeToExtensionMap.properties"); try { loadExtensions(extensionToMimetype); loadMimeTypes(mimetypeToExtension); @@ -130,12 +132,18 @@ public class MimeTypeUtility { */ public static String getNameWithExtension(String name, String mimeType) throws IOException { - logger.trace("getNameWithExtension name: " + name + " mimeType: " + mimeType); + logger.debug("Deriving the file extension for file name: " + name + ", with mimeType: " + mimeType); String declaredExtension = FilenameUtils.getExtension(name); + logger.debug("The name "+name+" contains the extension: "+declaredExtension); - if(declaredExtension.isEmpty()) { - + declaredExtension = declaredExtension.replace(" ", ""); + logger.debug("Purged extension without white space is: "+declaredExtension); + + if(declaredExtension.isEmpty() || !(name.endsWith(DOT_STRING+declaredExtension))) { + + logger.debug("The extension: "+declaredExtension+", is empty or it is not a valid extension"); + if (mimeType == null) return name; @@ -148,7 +156,7 @@ public class MimeTypeUtility { }else { extension = extensions.get(extensions.size()-1); //I'm reading the last extension in the map (myme type - list of extensions) logger.debug("Using the last extension read into list of available extensions: " + extension); - extension = "." + extension; + extension = DOT_STRING + extension; } logger.trace("returning " + name + extension); diff --git a/src/main/resources/ExtensionToMimeTypeMap.properties b/src/main/resources/WsExtensionToMimeTypeMap.properties similarity index 100% rename from src/main/resources/ExtensionToMimeTypeMap.properties rename to src/main/resources/WsExtensionToMimeTypeMap.properties diff --git a/src/main/resources/MimeTypeToExtensionMap.properties b/src/main/resources/WsMimeTypeToExtensionMap.properties similarity index 100% rename from src/main/resources/MimeTypeToExtensionMap.properties rename to src/main/resources/WsMimeTypeToExtensionMap.properties diff --git a/src/test/java/org/gcube/portlets/user/workspace/MimeTypeUtilityTest.java b/src/test/java/org/gcube/portlets/user/workspace/MimeTypeUtilityTest.java index e8da95d..96177ed 100644 --- a/src/test/java/org/gcube/portlets/user/workspace/MimeTypeUtilityTest.java +++ b/src/test/java/org/gcube/portlets/user/workspace/MimeTypeUtilityTest.java @@ -16,7 +16,7 @@ public class MimeTypeUtilityTest { fileNamesToMimeTypes.put("An html page of D4science.html", "text/html"); fileNamesToMimeTypes.put("No Extension File of kind CSV", "text/csv"); fileNamesToMimeTypes.put("No Extension File of kind PDF", "application/pdf"); - fileNamesToMimeTypes.put("An .o extension file", "text/html"); + fileNamesToMimeTypes.put("An .o extension file .take ext", "text/html"); }