diff --git a/TULIP/src/lu/list/itis/dkd/tui/TangibleInterfaceManager.java b/TULIP/src/lu/list/itis/dkd/tui/TangibleInterfaceManager.java index 10dd26041891d0f234292ed1095d5f79766f3e3a..af9d33b3c5371bf65d2086a22e26f46fdc9f109b 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);