diff --git a/tools/cooja/java/se/sics/cooja/GUI.java b/tools/cooja/java/se/sics/cooja/GUI.java index 2d57a42cc..1883ba2da 100644 --- a/tools/cooja/java/se/sics/cooja/GUI.java +++ b/tools/cooja/java/se/sics/cooja/GUI.java @@ -1556,6 +1556,9 @@ public class GUI extends Observable { "MOTETYPES"); if (moteTypeClassNames != null) { for (String moteTypeClassName : moteTypeClassNames) { + if (moteTypeClassName.trim().isEmpty()) { + continue; + } Class moteTypeClass = tryLoadClass(this, MoteType.class, moteTypeClassName); @@ -4260,6 +4263,22 @@ public class GUI extends Observable { id += "/.."; } } + if (!fileCanonical.startsWith(configCanonical)) { + /* SPECIAL CASE: Allow two parent directories */ + File parent = new File(configCanonical).getParentFile(); + if (parent != null) { + configCanonical = parent.getCanonicalPath(); + id += "/.."; + } + } + if (!fileCanonical.startsWith(configCanonical)) { + /* SPECIAL CASE: Allow three parent directories */ + File parent = new File(configCanonical).getParentFile(); + if (parent != null) { + configCanonical = parent.getCanonicalPath(); + id += "/.."; + } + } if (!fileCanonical.startsWith(configCanonical)) { /* File is not in a config subdirectory */ /*logger.info("File is not in a config subdirectory: " + file.getAbsolutePath());*/