-package org.simantics.interop.test;\r
-\r
-import org.simantics.db.ReadGraph;\r
-import org.simantics.db.Resource;\r
-import org.simantics.db.exception.DatabaseException;\r
-import org.simantics.db.exception.ManyObjectsForFunctionalRelationException;\r
-import org.simantics.db.exception.ServiceException;\r
-import org.simantics.layer0.Layer0;\r
-\r
-/**\r
- * Object comparator that uses type and name of objects to check if objects are comparable.\r
- * If objects have no name, compare returns unreliable as result.\r
- * \r
- * \r
- * Difference value is amount of properties that have different values.\r
- * \r
- * @author Marko Luukkainen <marko.luukkainen@vtt.fi>\r
- *\r
- */\r
-public class NameComparator extends TypeComparator {\r
- \r
- @Override\r
- public int compare(ReadGraph g, Resource o1, Resource o2)\r
- throws DatabaseException {\r
- if (!compareType(g,o1, o2)) {\r
- return Integer.MAX_VALUE;\r
- }\r
- if (hasName(g, o1, o2)) {\r
- if(!compareName(g, o1, o2))\r
- return Integer.MAX_VALUE;\r
- return propsDiffCount(g,o1, o2);\r
- }\r
- return 0;\r
- \r
- }\r
- \r
- protected boolean compareName(ReadGraph g, Resource o1, Resource o2) throws ManyObjectsForFunctionalRelationException, ServiceException {\r
- Layer0 l0 = Layer0.getInstance(g);\r
- String n1 = g.getPossibleRelatedValue(o1, l0.HasName);\r
- String n2 = g.getPossibleRelatedValue(o2, l0.HasName);\r
- if (n1 != null && n2 != null)\r
- return n1.equals(n2);\r
- if (n1 == null && n2 == null)\r
- return true;\r
- return false;\r
- \r
- }\r
- \r
- protected boolean hasName(ReadGraph g, Resource o1, Resource o2) throws ManyObjectsForFunctionalRelationException, ServiceException {\r
- Layer0 l0 = Layer0.getInstance(g);\r
- String n1 = g.getPossibleRelatedValue(o1, l0.HasName);\r
- String n2 = g.getPossibleRelatedValue(o2, l0.HasName);\r
- if (n1 != null && n2 != null)\r
- return true;\r
- return false;\r
- \r
- }\r
-\r
-}\r
+package org.simantics.interop.test;
+
+import org.simantics.databoard.Bindings;
+import org.simantics.db.ReadGraph;
+import org.simantics.db.Resource;
+import org.simantics.db.exception.DatabaseException;
+import org.simantics.layer0.Layer0;
+
+/**
+ * Object comparator that uses type and name of objects to check if objects are comparable.
+ * If objects have no name, compare returns unreliable as result.
+ *
+ *
+ * Difference value is amount of properties that have different values.
+ *
+ * @author Marko Luukkainen <marko.luukkainen@vtt.fi>
+ *
+ */
+public class NameComparator extends TypeComparator {
+
+ @Override
+ public int compare(ReadGraph g, Resource o1, Resource o2)
+ throws DatabaseException {
+ if (!compareType(g,o1, o2)) {
+ return Integer.MAX_VALUE;
+ }
+ if (hasName(g, o1, o2)) {
+ if(!compareName(g, o1, o2))
+ return Integer.MAX_VALUE;
+ return propsDiffCount(g,o1, o2);
+ }
+ return 0;
+
+ }
+
+ protected boolean compareName(ReadGraph g, Resource o1, Resource o2) throws DatabaseException {
+ Layer0 l0 = Layer0.getInstance(g);
+ String n1 = g.getPossibleRelatedValue(o1, l0.HasName, Bindings.STRING);
+ String n2 = g.getPossibleRelatedValue(o2, l0.HasName, Bindings.STRING);
+ if (n1 != null && n2 != null)
+ return n1.equals(n2);
+ if (n1 == null && n2 == null)
+ return true;
+ return false;
+
+ }
+
+ protected boolean hasName(ReadGraph g, Resource o1, Resource o2) throws DatabaseException {
+ Layer0 l0 = Layer0.getInstance(g);
+ String n1 = g.getPossibleRelatedValue(o1, l0.HasName, Bindings.STRING);
+ String n2 = g.getPossibleRelatedValue(o2, l0.HasName, Bindings.STRING);
+ if (n1 != null && n2 != null)
+ return true;
+ return false;
+
+ }
+
+}