~danilovesky/workcraft/trunk-menu-tools

« back to all changes in this revision

Viewing changes to PolicyNetPlugin/src/org/workcraft/plugins/policy/tools/PolicySimulationTool.java

  • Committer: Danil Sokolov
  • Date: 2015-05-27 12:17:26 UTC
  • mfrom: (616.1.1 workcraft-trunk)
  • Revision ID: danilovesky@gmail.com-20150527121726-cbu8w2hc3jf9d8g8
Merge proposal for bug #1459158 approved.

Show diffs side-by-side

added added

removed removed

Lines of Context:
6
6
 
7
7
import org.workcraft.dom.Container;
8
8
import org.workcraft.dom.Node;
 
9
import org.workcraft.dom.math.MathModel;
9
10
import org.workcraft.dom.visual.HitMan;
10
11
import org.workcraft.dom.visual.VisualGroup;
11
12
import org.workcraft.dom.visual.VisualModel;
22
23
import org.workcraft.plugins.petri.VisualTransition;
23
24
import org.workcraft.plugins.petri.tools.PetriNetSimulationTool;
24
25
import org.workcraft.plugins.petri.tools.PlaceDecoration;
 
26
import org.workcraft.plugins.policy.PolicyNet;
25
27
import org.workcraft.plugins.policy.VisualBundledTransition;
26
28
import org.workcraft.plugins.policy.VisualPolicyNet;
27
29
import org.workcraft.plugins.shared.CommonSimulationSettings;
28
30
import org.workcraft.util.Func;
29
31
 
30
 
public class SimulationTool extends PetriNetSimulationTool {
 
32
public class PolicySimulationTool extends PetriNetSimulationTool {
31
33
        private PetriNetGenerator generator;
32
34
 
33
35
        @Override
47
49
                if ((savedState == null) || savedState.isEmpty()) {
48
50
                        return;
49
51
                }
50
 
                VisualPolicyNet policy = (VisualPolicyNet)editor.getModel();
51
 
                for (VisualPlace place: policy.getVisualPlaces()) {
52
 
                        String ref = policy.getNodeMathReference(place);
53
 
                        Node node = net.getNodeByReference(ref);
54
 
                        if (node instanceof Place) {
55
 
                                int tokens = ((Place)node).getTokens();
56
 
                                place.getReferencedPlace().setTokens(tokens);
 
52
                MathModel model = editor.getModel().getMathModel();
 
53
                if (model instanceof PolicyNet) {
 
54
                        editor.getWorkspaceEntry().saveMemento();
 
55
                        PolicyNet policy = (PolicyNet)model;
 
56
                        for (Place place: policy.getPlaces()) {
 
57
                                String ref = policy.getNodeReference(place);
 
58
                                Node node = net.getNodeByReference(ref);
 
59
                                if (node instanceof Place) {
 
60
                                        int tokens = ((Place)node).getTokens();
 
61
                                        place.setTokens(tokens);
 
62
                                }
57
63
                        }
58
64
                }
59
65
        }