Merge lp:~sgaflv/workcraft/trunk-bug-1321714 into lp:workcraft

Proposed by Danil Sokolov
Status: Merged
Merged at revision: 520
Proposed branch: lp:~sgaflv/workcraft/trunk-bug-1321714
Merge into: lp:workcraft
Diff against target: 280 lines (+74/-20)
15 files modified
CircuitPlugin/src/org/workcraft/plugins/circuit/VisualCircuitComponent.java (+6/-0)
WorkcraftCore/src/org/workcraft/Framework.java (+4/-1)
WorkcraftCore/src/org/workcraft/dom/AbstractGroup.java (+12/-2)
WorkcraftCore/src/org/workcraft/dom/DefaultHangingConnectionRemover.java (+1/-1)
WorkcraftCore/src/org/workcraft/dom/math/MathConnection.java (+2/-1)
WorkcraftCore/src/org/workcraft/dom/math/MathGroup.java (+13/-9)
WorkcraftCore/src/org/workcraft/dom/visual/AbstractVisualModel.java (+1/-5)
WorkcraftCore/src/org/workcraft/dom/visual/VisualGroup.java (+4/-0)
WorkcraftCore/src/org/workcraft/dom/visual/VisualPage.java (+4/-0)
WorkcraftCore/src/org/workcraft/dom/visual/connections/Polyline.java (+5/-1)
WorkcraftCore/src/org/workcraft/dom/visual/connections/VisualConnection.java (+6/-0)
WorkcraftCore/src/org/workcraft/observation/ObservableHierarchy.java (+1/-0)
WorkcraftCore/src/org/workcraft/observation/ObservableHierarchyImpl.java (+4/-0)
XmasPlugin/src/org/workcraft/plugins/xmas/components/VisualXmasComponent.java (+6/-0)
XmasPlugin/src/org/workcraft/plugins/xmas/components/XmasComponent.java (+5/-0)
To merge this branch: bzr merge lp:~sgaflv/workcraft/trunk-bug-1321714
Reviewer Review Type Date Requested Status
Danil Sokolov Approve
Review via email: mp+226887@code.launchpad.net
To post a comment you must log in.
Revision history for this message
Danil Sokolov (danilovesky) :
review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
=== modified file 'CircuitPlugin/src/org/workcraft/plugins/circuit/VisualCircuitComponent.java'
--- CircuitPlugin/src/org/workcraft/plugins/circuit/VisualCircuitComponent.java 2014-07-08 11:51:21 +0000
+++ CircuitPlugin/src/org/workcraft/plugins/circuit/VisualCircuitComponent.java 2014-07-15 17:41:02 +0000
@@ -631,5 +631,11 @@
631 public void removeObserver(HierarchyObserver obs) {631 public void removeObserver(HierarchyObserver obs) {
632 groupImpl.removeObserver(obs);632 groupImpl.removeObserver(obs);
633 }633 }
634
635 @Override
636 public void removeAllObservers() {
637 groupImpl.removeAllObservers();
638 }
639
634640
635}641}
636642
=== modified file 'WorkcraftCore/src/org/workcraft/Framework.java'
--- WorkcraftCore/src/org/workcraft/Framework.java 2014-06-25 19:35:02 +0000
+++ WorkcraftCore/src/org/workcraft/Framework.java 2014-07-15 17:41:02 +0000
@@ -682,7 +682,10 @@
682 vmodel1.reparent(vmodel1.getCurrentLevel(), vmodel2, vmodel2.getRoot(), null);682 vmodel1.reparent(vmodel1.getCurrentLevel(), vmodel2, vmodel2.getRoot(), null);
683 vmodel1.select(children);683 vmodel1.select(children);
684 684
685 return me1;685 // dirty hack! to avoid any hanging observers
686 Memento memo = save(me1);
687 ModelEntry me3 = load(memo);
688 return me3;
686689
687 690
688 }691 }
689692
=== modified file 'WorkcraftCore/src/org/workcraft/dom/AbstractGroup.java'
--- WorkcraftCore/src/org/workcraft/dom/AbstractGroup.java 2014-06-29 17:47:02 +0000
+++ WorkcraftCore/src/org/workcraft/dom/AbstractGroup.java 2014-07-15 17:41:02 +0000
@@ -103,6 +103,10 @@
103 public void removeObserver(HierarchyObserver obs) {103 public void removeObserver(HierarchyObserver obs) {
104 observableHierarchyImpl.removeObserver(obs);104 observableHierarchyImpl.removeObserver(obs);
105 }105 }
106
107 public void removeAllObservers() {
108 observableHierarchyImpl.removeAllObservers();
109 }
106110
107 @Override111 @Override
108 public void add(Node node) {112 public void add(Node node) {
@@ -154,9 +158,15 @@
154 158
155 }159 }
156 160
157 if (differentModels)161 if (differentModels) {
162 // remove all listeners as well
163 for (Node n: nodes) {
164 if (n instanceof ObservableHierarchy) {
165 ((ObservableHierarchy) n).removeAllObservers();
166 }
167 }
158 newParent.add(nodes);168 newParent.add(nodes);
159 else169 } else
160 newParent.reparent(nodes);170 newParent.reparent(nodes);
161171
162 observableHierarchyImpl.sendNotification(new NodesReparentedEvent(groupRef, newParent, nodes));172 observableHierarchyImpl.sendNotification(new NodesReparentedEvent(groupRef, newParent, nodes));
163173
=== modified file 'WorkcraftCore/src/org/workcraft/dom/DefaultHangingConnectionRemover.java'
--- WorkcraftCore/src/org/workcraft/dom/DefaultHangingConnectionRemover.java 2013-10-31 11:44:01 +0000
+++ WorkcraftCore/src/org/workcraft/dom/DefaultHangingConnectionRemover.java 2014-07-15 17:41:02 +0000
@@ -53,7 +53,7 @@
53 53
54 for (Node node : e.getAffectedNodes())54 for (Node node : e.getAffectedNodes())
55 findHangingConnections(node, hangingConnections, hanging);55 findHangingConnections(node, hangingConnections, hanging);
56 56
57 for (Connection con : hangingConnections)57 for (Connection con : hangingConnections)
58 if (con.getParent() instanceof Container)58 if (con.getParent() instanceof Container)
59 ((Container)con.getParent()).remove(con);59 ((Container)con.getParent()).remove(con);
6060
=== modified file 'WorkcraftCore/src/org/workcraft/dom/math/MathConnection.java'
--- WorkcraftCore/src/org/workcraft/dom/math/MathConnection.java 2013-09-10 09:54:55 +0000
+++ WorkcraftCore/src/org/workcraft/dom/math/MathConnection.java 2014-07-15 17:41:02 +0000
@@ -23,6 +23,7 @@
2323
24import org.workcraft.annotations.VisualClass;24import org.workcraft.annotations.VisualClass;
25import org.workcraft.dom.Connection;25import org.workcraft.dom.Connection;
26import org.workcraft.dom.Node;
2627
27@VisualClass(org.workcraft.dom.visual.connections.VisualConnection.class)28@VisualClass(org.workcraft.dom.visual.connections.VisualConnection.class)
28public class MathConnection extends MathNode implements Connection {29public class MathConnection extends MathNode implements Connection {
@@ -36,7 +37,7 @@
36 super();37 super();
37 setDependencies(first, second);38 setDependencies(first, second);
38 }39 }
39 40
40 final public MathNode getFirst() {41 final public MathNode getFirst() {
41 return first;42 return first;
42 }43 }
4344
=== modified file 'WorkcraftCore/src/org/workcraft/dom/math/MathGroup.java'
--- WorkcraftCore/src/org/workcraft/dom/math/MathGroup.java 2014-04-28 18:05:39 +0000
+++ WorkcraftCore/src/org/workcraft/dom/math/MathGroup.java 2014-07-15 17:41:02 +0000
@@ -22,17 +22,16 @@
22package org.workcraft.dom.math;22package org.workcraft.dom.math;
2323
24import java.util.ArrayList;24import java.util.ArrayList;
25import java.util.Collection;25import java.util.Collection;
2626
27import org.workcraft.dom.Container;27import org.workcraft.dom.Container;
28import org.workcraft.dom.DefaultGroupImpl;28import org.workcraft.dom.DefaultGroupImpl;
29import org.workcraft.dom.Node;29import org.workcraft.dom.Node;
30import org.workcraft.dom.hierarchy.NamespaceProvider;30import org.workcraft.dom.hierarchy.NamespaceProvider;
31import org.workcraft.dom.references.HierarchicalUniqueNameReferenceManager;31import org.workcraft.dom.references.HierarchicalUniqueNameReferenceManager;
32import org.workcraft.dom.references.ReferenceManager;32import org.workcraft.dom.references.ReferenceManager;
33import org.workcraft.dom.visual.TransformHelper;33import org.workcraft.observation.HierarchyObserver;
34import org.workcraft.observation.HierarchyObserver;34import org.workcraft.observation.ObservableHierarchy;
35import org.workcraft.observation.ObservableHierarchy;
36import org.workcraft.util.Hierarchy;35import org.workcraft.util.Hierarchy;
3736
38public class MathGroup extends MathNode implements NamespaceProvider, ObservableHierarchy, Container {37public class MathGroup extends MathNode implements NamespaceProvider, ObservableHierarchy, Container {
@@ -66,7 +65,12 @@
66 @Override65 @Override
67 public void removeObserver(HierarchyObserver obs) {66 public void removeObserver(HierarchyObserver obs) {
68 groupImpl.removeObserver(obs);67 groupImpl.removeObserver(obs);
69 }68 }
69
70 @Override
71 public void removeAllObservers() {
72 groupImpl.removeAllObservers();
73 }
7074
71 @Override75 @Override
72 public void setParent(Node parent) {76 public void setParent(Node parent) {
7377
=== modified file 'WorkcraftCore/src/org/workcraft/dom/visual/AbstractVisualModel.java'
--- WorkcraftCore/src/org/workcraft/dom/visual/AbstractVisualModel.java 2014-07-11 09:28:08 +0000
+++ WorkcraftCore/src/org/workcraft/dom/visual/AbstractVisualModel.java 2014-07-15 17:41:02 +0000
@@ -627,11 +627,7 @@
627 627
628 Collection<Node> children = new HashSet<Node>();628 Collection<Node> children = new HashSet<Node>();
629 629
630 if (sourceChildren==null) {630 children.addAll(sourceChildren);
631 children.addAll(sourceRoot.getChildren());
632 } else {
633 children.addAll(sourceChildren);
634 }
635 631
636 sourceRoot.reparent(children, targetContainer);632 sourceRoot.reparent(children, targetContainer);
637 633
638634
=== modified file 'WorkcraftCore/src/org/workcraft/dom/visual/VisualGroup.java'
--- WorkcraftCore/src/org/workcraft/dom/visual/VisualGroup.java 2014-06-29 17:47:02 +0000
+++ WorkcraftCore/src/org/workcraft/dom/visual/VisualGroup.java 2014-07-15 17:41:02 +0000
@@ -223,6 +223,10 @@
223 groupImpl.removeObserver(obs);223 groupImpl.removeObserver(obs);
224 }224 }
225225
226 @Override
227 public void removeAllObservers() {
228 groupImpl.removeAllObservers();
229 }
226230
227 @Override231 @Override
228 public void setParent(Node parent) {232 public void setParent(Node parent) {
229233
=== modified file 'WorkcraftCore/src/org/workcraft/dom/visual/VisualPage.java'
--- WorkcraftCore/src/org/workcraft/dom/visual/VisualPage.java 2014-06-26 08:11:52 +0000
+++ WorkcraftCore/src/org/workcraft/dom/visual/VisualPage.java 2014-07-15 17:41:02 +0000
@@ -170,6 +170,10 @@
170 groupImpl.removeObserver(obs);170 groupImpl.removeObserver(obs);
171 }171 }
172172
173 @Override
174 public void removeAllObservers() {
175 groupImpl.removeAllObservers();
176 }
173177
174 @Override178 @Override
175 public void setParent(Node parent) {179 public void setParent(Node parent) {
176180
=== modified file 'WorkcraftCore/src/org/workcraft/dom/visual/connections/Polyline.java'
--- WorkcraftCore/src/org/workcraft/dom/visual/connections/Polyline.java 2013-10-21 17:36:57 +0000
+++ WorkcraftCore/src/org/workcraft/dom/visual/connections/Polyline.java 2014-07-15 17:41:02 +0000
@@ -276,7 +276,11 @@
276276
277 public void removeObserver(HierarchyObserver obs) {277 public void removeObserver(HierarchyObserver obs) {
278 groupImpl.removeObserver(obs);278 groupImpl.removeObserver(obs);
279 }279 }
280
281 public void removeAllObservers() {
282 groupImpl.removeAllObservers();
283 }
280284
281 public void reparent(Collection<Node> nodes, Container newParent) {285 public void reparent(Collection<Node> nodes, Container newParent) {
282 groupImpl.reparent(nodes, newParent);286 groupImpl.reparent(nodes, newParent);
283287
=== modified file 'WorkcraftCore/src/org/workcraft/dom/visual/connections/VisualConnection.java'
--- WorkcraftCore/src/org/workcraft/dom/visual/connections/VisualConnection.java 2014-06-05 11:46:41 +0000
+++ WorkcraftCore/src/org/workcraft/dom/visual/connections/VisualConnection.java 2014-07-15 17:41:02 +0000
@@ -457,6 +457,12 @@
457 public void removeObserver(HierarchyObserver obs) {457 public void removeObserver(HierarchyObserver obs) {
458 observableHierarchyImpl.removeObserver(obs);458 observableHierarchyImpl.removeObserver(obs);
459 }459 }
460
461 public void removeAllObservers() {
462 observableHierarchyImpl.removeAllObservers();
463 }
464
465
460 @Override466 @Override
461 public Point2D getFirstCenter() {467 public Point2D getFirstCenter() {
462 return componentsTransformObserver.getFirstCenter();468 return componentsTransformObserver.getFirstCenter();
463469
=== modified file 'WorkcraftCore/src/org/workcraft/observation/ObservableHierarchy.java'
--- WorkcraftCore/src/org/workcraft/observation/ObservableHierarchy.java 2009-09-22 21:01:45 +0000
+++ WorkcraftCore/src/org/workcraft/observation/ObservableHierarchy.java 2014-07-15 17:41:02 +0000
@@ -24,4 +24,5 @@
24public interface ObservableHierarchy {24public interface ObservableHierarchy {
25 public void addObserver (HierarchyObserver obs);25 public void addObserver (HierarchyObserver obs);
26 public void removeObserver (HierarchyObserver obs);26 public void removeObserver (HierarchyObserver obs);
27 public void removeAllObservers();
27}28}
2829
=== modified file 'WorkcraftCore/src/org/workcraft/observation/ObservableHierarchyImpl.java'
--- WorkcraftCore/src/org/workcraft/observation/ObservableHierarchyImpl.java 2009-09-22 21:01:45 +0000
+++ WorkcraftCore/src/org/workcraft/observation/ObservableHierarchyImpl.java 2014-07-15 17:41:02 +0000
@@ -34,6 +34,10 @@
34 observers.remove(obs);34 observers.remove(obs);
35 }35 }
36 36
37 public void removeAllObservers() {
38 observers.clear();
39 }
40
37 public void sendNotification (HierarchyEvent e) {41 public void sendNotification (HierarchyEvent e) {
38 for (HierarchyObserver obs : observers)42 for (HierarchyObserver obs : observers)
39 obs.notify(e);43 obs.notify(e);
4044
=== modified file 'XmasPlugin/src/org/workcraft/plugins/xmas/components/VisualXmasComponent.java'
--- XmasPlugin/src/org/workcraft/plugins/xmas/components/VisualXmasComponent.java 2014-01-07 16:03:24 +0000
+++ XmasPlugin/src/org/workcraft/plugins/xmas/components/VisualXmasComponent.java 2014-07-15 17:41:02 +0000
@@ -213,6 +213,12 @@
213 groupImpl.removeObserver(obs);213 groupImpl.removeObserver(obs);
214 }214 }
215 215
216 @Override
217 public void removeAllObservers() {
218 groupImpl.removeAllObservers();
219 }
220
221
216 abstract public Shape getShape();222 abstract public Shape getShape();
217223
218 @Override224 @Override
219225
=== modified file 'XmasPlugin/src/org/workcraft/plugins/xmas/components/XmasComponent.java'
--- XmasPlugin/src/org/workcraft/plugins/xmas/components/XmasComponent.java 2013-11-05 18:01:19 +0000
+++ XmasPlugin/src/org/workcraft/plugins/xmas/components/XmasComponent.java 2014-07-15 17:41:02 +0000
@@ -52,6 +52,11 @@
52 public void removeObserver(HierarchyObserver obs) {52 public void removeObserver(HierarchyObserver obs) {
53 groupImpl.removeObserver(obs);53 groupImpl.removeObserver(obs);
54 }54 }
55
56 public void removeAllObservers() {
57 groupImpl.removeAllObservers();
58 }
59
5560
56 @Override61 @Override
57 public void add(Node node) {62 public void add(Node node) {

Subscribers

People subscribed via source and target branches