Mercurial > dive4elements > framework
annotate artifact-database/src/main/java/org/dive4elements/artifactdatabase/transition/TransitionEngine.java @ 570:584591f8203c 3.2.x
Upgrade to Log4j 2
author | Tom Gottfried <tom@intevation.de> |
---|---|
date | Mon, 28 Feb 2022 17:41:14 +0100 |
parents | cbe3dfd3e1a6 |
children |
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 |
570 | 12 import org.apache.logging.log4j.Logger; |
13 import org.apache.logging.log4j.LogManager; | |
104
26bfff409dd3
Added interfaces and engines used in concrete artifact packages.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
14 |
475
415df0fc4fa1
Fixed maven group ids
Sascha L. Teichmann <teichmann@intevation.de>
parents:
473
diff
changeset
|
15 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
|
16 |
475
415df0fc4fa1
Fixed maven group ids
Sascha L. Teichmann <teichmann@intevation.de>
parents:
473
diff
changeset
|
17 import org.dive4elements.artifactdatabase.state.State; |
415df0fc4fa1
Fixed maven group ids
Sascha L. Teichmann <teichmann@intevation.de>
parents:
473
diff
changeset
|
18 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
|
19 |
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
|
20 |
104
26bfff409dd3
Added interfaces and engines used in concrete artifact packages.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
21 /** |
26bfff409dd3
Added interfaces and engines used in concrete artifact packages.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
22 * 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
|
23 * 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
|
24 * state. |
26bfff409dd3
Added interfaces and engines used in concrete artifact packages.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
25 * |
26bfff409dd3
Added interfaces and engines used in concrete artifact packages.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
26 * @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
|
27 */ |
26bfff409dd3
Added interfaces and engines used in concrete artifact packages.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
28 public class TransitionEngine { |
26bfff409dd3
Added interfaces and engines used in concrete artifact packages.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
29 |
26bfff409dd3
Added interfaces and engines used in concrete artifact packages.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
30 /** The logger used in this class. */ |
570 | 31 private static Logger logger = LogManager.getLogger(TransitionEngine.class); |
104
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 /** |
26bfff409dd3
Added interfaces and engines used in concrete artifact packages.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
34 * 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
|
35 * 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
|
36 */ |
26bfff409dd3
Added interfaces and engines used in concrete artifact packages.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
37 protected Map<String, List> transitions; |
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 /** |
26bfff409dd3
Added interfaces and engines used in concrete artifact packages.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
41 * The default constructor. |
26bfff409dd3
Added interfaces and engines used in concrete artifact packages.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
42 */ |
26bfff409dd3
Added interfaces and engines used in concrete artifact packages.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
43 public TransitionEngine() { |
26bfff409dd3
Added interfaces and engines used in concrete artifact packages.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
44 transitions = new HashMap<String, List>(); |
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 /** |
26bfff409dd3
Added interfaces and engines used in concrete artifact packages.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
49 * 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
|
50 * |
26bfff409dd3
Added interfaces and engines used in concrete artifact packages.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
51 * @param stateId the name of the Artifact. |
400
f367be55dd35
Doc fixes.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
257
diff
changeset
|
52 * @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
|
53 * |
26bfff409dd3
Added interfaces and engines used in concrete artifact packages.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
54 * @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
|
55 */ |
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
|
56 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
|
57 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
|
58 |
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
|
59 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
|
60 tmp = new ArrayList<Transition>(); |
104
26bfff409dd3
Added interfaces and engines used in concrete artifact packages.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
61 } |
26bfff409dd3
Added interfaces and engines used in concrete artifact packages.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
62 |
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
|
63 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
|
64 |
104
26bfff409dd3
Added interfaces and engines used in concrete artifact packages.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
65 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
|
66 |
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 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
|
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 /** |
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 * 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
|
73 * |
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 * @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
|
75 * |
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 * @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
|
77 */ |
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 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
|
79 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
|
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 /** |
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 * 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
|
85 * |
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 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
|
87 * @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
|
88 * |
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 * @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
|
90 */ |
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
|
91 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
|
92 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
|
93 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
|
94 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
|
95 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
|
96 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
|
97 |
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
|
98 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
|
99 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
|
100 } |
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
|
101 |
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
|
102 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
|
103 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
|
104 |
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 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
|
106 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
|
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 |
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
|
110 return reachable; |
104
26bfff409dd3
Added interfaces and engines used in concrete artifact packages.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
111 } |
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
|
112 |
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
|
113 /** 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
|
114 * 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
|
115 */ |
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 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
|
117 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
|
118 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
|
119 ) { |
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 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
|
121 |
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 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
|
123 |
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 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
|
125 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
|
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 |
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 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
|
129 |
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 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
|
131 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
|
132 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
|
133 |
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 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
|
135 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
|
136 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
|
137 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
|
138 } |
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 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
|
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 |
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 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
|
143 |
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 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
|
145 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
|
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 |
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 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
|
149 |
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 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
|
151 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
|
152 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
|
153 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
|
154 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
|
155 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
|
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 |
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 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
|
161 } |
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
|
162 |
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
|
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 /** |
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 * 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
|
166 * 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
|
167 * |
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
|
168 * @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
|
169 * @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
|
170 * @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
|
171 * @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
|
172 * |
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 * @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
|
174 */ |
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
|
175 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
|
176 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
|
177 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
|
178 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
|
179 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
|
180 { |
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
|
181 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
|
182 |
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 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
|
184 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
|
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 |
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 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
|
188 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
|
189 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
|
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 |
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 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
|
194 } |
104
26bfff409dd3
Added interfaces and engines used in concrete artifact packages.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
195 } |
26bfff409dd3
Added interfaces and engines used in concrete artifact packages.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
196 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 : |