]> gerrit.simantics Code Review - simantics/3d.git/blobdiff - org.simantics.g3d/src/org/simantics/g3d/scenegraph/structural/ComponentNode.java
Remove listener calls when property values not updated.
[simantics/3d.git] / org.simantics.g3d / src / org / simantics / g3d / scenegraph / structural / ComponentNode.java
index 13ac2f523129356f9a12d659c6564ee7b2a33b08..332d3cdf1e346ec02ec52511186a2b6803bd0c9f 100644 (file)
@@ -15,6 +15,7 @@ import java.util.ArrayList;
 import java.util.Collection;\r
 import java.util.Collections;\r
 import java.util.List;\r
+import java.util.Objects;\r
 \r
 import org.simantics.g3d.ontology.G3D;\r
 import org.simantics.g3d.property.annotations.GetPropertyValue;\r
@@ -41,7 +42,7 @@ public abstract class ComponentNode<T extends Connection<T,T2>, T2 extends IComp
        @RelatedSetValue(Layer0.URIs.HasName)\r
        @SetPropertyValue(Layer0.URIs.HasName)\r
        public void setName(String name) {\r
-               if (name == null)\r
+               if (name == null || Objects.equals(this.name, name))\r
                        return;\r
                this.name = name;\r
                firePropertyChanged(Layer0.URIs.HasName);\r
@@ -96,8 +97,8 @@ public abstract class ComponentNode<T extends Connection<T,T2>, T2 extends IComp
        \r
        @Override\r
        public void addPublishedBy(IStructuralNode node) {\r
-               publisher.add(node);\r
-               firePropertyChanged(G3D.URIs.publishes);\r
+               if (publisher.add(node))\r
+                       firePropertyChanged(G3D.URIs.publishes);\r
        }\r
        \r
        @Override\r