From 2067f2053839bfca0efec010779f277bc2435ffa Mon Sep 17 00:00:00 2001 From: Nico Mack Date: Thu, 15 Mar 2018 10:07:41 +0100 Subject: [PATCH] Improved lookup of scenario file in about section --- .../list/itis/dkd/tui/TangibleInterfaceManager.java | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/TULIP/src/lu/list/itis/dkd/tui/TangibleInterfaceManager.java b/TULIP/src/lu/list/itis/dkd/tui/TangibleInterfaceManager.java index 10dd260..af9d33b 100644 --- a/TULIP/src/lu/list/itis/dkd/tui/TangibleInterfaceManager.java +++ b/TULIP/src/lu/list/itis/dkd/tui/TangibleInterfaceManager.java @@ -59,6 +59,9 @@ import java.io.InputStreamReader; import java.io.Reader; import java.lang.reflect.Constructor; import java.lang.reflect.InvocationTargetException; +import java.net.MalformedURLException; +import java.net.URISyntaxException; +import java.net.URL; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.HashMap; @@ -175,16 +178,16 @@ public class TangibleInterfaceManager extends Stage { private Map readAbout() { Map about = new HashMap<>(); Element rootNode = bootstrap.getRootElement(); - Matcher uriMatcher = URI_PATTERN.matcher(bootstrap.getBaseURI()); - if (uriMatcher.matches()) { - File scenario = new File(uriMatcher.group(1)); + try { + URL url = new URL(bootstrap.getBaseURI()); + File scenario = new File(url.toURI()); if (scenario.exists() && scenario.isFile()) { about.put(About.FILE_NAME, scenario.getName()); SimpleDateFormat dateFormat = new SimpleDateFormat("MM/dd/yyyy HH:mm:ss"); //$NON-NLS-1$ about.put(About.LAST_MODIFIED, dateFormat.format(scenario.lastModified())); - } else { - LOGGER.warn("Unable to locate scenario file {}!", uriMatcher.group(1)); } + } catch (MalformedURLException | URISyntaxException e) { + LOGGER.warn("Unable to locate scenario file {}!", bootstrap.getBaseURI()); //$NON-NLS-1$ } List aboutNodes = rootNode.getChildren(Externalization.ABOUT_NODE); -- GitLab