]> gerrit.simantics Code Review - simantics/platform.git/blobdiff - bundles/org.simantics.graph/src/org/simantics/graph/representation/TransferableGraphQueries.java
Escape/unescape names of the externals when converting to/from URIs
[simantics/platform.git] / bundles / org.simantics.graph / src / org / simantics / graph / representation / TransferableGraphQueries.java
index 5d4c1850b38040db18ddf527271a496a99388720..9a0c2da1fdaeea051e10d25e6c88bfb39a008bd1 100644 (file)
@@ -5,6 +5,8 @@ import java.util.Set;
 import java.util.TreeMap;
 import java.util.TreeSet;
 
+import org.simantics.databoard.util.URIStringUtils;
+
 import gnu.trove.impl.Constants;
 import gnu.trove.list.array.TIntArrayList;
 import gnu.trove.map.hash.TIntObjectHashMap;
@@ -58,14 +60,14 @@ public class TransferableGraphQueries {
         if(definition instanceof External) {
             External def = (External)definition;
             if(def.parent == -1) return "http:/";
-            else return getURI(def.parent) + "/" + def.name;
+            else return getURI(def.parent) + "/" + URIStringUtils.escape(def.name);
         } else if(definition instanceof Root) {
             Root def = (Root)definition;
             if(def.name.isEmpty()) return "http:/";
             return def.name;
         } else if (definition instanceof Internal) {
             Internal def = (Internal)definition;
-            return getURI(def.parent) + "/" + def.name;
+            return getURI(def.parent) + "/" + URIStringUtils.escape(def.name);
         } else {
             return "";
         }