[SYNCOPE-1097] Clean up
Project: http://git-wip-us.apache.org/repos/asf/syncope/repo Commit: http://git-wip-us.apache.org/repos/asf/syncope/commit/f240a850 Tree: http://git-wip-us.apache.org/repos/asf/syncope/tree/f240a850 Diff: http://git-wip-us.apache.org/repos/asf/syncope/diff/f240a850 Branch: refs/heads/master Commit: f240a850fa171ecd2f1071433cb5585bdca8aa7d Parents: 0e25463 Author: Francesco Chicchiriccò <ilgro...@apache.org> Authored: Tue Aug 8 17:05:25 2017 +0200 Committer: Francesco Chicchiriccò <ilgro...@apache.org> Committed: Tue Aug 8 17:05:35 2017 +0200 ---------------------------------------------------------------------- .../client/console/init/MIMETypesLoader.java | 45 +++++++++++--------- .../console/panels/PlainSchemaDetails.java | 7 +-- .../wicket/markup/html/form/AjaxDownload.java | 12 +++--- 3 files changed, 34 insertions(+), 30 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/syncope/blob/f240a850/client/console/src/main/java/org/apache/syncope/client/console/init/MIMETypesLoader.java ---------------------------------------------------------------------- diff --git a/client/console/src/main/java/org/apache/syncope/client/console/init/MIMETypesLoader.java b/client/console/src/main/java/org/apache/syncope/client/console/init/MIMETypesLoader.java index c48bbc6..d2f4845 100644 --- a/client/console/src/main/java/org/apache/syncope/client/console/init/MIMETypesLoader.java +++ b/client/console/src/main/java/org/apache/syncope/client/console/init/MIMETypesLoader.java @@ -33,37 +33,40 @@ public class MIMETypesLoader { private static final Logger LOG = LoggerFactory.getLogger(MIMETypesLoader.class); - private Map<String, String> mimeTypes; - private static final ObjectMapper MAPPER = new ObjectMapper(); + private Map<String, String> mimeTypesMap; + + private List<String> mimeTypes; + public void load() { - if (mimeTypes == null || mimeTypes.isEmpty()) { - mimeTypes = new HashMap<>(); - try { - JsonNode jsonNode = MAPPER.readTree( - IOUtils.toString(getClass().getResourceAsStream("/MIMETypes.json"))); - for (JsonNode node : jsonNode) { - JsonNode type = node.path("name"); - JsonNode ext = node.path("extension"); - if (!type.isMissingNode()) { - mimeTypes.put(type.asText(), !ext.isMissingNode() ? ext.asText() : ""); - } + mimeTypesMap = new HashMap<>(); + try { + JsonNode jsonNode = MAPPER.readTree(IOUtils.toString(getClass().getResourceAsStream("/MIMETypes.json"))); + for (JsonNode node : jsonNode) { + JsonNode type = node.path("name"); + JsonNode ext = node.path("extension"); + if (!type.isMissingNode()) { + mimeTypesMap.put(type.asText(), ext.isMissingNode() ? "" : ext.asText()); } - } catch (Exception e) { - LOG.error("Error reading file MIMETypes from resources", e); } + + mimeTypesMap = Collections.unmodifiableMap(mimeTypesMap); + LOG.debug("MIME types loaded: {}", mimeTypesMap); + + mimeTypes = new ArrayList<>(mimeTypesMap.keySet()); + Collections.sort(mimeTypes); + mimeTypes = Collections.unmodifiableList(mimeTypes); + } catch (Exception e) { + LOG.error("Error reading file MIMETypes from resources", e); } } public List<String> getMimeTypes() { - LOG.debug("Returning loaded MIME types list {}", mimeTypes); - List<String> list = new ArrayList<>(mimeTypes.keySet()); - Collections.sort(list); - return list; + return mimeTypes; } - public String getExtensionByMimeType(final String mimeType) { - return mimeTypes.get(mimeType); + public String getFileExt(final String mimeType) { + return mimeTypesMap.get(mimeType); } } http://git-wip-us.apache.org/repos/asf/syncope/blob/f240a850/client/console/src/main/java/org/apache/syncope/client/console/panels/PlainSchemaDetails.java ---------------------------------------------------------------------- diff --git a/client/console/src/main/java/org/apache/syncope/client/console/panels/PlainSchemaDetails.java b/client/console/src/main/java/org/apache/syncope/client/console/panels/PlainSchemaDetails.java index 7d9d18c..4cd80b7 100644 --- a/client/console/src/main/java/org/apache/syncope/client/console/panels/PlainSchemaDetails.java +++ b/client/console/src/main/java/org/apache/syncope/client/console/panels/PlainSchemaDetails.java @@ -29,6 +29,7 @@ import org.apache.syncope.client.console.SyncopeConsoleApplication; import org.apache.syncope.client.console.SyncopeConsoleSession; import org.apache.syncope.client.console.commons.Constants; import org.apache.syncope.client.console.commons.PropertyList; +import org.apache.syncope.client.console.init.ConsoleInitializer; import org.apache.syncope.client.console.init.MIMETypesLoader; import org.apache.syncope.client.console.wicket.ajax.form.IndicatorAjaxFormComponentUpdatingBehavior; import org.apache.syncope.client.console.wicket.markup.html.form.AjaxCheckBoxPanel; @@ -54,8 +55,8 @@ public class PlainSchemaDetails extends AbstractSchemaDetailsPanel { private static final long serialVersionUID = 5378100729213456451L; - private static final MIMETypesLoader MIME_TYPES_INITIALIZER = (MIMETypesLoader) SyncopeConsoleApplication.get(). - getServletContext().getAttribute("MIMETYPES_LOADER"); + private static final MIMETypesLoader MIME_TYPES_LOADER = (MIMETypesLoader) SyncopeConsoleApplication.get(). + getServletContext().getAttribute(ConsoleInitializer.MIMETYPES_LOADER); private final MultiFieldPanel<String> enumerationValues; @@ -393,7 +394,7 @@ public class PlainSchemaDetails extends AbstractSchemaDetailsPanel { cipherAlgorithm.setModelObject(null); binaryParams.setVisible(true); - mimeType.setChoices(MIME_TYPES_INITIALIZER.getMimeTypes()); + mimeType.setChoices(MIME_TYPES_LOADER.getMimeTypes()); } else { conversionParams.setVisible(false); conversionPattern.setModelObject(null); http://git-wip-us.apache.org/repos/asf/syncope/blob/f240a850/client/console/src/main/java/org/apache/syncope/client/console/wicket/markup/html/form/AjaxDownload.java ---------------------------------------------------------------------- diff --git a/client/console/src/main/java/org/apache/syncope/client/console/wicket/markup/html/form/AjaxDownload.java b/client/console/src/main/java/org/apache/syncope/client/console/wicket/markup/html/form/AjaxDownload.java index 57a9b59..da27e2b 100644 --- a/client/console/src/main/java/org/apache/syncope/client/console/wicket/markup/html/form/AjaxDownload.java +++ b/client/console/src/main/java/org/apache/syncope/client/console/wicket/markup/html/form/AjaxDownload.java @@ -18,10 +18,10 @@ */ package org.apache.syncope.client.console.wicket.markup.html.form; - import org.apache.commons.lang3.StringUtils; import org.apache.syncope.client.console.SyncopeConsoleApplication; import org.apache.syncope.client.console.commons.HttpResourceStream; +import org.apache.syncope.client.console.init.ConsoleInitializer; import org.apache.syncope.client.console.init.MIMETypesLoader; import org.apache.wicket.ajax.AjaxRequestTarget; import org.apache.wicket.behavior.AbstractAjaxBehavior; @@ -32,10 +32,10 @@ public abstract class AjaxDownload extends AbstractAjaxBehavior { private static final long serialVersionUID = 7203445884857810583L; - private final String name; + private static final MIMETypesLoader MIME_TYPES_LOADER = (MIMETypesLoader) SyncopeConsoleApplication.get(). + getServletContext().getAttribute(ConsoleInitializer.MIMETYPES_LOADER); - private static final MIMETypesLoader MIME_TYPES_INITIALIZER = (MIMETypesLoader) SyncopeConsoleApplication.get(). - getServletContext().getAttribute("MIMETYPES_LOADER"); + private final String name; private String fileKey; @@ -72,8 +72,8 @@ public abstract class AjaxDownload extends AbstractAjaxBehavior { String key = StringUtils.isNotBlank(fileKey) ? fileKey + "_" : ""; String ext = ""; if (StringUtils.isNotBlank(mimeType)) { - String extByMimeType = MIME_TYPES_INITIALIZER.getExtensionByMimeType(mimeType); - ext = !extByMimeType.isEmpty() ? ("." + extByMimeType) : ".bin"; + String extByMimeType = MIME_TYPES_LOADER.getFileExt(mimeType); + ext = StringUtils.isBlank(extByMimeType) ? ".bin" : ("." + extByMimeType); } String fileName = key + (stream.getFilename() == null ? name : stream.getFilename()) + ext;