Mercurial > dive4elements > framework
annotate artifact-database/src/main/java/org/dive4elements/artifactdatabase/transition/TransitionEngine.java @ 546:f099f0b22e62
Resolve entities in artifacts configuration.
author | Tom Gottfried <tom@intevation.de> |
---|---|
date | Thu, 24 Dec 2015 19:02:11 +0100 |
parents | cbe3dfd3e1a6 |
children | 584591f8203c |
rev | line source |
---|---|
475
415df0fc4fa1
Fixed maven group ids
Sascha L. Teichmann <teichmann@intevation.de>
parents:
473
diff
changeset
|
1 package org.dive4elements.artifactdatabase.transition; |
104
26bfff409dd3
Added interfaces and engines used in concrete artifact packages.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
2 |
500
cbe3dfd3e1a6
Framework: Added a method to the transition engine to recursively collect all state id for a given artifact identifer and a state id. Goal is to create a predicate dc:state-successors-contains($artifict-type-identifer, 'winfo.calculation.select, $current-state-id).
Sascha L. Teichmann <teichmann@intevation.de>
parents:
475
diff
changeset
|
3 import java.util.ArrayDeque; |
108
9ece61d918b1
Improved the StateEngine and the TransitionEngine to retrieve the reachable states of a current state.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
104
diff
changeset
|
4 import java.util.ArrayList; |
500
cbe3dfd3e1a6
Framework: Added a method to the transition engine to recursively collect all state id for a given artifact identifer and a state id. Goal is to create a predicate dc:state-successors-contains($artifict-type-identifer, 'winfo.calculation.select, $current-state-id).
Sascha L. Teichmann <teichmann@intevation.de>
parents:
475
diff
changeset
|
5 import java.util.Deque; |
104
26bfff409dd3
Added interfaces and engines used in concrete artifact packages.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
6 import java.util.HashMap; |
500
cbe3dfd3e1a6
Framework: Added a method to the transition engine to recursively collect all state id for a given artifact identifer and a state id. Goal is to create a predicate dc:state-successors-contains($artifict-type-identifer, 'winfo.calculation.select, $current-state-id).
Sascha L. Teichmann <teichmann@intevation.de>
parents:
475
diff
changeset
|
7 import java.util.HashSet; |
104
26bfff409dd3
Added interfaces and engines used in concrete artifact packages.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
8 import java.util.List; |
26bfff409dd3
Added interfaces and engines used in concrete artifact packages.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
9 import java.util.Map; |
500
cbe3dfd3e1a6
Framework: Added a method to the transition engine to recursively collect all state id for a given artifact identifer and a state id. Goal is to create a predicate dc:state-successors-contains($artifict-type-identifer, 'winfo.calculation.select, $current-state-id).
Sascha L. Teichmann <teichmann@intevation.de>
parents:
475
diff
changeset
|
10 import java.util.Set; |
104
26bfff409dd3
Added interfaces and engines used in concrete artifact packages.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
11 |
26bfff409dd3
Added interfaces and engines used in concrete artifact packages.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
12 import org.apache.log4j.Logger; |
26bfff409dd3
Added interfaces and engines used in concrete artifact packages.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
13 |
475
415df0fc4fa1
Fixed maven group ids
Sascha L. Teichmann <teichmann@intevation.de>
parents:
473
diff
changeset
|
14 import org.dive4elements.artifacts.Artifact; |
257
8c2b6cdf22ad
Modified Transition.isValid() - added the artifact and the current state to the parameter list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
201
diff
changeset
|
15 |
475
415df0fc4fa1
Fixed maven group ids
Sascha L. Teichmann <teichmann@intevation.de>
parents:
473
diff
changeset
|
16 import org.dive4elements.artifactdatabase.state.State; |
415df0fc4fa1
Fixed maven group ids
Sascha L. Teichmann <teichmann@intevation.de>
parents:
473
diff
changeset
|
17 import org.dive4elements.artifactdatabase.state.StateEngine; |
108
9ece61d918b1
Improved the StateEngine and the TransitionEngine to retrieve the reachable states of a current state.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
104
diff
changeset
|
18 |
9ece61d918b1
Improved the StateEngine and the TransitionEngine to retrieve the reachable states of a current state.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
104
diff
changeset
|
19 |
104
26bfff409dd3
Added interfaces and engines used in concrete artifact packages.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
20 /** |
26bfff409dd3
Added interfaces and engines used in concrete artifact packages.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
21 * The TransitionEngine stores all transitions for each Artifact and should be |
26bfff409dd3
Added interfaces and engines used in concrete artifact packages.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
22 * used to determine, if an Artifact is able to advance from one to another |
26bfff409dd3
Added interfaces and engines used in concrete artifact packages.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
23 * state. |
26bfff409dd3
Added interfaces and engines used in concrete artifact packages.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
24 * |
26bfff409dd3
Added interfaces and engines used in concrete artifact packages.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
25 * @author <a href="mailto:ingo.weinzierl@intevation.de">Ingo Weinzierl</a> |
26bfff409dd3
Added interfaces and engines used in concrete artifact packages.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
26 */ |
26bfff409dd3
Added interfaces and engines used in concrete artifact packages.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
27 public class TransitionEngine { |
26bfff409dd3
Added interfaces and engines used in concrete artifact packages.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
28 |
26bfff409dd3
Added interfaces and engines used in concrete artifact packages.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
29 /** The logger used in this class. */ |
26bfff409dd3
Added interfaces and engines used in concrete artifact packages.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
30 private static Logger logger = Logger.getLogger(TransitionEngine.class); |
26bfff409dd3
Added interfaces and engines used in concrete artifact packages.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
31 |
26bfff409dd3
Added interfaces and engines used in concrete artifact packages.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
32 /** |
26bfff409dd3
Added interfaces and engines used in concrete artifact packages.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
33 * A map that contains the transitions of the artifacts. The key is the name |
26bfff409dd3
Added interfaces and engines used in concrete artifact packages.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
34 * of the artifact, its value is a list of all transitions of this artifact. |
26bfff409dd3
Added interfaces and engines used in concrete artifact packages.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
35 */ |
26bfff409dd3
Added interfaces and engines used in concrete artifact packages.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
36 protected Map<String, List> transitions; |
26bfff409dd3
Added interfaces and engines used in concrete artifact packages.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
37 |
26bfff409dd3
Added interfaces and engines used in concrete artifact packages.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
38 |
26bfff409dd3
Added interfaces and engines used in concrete artifact packages.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
39 /** |
26bfff409dd3
Added interfaces and engines used in concrete artifact packages.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
40 * The default constructor. |
26bfff409dd3
Added interfaces and engines used in concrete artifact packages.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
41 */ |
26bfff409dd3
Added interfaces and engines used in concrete artifact packages.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
42 public TransitionEngine() { |
26bfff409dd3
Added interfaces and engines used in concrete artifact packages.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
43 transitions = new HashMap<String, List>(); |
26bfff409dd3
Added interfaces and engines used in concrete artifact packages.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
44 } |
26bfff409dd3
Added interfaces and engines used in concrete artifact packages.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
45 |
26bfff409dd3
Added interfaces and engines used in concrete artifact packages.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
46 |
26bfff409dd3
Added interfaces and engines used in concrete artifact packages.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
47 /** |
26bfff409dd3
Added interfaces and engines used in concrete artifact packages.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
48 * Add new transitions for a specific artifact. |
26bfff409dd3
Added interfaces and engines used in concrete artifact packages.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
49 * |
26bfff409dd3
Added interfaces and engines used in concrete artifact packages.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
50 * @param stateId the name of the Artifact. |
400
f367be55dd35
Doc fixes.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
257
diff
changeset
|
51 * @param transition the list of transition of the artifact. |
104
26bfff409dd3
Added interfaces and engines used in concrete artifact packages.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
52 * |
26bfff409dd3
Added interfaces and engines used in concrete artifact packages.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
53 * @return true, if the transitions were added, otherwise false. |
26bfff409dd3
Added interfaces and engines used in concrete artifact packages.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
54 */ |
108
9ece61d918b1
Improved the StateEngine and the TransitionEngine to retrieve the reachable states of a current state.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
104
diff
changeset
|
55 public boolean addTransition(String stateId, Transition transition) { |
9ece61d918b1
Improved the StateEngine and the TransitionEngine to retrieve the reachable states of a current state.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
104
diff
changeset
|
56 List tmp = transitions.get(stateId); |
104
26bfff409dd3
Added interfaces and engines used in concrete artifact packages.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
57 |
108
9ece61d918b1
Improved the StateEngine and the TransitionEngine to retrieve the reachable states of a current state.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
104
diff
changeset
|
58 if (tmp == null) { |
9ece61d918b1
Improved the StateEngine and the TransitionEngine to retrieve the reachable states of a current state.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
104
diff
changeset
|
59 tmp = new ArrayList<Transition>(); |
104
26bfff409dd3
Added interfaces and engines used in concrete artifact packages.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
60 } |
26bfff409dd3
Added interfaces and engines used in concrete artifact packages.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
61 |
108
9ece61d918b1
Improved the StateEngine and the TransitionEngine to retrieve the reachable states of a current state.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
104
diff
changeset
|
62 tmp.add(transition); |
9ece61d918b1
Improved the StateEngine and the TransitionEngine to retrieve the reachable states of a current state.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
104
diff
changeset
|
63 |
104
26bfff409dd3
Added interfaces and engines used in concrete artifact packages.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
64 logger.debug("Add new transitions for state '" + stateId + "'"); |
108
9ece61d918b1
Improved the StateEngine and the TransitionEngine to retrieve the reachable states of a current state.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
104
diff
changeset
|
65 |
9ece61d918b1
Improved the StateEngine and the TransitionEngine to retrieve the reachable states of a current state.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
104
diff
changeset
|
66 return transitions.put(stateId, tmp) != null; |
9ece61d918b1
Improved the StateEngine and the TransitionEngine to retrieve the reachable states of a current state.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
104
diff
changeset
|
67 } |
9ece61d918b1
Improved the StateEngine and the TransitionEngine to retrieve the reachable states of a current state.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
104
diff
changeset
|
68 |
9ece61d918b1
Improved the StateEngine and the TransitionEngine to retrieve the reachable states of a current state.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
104
diff
changeset
|
69 |
9ece61d918b1
Improved the StateEngine and the TransitionEngine to retrieve the reachable states of a current state.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
104
diff
changeset
|
70 /** |
9ece61d918b1
Improved the StateEngine and the TransitionEngine to retrieve the reachable states of a current state.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
104
diff
changeset
|
71 * This method returns all existing transitions of a state. |
9ece61d918b1
Improved the StateEngine and the TransitionEngine to retrieve the reachable states of a current state.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
104
diff
changeset
|
72 * |
9ece61d918b1
Improved the StateEngine and the TransitionEngine to retrieve the reachable states of a current state.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
104
diff
changeset
|
73 * @param state The state |
9ece61d918b1
Improved the StateEngine and the TransitionEngine to retrieve the reachable states of a current state.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
104
diff
changeset
|
74 * |
9ece61d918b1
Improved the StateEngine and the TransitionEngine to retrieve the reachable states of a current state.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
104
diff
changeset
|
75 * @return the existing transition of <i>state</i>. |
9ece61d918b1
Improved the StateEngine and the TransitionEngine to retrieve the reachable states of a current state.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
104
diff
changeset
|
76 */ |
9ece61d918b1
Improved the StateEngine and the TransitionEngine to retrieve the reachable states of a current state.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
104
diff
changeset
|
77 public List<Transition> getTransitions(State state) { |
9ece61d918b1
Improved the StateEngine and the TransitionEngine to retrieve the reachable states of a current state.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
104
diff
changeset
|
78 return transitions.get(state.getID()); |
9ece61d918b1
Improved the StateEngine and the TransitionEngine to retrieve the reachable states of a current state.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
104
diff
changeset
|
79 } |
9ece61d918b1
Improved the StateEngine and the TransitionEngine to retrieve the reachable states of a current state.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
104
diff
changeset
|
80 |
9ece61d918b1
Improved the StateEngine and the TransitionEngine to retrieve the reachable states of a current state.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
104
diff
changeset
|
81 |
9ece61d918b1
Improved the StateEngine and the TransitionEngine to retrieve the reachable states of a current state.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
104
diff
changeset
|
82 /** |
9ece61d918b1
Improved the StateEngine and the TransitionEngine to retrieve the reachable states of a current state.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
104
diff
changeset
|
83 * This method returns the reachable states of <i>state</i>. |
9ece61d918b1
Improved the StateEngine and the TransitionEngine to retrieve the reachable states of a current state.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
104
diff
changeset
|
84 * |
9ece61d918b1
Improved the StateEngine and the TransitionEngine to retrieve the reachable states of a current state.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
104
diff
changeset
|
85 * @param state The current state. |
9ece61d918b1
Improved the StateEngine and the TransitionEngine to retrieve the reachable states of a current state.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
104
diff
changeset
|
86 * @param engine The state engine. |
9ece61d918b1
Improved the StateEngine and the TransitionEngine to retrieve the reachable states of a current state.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
104
diff
changeset
|
87 * |
9ece61d918b1
Improved the StateEngine and the TransitionEngine to retrieve the reachable states of a current state.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
104
diff
changeset
|
88 * @return a list of reachable states. |
9ece61d918b1
Improved the StateEngine and the TransitionEngine to retrieve the reachable states of a current state.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
104
diff
changeset
|
89 */ |
257
8c2b6cdf22ad
Modified Transition.isValid() - added the artifact and the current state to the parameter list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
201
diff
changeset
|
90 public List<State> getReachableStates( |
8c2b6cdf22ad
Modified Transition.isValid() - added the artifact and the current state to the parameter list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
201
diff
changeset
|
91 Artifact artifact, |
8c2b6cdf22ad
Modified Transition.isValid() - added the artifact and the current state to the parameter list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
201
diff
changeset
|
92 State state, |
8c2b6cdf22ad
Modified Transition.isValid() - added the artifact and the current state to the parameter list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
201
diff
changeset
|
93 StateEngine engine) { |
108
9ece61d918b1
Improved the StateEngine and the TransitionEngine to retrieve the reachable states of a current state.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
104
diff
changeset
|
94 List<Transition> transitions = getTransitions(state); |
9ece61d918b1
Improved the StateEngine and the TransitionEngine to retrieve the reachable states of a current state.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
104
diff
changeset
|
95 List<State> reachable = new ArrayList<State>(); |
9ece61d918b1
Improved the StateEngine and the TransitionEngine to retrieve the reachable states of a current state.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
104
diff
changeset
|
96 |
201
973f244ed568
Improved the TransitionEngine with a method that determines if a State B is reachable from a State A.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
108
diff
changeset
|
97 if (transitions == null) { |
973f244ed568
Improved the TransitionEngine with a method that determines if a State B is reachable from a State A.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
108
diff
changeset
|
98 return reachable; |
973f244ed568
Improved the TransitionEngine with a method that determines if a State B is reachable from a State A.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
108
diff
changeset
|
99 } |
973f244ed568
Improved the TransitionEngine with a method that determines if a State B is reachable from a State A.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
108
diff
changeset
|
100 |
108
9ece61d918b1
Improved the StateEngine and the TransitionEngine to retrieve the reachable states of a current state.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
104
diff
changeset
|
101 for (Transition t: transitions) { |
257
8c2b6cdf22ad
Modified Transition.isValid() - added the artifact and the current state to the parameter list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
201
diff
changeset
|
102 State target = engine.getState(t.getTo()); |
8c2b6cdf22ad
Modified Transition.isValid() - added the artifact and the current state to the parameter list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
201
diff
changeset
|
103 |
8c2b6cdf22ad
Modified Transition.isValid() - added the artifact and the current state to the parameter list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
201
diff
changeset
|
104 if (t.isValid(artifact, state, target)) { |
8c2b6cdf22ad
Modified Transition.isValid() - added the artifact and the current state to the parameter list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
201
diff
changeset
|
105 reachable.add(target); |
108
9ece61d918b1
Improved the StateEngine and the TransitionEngine to retrieve the reachable states of a current state.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
104
diff
changeset
|
106 } |
9ece61d918b1
Improved the StateEngine and the TransitionEngine to retrieve the reachable states of a current state.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
104
diff
changeset
|
107 } |
9ece61d918b1
Improved the StateEngine and the TransitionEngine to retrieve the reachable states of a current state.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
104
diff
changeset
|
108 |
9ece61d918b1
Improved the StateEngine and the TransitionEngine to retrieve the reachable states of a current state.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
104
diff
changeset
|
109 return reachable; |
104
26bfff409dd3
Added interfaces and engines used in concrete artifact packages.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
110 } |
201
973f244ed568
Improved the TransitionEngine with a method that determines if a State B is reachable from a State A.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
108
diff
changeset
|
111 |
500
cbe3dfd3e1a6
Framework: Added a method to the transition engine to recursively collect all state id for a given artifact identifer and a state id. Goal is to create a predicate dc:state-successors-contains($artifict-type-identifer, 'winfo.calculation.select, $current-state-id).
Sascha L. Teichmann <teichmann@intevation.de>
parents:
475
diff
changeset
|
112 /** Returns all recursive reachable state ids for |
cbe3dfd3e1a6
Framework: Added a method to the transition engine to recursively collect all state id for a given artifact identifer and a state id. Goal is to create a predicate dc:state-successors-contains($artifict-type-identifer, 'winfo.calculation.select, $current-state-id).
Sascha L. Teichmann <teichmann@intevation.de>
parents:
475
diff
changeset
|
113 * a given pair of artifact id and state id. |
cbe3dfd3e1a6
Framework: Added a method to the transition engine to recursively collect all state id for a given artifact identifer and a state id. Goal is to create a predicate dc:state-successors-contains($artifict-type-identifer, 'winfo.calculation.select, $current-state-id).
Sascha L. Teichmann <teichmann@intevation.de>
parents:
475
diff
changeset
|
114 */ |
cbe3dfd3e1a6
Framework: Added a method to the transition engine to recursively collect all state id for a given artifact identifer and a state id. Goal is to create a predicate dc:state-successors-contains($artifict-type-identifer, 'winfo.calculation.select, $current-state-id).
Sascha L. Teichmann <teichmann@intevation.de>
parents:
475
diff
changeset
|
115 public Set<String> allRecursiveSuccessorStateIds( |
cbe3dfd3e1a6
Framework: Added a method to the transition engine to recursively collect all state id for a given artifact identifer and a state id. Goal is to create a predicate dc:state-successors-contains($artifict-type-identifer, 'winfo.calculation.select, $current-state-id).
Sascha L. Teichmann <teichmann@intevation.de>
parents:
475
diff
changeset
|
116 String artifactIdentifier, |
cbe3dfd3e1a6
Framework: Added a method to the transition engine to recursively collect all state id for a given artifact identifer and a state id. Goal is to create a predicate dc:state-successors-contains($artifict-type-identifer, 'winfo.calculation.select, $current-state-id).
Sascha L. Teichmann <teichmann@intevation.de>
parents:
475
diff
changeset
|
117 String stateId |
cbe3dfd3e1a6
Framework: Added a method to the transition engine to recursively collect all state id for a given artifact identifer and a state id. Goal is to create a predicate dc:state-successors-contains($artifict-type-identifer, 'winfo.calculation.select, $current-state-id).
Sascha L. Teichmann <teichmann@intevation.de>
parents:
475
diff
changeset
|
118 ) { |
cbe3dfd3e1a6
Framework: Added a method to the transition engine to recursively collect all state id for a given artifact identifer and a state id. Goal is to create a predicate dc:state-successors-contains($artifict-type-identifer, 'winfo.calculation.select, $current-state-id).
Sascha L. Teichmann <teichmann@intevation.de>
parents:
475
diff
changeset
|
119 HashSet<String> result = new HashSet<String>(); |
cbe3dfd3e1a6
Framework: Added a method to the transition engine to recursively collect all state id for a given artifact identifer and a state id. Goal is to create a predicate dc:state-successors-contains($artifict-type-identifer, 'winfo.calculation.select, $current-state-id).
Sascha L. Teichmann <teichmann@intevation.de>
parents:
475
diff
changeset
|
120 |
cbe3dfd3e1a6
Framework: Added a method to the transition engine to recursively collect all state id for a given artifact identifer and a state id. Goal is to create a predicate dc:state-successors-contains($artifict-type-identifer, 'winfo.calculation.select, $current-state-id).
Sascha L. Teichmann <teichmann@intevation.de>
parents:
475
diff
changeset
|
121 List<Transition> trans = transitions.get(artifactIdentifier); |
cbe3dfd3e1a6
Framework: Added a method to the transition engine to recursively collect all state id for a given artifact identifer and a state id. Goal is to create a predicate dc:state-successors-contains($artifict-type-identifer, 'winfo.calculation.select, $current-state-id).
Sascha L. Teichmann <teichmann@intevation.de>
parents:
475
diff
changeset
|
122 |
cbe3dfd3e1a6
Framework: Added a method to the transition engine to recursively collect all state id for a given artifact identifer and a state id. Goal is to create a predicate dc:state-successors-contains($artifict-type-identifer, 'winfo.calculation.select, $current-state-id).
Sascha L. Teichmann <teichmann@intevation.de>
parents:
475
diff
changeset
|
123 if (trans == null) { |
cbe3dfd3e1a6
Framework: Added a method to the transition engine to recursively collect all state id for a given artifact identifer and a state id. Goal is to create a predicate dc:state-successors-contains($artifict-type-identifer, 'winfo.calculation.select, $current-state-id).
Sascha L. Teichmann <teichmann@intevation.de>
parents:
475
diff
changeset
|
124 return result; |
cbe3dfd3e1a6
Framework: Added a method to the transition engine to recursively collect all state id for a given artifact identifer and a state id. Goal is to create a predicate dc:state-successors-contains($artifict-type-identifer, 'winfo.calculation.select, $current-state-id).
Sascha L. Teichmann <teichmann@intevation.de>
parents:
475
diff
changeset
|
125 } |
cbe3dfd3e1a6
Framework: Added a method to the transition engine to recursively collect all state id for a given artifact identifer and a state id. Goal is to create a predicate dc:state-successors-contains($artifict-type-identifer, 'winfo.calculation.select, $current-state-id).
Sascha L. Teichmann <teichmann@intevation.de>
parents:
475
diff
changeset
|
126 |
cbe3dfd3e1a6
Framework: Added a method to the transition engine to recursively collect all state id for a given artifact identifer and a state id. Goal is to create a predicate dc:state-successors-contains($artifict-type-identifer, 'winfo.calculation.select, $current-state-id).
Sascha L. Teichmann <teichmann@intevation.de>
parents:
475
diff
changeset
|
127 Map<String, Set<String>> succs = new HashMap<String, Set<String>>(); |
cbe3dfd3e1a6
Framework: Added a method to the transition engine to recursively collect all state id for a given artifact identifer and a state id. Goal is to create a predicate dc:state-successors-contains($artifict-type-identifer, 'winfo.calculation.select, $current-state-id).
Sascha L. Teichmann <teichmann@intevation.de>
parents:
475
diff
changeset
|
128 |
cbe3dfd3e1a6
Framework: Added a method to the transition engine to recursively collect all state id for a given artifact identifer and a state id. Goal is to create a predicate dc:state-successors-contains($artifict-type-identifer, 'winfo.calculation.select, $current-state-id).
Sascha L. Teichmann <teichmann@intevation.de>
parents:
475
diff
changeset
|
129 for (Transition t: trans) { |
cbe3dfd3e1a6
Framework: Added a method to the transition engine to recursively collect all state id for a given artifact identifer and a state id. Goal is to create a predicate dc:state-successors-contains($artifict-type-identifer, 'winfo.calculation.select, $current-state-id).
Sascha L. Teichmann <teichmann@intevation.de>
parents:
475
diff
changeset
|
130 String from = t.getFrom(); |
cbe3dfd3e1a6
Framework: Added a method to the transition engine to recursively collect all state id for a given artifact identifer and a state id. Goal is to create a predicate dc:state-successors-contains($artifict-type-identifer, 'winfo.calculation.select, $current-state-id).
Sascha L. Teichmann <teichmann@intevation.de>
parents:
475
diff
changeset
|
131 String to = t.getTo(); |
cbe3dfd3e1a6
Framework: Added a method to the transition engine to recursively collect all state id for a given artifact identifer and a state id. Goal is to create a predicate dc:state-successors-contains($artifict-type-identifer, 'winfo.calculation.select, $current-state-id).
Sascha L. Teichmann <teichmann@intevation.de>
parents:
475
diff
changeset
|
132 |
cbe3dfd3e1a6
Framework: Added a method to the transition engine to recursively collect all state id for a given artifact identifer and a state id. Goal is to create a predicate dc:state-successors-contains($artifict-type-identifer, 'winfo.calculation.select, $current-state-id).
Sascha L. Teichmann <teichmann@intevation.de>
parents:
475
diff
changeset
|
133 Set<String> s = succs.get(from); |
cbe3dfd3e1a6
Framework: Added a method to the transition engine to recursively collect all state id for a given artifact identifer and a state id. Goal is to create a predicate dc:state-successors-contains($artifict-type-identifer, 'winfo.calculation.select, $current-state-id).
Sascha L. Teichmann <teichmann@intevation.de>
parents:
475
diff
changeset
|
134 if (s == null) { |
cbe3dfd3e1a6
Framework: Added a method to the transition engine to recursively collect all state id for a given artifact identifer and a state id. Goal is to create a predicate dc:state-successors-contains($artifict-type-identifer, 'winfo.calculation.select, $current-state-id).
Sascha L. Teichmann <teichmann@intevation.de>
parents:
475
diff
changeset
|
135 s = new HashSet<String>(); |
cbe3dfd3e1a6
Framework: Added a method to the transition engine to recursively collect all state id for a given artifact identifer and a state id. Goal is to create a predicate dc:state-successors-contains($artifict-type-identifer, 'winfo.calculation.select, $current-state-id).
Sascha L. Teichmann <teichmann@intevation.de>
parents:
475
diff
changeset
|
136 succs.put(from, s); |
cbe3dfd3e1a6
Framework: Added a method to the transition engine to recursively collect all state id for a given artifact identifer and a state id. Goal is to create a predicate dc:state-successors-contains($artifict-type-identifer, 'winfo.calculation.select, $current-state-id).
Sascha L. Teichmann <teichmann@intevation.de>
parents:
475
diff
changeset
|
137 } |
cbe3dfd3e1a6
Framework: Added a method to the transition engine to recursively collect all state id for a given artifact identifer and a state id. Goal is to create a predicate dc:state-successors-contains($artifict-type-identifer, 'winfo.calculation.select, $current-state-id).
Sascha L. Teichmann <teichmann@intevation.de>
parents:
475
diff
changeset
|
138 s.add(to); |
cbe3dfd3e1a6
Framework: Added a method to the transition engine to recursively collect all state id for a given artifact identifer and a state id. Goal is to create a predicate dc:state-successors-contains($artifict-type-identifer, 'winfo.calculation.select, $current-state-id).
Sascha L. Teichmann <teichmann@intevation.de>
parents:
475
diff
changeset
|
139 } |
cbe3dfd3e1a6
Framework: Added a method to the transition engine to recursively collect all state id for a given artifact identifer and a state id. Goal is to create a predicate dc:state-successors-contains($artifict-type-identifer, 'winfo.calculation.select, $current-state-id).
Sascha L. Teichmann <teichmann@intevation.de>
parents:
475
diff
changeset
|
140 |
cbe3dfd3e1a6
Framework: Added a method to the transition engine to recursively collect all state id for a given artifact identifer and a state id. Goal is to create a predicate dc:state-successors-contains($artifict-type-identifer, 'winfo.calculation.select, $current-state-id).
Sascha L. Teichmann <teichmann@intevation.de>
parents:
475
diff
changeset
|
141 Set<String> start = succs.get(stateId); |
cbe3dfd3e1a6
Framework: Added a method to the transition engine to recursively collect all state id for a given artifact identifer and a state id. Goal is to create a predicate dc:state-successors-contains($artifict-type-identifer, 'winfo.calculation.select, $current-state-id).
Sascha L. Teichmann <teichmann@intevation.de>
parents:
475
diff
changeset
|
142 |
cbe3dfd3e1a6
Framework: Added a method to the transition engine to recursively collect all state id for a given artifact identifer and a state id. Goal is to create a predicate dc:state-successors-contains($artifict-type-identifer, 'winfo.calculation.select, $current-state-id).
Sascha L. Teichmann <teichmann@intevation.de>
parents:
475
diff
changeset
|
143 if (start == null) { |
cbe3dfd3e1a6
Framework: Added a method to the transition engine to recursively collect all state id for a given artifact identifer and a state id. Goal is to create a predicate dc:state-successors-contains($artifict-type-identifer, 'winfo.calculation.select, $current-state-id).
Sascha L. Teichmann <teichmann@intevation.de>
parents:
475
diff
changeset
|
144 return result; |
cbe3dfd3e1a6
Framework: Added a method to the transition engine to recursively collect all state id for a given artifact identifer and a state id. Goal is to create a predicate dc:state-successors-contains($artifict-type-identifer, 'winfo.calculation.select, $current-state-id).
Sascha L. Teichmann <teichmann@intevation.de>
parents:
475
diff
changeset
|
145 } |
cbe3dfd3e1a6
Framework: Added a method to the transition engine to recursively collect all state id for a given artifact identifer and a state id. Goal is to create a predicate dc:state-successors-contains($artifict-type-identifer, 'winfo.calculation.select, $current-state-id).
Sascha L. Teichmann <teichmann@intevation.de>
parents:
475
diff
changeset
|
146 |
cbe3dfd3e1a6
Framework: Added a method to the transition engine to recursively collect all state id for a given artifact identifer and a state id. Goal is to create a predicate dc:state-successors-contains($artifict-type-identifer, 'winfo.calculation.select, $current-state-id).
Sascha L. Teichmann <teichmann@intevation.de>
parents:
475
diff
changeset
|
147 Deque<String> open = new ArrayDeque<String>(start); |
cbe3dfd3e1a6
Framework: Added a method to the transition engine to recursively collect all state id for a given artifact identifer and a state id. Goal is to create a predicate dc:state-successors-contains($artifict-type-identifer, 'winfo.calculation.select, $current-state-id).
Sascha L. Teichmann <teichmann@intevation.de>
parents:
475
diff
changeset
|
148 |
cbe3dfd3e1a6
Framework: Added a method to the transition engine to recursively collect all state id for a given artifact identifer and a state id. Goal is to create a predicate dc:state-successors-contains($artifict-type-identifer, 'winfo.calculation.select, $current-state-id).
Sascha L. Teichmann <teichmann@intevation.de>
parents:
475
diff
changeset
|
149 while (!open.isEmpty()) { |
cbe3dfd3e1a6
Framework: Added a method to the transition engine to recursively collect all state id for a given artifact identifer and a state id. Goal is to create a predicate dc:state-successors-contains($artifict-type-identifer, 'winfo.calculation.select, $current-state-id).
Sascha L. Teichmann <teichmann@intevation.de>
parents:
475
diff
changeset
|
150 String cand = open.pop(); |
cbe3dfd3e1a6
Framework: Added a method to the transition engine to recursively collect all state id for a given artifact identifer and a state id. Goal is to create a predicate dc:state-successors-contains($artifict-type-identifer, 'winfo.calculation.select, $current-state-id).
Sascha L. Teichmann <teichmann@intevation.de>
parents:
475
diff
changeset
|
151 if (result.add(cand)) { |
cbe3dfd3e1a6
Framework: Added a method to the transition engine to recursively collect all state id for a given artifact identifer and a state id. Goal is to create a predicate dc:state-successors-contains($artifict-type-identifer, 'winfo.calculation.select, $current-state-id).
Sascha L. Teichmann <teichmann@intevation.de>
parents:
475
diff
changeset
|
152 Set<String> s = succs.get(cand); |
cbe3dfd3e1a6
Framework: Added a method to the transition engine to recursively collect all state id for a given artifact identifer and a state id. Goal is to create a predicate dc:state-successors-contains($artifict-type-identifer, 'winfo.calculation.select, $current-state-id).
Sascha L. Teichmann <teichmann@intevation.de>
parents:
475
diff
changeset
|
153 if (s != null) { |
cbe3dfd3e1a6
Framework: Added a method to the transition engine to recursively collect all state id for a given artifact identifer and a state id. Goal is to create a predicate dc:state-successors-contains($artifict-type-identifer, 'winfo.calculation.select, $current-state-id).
Sascha L. Teichmann <teichmann@intevation.de>
parents:
475
diff
changeset
|
154 open.addAll(s); |
cbe3dfd3e1a6
Framework: Added a method to the transition engine to recursively collect all state id for a given artifact identifer and a state id. Goal is to create a predicate dc:state-successors-contains($artifict-type-identifer, 'winfo.calculation.select, $current-state-id).
Sascha L. Teichmann <teichmann@intevation.de>
parents:
475
diff
changeset
|
155 } |
cbe3dfd3e1a6
Framework: Added a method to the transition engine to recursively collect all state id for a given artifact identifer and a state id. Goal is to create a predicate dc:state-successors-contains($artifict-type-identifer, 'winfo.calculation.select, $current-state-id).
Sascha L. Teichmann <teichmann@intevation.de>
parents:
475
diff
changeset
|
156 } |
cbe3dfd3e1a6
Framework: Added a method to the transition engine to recursively collect all state id for a given artifact identifer and a state id. Goal is to create a predicate dc:state-successors-contains($artifict-type-identifer, 'winfo.calculation.select, $current-state-id).
Sascha L. Teichmann <teichmann@intevation.de>
parents:
475
diff
changeset
|
157 } |
cbe3dfd3e1a6
Framework: Added a method to the transition engine to recursively collect all state id for a given artifact identifer and a state id. Goal is to create a predicate dc:state-successors-contains($artifict-type-identifer, 'winfo.calculation.select, $current-state-id).
Sascha L. Teichmann <teichmann@intevation.de>
parents:
475
diff
changeset
|
158 |
cbe3dfd3e1a6
Framework: Added a method to the transition engine to recursively collect all state id for a given artifact identifer and a state id. Goal is to create a predicate dc:state-successors-contains($artifict-type-identifer, 'winfo.calculation.select, $current-state-id).
Sascha L. Teichmann <teichmann@intevation.de>
parents:
475
diff
changeset
|
159 return result; |
cbe3dfd3e1a6
Framework: Added a method to the transition engine to recursively collect all state id for a given artifact identifer and a state id. Goal is to create a predicate dc:state-successors-contains($artifict-type-identifer, 'winfo.calculation.select, $current-state-id).
Sascha L. Teichmann <teichmann@intevation.de>
parents:
475
diff
changeset
|
160 } |
cbe3dfd3e1a6
Framework: Added a method to the transition engine to recursively collect all state id for a given artifact identifer and a state id. Goal is to create a predicate dc:state-successors-contains($artifict-type-identifer, 'winfo.calculation.select, $current-state-id).
Sascha L. Teichmann <teichmann@intevation.de>
parents:
475
diff
changeset
|
161 |
201
973f244ed568
Improved the TransitionEngine with a method that determines if a State B is reachable from a State A.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
108
diff
changeset
|
162 |
973f244ed568
Improved the TransitionEngine with a method that determines if a State B is reachable from a State A.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
108
diff
changeset
|
163 /** |
973f244ed568
Improved the TransitionEngine with a method that determines if a State B is reachable from a State A.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
108
diff
changeset
|
164 * Determines if a state with a given identifier is reachable from a current |
973f244ed568
Improved the TransitionEngine with a method that determines if a State B is reachable from a State A.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
108
diff
changeset
|
165 * state. |
973f244ed568
Improved the TransitionEngine with a method that determines if a State B is reachable from a State A.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
108
diff
changeset
|
166 * |
257
8c2b6cdf22ad
Modified Transition.isValid() - added the artifact and the current state to the parameter list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
201
diff
changeset
|
167 * @param artifact The owner artifact of state <i>state</i>. |
201
973f244ed568
Improved the TransitionEngine with a method that determines if a State B is reachable from a State A.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
108
diff
changeset
|
168 * @param targetId The identifier of the target state. |
973f244ed568
Improved the TransitionEngine with a method that determines if a State B is reachable from a State A.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
108
diff
changeset
|
169 * @param state The start state. |
973f244ed568
Improved the TransitionEngine with a method that determines if a State B is reachable from a State A.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
108
diff
changeset
|
170 * @param stateEngine The StateEngine. |
973f244ed568
Improved the TransitionEngine with a method that determines if a State B is reachable from a State A.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
108
diff
changeset
|
171 * |
973f244ed568
Improved the TransitionEngine with a method that determines if a State B is reachable from a State A.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
108
diff
changeset
|
172 * @return true, if the target state is reachable, otherwise false. |
973f244ed568
Improved the TransitionEngine with a method that determines if a State B is reachable from a State A.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
108
diff
changeset
|
173 */ |
973f244ed568
Improved the TransitionEngine with a method that determines if a State B is reachable from a State A.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
108
diff
changeset
|
174 public boolean isStateReachable( |
257
8c2b6cdf22ad
Modified Transition.isValid() - added the artifact and the current state to the parameter list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
201
diff
changeset
|
175 Artifact artifact, |
201
973f244ed568
Improved the TransitionEngine with a method that determines if a State B is reachable from a State A.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
108
diff
changeset
|
176 String targetId, |
973f244ed568
Improved the TransitionEngine with a method that determines if a State B is reachable from a State A.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
108
diff
changeset
|
177 State state, |
973f244ed568
Improved the TransitionEngine with a method that determines if a State B is reachable from a State A.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
108
diff
changeset
|
178 StateEngine stateEngine) |
973f244ed568
Improved the TransitionEngine with a method that determines if a State B is reachable from a State A.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
108
diff
changeset
|
179 { |
257
8c2b6cdf22ad
Modified Transition.isValid() - added the artifact and the current state to the parameter list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
201
diff
changeset
|
180 List<State> reachable = getReachableStates(artifact, state,stateEngine); |
201
973f244ed568
Improved the TransitionEngine with a method that determines if a State B is reachable from a State A.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
108
diff
changeset
|
181 |
973f244ed568
Improved the TransitionEngine with a method that determines if a State B is reachable from a State A.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
108
diff
changeset
|
182 if (reachable == null || reachable.size() == 0) { |
973f244ed568
Improved the TransitionEngine with a method that determines if a State B is reachable from a State A.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
108
diff
changeset
|
183 return false; |
973f244ed568
Improved the TransitionEngine with a method that determines if a State B is reachable from a State A.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
108
diff
changeset
|
184 } |
973f244ed568
Improved the TransitionEngine with a method that determines if a State B is reachable from a State A.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
108
diff
changeset
|
185 |
973f244ed568
Improved the TransitionEngine with a method that determines if a State B is reachable from a State A.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
108
diff
changeset
|
186 for (State s: reachable) { |
973f244ed568
Improved the TransitionEngine with a method that determines if a State B is reachable from a State A.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
108
diff
changeset
|
187 if (targetId.equals(s.getID())) { |
973f244ed568
Improved the TransitionEngine with a method that determines if a State B is reachable from a State A.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
108
diff
changeset
|
188 return true; |
973f244ed568
Improved the TransitionEngine with a method that determines if a State B is reachable from a State A.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
108
diff
changeset
|
189 } |
973f244ed568
Improved the TransitionEngine with a method that determines if a State B is reachable from a State A.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
108
diff
changeset
|
190 } |
973f244ed568
Improved the TransitionEngine with a method that determines if a State B is reachable from a State A.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
108
diff
changeset
|
191 |
973f244ed568
Improved the TransitionEngine with a method that determines if a State B is reachable from a State A.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
108
diff
changeset
|
192 return false; |
973f244ed568
Improved the TransitionEngine with a method that determines if a State B is reachable from a State A.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
108
diff
changeset
|
193 } |
104
26bfff409dd3
Added interfaces and engines used in concrete artifact packages.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
194 } |
26bfff409dd3
Added interfaces and engines used in concrete artifact packages.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
195 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 : |