annotate gnv-artifacts/src/main/java/de/intevation/gnv/artifacts/GNVArtifactBase.java @ 1061:13bea93a070a

Do not call the endOfLife method of the current state before advancing to a next state, because this would remove elements from cache that have been inserted just before - it would be impossible to make use of a cache in that case. gnv-artifacts/trunk@1144 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Ingo Weinzierl <ingo.weinzierl@intevation.de>
date Tue, 01 Jun 2010 16:59:15 +0000
parents 22c18083225e
children 58b4a07db856
rev   line source
52
4d6a82b96059 First Implementation of the GNV-Artifacts
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
1 package de.intevation.gnv.artifacts;
4d6a82b96059 First Implementation of the GNV-Artifacts
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
2
779
b1f5f2a8840f Ordered imports. Removed needless imports. Removed empty headers.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 778
diff changeset
3 import de.intevation.artifactdatabase.Config;
b1f5f2a8840f Ordered imports. Removed needless imports. Removed empty headers.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 778
diff changeset
4 import de.intevation.artifactdatabase.ProxyArtifact;
b1f5f2a8840f Ordered imports. Removed needless imports. Removed empty headers.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 778
diff changeset
5 import de.intevation.artifactdatabase.XMLUtils;
b1f5f2a8840f Ordered imports. Removed needless imports. Removed empty headers.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 778
diff changeset
6
b1f5f2a8840f Ordered imports. Removed needless imports. Removed empty headers.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 778
diff changeset
7 import de.intevation.artifacts.Artifact;
b1f5f2a8840f Ordered imports. Removed needless imports. Removed empty headers.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 778
diff changeset
8 import de.intevation.artifacts.ArtifactDatabase;
b1f5f2a8840f Ordered imports. Removed needless imports. Removed empty headers.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 778
diff changeset
9 import de.intevation.artifacts.ArtifactFactory;
b1f5f2a8840f Ordered imports. Removed needless imports. Removed empty headers.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 778
diff changeset
10 import de.intevation.artifacts.ArtifactNamespaceContext;
b1f5f2a8840f Ordered imports. Removed needless imports. Removed empty headers.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 778
diff changeset
11 import de.intevation.artifacts.CallContext;
b1f5f2a8840f Ordered imports. Removed needless imports. Removed empty headers.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 778
diff changeset
12 import de.intevation.artifacts.CallMeta;
b1f5f2a8840f Ordered imports. Removed needless imports. Removed empty headers.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 778
diff changeset
13
b1f5f2a8840f Ordered imports. Removed needless imports. Removed empty headers.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 778
diff changeset
14 import de.intevation.gnv.artifacts.context.GNVArtifactContext;
b1f5f2a8840f Ordered imports. Removed needless imports. Removed empty headers.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 778
diff changeset
15
b1f5f2a8840f Ordered imports. Removed needless imports. Removed empty headers.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 778
diff changeset
16 import de.intevation.gnv.artifacts.fis.product.Product;
b1f5f2a8840f Ordered imports. Removed needless imports. Removed empty headers.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 778
diff changeset
17
b1f5f2a8840f Ordered imports. Removed needless imports. Removed empty headers.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 778
diff changeset
18 import de.intevation.gnv.artifacts.ressource.RessourceFactory;
b1f5f2a8840f Ordered imports. Removed needless imports. Removed empty headers.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 778
diff changeset
19
b1f5f2a8840f Ordered imports. Removed needless imports. Removed empty headers.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 778
diff changeset
20 import de.intevation.gnv.state.AutoResumeState;
b1f5f2a8840f Ordered imports. Removed needless imports. Removed empty headers.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 778
diff changeset
21 import de.intevation.gnv.state.DefaultInputData;
b1f5f2a8840f Ordered imports. Removed needless imports. Removed empty headers.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 778
diff changeset
22 import de.intevation.gnv.state.ExportMode;
b1f5f2a8840f Ordered imports. Removed needless imports. Removed empty headers.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 778
diff changeset
23 import de.intevation.gnv.state.InputData;
b1f5f2a8840f Ordered imports. Removed needless imports. Removed empty headers.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 778
diff changeset
24 import de.intevation.gnv.state.InputValue;
b1f5f2a8840f Ordered imports. Removed needless imports. Removed empty headers.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 778
diff changeset
25 import de.intevation.gnv.state.OutputMode;
b1f5f2a8840f Ordered imports. Removed needless imports. Removed empty headers.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 778
diff changeset
26 import de.intevation.gnv.state.OutputState;
b1f5f2a8840f Ordered imports. Removed needless imports. Removed empty headers.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 778
diff changeset
27 import de.intevation.gnv.state.State;
b1f5f2a8840f Ordered imports. Removed needless imports. Removed empty headers.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 778
diff changeset
28 import de.intevation.gnv.state.StateFactory;
b1f5f2a8840f Ordered imports. Removed needless imports. Removed empty headers.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 778
diff changeset
29
b1f5f2a8840f Ordered imports. Removed needless imports. Removed empty headers.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 778
diff changeset
30 import de.intevation.gnv.state.exception.StateException;
b1f5f2a8840f Ordered imports. Removed needless imports. Removed empty headers.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 778
diff changeset
31
b1f5f2a8840f Ordered imports. Removed needless imports. Removed empty headers.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 778
diff changeset
32 import de.intevation.gnv.transition.Transition;
b1f5f2a8840f Ordered imports. Removed needless imports. Removed empty headers.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 778
diff changeset
33 import de.intevation.gnv.transition.TransitionFactory;
b1f5f2a8840f Ordered imports. Removed needless imports. Removed empty headers.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 778
diff changeset
34
b1f5f2a8840f Ordered imports. Removed needless imports. Removed empty headers.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 778
diff changeset
35 import de.intevation.gnv.utils.ArtifactXMLUtilities;
b1f5f2a8840f Ordered imports. Removed needless imports. Removed empty headers.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 778
diff changeset
36
73
504570de21fd Refactoring Work depending on Infrastructurchanges in the Artifact-Module
Tim Englich <tim.englich@intevation.de>
parents: 71
diff changeset
37 import java.io.IOException;
504570de21fd Refactoring Work depending on Infrastructurchanges in the Artifact-Module
Tim Englich <tim.englich@intevation.de>
parents: 71
diff changeset
38 import java.io.OutputStream;
779
b1f5f2a8840f Ordered imports. Removed needless imports. Removed empty headers.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 778
diff changeset
39
337
a887074460b6 Last Step of the Refactoring Work on the Transition Model.
Tim Englich <tim.englich@intevation.de>
parents: 335
diff changeset
40 import java.util.ArrayList;
56
737d8bf63701 Required Inputelements integrated in BAsicArtifact-Descibe-Outputv
Tim Englich <tim.englich@intevation.de>
parents: 54
diff changeset
41 import java.util.Collection;
52
4d6a82b96059 First Implementation of the GNV-Artifacts
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
42 import java.util.HashMap;
54
09b4bf848c7b 2009-09-08 Tim Englich <tim.englich@intevation.de>
Tim Englich <tim.englich@intevation.de>
parents: 52
diff changeset
43 import java.util.Iterator;
473
a6a33ef35809 Added support to step back to previous states. Add state names to xform nodes in describe document and append old targets to list of reachable targets.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 470
diff changeset
44 import java.util.List;
725
dde7f51dbe1e Improved exception handling while feeding an artifact.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 652
diff changeset
45 import java.util.Locale;
52
4d6a82b96059 First Implementation of the GNV-Artifacts
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
46 import java.util.Map;
4d6a82b96059 First Implementation of the GNV-Artifacts
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
47
71
e4ecf3188bdf Integrated FIS-Artifact
Tim Englich <tim.englich@intevation.de>
parents: 70
diff changeset
48 import javax.xml.xpath.XPathConstants;
e4ecf3188bdf Integrated FIS-Artifact
Tim Englich <tim.englich@intevation.de>
parents: 70
diff changeset
49
652
078ba6799bd2 Cleanup imports
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 636
diff changeset
50 import org.apache.log4j.Logger;
779
b1f5f2a8840f Ordered imports. Removed needless imports. Removed empty headers.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 778
diff changeset
51
52
4d6a82b96059 First Implementation of the GNV-Artifacts
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
52 import org.w3c.dom.Document;
54
09b4bf848c7b 2009-09-08 Tim Englich <tim.englich@intevation.de>
Tim Englich <tim.englich@intevation.de>
parents: 52
diff changeset
53 import org.w3c.dom.Element;
52
4d6a82b96059 First Implementation of the GNV-Artifacts
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
54 import org.w3c.dom.Node;
4d6a82b96059 First Implementation of the GNV-Artifacts
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
55 import org.w3c.dom.NodeList;
4d6a82b96059 First Implementation of the GNV-Artifacts
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
56
4d6a82b96059 First Implementation of the GNV-Artifacts
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
57 /**
789
0dc115cbef0d Added javadoc for artifact package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 780
diff changeset
58 * This is the major gnv artifact and handles the requests specified in
815
22c18083225e Removed compiler warnings while JavaDoc generation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 803
diff changeset
59 * <code>de.intevation.artifactdatabase.Artifact</code>.
803
feae2f9d6c6f Removed trailing whitespace.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 789
diff changeset
60 *
780
c4156275c1e1 Bring @author javadoc tags in form '@author <a href="john.doe@example.com">John Doe</a>'
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 779
diff changeset
61 * @author <a href="mailto:tim.englich@intevation.de">Tim Englich</a>
c4156275c1e1 Bring @author javadoc tags in form '@author <a href="john.doe@example.com">John Doe</a>'
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 779
diff changeset
62 * @author <a href="mailto:ingo.weinzierl@intevation.de">Ingo Weinzierl</a>
c4156275c1e1 Bring @author javadoc tags in form '@author <a href="john.doe@example.com">John Doe</a>'
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 779
diff changeset
63 * @author <a href="mailto:sascha.teichmann@intevation.de">Sascha L. Teichmann</a>
52
4d6a82b96059 First Implementation of the GNV-Artifacts
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
64 */
778
9a828e5a2390 Removed trailing whitespace
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 735
diff changeset
65 public abstract class GNVArtifactBase extends GNVDefaultArtifact
598
9681ac6b6527 Added the possibility to use the data which are send using the MapServer-Interface during the Workflow of the GNV-Artifacts.
Tim Englich <tim.englich@intevation.de>
parents: 594
diff changeset
66 implements PreSettingArtifact {
9681ac6b6527 Added the possibility to use the data which are send using the MapServer-Interface during the Workflow of the GNV-Artifacts.
Tim Englich <tim.englich@intevation.de>
parents: 594
diff changeset
67
52
4d6a82b96059 First Implementation of the GNV-Artifacts
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
68 /**
4d6a82b96059 First Implementation of the GNV-Artifacts
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
69 * the logger, used to log exceptions and additonaly information
4d6a82b96059 First Implementation of the GNV-Artifacts
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
70 */
4d6a82b96059 First Implementation of the GNV-Artifacts
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
71 private static Logger log = Logger.getLogger(GNVArtifactBase.class);
4d6a82b96059 First Implementation of the GNV-Artifacts
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
72 /**
4d6a82b96059 First Implementation of the GNV-Artifacts
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
73 * The UID of this Class
4d6a82b96059 First Implementation of the GNV-Artifacts
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
74 */
4d6a82b96059 First Implementation of the GNV-Artifacts
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
75 private static final long serialVersionUID = -8907096744400741458L;
171
7fb9441dd8af Format Code to max 80 Chars per Row and Cleanup
Tim Englich <tim.englich@intevation.de>
parents: 117
diff changeset
76
54
09b4bf848c7b 2009-09-08 Tim Englich <tim.englich@intevation.de>
Tim Englich <tim.englich@intevation.de>
parents: 52
diff changeset
77 /**
09b4bf848c7b 2009-09-08 Tim Englich <tim.englich@intevation.de>
Tim Englich <tim.englich@intevation.de>
parents: 52
diff changeset
78 * The Identifier for the Replacement of the Artifactname
09b4bf848c7b 2009-09-08 Tim Englich <tim.englich@intevation.de>
Tim Englich <tim.englich@intevation.de>
parents: 52
diff changeset
79 */
52
4d6a82b96059 First Implementation of the GNV-Artifacts
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
80 public static final String XPATH_IDENTIFIER_REPLACE = "IDENTIFIER";
171
7fb9441dd8af Format Code to max 80 Chars per Row and Cleanup
Tim Englich <tim.englich@intevation.de>
parents: 117
diff changeset
81
52
4d6a82b96059 First Implementation of the GNV-Artifacts
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
82 /**
4d6a82b96059 First Implementation of the GNV-Artifacts
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
83 * The XPATH to the XML-Fragment that should be used for the Configuration
4d6a82b96059 First Implementation of the GNV-Artifacts
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
84 */
171
7fb9441dd8af Format Code to max 80 Chars per Row and Cleanup
Tim Englich <tim.englich@intevation.de>
parents: 117
diff changeset
85 public static final String XPATH_ARTIFACT_CONFIGURATION = "/artifact-database/artifacts/artifact[@name='"
7fb9441dd8af Format Code to max 80 Chars per Row and Cleanup
Tim Englich <tim.englich@intevation.de>
parents: 117
diff changeset
86 + XPATH_IDENTIFIER_REPLACE
7fb9441dd8af Format Code to max 80 Chars per Row and Cleanup
Tim Englich <tim.englich@intevation.de>
parents: 117
diff changeset
87 + "']";
7fb9441dd8af Format Code to max 80 Chars per Row and Cleanup
Tim Englich <tim.englich@intevation.de>
parents: 117
diff changeset
88
464
70df44021a9f Next step of changing the concept how to use the user interface. Adapted namespaces and replaced FISArtifact with a ProxyArtifact.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 461
diff changeset
89 public static final String XPATH_STATIC_NODE = "/art:result/art:ui/art:static";
70df44021a9f Next step of changing the concept how to use the user interface. Adapted namespaces and replaced FISArtifact with a ProxyArtifact.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 461
diff changeset
90
70df44021a9f Next step of changing the concept how to use the user interface. Adapted namespaces and replaced FISArtifact with a ProxyArtifact.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 461
diff changeset
91 public static final String XPATH_INPUT_DATA = "/art:action/art:data/art:input";
70df44021a9f Next step of changing the concept how to use the user interface. Adapted namespaces and replaced FISArtifact with a ProxyArtifact.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 461
diff changeset
92
70df44021a9f Next step of changing the concept how to use the user interface. Adapted namespaces and replaced FISArtifact with a ProxyArtifact.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 461
diff changeset
93 public static final String XPATH_INCLUDE_UI = "/art:action/art:include-ui";
70df44021a9f Next step of changing the concept how to use the user interface. Adapted namespaces and replaced FISArtifact with a ProxyArtifact.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 461
diff changeset
94
70df44021a9f Next step of changing the concept how to use the user interface. Adapted namespaces and replaced FISArtifact with a ProxyArtifact.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 461
diff changeset
95 public static final String XPATH_TARGET_NAME = "/art:action/art:target/@name";
70df44021a9f Next step of changing the concept how to use the user interface. Adapted namespaces and replaced FISArtifact with a ProxyArtifact.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 461
diff changeset
96
778
9a828e5a2390 Removed trailing whitespace
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 735
diff changeset
97 public static final String XPATH_OUTPUT_NAME = "/art:action/art:out/@name";
464
70df44021a9f Next step of changing the concept how to use the user interface. Adapted namespaces and replaced FISArtifact with a ProxyArtifact.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 461
diff changeset
98
778
9a828e5a2390 Removed trailing whitespace
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 735
diff changeset
99 public static final String XPATH_OUTPUT_PARAMS = "/art:action/art:out/art:params/art:input";
464
70df44021a9f Next step of changing the concept how to use the user interface. Adapted namespaces and replaced FISArtifact with a ProxyArtifact.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 461
diff changeset
100
478
0e0c64c821dc Added support to step back to the point for choosing a product.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 475
diff changeset
101 public static final String INITIAL_STATE = "product";
470
b7bb66440cc8 Added mechanism for advancing to previous states.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 464
diff changeset
102
54
09b4bf848c7b 2009-09-08 Tim Englich <tim.englich@intevation.de>
Tim Englich <tim.englich@intevation.de>
parents: 52
diff changeset
103 /**
335
e964a3d8f7bc Some Refactoring work done.
Tim Englich <tim.englich@intevation.de>
parents: 325
diff changeset
104 * The current State
54
09b4bf848c7b 2009-09-08 Tim Englich <tim.englich@intevation.de>
Tim Englich <tim.englich@intevation.de>
parents: 52
diff changeset
105 */
335
e964a3d8f7bc Some Refactoring work done.
Tim Englich <tim.englich@intevation.de>
parents: 325
diff changeset
106 protected State current = null;
171
7fb9441dd8af Format Code to max 80 Chars per Row and Cleanup
Tim Englich <tim.englich@intevation.de>
parents: 117
diff changeset
107
54
09b4bf848c7b 2009-09-08 Tim Englich <tim.englich@intevation.de>
Tim Englich <tim.englich@intevation.de>
parents: 52
diff changeset
108 /**
335
e964a3d8f7bc Some Refactoring work done.
Tim Englich <tim.englich@intevation.de>
parents: 325
diff changeset
109 * The States that can be used
54
09b4bf848c7b 2009-09-08 Tim Englich <tim.englich@intevation.de>
Tim Englich <tim.englich@intevation.de>
parents: 52
diff changeset
110 */
335
e964a3d8f7bc Some Refactoring work done.
Tim Englich <tim.englich@intevation.de>
parents: 325
diff changeset
111 protected Map<String, State> states = null;
778
9a828e5a2390 Removed trailing whitespace
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 735
diff changeset
112
337
a887074460b6 Last Step of the Refactoring Work on the Transition Model.
Tim Englich <tim.englich@intevation.de>
parents: 335
diff changeset
113 /**
a887074460b6 Last Step of the Refactoring Work on the Transition Model.
Tim Englich <tim.englich@intevation.de>
parents: 335
diff changeset
114 * The Transitions which can switch between the different States.
a887074460b6 Last Step of the Refactoring Work on the Transition Model.
Tim Englich <tim.englich@intevation.de>
parents: 335
diff changeset
115 */
a887074460b6 Last Step of the Refactoring Work on the Transition Model.
Tim Englich <tim.englich@intevation.de>
parents: 335
diff changeset
116 protected Collection<Transition> transitions = null;
52
4d6a82b96059 First Implementation of the GNV-Artifacts
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
117
464
70df44021a9f Next step of changing the concept how to use the user interface. Adapted namespaces and replaced FISArtifact with a ProxyArtifact.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 461
diff changeset
118 /**
70df44021a9f Next step of changing the concept how to use the user interface. Adapted namespaces and replaced FISArtifact with a ProxyArtifact.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 461
diff changeset
119 * The current product
70df44021a9f Next step of changing the concept how to use the user interface. Adapted namespaces and replaced FISArtifact with a ProxyArtifact.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 461
diff changeset
120 */
70df44021a9f Next step of changing the concept how to use the user interface. Adapted namespaces and replaced FISArtifact with a ProxyArtifact.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 461
diff changeset
121 protected Product product;
70df44021a9f Next step of changing the concept how to use the user interface. Adapted namespaces and replaced FISArtifact with a ProxyArtifact.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 461
diff changeset
122
54
09b4bf848c7b 2009-09-08 Tim Englich <tim.englich@intevation.de>
Tim Englich <tim.englich@intevation.de>
parents: 52
diff changeset
123 /**
09b4bf848c7b 2009-09-08 Tim Englich <tim.englich@intevation.de>
Tim Englich <tim.englich@intevation.de>
parents: 52
diff changeset
124 * The Name of the Artifact
09b4bf848c7b 2009-09-08 Tim Englich <tim.englich@intevation.de>
Tim Englich <tim.englich@intevation.de>
parents: 52
diff changeset
125 */
52
4d6a82b96059 First Implementation of the GNV-Artifacts
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
126 protected String name = null;
171
7fb9441dd8af Format Code to max 80 Chars per Row and Cleanup
Tim Englich <tim.englich@intevation.de>
parents: 117
diff changeset
127
52
4d6a82b96059 First Implementation of the GNV-Artifacts
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
128 /**
598
9681ac6b6527 Added the possibility to use the data which are send using the MapServer-Interface during the Workflow of the GNV-Artifacts.
Tim Englich <tim.englich@intevation.de>
parents: 594
diff changeset
129 * The Presettings of InputData which can be used to
9681ac6b6527 Added the possibility to use the data which are send using the MapServer-Interface during the Workflow of the GNV-Artifacts.
Tim Englich <tim.englich@intevation.de>
parents: 594
diff changeset
130 * travel through the States in different Ways or
9681ac6b6527 Added the possibility to use the data which are send using the MapServer-Interface during the Workflow of the GNV-Artifacts.
Tim Englich <tim.englich@intevation.de>
parents: 594
diff changeset
131 * manipulate the InputData
9681ac6b6527 Added the possibility to use the data which are send using the MapServer-Interface during the Workflow of the GNV-Artifacts.
Tim Englich <tim.englich@intevation.de>
parents: 594
diff changeset
132 */
9681ac6b6527 Added the possibility to use the data which are send using the MapServer-Interface during the Workflow of the GNV-Artifacts.
Tim Englich <tim.englich@intevation.de>
parents: 594
diff changeset
133 private Map<String, InputData> preSettings = null;
9681ac6b6527 Added the possibility to use the data which are send using the MapServer-Interface during the Workflow of the GNV-Artifacts.
Tim Englich <tim.englich@intevation.de>
parents: 594
diff changeset
134
9681ac6b6527 Added the possibility to use the data which are send using the MapServer-Interface during the Workflow of the GNV-Artifacts.
Tim Englich <tim.englich@intevation.de>
parents: 594
diff changeset
135 /**
52
4d6a82b96059 First Implementation of the GNV-Artifacts
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
136 * Constructor
4d6a82b96059 First Implementation of the GNV-Artifacts
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
137 */
4d6a82b96059 First Implementation of the GNV-Artifacts
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
138 public GNVArtifactBase() {
4d6a82b96059 First Implementation of the GNV-Artifacts
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
139 super();
4d6a82b96059 First Implementation of the GNV-Artifacts
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
140 }
171
7fb9441dd8af Format Code to max 80 Chars per Row and Cleanup
Tim Englich <tim.englich@intevation.de>
parents: 117
diff changeset
141
470
b7bb66440cc8 Added mechanism for advancing to previous states.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 464
diff changeset
142
789
0dc115cbef0d Added javadoc for artifact package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 780
diff changeset
143 /**
0dc115cbef0d Added javadoc for artifact package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 780
diff changeset
144 * This method handles request for changing the current state of an
0dc115cbef0d Added javadoc for artifact package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 780
diff changeset
145 * artifact. It is possible to step forward, backward, or to the initial
0dc115cbef0d Added javadoc for artifact package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 780
diff changeset
146 * state for choosing a fis.
0dc115cbef0d Added javadoc for artifact package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 780
diff changeset
147 */
58
f31343d80d53 Artifact.advance initial implementiert
Tim Englich <tim.englich@intevation.de>
parents: 57
diff changeset
148 @Override
73
504570de21fd Refactoring Work depending on Infrastructurchanges in the Artifact-Module
Tim Englich <tim.englich@intevation.de>
parents: 71
diff changeset
149 public Document advance(Document target, CallContext context) {
470
b7bb66440cc8 Added mechanism for advancing to previous states.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 464
diff changeset
150 log.debug("GNVArtifactBase.advance()");
b7bb66440cc8 Added mechanism for advancing to previous states.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 464
diff changeset
151
b7bb66440cc8 Added mechanism for advancing to previous states.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 464
diff changeset
152 Document result = XMLUtils.newDocument();
b7bb66440cc8 Added mechanism for advancing to previous states.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 464
diff changeset
153 String targetState = XMLUtils.xpathString(
b7bb66440cc8 Added mechanism for advancing to previous states.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 464
diff changeset
154 target, XPATH_TARGET_NAME, ArtifactNamespaceContext.INSTANCE
b7bb66440cc8 Added mechanism for advancing to previous states.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 464
diff changeset
155 );
b7bb66440cc8 Added mechanism for advancing to previous states.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 464
diff changeset
156
b7bb66440cc8 Added mechanism for advancing to previous states.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 464
diff changeset
157 // no current state...
b7bb66440cc8 Added mechanism for advancing to previous states.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 464
diff changeset
158 if (current == null) {
614
e80e37b78302 Repaired broken step-back-history.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 607
diff changeset
159 log.warn("No current state. Advance not possible.");
470
b7bb66440cc8 Added mechanism for advancing to previous states.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 464
diff changeset
160
b7bb66440cc8 Added mechanism for advancing to previous states.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 464
diff changeset
161 result = createReport(
b7bb66440cc8 Added mechanism for advancing to previous states.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 464
diff changeset
162 result,
b7bb66440cc8 Added mechanism for advancing to previous states.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 464
diff changeset
163 "exceptionreport",
b7bb66440cc8 Added mechanism for advancing to previous states.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 464
diff changeset
164 "exception",
b7bb66440cc8 Added mechanism for advancing to previous states.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 464
diff changeset
165 "No State activated."
b7bb66440cc8 Added mechanism for advancing to previous states.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 464
diff changeset
166 );
b7bb66440cc8 Added mechanism for advancing to previous states.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 464
diff changeset
167
b7bb66440cc8 Added mechanism for advancing to previous states.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 464
diff changeset
168 return result;
b7bb66440cc8 Added mechanism for advancing to previous states.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 464
diff changeset
169 }
b7bb66440cc8 Added mechanism for advancing to previous states.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 464
diff changeset
170
b7bb66440cc8 Added mechanism for advancing to previous states.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 464
diff changeset
171 State next = null;
b7bb66440cc8 Added mechanism for advancing to previous states.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 464
diff changeset
172
88
1b12021905b9 Some CodeCleanup done.
Tim Englich <tim.englich@intevation.de>
parents: 78
diff changeset
173 try {
470
b7bb66440cc8 Added mechanism for advancing to previous states.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 464
diff changeset
174
b7bb66440cc8 Added mechanism for advancing to previous states.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 464
diff changeset
175 // step forward
b7bb66440cc8 Added mechanism for advancing to previous states.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 464
diff changeset
176 if (isStateCurrentlyReachable(targetState)) {
614
e80e37b78302 Repaired broken step-back-history.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 607
diff changeset
177
470
b7bb66440cc8 Added mechanism for advancing to previous states.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 464
diff changeset
178 next = states.get(targetState);
b7bb66440cc8 Added mechanism for advancing to previous states.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 464
diff changeset
179
735
d47901df0a14 Integrated the handling of AutoResumeStates into the initialization Process of an Artifact.
Tim Englich <tim.englich@intevation.de>
parents: 725
diff changeset
180 boolean success = go2NextState(context, result, next);
778
9a828e5a2390 Removed trailing whitespace
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 735
diff changeset
181
735
d47901df0a14 Integrated the handling of AutoResumeStates into the initialization Process of an Artifact.
Tim Englich <tim.englich@intevation.de>
parents: 725
diff changeset
182 if (success){
d47901df0a14 Integrated the handling of AutoResumeStates into the initialization Process of an Artifact.
Tim Englich <tim.englich@intevation.de>
parents: 725
diff changeset
183 result = createReport(
d47901df0a14 Integrated the handling of AutoResumeStates into the initialization Process of an Artifact.
Tim Englich <tim.englich@intevation.de>
parents: 725
diff changeset
184 result, "result", "success", "Advance success"
d47901df0a14 Integrated the handling of AutoResumeStates into the initialization Process of an Artifact.
Tim Englich <tim.englich@intevation.de>
parents: 725
diff changeset
185 );
d47901df0a14 Integrated the handling of AutoResumeStates into the initialization Process of an Artifact.
Tim Englich <tim.englich@intevation.de>
parents: 725
diff changeset
186 }else{
d47901df0a14 Integrated the handling of AutoResumeStates into the initialization Process of an Artifact.
Tim Englich <tim.englich@intevation.de>
parents: 725
diff changeset
187 result = ArtifactXMLUtilities.
778
9a828e5a2390 Removed trailing whitespace
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 735
diff changeset
188 createExceptionReport("Error while going to next State.",
735
d47901df0a14 Integrated the handling of AutoResumeStates into the initialization Process of an Artifact.
Tim Englich <tim.englich@intevation.de>
parents: 725
diff changeset
189 XMLUtils.newDocument());
481
20dde2b6f1b5 Added end of life support for artifact states. Implemented ZIP download
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 479
diff changeset
190 }
58
f31343d80d53 Artifact.advance initial implementiert
Tim Englich <tim.englich@intevation.de>
parents: 57
diff changeset
191 }
470
b7bb66440cc8 Added mechanism for advancing to previous states.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 464
diff changeset
192
b7bb66440cc8 Added mechanism for advancing to previous states.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 464
diff changeset
193 // step backward
b7bb66440cc8 Added mechanism for advancing to previous states.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 464
diff changeset
194 else if((next = getPreviousState(current, targetState)) != null) {
473
a6a33ef35809 Added support to step back to previous states. Add state names to xform nodes in describe document and append old targets to list of reachable targets.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 470
diff changeset
195
481
20dde2b6f1b5 Added end of life support for artifact states. Implemented ZIP download
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 479
diff changeset
196 if (current != null) {
20dde2b6f1b5 Added end of life support for artifact states. Implemented ZIP download
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 479
diff changeset
197 current.endOfLife(context.globalContext());
20dde2b6f1b5 Added end of life support for artifact states. Implemented ZIP download
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 479
diff changeset
198 }
20dde2b6f1b5 Added end of life support for artifact states. Implemented ZIP download
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 479
diff changeset
199
470
b7bb66440cc8 Added mechanism for advancing to previous states.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 464
diff changeset
200 current = next;
b7bb66440cc8 Added mechanism for advancing to previous states.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 464
diff changeset
201
614
e80e37b78302 Repaired broken step-back-history.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 607
diff changeset
202 // 2. Transfer Results
e80e37b78302 Repaired broken step-back-history.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 607
diff changeset
203 current.reset(identifier);
e80e37b78302 Repaired broken step-back-history.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 607
diff changeset
204
470
b7bb66440cc8 Added mechanism for advancing to previous states.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 464
diff changeset
205 result = createReport(
b7bb66440cc8 Added mechanism for advancing to previous states.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 464
diff changeset
206 result, "result", "success", "Advance success"
b7bb66440cc8 Added mechanism for advancing to previous states.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 464
diff changeset
207 );
b7bb66440cc8 Added mechanism for advancing to previous states.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 464
diff changeset
208 }
b7bb66440cc8 Added mechanism for advancing to previous states.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 464
diff changeset
209
b7bb66440cc8 Added mechanism for advancing to previous states.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 464
diff changeset
210 // goto initial step
b7bb66440cc8 Added mechanism for advancing to previous states.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 464
diff changeset
211 else if(targetState.equals(INITIAL_STATE)) {
478
0e0c64c821dc Added support to step back to the point for choosing a product.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 475
diff changeset
212
0e0c64c821dc Added support to step back to the point for choosing a product.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 475
diff changeset
213 String fis = product.getArtifactFactory();
0e0c64c821dc Added support to step back to the point for choosing a product.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 475
diff changeset
214 ArtifactDatabase db = context.getDatabase();
0e0c64c821dc Added support to step back to the point for choosing a product.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 475
diff changeset
215 GNVProductArtifactFactory fac = (GNVProductArtifactFactory)
0e0c64c821dc Added support to step back to the point for choosing a product.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 475
diff changeset
216 db.getInternalArtifactFactory(fis);
0e0c64c821dc Added support to step back to the point for choosing a product.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 475
diff changeset
217
594
5b9b74c08bbb Changed Method signatures because of Interfacemodifications in the Artifact-Module
Tim Englich <tim.englich@intevation.de>
parents: 513
diff changeset
218 Artifact select = fac.createArtifact(identifier, context, null);
470
b7bb66440cc8 Added mechanism for advancing to previous states.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 464
diff changeset
219 context.putContextValue(ProxyArtifact.REPLACE_PROXY, select);
b7bb66440cc8 Added mechanism for advancing to previous states.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 464
diff changeset
220
b7bb66440cc8 Added mechanism for advancing to previous states.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 464
diff changeset
221 result = createReport(
b7bb66440cc8 Added mechanism for advancing to previous states.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 464
diff changeset
222 result, "result", "success", "Advance success"
b7bb66440cc8 Added mechanism for advancing to previous states.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 464
diff changeset
223 );
b7bb66440cc8 Added mechanism for advancing to previous states.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 464
diff changeset
224 }
b7bb66440cc8 Added mechanism for advancing to previous states.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 464
diff changeset
225
b7bb66440cc8 Added mechanism for advancing to previous states.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 464
diff changeset
226 // advance not possible
b7bb66440cc8 Added mechanism for advancing to previous states.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 464
diff changeset
227 else {
b7bb66440cc8 Added mechanism for advancing to previous states.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 464
diff changeset
228 log.warn("advance not possible for target: " + targetState);
b7bb66440cc8 Added mechanism for advancing to previous states.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 464
diff changeset
229 result = createReport(
b7bb66440cc8 Added mechanism for advancing to previous states.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 464
diff changeset
230 result,
b7bb66440cc8 Added mechanism for advancing to previous states.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 464
diff changeset
231 "exceptionreport",
b7bb66440cc8 Added mechanism for advancing to previous states.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 464
diff changeset
232 "exception",
b7bb66440cc8 Added mechanism for advancing to previous states.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 464
diff changeset
233 "Statetransition not supported"
b7bb66440cc8 Added mechanism for advancing to previous states.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 464
diff changeset
234 );
b7bb66440cc8 Added mechanism for advancing to previous states.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 464
diff changeset
235 }
58
f31343d80d53 Artifact.advance initial implementiert
Tim Englich <tim.englich@intevation.de>
parents: 57
diff changeset
236 }
470
b7bb66440cc8 Added mechanism for advancing to previous states.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 464
diff changeset
237 catch (StateException se) {
b7bb66440cc8 Added mechanism for advancing to previous states.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 464
diff changeset
238 log.error(se, se);
b7bb66440cc8 Added mechanism for advancing to previous states.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 464
diff changeset
239 result = createReport(
b7bb66440cc8 Added mechanism for advancing to previous states.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 464
diff changeset
240 result,
b7bb66440cc8 Added mechanism for advancing to previous states.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 464
diff changeset
241 "exceptionreport",
b7bb66440cc8 Added mechanism for advancing to previous states.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 464
diff changeset
242 "exception",
b7bb66440cc8 Added mechanism for advancing to previous states.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 464
diff changeset
243 se.getLocalizedMessage()
b7bb66440cc8 Added mechanism for advancing to previous states.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 464
diff changeset
244 );
b7bb66440cc8 Added mechanism for advancing to previous states.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 464
diff changeset
245 }
b7bb66440cc8 Added mechanism for advancing to previous states.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 464
diff changeset
246
58
f31343d80d53 Artifact.advance initial implementiert
Tim Englich <tim.englich@intevation.de>
parents: 57
diff changeset
247 return result;
f31343d80d53 Artifact.advance initial implementiert
Tim Englich <tim.englich@intevation.de>
parents: 57
diff changeset
248 }
470
b7bb66440cc8 Added mechanism for advancing to previous states.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 464
diff changeset
249
b7bb66440cc8 Added mechanism for advancing to previous states.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 464
diff changeset
250
735
d47901df0a14 Integrated the handling of AutoResumeStates into the initialization Process of an Artifact.
Tim Englich <tim.englich@intevation.de>
parents: 725
diff changeset
251 private boolean go2NextState(CallContext context, Document result,
d47901df0a14 Integrated the handling of AutoResumeStates into the initialization Process of an Artifact.
Tim Englich <tim.englich@intevation.de>
parents: 725
diff changeset
252 State next) throws StateException {
d47901df0a14 Integrated the handling of AutoResumeStates into the initialization Process of an Artifact.
Tim Englich <tim.englich@intevation.de>
parents: 725
diff changeset
253 // 2. Transfer Results
d47901df0a14 Integrated the handling of AutoResumeStates into the initialization Process of an Artifact.
Tim Englich <tim.englich@intevation.de>
parents: 725
diff changeset
254 next.putInputData(current.getInputData(), identifier);
d47901df0a14 Integrated the handling of AutoResumeStates into the initialization Process of an Artifact.
Tim Englich <tim.englich@intevation.de>
parents: 725
diff changeset
255 next.setParent(current);
d47901df0a14 Integrated the handling of AutoResumeStates into the initialization Process of an Artifact.
Tim Englich <tim.englich@intevation.de>
parents: 725
diff changeset
256 next.setPreSettings(this.preSettings);
d47901df0a14 Integrated the handling of AutoResumeStates into the initialization Process of an Artifact.
Tim Englich <tim.englich@intevation.de>
parents: 725
diff changeset
257
d47901df0a14 Integrated the handling of AutoResumeStates into the initialization Process of an Artifact.
Tim Englich <tim.englich@intevation.de>
parents: 725
diff changeset
258 // 3. Switch to next State
d47901df0a14 Integrated the handling of AutoResumeStates into the initialization Process of an Artifact.
Tim Englich <tim.englich@intevation.de>
parents: 725
diff changeset
259 current = next;
d47901df0a14 Integrated the handling of AutoResumeStates into the initialization Process of an Artifact.
Tim Englich <tim.englich@intevation.de>
parents: 725
diff changeset
260
d47901df0a14 Integrated the handling of AutoResumeStates into the initialization Process of an Artifact.
Tim Englich <tim.englich@intevation.de>
parents: 725
diff changeset
261 // 4. Initialize next Step
d47901df0a14 Integrated the handling of AutoResumeStates into the initialization Process of an Artifact.
Tim Englich <tim.englich@intevation.de>
parents: 725
diff changeset
262 current.initialize(identifier, context);
d47901df0a14 Integrated the handling of AutoResumeStates into the initialization Process of an Artifact.
Tim Englich <tim.englich@intevation.de>
parents: 725
diff changeset
263
d47901df0a14 Integrated the handling of AutoResumeStates into the initialization Process of an Artifact.
Tim Englich <tim.englich@intevation.de>
parents: 725
diff changeset
264 return true;
d47901df0a14 Integrated the handling of AutoResumeStates into the initialization Process of an Artifact.
Tim Englich <tim.englich@intevation.de>
parents: 725
diff changeset
265 }
d47901df0a14 Integrated the handling of AutoResumeStates into the initialization Process of an Artifact.
Tim Englich <tim.englich@intevation.de>
parents: 725
diff changeset
266
d47901df0a14 Integrated the handling of AutoResumeStates into the initialization Process of an Artifact.
Tim Englich <tim.englich@intevation.de>
parents: 725
diff changeset
267
470
b7bb66440cc8 Added mechanism for advancing to previous states.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 464
diff changeset
268 protected Document createReport(
b7bb66440cc8 Added mechanism for advancing to previous states.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 464
diff changeset
269 Document document,
b7bb66440cc8 Added mechanism for advancing to previous states.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 464
diff changeset
270 String nodeName,
b7bb66440cc8 Added mechanism for advancing to previous states.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 464
diff changeset
271 String state,
b7bb66440cc8 Added mechanism for advancing to previous states.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 464
diff changeset
272 String msg
b7bb66440cc8 Added mechanism for advancing to previous states.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 464
diff changeset
273 ) {
b7bb66440cc8 Added mechanism for advancing to previous states.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 464
diff changeset
274 XMLUtils.ElementCreator creator = new XMLUtils.ElementCreator(
b7bb66440cc8 Added mechanism for advancing to previous states.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 464
diff changeset
275 document,
b7bb66440cc8 Added mechanism for advancing to previous states.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 464
diff changeset
276 ArtifactNamespaceContext.NAMESPACE_URI,
b7bb66440cc8 Added mechanism for advancing to previous states.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 464
diff changeset
277 ArtifactNamespaceContext.NAMESPACE_PREFIX
b7bb66440cc8 Added mechanism for advancing to previous states.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 464
diff changeset
278 );
b7bb66440cc8 Added mechanism for advancing to previous states.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 464
diff changeset
279
b7bb66440cc8 Added mechanism for advancing to previous states.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 464
diff changeset
280 Element reportNode = creator.create(nodeName);
b7bb66440cc8 Added mechanism for advancing to previous states.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 464
diff changeset
281 Element stateNode = creator.create(state);
b7bb66440cc8 Added mechanism for advancing to previous states.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 464
diff changeset
282
b7bb66440cc8 Added mechanism for advancing to previous states.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 464
diff changeset
283 stateNode.setTextContent(msg);
b7bb66440cc8 Added mechanism for advancing to previous states.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 464
diff changeset
284 reportNode.appendChild(stateNode);
b7bb66440cc8 Added mechanism for advancing to previous states.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 464
diff changeset
285 document.appendChild(reportNode);
b7bb66440cc8 Added mechanism for advancing to previous states.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 464
diff changeset
286
b7bb66440cc8 Added mechanism for advancing to previous states.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 464
diff changeset
287 return document;
b7bb66440cc8 Added mechanism for advancing to previous states.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 464
diff changeset
288
b7bb66440cc8 Added mechanism for advancing to previous states.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 464
diff changeset
289 }
b7bb66440cc8 Added mechanism for advancing to previous states.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 464
diff changeset
290
b7bb66440cc8 Added mechanism for advancing to previous states.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 464
diff changeset
291
789
0dc115cbef0d Added javadoc for artifact package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 780
diff changeset
292 /**
0dc115cbef0d Added javadoc for artifact package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 780
diff changeset
293 * Step back to the previous state specified by <code>name</code>.
0dc115cbef0d Added javadoc for artifact package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 780
diff changeset
294 */
470
b7bb66440cc8 Added mechanism for advancing to previous states.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 464
diff changeset
295 protected State getPreviousState(State current, String name) {
b7bb66440cc8 Added mechanism for advancing to previous states.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 464
diff changeset
296 if (current == null) {
b7bb66440cc8 Added mechanism for advancing to previous states.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 464
diff changeset
297 return null;
b7bb66440cc8 Added mechanism for advancing to previous states.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 464
diff changeset
298 }
b7bb66440cc8 Added mechanism for advancing to previous states.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 464
diff changeset
299
b7bb66440cc8 Added mechanism for advancing to previous states.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 464
diff changeset
300 if (current.getID().equals(name)) {
b7bb66440cc8 Added mechanism for advancing to previous states.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 464
diff changeset
301 return current;
b7bb66440cc8 Added mechanism for advancing to previous states.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 464
diff changeset
302 }
b7bb66440cc8 Added mechanism for advancing to previous states.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 464
diff changeset
303 else {
b7bb66440cc8 Added mechanism for advancing to previous states.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 464
diff changeset
304 return getPreviousState(current.getParent(), name);
b7bb66440cc8 Added mechanism for advancing to previous states.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 464
diff changeset
305 }
b7bb66440cc8 Added mechanism for advancing to previous states.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 464
diff changeset
306 }
b7bb66440cc8 Added mechanism for advancing to previous states.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 464
diff changeset
307
b7bb66440cc8 Added mechanism for advancing to previous states.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 464
diff changeset
308
337
a887074460b6 Last Step of the Refactoring Work on the Transition Model.
Tim Englich <tim.englich@intevation.de>
parents: 335
diff changeset
309 private boolean isStateCurrentlyReachable(String stateid){
a887074460b6 Last Step of the Refactoring Work on the Transition Model.
Tim Englich <tim.englich@intevation.de>
parents: 335
diff changeset
310 Iterator<Transition> it = this.transitions.iterator();
a887074460b6 Last Step of the Refactoring Work on the Transition Model.
Tim Englich <tim.englich@intevation.de>
parents: 335
diff changeset
311 String from = this.current.getID();
a887074460b6 Last Step of the Refactoring Work on the Transition Model.
Tim Englich <tim.englich@intevation.de>
parents: 335
diff changeset
312 while (it.hasNext()){
a887074460b6 Last Step of the Refactoring Work on the Transition Model.
Tim Englich <tim.englich@intevation.de>
parents: 335
diff changeset
313 Transition transition = it.next();
a887074460b6 Last Step of the Refactoring Work on the Transition Model.
Tim Englich <tim.englich@intevation.de>
parents: 335
diff changeset
314 if (transition.getFrom().equals(from)){
a887074460b6 Last Step of the Refactoring Work on the Transition Model.
Tim Englich <tim.englich@intevation.de>
parents: 335
diff changeset
315 if (transition.getTo().equals(stateid) && transition.isValid(this.current)){
a887074460b6 Last Step of the Refactoring Work on the Transition Model.
Tim Englich <tim.englich@intevation.de>
parents: 335
diff changeset
316 return true;
a887074460b6 Last Step of the Refactoring Work on the Transition Model.
Tim Englich <tim.englich@intevation.de>
parents: 335
diff changeset
317 }
a887074460b6 Last Step of the Refactoring Work on the Transition Model.
Tim Englich <tim.englich@intevation.de>
parents: 335
diff changeset
318 }
a887074460b6 Last Step of the Refactoring Work on the Transition Model.
Tim Englich <tim.englich@intevation.de>
parents: 335
diff changeset
319 }
a887074460b6 Last Step of the Refactoring Work on the Transition Model.
Tim Englich <tim.englich@intevation.de>
parents: 335
diff changeset
320 return false;
a887074460b6 Last Step of the Refactoring Work on the Transition Model.
Tim Englich <tim.englich@intevation.de>
parents: 335
diff changeset
321 }
778
9a828e5a2390 Removed trailing whitespace
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 735
diff changeset
322
815
22c18083225e Removed compiler warnings while JavaDoc generation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 803
diff changeset
323
789
0dc115cbef0d Added javadoc for artifact package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 780
diff changeset
324 public Document initialize(CallContext context) {
325
3eff9241ea1e Refactoring of the Transitionmodel.
Tim Englich <tim.englich@intevation.de>
parents: 301
diff changeset
325 Document result = XMLUtils.newDocument();
3eff9241ea1e Refactoring of the Transitionmodel.
Tim Englich <tim.englich@intevation.de>
parents: 301
diff changeset
326 try {
493
cef17cc90fd0 Changed some method signatures of the State interface. Use CallContext objects instead of CallMeta objects which are a subset of CallContext.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 488
diff changeset
327 this.current.initialize(super.identifier, context);
778
9a828e5a2390 Removed trailing whitespace
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 735
diff changeset
328
735
d47901df0a14 Integrated the handling of AutoResumeStates into the initialization Process of an Artifact.
Tim Englich <tim.englich@intevation.de>
parents: 725
diff changeset
329 if (this.current instanceof AutoResumeState){
d47901df0a14 Integrated the handling of AutoResumeStates into the initialization Process of an Artifact.
Tim Englich <tim.englich@intevation.de>
parents: 725
diff changeset
330 // Jump to next State using the Transitions.
d47901df0a14 Integrated the handling of AutoResumeStates into the initialization Process of an Artifact.
Tim Englich <tim.englich@intevation.de>
parents: 725
diff changeset
331 State next = this.getNextReachableState(this.current);
d47901df0a14 Integrated the handling of AutoResumeStates into the initialization Process of an Artifact.
Tim Englich <tim.englich@intevation.de>
parents: 725
diff changeset
332 if (next != null){
d47901df0a14 Integrated the handling of AutoResumeStates into the initialization Process of an Artifact.
Tim Englich <tim.englich@intevation.de>
parents: 725
diff changeset
333 boolean success = go2NextState(context, result, next);
d47901df0a14 Integrated the handling of AutoResumeStates into the initialization Process of an Artifact.
Tim Englich <tim.englich@intevation.de>
parents: 725
diff changeset
334 if (success){
d47901df0a14 Integrated the handling of AutoResumeStates into the initialization Process of an Artifact.
Tim Englich <tim.englich@intevation.de>
parents: 725
diff changeset
335 result = ArtifactXMLUtilities
d47901df0a14 Integrated the handling of AutoResumeStates into the initialization Process of an Artifact.
Tim Englich <tim.englich@intevation.de>
parents: 725
diff changeset
336 .createSuccessReport("Initialize success",
d47901df0a14 Integrated the handling of AutoResumeStates into the initialization Process of an Artifact.
Tim Englich <tim.englich@intevation.de>
parents: 725
diff changeset
337 XMLUtils.newDocument());
d47901df0a14 Integrated the handling of AutoResumeStates into the initialization Process of an Artifact.
Tim Englich <tim.englich@intevation.de>
parents: 725
diff changeset
338 }else{
d47901df0a14 Integrated the handling of AutoResumeStates into the initialization Process of an Artifact.
Tim Englich <tim.englich@intevation.de>
parents: 725
diff changeset
339 result = ArtifactXMLUtilities.
d47901df0a14 Integrated the handling of AutoResumeStates into the initialization Process of an Artifact.
Tim Englich <tim.englich@intevation.de>
parents: 725
diff changeset
340 createExceptionReport(
778
9a828e5a2390 Removed trailing whitespace
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 735
diff changeset
341 "Error while going to next State.",
735
d47901df0a14 Integrated the handling of AutoResumeStates into the initialization Process of an Artifact.
Tim Englich <tim.englich@intevation.de>
parents: 725
diff changeset
342 XMLUtils.newDocument());
d47901df0a14 Integrated the handling of AutoResumeStates into the initialization Process of an Artifact.
Tim Englich <tim.englich@intevation.de>
parents: 725
diff changeset
343 }
d47901df0a14 Integrated the handling of AutoResumeStates into the initialization Process of an Artifact.
Tim Englich <tim.englich@intevation.de>
parents: 725
diff changeset
344 }else{
d47901df0a14 Integrated the handling of AutoResumeStates into the initialization Process of an Artifact.
Tim Englich <tim.englich@intevation.de>
parents: 725
diff changeset
345 result = ArtifactXMLUtilities.
778
9a828e5a2390 Removed trailing whitespace
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 735
diff changeset
346 createExceptionReport("No propper State found.",
735
d47901df0a14 Integrated the handling of AutoResumeStates into the initialization Process of an Artifact.
Tim Englich <tim.englich@intevation.de>
parents: 725
diff changeset
347 XMLUtils.newDocument());
d47901df0a14 Integrated the handling of AutoResumeStates into the initialization Process of an Artifact.
Tim Englich <tim.englich@intevation.de>
parents: 725
diff changeset
348 }
d47901df0a14 Integrated the handling of AutoResumeStates into the initialization Process of an Artifact.
Tim Englich <tim.englich@intevation.de>
parents: 725
diff changeset
349 }else{
d47901df0a14 Integrated the handling of AutoResumeStates into the initialization Process of an Artifact.
Tim Englich <tim.englich@intevation.de>
parents: 725
diff changeset
350 result = ArtifactXMLUtilities
d47901df0a14 Integrated the handling of AutoResumeStates into the initialization Process of an Artifact.
Tim Englich <tim.englich@intevation.de>
parents: 725
diff changeset
351 .createSuccessReport("Initialize success",
d47901df0a14 Integrated the handling of AutoResumeStates into the initialization Process of an Artifact.
Tim Englich <tim.englich@intevation.de>
parents: 725
diff changeset
352 XMLUtils.newDocument());
d47901df0a14 Integrated the handling of AutoResumeStates into the initialization Process of an Artifact.
Tim Englich <tim.englich@intevation.de>
parents: 725
diff changeset
353 }
335
e964a3d8f7bc Some Refactoring work done.
Tim Englich <tim.englich@intevation.de>
parents: 325
diff changeset
354 } catch (StateException e) {
325
3eff9241ea1e Refactoring of the Transitionmodel.
Tim Englich <tim.englich@intevation.de>
parents: 301
diff changeset
355 log.error(e,e);
735
d47901df0a14 Integrated the handling of AutoResumeStates into the initialization Process of an Artifact.
Tim Englich <tim.englich@intevation.de>
parents: 725
diff changeset
356 result = ArtifactXMLUtilities.createExceptionReport(e
325
3eff9241ea1e Refactoring of the Transitionmodel.
Tim Englich <tim.englich@intevation.de>
parents: 301
diff changeset
357 .getLocalizedMessage(), XMLUtils.newDocument());
3eff9241ea1e Refactoring of the Transitionmodel.
Tim Englich <tim.englich@intevation.de>
parents: 301
diff changeset
358 }
3eff9241ea1e Refactoring of the Transitionmodel.
Tim Englich <tim.englich@intevation.de>
parents: 301
diff changeset
359 return result;
3eff9241ea1e Refactoring of the Transitionmodel.
Tim Englich <tim.englich@intevation.de>
parents: 301
diff changeset
360 }
778
9a828e5a2390 Removed trailing whitespace
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 735
diff changeset
361
789
0dc115cbef0d Added javadoc for artifact package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 780
diff changeset
362 /**
0dc115cbef0d Added javadoc for artifact package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 780
diff changeset
363 * Step forward to the next reachable state.
0dc115cbef0d Added javadoc for artifact package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 780
diff changeset
364 * @param current Current state.
0dc115cbef0d Added javadoc for artifact package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 780
diff changeset
365 * @return Reachable state.
0dc115cbef0d Added javadoc for artifact package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 780
diff changeset
366 */
735
d47901df0a14 Integrated the handling of AutoResumeStates into the initialization Process of an Artifact.
Tim Englich <tim.englich@intevation.de>
parents: 725
diff changeset
367 protected State getNextReachableState(State current){
d47901df0a14 Integrated the handling of AutoResumeStates into the initialization Process of an Artifact.
Tim Englich <tim.englich@intevation.de>
parents: 725
diff changeset
368 Iterator<Transition> it = this.transitions.iterator();
d47901df0a14 Integrated the handling of AutoResumeStates into the initialization Process of an Artifact.
Tim Englich <tim.englich@intevation.de>
parents: 725
diff changeset
369 String from = current.getID();
d47901df0a14 Integrated the handling of AutoResumeStates into the initialization Process of an Artifact.
Tim Englich <tim.englich@intevation.de>
parents: 725
diff changeset
370 while (it.hasNext()){
d47901df0a14 Integrated the handling of AutoResumeStates into the initialization Process of an Artifact.
Tim Englich <tim.englich@intevation.de>
parents: 725
diff changeset
371 Transition transition = it.next();
d47901df0a14 Integrated the handling of AutoResumeStates into the initialization Process of an Artifact.
Tim Englich <tim.englich@intevation.de>
parents: 725
diff changeset
372 if (transition.getFrom().equals(from)){
d47901df0a14 Integrated the handling of AutoResumeStates into the initialization Process of an Artifact.
Tim Englich <tim.englich@intevation.de>
parents: 725
diff changeset
373 if (transition.isValid(current)){
d47901df0a14 Integrated the handling of AutoResumeStates into the initialization Process of an Artifact.
Tim Englich <tim.englich@intevation.de>
parents: 725
diff changeset
374 return this.states.get(transition.getTo());
d47901df0a14 Integrated the handling of AutoResumeStates into the initialization Process of an Artifact.
Tim Englich <tim.englich@intevation.de>
parents: 725
diff changeset
375 }
d47901df0a14 Integrated the handling of AutoResumeStates into the initialization Process of an Artifact.
Tim Englich <tim.englich@intevation.de>
parents: 725
diff changeset
376 }
d47901df0a14 Integrated the handling of AutoResumeStates into the initialization Process of an Artifact.
Tim Englich <tim.englich@intevation.de>
parents: 725
diff changeset
377 }
d47901df0a14 Integrated the handling of AutoResumeStates into the initialization Process of an Artifact.
Tim Englich <tim.englich@intevation.de>
parents: 725
diff changeset
378 return null;
d47901df0a14 Integrated the handling of AutoResumeStates into the initialization Process of an Artifact.
Tim Englich <tim.englich@intevation.de>
parents: 725
diff changeset
379 }
58
f31343d80d53 Artifact.advance initial implementiert
Tim Englich <tim.englich@intevation.de>
parents: 57
diff changeset
380
815
22c18083225e Removed compiler warnings while JavaDoc generation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 803
diff changeset
381
335
e964a3d8f7bc Some Refactoring work done.
Tim Englich <tim.englich@intevation.de>
parents: 325
diff changeset
382 protected String readStateName(Document document) {
464
70df44021a9f Next step of changing the concept how to use the user interface. Adapted namespaces and replaced FISArtifact with a ProxyArtifact.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 461
diff changeset
383 String returnValue = XMLUtils.xpathString(
70df44021a9f Next step of changing the concept how to use the user interface. Adapted namespaces and replaced FISArtifact with a ProxyArtifact.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 461
diff changeset
384 document, XPATH_TARGET_NAME, ArtifactNamespaceContext.INSTANCE);
58
f31343d80d53 Artifact.advance initial implementiert
Tim Englich <tim.englich@intevation.de>
parents: 57
diff changeset
385 return returnValue;
f31343d80d53 Artifact.advance initial implementiert
Tim Englich <tim.englich@intevation.de>
parents: 57
diff changeset
386 }
f31343d80d53 Artifact.advance initial implementiert
Tim Englich <tim.englich@intevation.de>
parents: 57
diff changeset
387
815
22c18083225e Removed compiler warnings while JavaDoc generation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 803
diff changeset
388
171
7fb9441dd8af Format Code to max 80 Chars per Row and Cleanup
Tim Englich <tim.englich@intevation.de>
parents: 117
diff changeset
389 protected Node getConfigurationFragment(Document document) {
52
4d6a82b96059 First Implementation of the GNV-Artifacts
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
390 log.debug("GNVArtifactBase.getConfigurationFragment");
171
7fb9441dd8af Format Code to max 80 Chars per Row and Cleanup
Tim Englich <tim.englich@intevation.de>
parents: 117
diff changeset
391 String xpathQuery = XPATH_ARTIFACT_CONFIGURATION.replaceAll(
7fb9441dd8af Format Code to max 80 Chars per Row and Cleanup
Tim Englich <tim.englich@intevation.de>
parents: 117
diff changeset
392 XPATH_IDENTIFIER_REPLACE, this.name);
778
9a828e5a2390 Removed trailing whitespace
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 735
diff changeset
393
204
734ac082c8d1 Split the Configuration File in several small Documents to speed up the Artifactinstantiation and also make the administration of the Artifactdatabase easier. issue40 and issue59
Tim Englich <tim.englich@intevation.de>
parents: 194
diff changeset
394 Element configurationNode = (Element)Config.getNodeXPath(document, xpathQuery);
778
9a828e5a2390 Removed trailing whitespace
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 735
diff changeset
395
204
734ac082c8d1 Split the Configuration File in several small Documents to speed up the Artifactinstantiation and also make the administration of the Artifactdatabase easier. issue40 and issue59
Tim Englich <tim.englich@intevation.de>
parents: 194
diff changeset
396 String link = configurationNode.getAttribute("xlink:href");
734ac082c8d1 Split the Configuration File in several small Documents to speed up the Artifactinstantiation and also make the administration of the Artifactdatabase easier. issue40 and issue59
Tim Englich <tim.englich@intevation.de>
parents: 194
diff changeset
397 if (link != null ){
734ac082c8d1 Split the Configuration File in several small Documents to speed up the Artifactinstantiation and also make the administration of the Artifactdatabase easier. issue40 and issue59
Tim Englich <tim.englich@intevation.de>
parents: 194
diff changeset
398 String absolutFileName = Config.replaceConfigDir(link);
217
3dcd2b0b456e Added configurable TimeGap Support to the TimeSeries-Chart-Generation. issu45
Tim Englich <tim.englich@intevation.de>
parents: 208
diff changeset
399 configurationNode = (Element)new ArtifactXMLUtilities().readConfiguration(absolutFileName);
204
734ac082c8d1 Split the Configuration File in several small Documents to speed up the Artifactinstantiation and also make the administration of the Artifactdatabase easier. issue40 and issue59
Tim Englich <tim.englich@intevation.de>
parents: 194
diff changeset
400 }
778
9a828e5a2390 Removed trailing whitespace
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 735
diff changeset
401
204
734ac082c8d1 Split the Configuration File in several small Documents to speed up the Artifactinstantiation and also make the administration of the Artifactdatabase easier. issue40 and issue59
Tim Englich <tim.englich@intevation.de>
parents: 194
diff changeset
402 return configurationNode;
734ac082c8d1 Split the Configuration File in several small Documents to speed up the Artifactinstantiation and also make the administration of the Artifactdatabase easier. issue40 and issue59
Tim Englich <tim.englich@intevation.de>
parents: 194
diff changeset
403 }
171
7fb9441dd8af Format Code to max 80 Chars per Row and Cleanup
Tim Englich <tim.englich@intevation.de>
parents: 117
diff changeset
404
52
4d6a82b96059 First Implementation of the GNV-Artifacts
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
405 /**
789
0dc115cbef0d Added javadoc for artifact package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 780
diff changeset
406 * Insert new data included in <code>target</code> into the current state.
0dc115cbef0d Added javadoc for artifact package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 780
diff changeset
407 * @param target XML document which contains data.
0dc115cbef0d Added javadoc for artifact package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 780
diff changeset
408 * @param context CallContext
0dc115cbef0d Added javadoc for artifact package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 780
diff changeset
409 * @return XML document with success or error message.
57
f01592cd6419 Funktionalität Feed initial bereitgestellt.
Tim Englich <tim.englich@intevation.de>
parents: 56
diff changeset
410 */
f01592cd6419 Funktionalität Feed initial bereitgestellt.
Tim Englich <tim.englich@intevation.de>
parents: 56
diff changeset
411 @Override
73
504570de21fd Refactoring Work depending on Infrastructurchanges in the Artifact-Module
Tim Englich <tim.englich@intevation.de>
parents: 71
diff changeset
412 public Document feed(Document target, CallContext context) {
89
cde042a0a395 Successreporting added
Tim Englich <tim.englich@intevation.de>
parents: 88
diff changeset
413 log.debug("GNVArtifactBase.feed");
725
dde7f51dbe1e Improved exception handling while feeding an artifact.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 652
diff changeset
414 RessourceFactory fac = RessourceFactory.getInstance();
dde7f51dbe1e Improved exception handling while feeding an artifact.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 652
diff changeset
415 Locale[] locales = fac.getLocales();
dde7f51dbe1e Improved exception handling while feeding an artifact.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 652
diff changeset
416 Locale locale = context.getMeta().getPreferredLocale(locales);
dde7f51dbe1e Improved exception handling while feeding an artifact.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 652
diff changeset
417 Document result = XMLUtils.newDocument();
dde7f51dbe1e Improved exception handling while feeding an artifact.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 652
diff changeset
418
57
f01592cd6419 Funktionalität Feed initial bereitgestellt.
Tim Englich <tim.englich@intevation.de>
parents: 56
diff changeset
419 try {
171
7fb9441dd8af Format Code to max 80 Chars per Row and Cleanup
Tim Englich <tim.englich@intevation.de>
parents: 117
diff changeset
420 if (this.current != null) {
464
70df44021a9f Next step of changing the concept how to use the user interface. Adapted namespaces and replaced FISArtifact with a ProxyArtifact.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 461
diff changeset
421 Collection<InputData> inputData = this.parseInputData(
70df44021a9f Next step of changing the concept how to use the user interface. Adapted namespaces and replaced FISArtifact with a ProxyArtifact.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 461
diff changeset
422 target,
70df44021a9f Next step of changing the concept how to use the user interface. Adapted namespaces and replaced FISArtifact with a ProxyArtifact.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 461
diff changeset
423 XPATH_INPUT_DATA);
70df44021a9f Next step of changing the concept how to use the user interface. Adapted namespaces and replaced FISArtifact with a ProxyArtifact.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 461
diff changeset
424
194
00c1a931b9c3 Catch Exception that the Calling Program could not put no InputData
Tim Englich <tim.englich@intevation.de>
parents: 171
diff changeset
425 if (!inputData.isEmpty()){
725
dde7f51dbe1e Improved exception handling while feeding an artifact.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 652
diff changeset
426 result = current.feed(context, inputData, super.identifier);
194
00c1a931b9c3 Catch Exception that the Calling Program could not put no InputData
Tim Englich <tim.englich@intevation.de>
parents: 171
diff changeset
427 }else{
725
dde7f51dbe1e Improved exception handling while feeding an artifact.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 652
diff changeset
428 //String msg = "No Inputdata given. Please select at least one Entry.";
dde7f51dbe1e Improved exception handling while feeding an artifact.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 652
diff changeset
429 String msg = fac.getRessource(
dde7f51dbe1e Improved exception handling while feeding an artifact.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 652
diff changeset
430 locale,
dde7f51dbe1e Improved exception handling while feeding an artifact.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 652
diff changeset
431 EXCEPTION_NO_INPUT,
dde7f51dbe1e Improved exception handling while feeding an artifact.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 652
diff changeset
432 EXCEPTION_NO_INPUT);
dde7f51dbe1e Improved exception handling while feeding an artifact.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 652
diff changeset
433
194
00c1a931b9c3 Catch Exception that the Calling Program could not put no InputData
Tim Englich <tim.englich@intevation.de>
parents: 171
diff changeset
434 log.warn(msg);
735
d47901df0a14 Integrated the handling of AutoResumeStates into the initialization Process of an Artifact.
Tim Englich <tim.englich@intevation.de>
parents: 725
diff changeset
435 result = ArtifactXMLUtilities.createInputExceptionReport(
725
dde7f51dbe1e Improved exception handling while feeding an artifact.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 652
diff changeset
436 msg,
dde7f51dbe1e Improved exception handling while feeding an artifact.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 652
diff changeset
437 XMLUtils.newDocument());
194
00c1a931b9c3 Catch Exception that the Calling Program could not put no InputData
Tim Englich <tim.englich@intevation.de>
parents: 171
diff changeset
438 }
171
7fb9441dd8af Format Code to max 80 Chars per Row and Cleanup
Tim Englich <tim.englich@intevation.de>
parents: 117
diff changeset
439 } else {
335
e964a3d8f7bc Some Refactoring work done.
Tim Englich <tim.englich@intevation.de>
parents: 325
diff changeset
440 String msg = "No State instantiated";
89
cde042a0a395 Successreporting added
Tim Englich <tim.englich@intevation.de>
parents: 88
diff changeset
441 log.warn(msg);
735
d47901df0a14 Integrated the handling of AutoResumeStates into the initialization Process of an Artifact.
Tim Englich <tim.englich@intevation.de>
parents: 725
diff changeset
442 result = ArtifactXMLUtilities.createExceptionReport(msg,
171
7fb9441dd8af Format Code to max 80 Chars per Row and Cleanup
Tim Englich <tim.englich@intevation.de>
parents: 117
diff changeset
443 XMLUtils.newDocument());
57
f01592cd6419 Funktionalität Feed initial bereitgestellt.
Tim Englich <tim.englich@intevation.de>
parents: 56
diff changeset
444 }
335
e964a3d8f7bc Some Refactoring work done.
Tim Englich <tim.englich@intevation.de>
parents: 325
diff changeset
445 } catch (StateException e) {
171
7fb9441dd8af Format Code to max 80 Chars per Row and Cleanup
Tim Englich <tim.englich@intevation.de>
parents: 117
diff changeset
446 log.error(e, e);
735
d47901df0a14 Integrated the handling of AutoResumeStates into the initialization Process of an Artifact.
Tim Englich <tim.englich@intevation.de>
parents: 725
diff changeset
447 result = ArtifactXMLUtilities.createExceptionReport(e
171
7fb9441dd8af Format Code to max 80 Chars per Row and Cleanup
Tim Englich <tim.englich@intevation.de>
parents: 117
diff changeset
448 .getLocalizedMessage(), XMLUtils.newDocument());
57
f01592cd6419 Funktionalität Feed initial bereitgestellt.
Tim Englich <tim.englich@intevation.de>
parents: 56
diff changeset
449 }
f01592cd6419 Funktionalität Feed initial bereitgestellt.
Tim Englich <tim.englich@intevation.de>
parents: 56
diff changeset
450 return result;
f01592cd6419 Funktionalität Feed initial bereitgestellt.
Tim Englich <tim.englich@intevation.de>
parents: 56
diff changeset
451 }
171
7fb9441dd8af Format Code to max 80 Chars per Row and Cleanup
Tim Englich <tim.englich@intevation.de>
parents: 117
diff changeset
452
464
70df44021a9f Next step of changing the concept how to use the user interface. Adapted namespaces and replaced FISArtifact with a ProxyArtifact.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 461
diff changeset
453
70df44021a9f Next step of changing the concept how to use the user interface. Adapted namespaces and replaced FISArtifact with a ProxyArtifact.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 461
diff changeset
454 /**
789
0dc115cbef0d Added javadoc for artifact package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 780
diff changeset
455 * Describe the current artifact.
0dc115cbef0d Added javadoc for artifact package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 780
diff changeset
456 * @return The description of the current artifact.
464
70df44021a9f Next step of changing the concept how to use the user interface. Adapted namespaces and replaced FISArtifact with a ProxyArtifact.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 461
diff changeset
457 */
70df44021a9f Next step of changing the concept how to use the user interface. Adapted namespaces and replaced FISArtifact with a ProxyArtifact.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 461
diff changeset
458 @Override
70df44021a9f Next step of changing the concept how to use the user interface. Adapted namespaces and replaced FISArtifact with a ProxyArtifact.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 461
diff changeset
459 public Document describe(Document data, CallContext context) {
70df44021a9f Next step of changing the concept how to use the user interface. Adapted namespaces and replaced FISArtifact with a ProxyArtifact.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 461
diff changeset
460 log.debug("GNVArtifactBase.describe");
70df44021a9f Next step of changing the concept how to use the user interface. Adapted namespaces and replaced FISArtifact with a ProxyArtifact.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 461
diff changeset
461
70df44021a9f Next step of changing the concept how to use the user interface. Adapted namespaces and replaced FISArtifact with a ProxyArtifact.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 461
diff changeset
462 Document document = createDescibeOutput(
488
d265f5dc2979 Appended the selected fis to the describe document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 481
diff changeset
463 context,
464
70df44021a9f Next step of changing the concept how to use the user interface. Adapted namespaces and replaced FISArtifact with a ProxyArtifact.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 461
diff changeset
464 identifier,
70df44021a9f Next step of changing the concept how to use the user interface. Adapted namespaces and replaced FISArtifact with a ProxyArtifact.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 461
diff changeset
465 getIncludeUIFromDocument(data)
70df44021a9f Next step of changing the concept how to use the user interface. Adapted namespaces and replaced FISArtifact with a ProxyArtifact.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 461
diff changeset
466 );
70df44021a9f Next step of changing the concept how to use the user interface. Adapted namespaces and replaced FISArtifact with a ProxyArtifact.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 461
diff changeset
467
70df44021a9f Next step of changing the concept how to use the user interface. Adapted namespaces and replaced FISArtifact with a ProxyArtifact.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 461
diff changeset
468 return document;
70df44021a9f Next step of changing the concept how to use the user interface. Adapted namespaces and replaced FISArtifact with a ProxyArtifact.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 461
diff changeset
469 }
70df44021a9f Next step of changing the concept how to use the user interface. Adapted namespaces and replaced FISArtifact with a ProxyArtifact.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 461
diff changeset
470
57
f01592cd6419 Funktionalität Feed initial bereitgestellt.
Tim Englich <tim.englich@intevation.de>
parents: 56
diff changeset
471 /**
789
0dc115cbef0d Added javadoc for artifact package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 780
diff changeset
472 * Initialse this artifact and insert some data if <code>data</code>
0dc115cbef0d Added javadoc for artifact package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 780
diff changeset
473 * contains necessary information for this artifact.
52
4d6a82b96059 First Implementation of the GNV-Artifacts
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
474 */
4d6a82b96059 First Implementation of the GNV-Artifacts
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
475 @Override
778
9a828e5a2390 Removed trailing whitespace
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 735
diff changeset
476 public void setup(String identifier, ArtifactFactory factory,
594
5b9b74c08bbb Changed Method signatures because of Interfacemodifications in the Artifact-Module
Tim Englich <tim.englich@intevation.de>
parents: 513
diff changeset
477 Object context,Document data) {
52
4d6a82b96059 First Implementation of the GNV-Artifacts
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
478 log.debug("GNVArtifactBase.setup");
594
5b9b74c08bbb Changed Method signatures because of Interfacemodifications in the Artifact-Module
Tim Englich <tim.englich@intevation.de>
parents: 513
diff changeset
479 super.setup(identifier, factory, context, data);
171
7fb9441dd8af Format Code to max 80 Chars per Row and Cleanup
Tim Englich <tim.englich@intevation.de>
parents: 117
diff changeset
480
77
0e38f512f7e4 Some improvements an bugfixes done
Tim Englich <tim.englich@intevation.de>
parents: 73
diff changeset
481 Object localContext = context;
171
7fb9441dd8af Format Code to max 80 Chars per Row and Cleanup
Tim Englich <tim.englich@intevation.de>
parents: 117
diff changeset
482 if (context instanceof CallContext) {
7fb9441dd8af Format Code to max 80 Chars per Row and Cleanup
Tim Englich <tim.englich@intevation.de>
parents: 117
diff changeset
483 localContext = ((CallContext) context).globalContext();
7fb9441dd8af Format Code to max 80 Chars per Row and Cleanup
Tim Englich <tim.englich@intevation.de>
parents: 117
diff changeset
484
77
0e38f512f7e4 Some improvements an bugfixes done
Tim Englich <tim.englich@intevation.de>
parents: 73
diff changeset
485 }
171
7fb9441dd8af Format Code to max 80 Chars per Row and Cleanup
Tim Englich <tim.englich@intevation.de>
parents: 117
diff changeset
486
7fb9441dd8af Format Code to max 80 Chars per Row and Cleanup
Tim Englich <tim.englich@intevation.de>
parents: 117
diff changeset
487 if (localContext instanceof GNVArtifactContext) {
7fb9441dd8af Format Code to max 80 Chars per Row and Cleanup
Tim Englich <tim.englich@intevation.de>
parents: 117
diff changeset
488 GNVArtifactContext gnvContext = (GNVArtifactContext) localContext;
52
4d6a82b96059 First Implementation of the GNV-Artifacts
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
489 Document doc = gnvContext.getConfig();
4d6a82b96059 First Implementation of the GNV-Artifacts
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
490 Node artifactNode = this.getConfigurationFragment(doc);
778
9a828e5a2390 Removed trailing whitespace
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 735
diff changeset
491
335
e964a3d8f7bc Some Refactoring work done.
Tim Englich <tim.englich@intevation.de>
parents: 325
diff changeset
492 NodeList stateList = Config.getNodeSetXPath(artifactNode,
e964a3d8f7bc Some Refactoring work done.
Tim Englich <tim.englich@intevation.de>
parents: 325
diff changeset
493 "states/state");
e964a3d8f7bc Some Refactoring work done.
Tim Englich <tim.englich@intevation.de>
parents: 325
diff changeset
494 this.states = new HashMap<String, State>(stateList
171
7fb9441dd8af Format Code to max 80 Chars per Row and Cleanup
Tim Englich <tim.englich@intevation.de>
parents: 117
diff changeset
495 .getLength());
335
e964a3d8f7bc Some Refactoring work done.
Tim Englich <tim.englich@intevation.de>
parents: 325
diff changeset
496 for (int i = 0; i < stateList.getLength(); i++) {
e964a3d8f7bc Some Refactoring work done.
Tim Englich <tim.englich@intevation.de>
parents: 325
diff changeset
497 State tmpState = StateFactory.getInstance()
e964a3d8f7bc Some Refactoring work done.
Tim Englich <tim.englich@intevation.de>
parents: 325
diff changeset
498 .createState(stateList.item(i));
e964a3d8f7bc Some Refactoring work done.
Tim Englich <tim.englich@intevation.de>
parents: 325
diff changeset
499 if (tmpState != null) {
470
b7bb66440cc8 Added mechanism for advancing to previous states.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 464
diff changeset
500 log.debug("Initiate new state: " + tmpState.getID());
335
e964a3d8f7bc Some Refactoring work done.
Tim Englich <tim.englich@intevation.de>
parents: 325
diff changeset
501 this.states.put(tmpState.getID(), tmpState);
171
7fb9441dd8af Format Code to max 80 Chars per Row and Cleanup
Tim Englich <tim.englich@intevation.de>
parents: 117
diff changeset
502 if (this.current == null) {
335
e964a3d8f7bc Some Refactoring work done.
Tim Englich <tim.englich@intevation.de>
parents: 325
diff changeset
503 this.current = tmpState;
52
4d6a82b96059 First Implementation of the GNV-Artifacts
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
504 }
4d6a82b96059 First Implementation of the GNV-Artifacts
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
505 }
4d6a82b96059 First Implementation of the GNV-Artifacts
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
506 }
778
9a828e5a2390 Removed trailing whitespace
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 735
diff changeset
507
337
a887074460b6 Last Step of the Refactoring Work on the Transition Model.
Tim Englich <tim.englich@intevation.de>
parents: 335
diff changeset
508 NodeList transitionList = Config.getNodeSetXPath(artifactNode,
a887074460b6 Last Step of the Refactoring Work on the Transition Model.
Tim Englich <tim.englich@intevation.de>
parents: 335
diff changeset
509 "states/transition");
a887074460b6 Last Step of the Refactoring Work on the Transition Model.
Tim Englich <tim.englich@intevation.de>
parents: 335
diff changeset
510 this.transitions = new ArrayList<Transition>(transitionList.getLength());
a887074460b6 Last Step of the Refactoring Work on the Transition Model.
Tim Englich <tim.englich@intevation.de>
parents: 335
diff changeset
511 for (int i = 0; i < transitionList.getLength(); i++) {
a887074460b6 Last Step of the Refactoring Work on the Transition Model.
Tim Englich <tim.englich@intevation.de>
parents: 335
diff changeset
512 Transition tmpTransition = TransitionFactory.getInstance()
a887074460b6 Last Step of the Refactoring Work on the Transition Model.
Tim Englich <tim.englich@intevation.de>
parents: 335
diff changeset
513 .createTransition(transitionList.item(i));
a887074460b6 Last Step of the Refactoring Work on the Transition Model.
Tim Englich <tim.englich@intevation.de>
parents: 335
diff changeset
514 if (tmpTransition != null) {
a887074460b6 Last Step of the Refactoring Work on the Transition Model.
Tim Englich <tim.englich@intevation.de>
parents: 335
diff changeset
515 this.transitions.add(tmpTransition);
a887074460b6 Last Step of the Refactoring Work on the Transition Model.
Tim Englich <tim.englich@intevation.de>
parents: 335
diff changeset
516 }
a887074460b6 Last Step of the Refactoring Work on the Transition Model.
Tim Englich <tim.englich@intevation.de>
parents: 335
diff changeset
517 }
171
7fb9441dd8af Format Code to max 80 Chars per Row and Cleanup
Tim Englich <tim.englich@intevation.de>
parents: 117
diff changeset
518
52
4d6a82b96059 First Implementation of the GNV-Artifacts
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
519 }
4d6a82b96059 First Implementation of the GNV-Artifacts
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
520 }
171
7fb9441dd8af Format Code to max 80 Chars per Row and Cleanup
Tim Englich <tim.englich@intevation.de>
parents: 117
diff changeset
521
488
d265f5dc2979 Appended the selected fis to the describe document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 481
diff changeset
522
789
0dc115cbef0d Added javadoc for artifact package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 780
diff changeset
523 /**
0dc115cbef0d Added javadoc for artifact package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 780
diff changeset
524 * Create the xml document returned in {@link #describe(org.w3c.dom.Document,
0dc115cbef0d Added javadoc for artifact package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 780
diff changeset
525 * de.intevation.artifacts.CallContext)}
0dc115cbef0d Added javadoc for artifact package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 780
diff changeset
526 */
488
d265f5dc2979 Appended the selected fis to the describe document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 481
diff changeset
527 protected Document createDescibeOutput(
d265f5dc2979 Appended the selected fis to the describe document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 481
diff changeset
528 CallContext context,
d265f5dc2979 Appended the selected fis to the describe document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 481
diff changeset
529 String uuid,
d265f5dc2979 Appended the selected fis to the describe document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 481
diff changeset
530 boolean incudeUI
d265f5dc2979 Appended the selected fis to the describe document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 481
diff changeset
531 ) {
54
09b4bf848c7b 2009-09-08 Tim Englich <tim.englich@intevation.de>
Tim Englich <tim.englich@intevation.de>
parents: 52
diff changeset
532 log.debug("GNVArtifactBase.createDescibeOutput");
71
e4ecf3188bdf Integrated FIS-Artifact
Tim Englich <tim.englich@intevation.de>
parents: 70
diff changeset
533 Document document = XMLUtils.newDocument();
488
d265f5dc2979 Appended the selected fis to the describe document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 481
diff changeset
534
464
70df44021a9f Next step of changing the concept how to use the user interface. Adapted namespaces and replaced FISArtifact with a ProxyArtifact.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 461
diff changeset
535 XMLUtils.ElementCreator creator = new XMLUtils.ElementCreator(
70df44021a9f Next step of changing the concept how to use the user interface. Adapted namespaces and replaced FISArtifact with a ProxyArtifact.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 461
diff changeset
536 document,
70df44021a9f Next step of changing the concept how to use the user interface. Adapted namespaces and replaced FISArtifact with a ProxyArtifact.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 461
diff changeset
537 ArtifactNamespaceContext.NAMESPACE_URI,
70df44021a9f Next step of changing the concept how to use the user interface. Adapted namespaces and replaced FISArtifact with a ProxyArtifact.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 461
diff changeset
538 ArtifactNamespaceContext.NAMESPACE_PREFIX
70df44021a9f Next step of changing the concept how to use the user interface. Adapted namespaces and replaced FISArtifact with a ProxyArtifact.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 461
diff changeset
539 );
470
b7bb66440cc8 Added mechanism for advancing to previous states.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 464
diff changeset
540 Element rootNode = this.createRootNode(creator, document);
464
70df44021a9f Next step of changing the concept how to use the user interface. Adapted namespaces and replaced FISArtifact with a ProxyArtifact.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 461
diff changeset
541 this.createHeader(creator, rootNode, document, "describe");
70df44021a9f Next step of changing the concept how to use the user interface. Adapted namespaces and replaced FISArtifact with a ProxyArtifact.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 461
diff changeset
542 this.createOutputs(creator, rootNode, document);
70df44021a9f Next step of changing the concept how to use the user interface. Adapted namespaces and replaced FISArtifact with a ProxyArtifact.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 461
diff changeset
543 this.createCurrentState(creator, rootNode, document);
70df44021a9f Next step of changing the concept how to use the user interface. Adapted namespaces and replaced FISArtifact with a ProxyArtifact.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 461
diff changeset
544 this.createReachableStates(creator, rootNode, document);
70df44021a9f Next step of changing the concept how to use the user interface. Adapted namespaces and replaced FISArtifact with a ProxyArtifact.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 461
diff changeset
545 this.createModel(creator, rootNode, document);
222
3e82b4f1c455 Removed some Compilation-Errors according to API-Changes in the ArtifactDatabase.
Tim Englich <tim.englich@intevation.de>
parents: 220
diff changeset
546 if (incudeUI){
488
d265f5dc2979 Appended the selected fis to the describe document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 481
diff changeset
547 this.createUserInterface(creator, rootNode, document, context, uuid);
222
3e82b4f1c455 Removed some Compilation-Errors according to API-Changes in the ArtifactDatabase.
Tim Englich <tim.englich@intevation.de>
parents: 220
diff changeset
548 }
464
70df44021a9f Next step of changing the concept how to use the user interface. Adapted namespaces and replaced FISArtifact with a ProxyArtifact.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 461
diff changeset
549
54
09b4bf848c7b 2009-09-08 Tim Englich <tim.englich@intevation.de>
Tim Englich <tim.englich@intevation.de>
parents: 52
diff changeset
550 return document;
09b4bf848c7b 2009-09-08 Tim Englich <tim.englich@intevation.de>
Tim Englich <tim.englich@intevation.de>
parents: 52
diff changeset
551 }
778
9a828e5a2390 Removed trailing whitespace
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 735
diff changeset
552
789
0dc115cbef0d Added javadoc for artifact package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 780
diff changeset
553 /**
0dc115cbef0d Added javadoc for artifact package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 780
diff changeset
554 * Determine the wish to append the user interface description to the
0dc115cbef0d Added javadoc for artifact package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 780
diff changeset
555 * describe document.
803
feae2f9d6c6f Removed trailing whitespace.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 789
diff changeset
556 *
789
0dc115cbef0d Added javadoc for artifact package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 780
diff changeset
557 * @return True, if the user interface description should be appended,
0dc115cbef0d Added javadoc for artifact package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 780
diff changeset
558 * otherwise false.
0dc115cbef0d Added javadoc for artifact package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 780
diff changeset
559 */
222
3e82b4f1c455 Removed some Compilation-Errors according to API-Changes in the ArtifactDatabase.
Tim Englich <tim.englich@intevation.de>
parents: 220
diff changeset
560 protected boolean getIncludeUIFromDocument(Document document){
464
70df44021a9f Next step of changing the concept how to use the user interface. Adapted namespaces and replaced FISArtifact with a ProxyArtifact.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 461
diff changeset
561 String value = XMLUtils.xpathString(
70df44021a9f Next step of changing the concept how to use the user interface. Adapted namespaces and replaced FISArtifact with a ProxyArtifact.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 461
diff changeset
562 document, XPATH_INCLUDE_UI, ArtifactNamespaceContext.INSTANCE);
70df44021a9f Next step of changing the concept how to use the user interface. Adapted namespaces and replaced FISArtifact with a ProxyArtifact.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 461
diff changeset
563
222
3e82b4f1c455 Removed some Compilation-Errors according to API-Changes in the ArtifactDatabase.
Tim Englich <tim.englich@intevation.de>
parents: 220
diff changeset
564 boolean includeUI = false;
3e82b4f1c455 Removed some Compilation-Errors according to API-Changes in the ArtifactDatabase.
Tim Englich <tim.englich@intevation.de>
parents: 220
diff changeset
565 if (value != null){
3e82b4f1c455 Removed some Compilation-Errors according to API-Changes in the ArtifactDatabase.
Tim Englich <tim.englich@intevation.de>
parents: 220
diff changeset
566 includeUI = Boolean.parseBoolean(value);
3e82b4f1c455 Removed some Compilation-Errors according to API-Changes in the ArtifactDatabase.
Tim Englich <tim.englich@intevation.de>
parents: 220
diff changeset
567 }
3e82b4f1c455 Removed some Compilation-Errors according to API-Changes in the ArtifactDatabase.
Tim Englich <tim.englich@intevation.de>
parents: 220
diff changeset
568 return includeUI;
3e82b4f1c455 Removed some Compilation-Errors according to API-Changes in the ArtifactDatabase.
Tim Englich <tim.englich@intevation.de>
parents: 220
diff changeset
569 }
171
7fb9441dd8af Format Code to max 80 Chars per Row and Cleanup
Tim Englich <tim.englich@intevation.de>
parents: 117
diff changeset
570
815
22c18083225e Removed compiler warnings while JavaDoc generation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 803
diff changeset
571
470
b7bb66440cc8 Added mechanism for advancing to previous states.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 464
diff changeset
572 protected Element createRootNode(
b7bb66440cc8 Added mechanism for advancing to previous states.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 464
diff changeset
573 XMLUtils.ElementCreator creator,
b7bb66440cc8 Added mechanism for advancing to previous states.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 464
diff changeset
574 Document document
b7bb66440cc8 Added mechanism for advancing to previous states.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 464
diff changeset
575 ) {
b7bb66440cc8 Added mechanism for advancing to previous states.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 464
diff changeset
576 Element rootNode = creator.create("result");
54
09b4bf848c7b 2009-09-08 Tim Englich <tim.englich@intevation.de>
Tim Englich <tim.englich@intevation.de>
parents: 52
diff changeset
577 document.appendChild(rootNode);
09b4bf848c7b 2009-09-08 Tim Englich <tim.englich@intevation.de>
Tim Englich <tim.englich@intevation.de>
parents: 52
diff changeset
578 return rootNode;
09b4bf848c7b 2009-09-08 Tim Englich <tim.englich@intevation.de>
Tim Englich <tim.englich@intevation.de>
parents: 52
diff changeset
579 }
171
7fb9441dd8af Format Code to max 80 Chars per Row and Cleanup
Tim Englich <tim.englich@intevation.de>
parents: 117
diff changeset
580
789
0dc115cbef0d Added javadoc for artifact package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 780
diff changeset
581 /**
0dc115cbef0d Added javadoc for artifact package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 780
diff changeset
582 * Append information about the current artifact (uuid, hash).
0dc115cbef0d Added javadoc for artifact package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 780
diff changeset
583 */
464
70df44021a9f Next step of changing the concept how to use the user interface. Adapted namespaces and replaced FISArtifact with a ProxyArtifact.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 461
diff changeset
584 protected void createHeader(
70df44021a9f Next step of changing the concept how to use the user interface. Adapted namespaces and replaced FISArtifact with a ProxyArtifact.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 461
diff changeset
585 XMLUtils.ElementCreator creator,
70df44021a9f Next step of changing the concept how to use the user interface. Adapted namespaces and replaced FISArtifact with a ProxyArtifact.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 461
diff changeset
586 Element parent,
70df44021a9f Next step of changing the concept how to use the user interface. Adapted namespaces and replaced FISArtifact with a ProxyArtifact.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 461
diff changeset
587 Document document,
70df44021a9f Next step of changing the concept how to use the user interface. Adapted namespaces and replaced FISArtifact with a ProxyArtifact.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 461
diff changeset
588 String documentType
478
0e0c64c821dc Added support to step back to the point for choosing a product.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 475
diff changeset
589 ) {
464
70df44021a9f Next step of changing the concept how to use the user interface. Adapted namespaces and replaced FISArtifact with a ProxyArtifact.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 461
diff changeset
590 Element typeNode = creator.create("type");
70df44021a9f Next step of changing the concept how to use the user interface. Adapted namespaces and replaced FISArtifact with a ProxyArtifact.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 461
diff changeset
591 creator.addAttr(typeNode, "name", documentType);
54
09b4bf848c7b 2009-09-08 Tim Englich <tim.englich@intevation.de>
Tim Englich <tim.englich@intevation.de>
parents: 52
diff changeset
592 parent.appendChild(typeNode);
171
7fb9441dd8af Format Code to max 80 Chars per Row and Cleanup
Tim Englich <tim.englich@intevation.de>
parents: 117
diff changeset
593
464
70df44021a9f Next step of changing the concept how to use the user interface. Adapted namespaces and replaced FISArtifact with a ProxyArtifact.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 461
diff changeset
594 Element uuidNode = creator.create("uuid");
70df44021a9f Next step of changing the concept how to use the user interface. Adapted namespaces and replaced FISArtifact with a ProxyArtifact.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 461
diff changeset
595 creator.addAttr(uuidNode, "value", super.identifier);
54
09b4bf848c7b 2009-09-08 Tim Englich <tim.englich@intevation.de>
Tim Englich <tim.englich@intevation.de>
parents: 52
diff changeset
596 parent.appendChild(uuidNode);
171
7fb9441dd8af Format Code to max 80 Chars per Row and Cleanup
Tim Englich <tim.englich@intevation.de>
parents: 117
diff changeset
597
464
70df44021a9f Next step of changing the concept how to use the user interface. Adapted namespaces and replaced FISArtifact with a ProxyArtifact.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 461
diff changeset
598 Element hashNode = creator.create("hash");
70df44021a9f Next step of changing the concept how to use the user interface. Adapted namespaces and replaced FISArtifact with a ProxyArtifact.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 461
diff changeset
599 creator.addAttr(hashNode, "value", this.hash());
54
09b4bf848c7b 2009-09-08 Tim Englich <tim.englich@intevation.de>
Tim Englich <tim.englich@intevation.de>
parents: 52
diff changeset
600 parent.appendChild(hashNode);
89
cde042a0a395 Successreporting added
Tim Englich <tim.englich@intevation.de>
parents: 88
diff changeset
601 }
54
09b4bf848c7b 2009-09-08 Tim Englich <tim.englich@intevation.de>
Tim Englich <tim.englich@intevation.de>
parents: 52
diff changeset
602
789
0dc115cbef0d Added javadoc for artifact package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 780
diff changeset
603 /**
0dc115cbef0d Added javadoc for artifact package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 780
diff changeset
604 * Create the fis select box.
0dc115cbef0d Added javadoc for artifact package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 780
diff changeset
605 */
464
70df44021a9f Next step of changing the concept how to use the user interface. Adapted namespaces and replaced FISArtifact with a ProxyArtifact.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 461
diff changeset
606 protected Element createSelectBox(
478
0e0c64c821dc Added support to step back to the point for choosing a product.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 475
diff changeset
607 XMLUtils.ElementCreator artCreator,
464
70df44021a9f Next step of changing the concept how to use the user interface. Adapted namespaces and replaced FISArtifact with a ProxyArtifact.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 461
diff changeset
608 XMLUtils.ElementCreator creator,
70df44021a9f Next step of changing the concept how to use the user interface. Adapted namespaces and replaced FISArtifact with a ProxyArtifact.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 461
diff changeset
609 Document document,
70df44021a9f Next step of changing the concept how to use the user interface. Adapted namespaces and replaced FISArtifact with a ProxyArtifact.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 461
diff changeset
610 CallContext context
70df44021a9f Next step of changing the concept how to use the user interface. Adapted namespaces and replaced FISArtifact with a ProxyArtifact.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 461
diff changeset
611 ) {
70df44021a9f Next step of changing the concept how to use the user interface. Adapted namespaces and replaced FISArtifact with a ProxyArtifact.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 461
diff changeset
612 RessourceFactory resource = RessourceFactory.getInstance();
70df44021a9f Next step of changing the concept how to use the user interface. Adapted namespaces and replaced FISArtifact with a ProxyArtifact.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 461
diff changeset
613 CallMeta callMeta = (CallMeta) context.getMeta();
478
0e0c64c821dc Added support to step back to the point for choosing a product.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 475
diff changeset
614 String productName = product.getName();
464
70df44021a9f Next step of changing the concept how to use the user interface. Adapted namespaces and replaced FISArtifact with a ProxyArtifact.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 461
diff changeset
615
70df44021a9f Next step of changing the concept how to use the user interface. Adapted namespaces and replaced FISArtifact with a ProxyArtifact.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 461
diff changeset
616 Element selectNode = creator.create("select1");
70df44021a9f Next step of changing the concept how to use the user interface. Adapted namespaces and replaced FISArtifact with a ProxyArtifact.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 461
diff changeset
617 creator.addAttr(selectNode, "ref", "product");
478
0e0c64c821dc Added support to step back to the point for choosing a product.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 475
diff changeset
618 artCreator.addAttr(selectNode, "state", INITIAL_STATE, true);
0e0c64c821dc Added support to step back to the point for choosing a product.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 475
diff changeset
619
464
70df44021a9f Next step of changing the concept how to use the user interface. Adapted namespaces and replaced FISArtifact with a ProxyArtifact.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 461
diff changeset
620
70df44021a9f Next step of changing the concept how to use the user interface. Adapted namespaces and replaced FISArtifact with a ProxyArtifact.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 461
diff changeset
621 Element labelNode = creator.create("label");
70df44021a9f Next step of changing the concept how to use the user interface. Adapted namespaces and replaced FISArtifact with a ProxyArtifact.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 461
diff changeset
622 labelNode.setTextContent(
70df44021a9f Next step of changing the concept how to use the user interface. Adapted namespaces and replaced FISArtifact with a ProxyArtifact.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 461
diff changeset
623 resource.getRessource(callMeta.getLanguages(), "product", "product")
70df44021a9f Next step of changing the concept how to use the user interface. Adapted namespaces and replaced FISArtifact with a ProxyArtifact.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 461
diff changeset
624 );
70df44021a9f Next step of changing the concept how to use the user interface. Adapted namespaces and replaced FISArtifact with a ProxyArtifact.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 461
diff changeset
625
70df44021a9f Next step of changing the concept how to use the user interface. Adapted namespaces and replaced FISArtifact with a ProxyArtifact.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 461
diff changeset
626 Element choicesNode = creator.create("choices");
70df44021a9f Next step of changing the concept how to use the user interface. Adapted namespaces and replaced FISArtifact with a ProxyArtifact.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 461
diff changeset
627
70df44021a9f Next step of changing the concept how to use the user interface. Adapted namespaces and replaced FISArtifact with a ProxyArtifact.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 461
diff changeset
628 Element itemNode = creator.create("item");
70df44021a9f Next step of changing the concept how to use the user interface. Adapted namespaces and replaced FISArtifact with a ProxyArtifact.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 461
diff changeset
629 creator.addAttr(itemNode, "selected", "true");
70df44021a9f Next step of changing the concept how to use the user interface. Adapted namespaces and replaced FISArtifact with a ProxyArtifact.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 461
diff changeset
630
70df44021a9f Next step of changing the concept how to use the user interface. Adapted namespaces and replaced FISArtifact with a ProxyArtifact.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 461
diff changeset
631 Element choiceLabel = creator.create("label");
70df44021a9f Next step of changing the concept how to use the user interface. Adapted namespaces and replaced FISArtifact with a ProxyArtifact.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 461
diff changeset
632 choiceLabel.setTextContent(resource.getRessource(
70df44021a9f Next step of changing the concept how to use the user interface. Adapted namespaces and replaced FISArtifact with a ProxyArtifact.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 461
diff changeset
633 callMeta.getLanguages(),
70df44021a9f Next step of changing the concept how to use the user interface. Adapted namespaces and replaced FISArtifact with a ProxyArtifact.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 461
diff changeset
634 productName,
70df44021a9f Next step of changing the concept how to use the user interface. Adapted namespaces and replaced FISArtifact with a ProxyArtifact.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 461
diff changeset
635 productName
70df44021a9f Next step of changing the concept how to use the user interface. Adapted namespaces and replaced FISArtifact with a ProxyArtifact.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 461
diff changeset
636 ));
70df44021a9f Next step of changing the concept how to use the user interface. Adapted namespaces and replaced FISArtifact with a ProxyArtifact.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 461
diff changeset
637
70df44021a9f Next step of changing the concept how to use the user interface. Adapted namespaces and replaced FISArtifact with a ProxyArtifact.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 461
diff changeset
638 Element choiceValue = creator.create("value");
70df44021a9f Next step of changing the concept how to use the user interface. Adapted namespaces and replaced FISArtifact with a ProxyArtifact.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 461
diff changeset
639 choiceValue.setTextContent(productName);
70df44021a9f Next step of changing the concept how to use the user interface. Adapted namespaces and replaced FISArtifact with a ProxyArtifact.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 461
diff changeset
640
70df44021a9f Next step of changing the concept how to use the user interface. Adapted namespaces and replaced FISArtifact with a ProxyArtifact.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 461
diff changeset
641 itemNode.appendChild(choiceLabel);
70df44021a9f Next step of changing the concept how to use the user interface. Adapted namespaces and replaced FISArtifact with a ProxyArtifact.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 461
diff changeset
642 itemNode.appendChild(choiceValue);
70df44021a9f Next step of changing the concept how to use the user interface. Adapted namespaces and replaced FISArtifact with a ProxyArtifact.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 461
diff changeset
643 choicesNode.appendChild(itemNode);
70df44021a9f Next step of changing the concept how to use the user interface. Adapted namespaces and replaced FISArtifact with a ProxyArtifact.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 461
diff changeset
644
70df44021a9f Next step of changing the concept how to use the user interface. Adapted namespaces and replaced FISArtifact with a ProxyArtifact.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 461
diff changeset
645 selectNode.appendChild(labelNode);
70df44021a9f Next step of changing the concept how to use the user interface. Adapted namespaces and replaced FISArtifact with a ProxyArtifact.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 461
diff changeset
646 selectNode.appendChild(choicesNode);
70df44021a9f Next step of changing the concept how to use the user interface. Adapted namespaces and replaced FISArtifact with a ProxyArtifact.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 461
diff changeset
647
70df44021a9f Next step of changing the concept how to use the user interface. Adapted namespaces and replaced FISArtifact with a ProxyArtifact.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 461
diff changeset
648 return selectNode;
70df44021a9f Next step of changing the concept how to use the user interface. Adapted namespaces and replaced FISArtifact with a ProxyArtifact.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 461
diff changeset
649 }
70df44021a9f Next step of changing the concept how to use the user interface. Adapted namespaces and replaced FISArtifact with a ProxyArtifact.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 461
diff changeset
650
488
d265f5dc2979 Appended the selected fis to the describe document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 481
diff changeset
651
789
0dc115cbef0d Added javadoc for artifact package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 780
diff changeset
652 /**
0dc115cbef0d Added javadoc for artifact package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 780
diff changeset
653 * Insert all reachable states into the describe document returned by
0dc115cbef0d Added javadoc for artifact package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 780
diff changeset
654 * {@link #describe(org.w3c.dom.Document, de.intevation.artifacts.CallContext)}
0dc115cbef0d Added javadoc for artifact package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 780
diff changeset
655 */
464
70df44021a9f Next step of changing the concept how to use the user interface. Adapted namespaces and replaced FISArtifact with a ProxyArtifact.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 461
diff changeset
656 protected void createReachableStates(
70df44021a9f Next step of changing the concept how to use the user interface. Adapted namespaces and replaced FISArtifact with a ProxyArtifact.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 461
diff changeset
657 XMLUtils.ElementCreator creator,
70df44021a9f Next step of changing the concept how to use the user interface. Adapted namespaces and replaced FISArtifact with a ProxyArtifact.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 461
diff changeset
658 Element parent,
70df44021a9f Next step of changing the concept how to use the user interface. Adapted namespaces and replaced FISArtifact with a ProxyArtifact.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 461
diff changeset
659 Document document
70df44021a9f Next step of changing the concept how to use the user interface. Adapted namespaces and replaced FISArtifact with a ProxyArtifact.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 461
diff changeset
660 ) {
70df44021a9f Next step of changing the concept how to use the user interface. Adapted namespaces and replaced FISArtifact with a ProxyArtifact.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 461
diff changeset
661 Element stateNode = creator.create("reachable-states");
171
7fb9441dd8af Format Code to max 80 Chars per Row and Cleanup
Tim Englich <tim.englich@intevation.de>
parents: 117
diff changeset
662 if (this.current != null) {
473
a6a33ef35809 Added support to step back to previous states. Add state names to xform nodes in describe document and append old targets to list of reachable targets.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 470
diff changeset
663
a6a33ef35809 Added support to step back to previous states. Add state names to xform nodes in describe document and append old targets to list of reachable targets.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 470
diff changeset
664 // add future states
337
a887074460b6 Last Step of the Refactoring Work on the Transition Model.
Tim Englich <tim.englich@intevation.de>
parents: 335
diff changeset
665 Iterator<Transition> transitions = this.transitions.iterator();
a887074460b6 Last Step of the Refactoring Work on the Transition Model.
Tim Englich <tim.englich@intevation.de>
parents: 335
diff changeset
666 while (transitions.hasNext()) {
a887074460b6 Last Step of the Refactoring Work on the Transition Model.
Tim Englich <tim.englich@intevation.de>
parents: 335
diff changeset
667 Transition tmpTransition = transitions.next();
614
e80e37b78302 Repaired broken step-back-history.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 607
diff changeset
668 if (tmpTransition.getFrom().equals(current.getID()) &&
337
a887074460b6 Last Step of the Refactoring Work on the Transition Model.
Tim Englich <tim.englich@intevation.de>
parents: 335
diff changeset
669 tmpTransition.isValid(this.current)){
464
70df44021a9f Next step of changing the concept how to use the user interface. Adapted namespaces and replaced FISArtifact with a ProxyArtifact.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 461
diff changeset
670 Element currentNode = creator.create("state");
70df44021a9f Next step of changing the concept how to use the user interface. Adapted namespaces and replaced FISArtifact with a ProxyArtifact.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 461
diff changeset
671 creator.addAttr(currentNode, "name", tmpTransition.getTo());
70df44021a9f Next step of changing the concept how to use the user interface. Adapted namespaces and replaced FISArtifact with a ProxyArtifact.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 461
diff changeset
672 creator.addAttr(
70df44021a9f Next step of changing the concept how to use the user interface. Adapted namespaces and replaced FISArtifact with a ProxyArtifact.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 461
diff changeset
673 currentNode,
70df44021a9f Next step of changing the concept how to use the user interface. Adapted namespaces and replaced FISArtifact with a ProxyArtifact.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 461
diff changeset
674 "description",
70df44021a9f Next step of changing the concept how to use the user interface. Adapted namespaces and replaced FISArtifact with a ProxyArtifact.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 461
diff changeset
675 this.states.get(tmpTransition.getTo()).getDescription());
337
a887074460b6 Last Step of the Refactoring Work on the Transition Model.
Tim Englich <tim.englich@intevation.de>
parents: 335
diff changeset
676 stateNode.appendChild(currentNode);
a887074460b6 Last Step of the Refactoring Work on the Transition Model.
Tim Englich <tim.englich@intevation.de>
parents: 335
diff changeset
677 }
54
09b4bf848c7b 2009-09-08 Tim Englich <tim.englich@intevation.de>
Tim Englich <tim.englich@intevation.de>
parents: 52
diff changeset
678 }
473
a6a33ef35809 Added support to step back to previous states. Add state names to xform nodes in describe document and append old targets to list of reachable targets.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 470
diff changeset
679
a6a33ef35809 Added support to step back to previous states. Add state names to xform nodes in describe document and append old targets to list of reachable targets.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 470
diff changeset
680
a6a33ef35809 Added support to step back to previous states. Add state names to xform nodes in describe document and append old targets to list of reachable targets.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 470
diff changeset
681 // add old states
a6a33ef35809 Added support to step back to previous states. Add state names to xform nodes in describe document and append old targets to list of reachable targets.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 470
diff changeset
682 appendOldReachableStates(creator, stateNode, current);
54
09b4bf848c7b 2009-09-08 Tim Englich <tim.englich@intevation.de>
Tim Englich <tim.englich@intevation.de>
parents: 52
diff changeset
683 }
09b4bf848c7b 2009-09-08 Tim Englich <tim.englich@intevation.de>
Tim Englich <tim.englich@intevation.de>
parents: 52
diff changeset
684 parent.appendChild(stateNode);
09b4bf848c7b 2009-09-08 Tim Englich <tim.englich@intevation.de>
Tim Englich <tim.englich@intevation.de>
parents: 52
diff changeset
685 }
171
7fb9441dd8af Format Code to max 80 Chars per Row and Cleanup
Tim Englich <tim.englich@intevation.de>
parents: 117
diff changeset
686
473
a6a33ef35809 Added support to step back to previous states. Add state names to xform nodes in describe document and append old targets to list of reachable targets.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 470
diff changeset
687
789
0dc115cbef0d Added javadoc for artifact package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 780
diff changeset
688 /**
0dc115cbef0d Added javadoc for artifact package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 780
diff changeset
689 * Insert states which have been visited by this artifact into the xml
0dc115cbef0d Added javadoc for artifact package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 780
diff changeset
690 * document returned by {@link #describe(org.w3c.dom.Document,
0dc115cbef0d Added javadoc for artifact package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 780
diff changeset
691 * de.intevation.artifacts.CallContext)}
0dc115cbef0d Added javadoc for artifact package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 780
diff changeset
692 */
473
a6a33ef35809 Added support to step back to previous states. Add state names to xform nodes in describe document and append old targets to list of reachable targets.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 470
diff changeset
693 protected void appendOldReachableStates(
a6a33ef35809 Added support to step back to previous states. Add state names to xform nodes in describe document and append old targets to list of reachable targets.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 470
diff changeset
694 XMLUtils.ElementCreator creator,
a6a33ef35809 Added support to step back to previous states. Add state names to xform nodes in describe document and append old targets to list of reachable targets.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 470
diff changeset
695 Element parent,
a6a33ef35809 Added support to step back to previous states. Add state names to xform nodes in describe document and append old targets to list of reachable targets.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 470
diff changeset
696 State state
a6a33ef35809 Added support to step back to previous states. Add state names to xform nodes in describe document and append old targets to list of reachable targets.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 470
diff changeset
697 ) {
a6a33ef35809 Added support to step back to previous states. Add state names to xform nodes in describe document and append old targets to list of reachable targets.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 470
diff changeset
698 if (state == null)
a6a33ef35809 Added support to step back to previous states. Add state names to xform nodes in describe document and append old targets to list of reachable targets.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 470
diff changeset
699 return;
a6a33ef35809 Added support to step back to previous states. Add state names to xform nodes in describe document and append old targets to list of reachable targets.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 470
diff changeset
700
a6a33ef35809 Added support to step back to previous states. Add state names to xform nodes in describe document and append old targets to list of reachable targets.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 470
diff changeset
701 while (state != null) {
a6a33ef35809 Added support to step back to previous states. Add state names to xform nodes in describe document and append old targets to list of reachable targets.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 470
diff changeset
702 Element currentNode = creator.create("state");
a6a33ef35809 Added support to step back to previous states. Add state names to xform nodes in describe document and append old targets to list of reachable targets.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 470
diff changeset
703 creator.addAttr(currentNode, "name", state.getID());
a6a33ef35809 Added support to step back to previous states. Add state names to xform nodes in describe document and append old targets to list of reachable targets.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 470
diff changeset
704 creator.addAttr(currentNode, "description", state.getDescription());
a6a33ef35809 Added support to step back to previous states. Add state names to xform nodes in describe document and append old targets to list of reachable targets.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 470
diff changeset
705 parent.appendChild(currentNode);
a6a33ef35809 Added support to step back to previous states. Add state names to xform nodes in describe document and append old targets to list of reachable targets.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 470
diff changeset
706
a6a33ef35809 Added support to step back to previous states. Add state names to xform nodes in describe document and append old targets to list of reachable targets.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 470
diff changeset
707 state = state.getParent();
a6a33ef35809 Added support to step back to previous states. Add state names to xform nodes in describe document and append old targets to list of reachable targets.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 470
diff changeset
708 }
a6a33ef35809 Added support to step back to previous states. Add state names to xform nodes in describe document and append old targets to list of reachable targets.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 470
diff changeset
709 }
a6a33ef35809 Added support to step back to previous states. Add state names to xform nodes in describe document and append old targets to list of reachable targets.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 470
diff changeset
710
a6a33ef35809 Added support to step back to previous states. Add state names to xform nodes in describe document and append old targets to list of reachable targets.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 470
diff changeset
711
789
0dc115cbef0d Added javadoc for artifact package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 780
diff changeset
712 /**
0dc115cbef0d Added javadoc for artifact package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 780
diff changeset
713 * Insert the current state into the xml document returned by
0dc115cbef0d Added javadoc for artifact package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 780
diff changeset
714 * {@link #describe(org.w3c.dom.Document, de.intevation.artifacts.CallContext)}
0dc115cbef0d Added javadoc for artifact package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 780
diff changeset
715 */
464
70df44021a9f Next step of changing the concept how to use the user interface. Adapted namespaces and replaced FISArtifact with a ProxyArtifact.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 461
diff changeset
716 protected void createCurrentState(
70df44021a9f Next step of changing the concept how to use the user interface. Adapted namespaces and replaced FISArtifact with a ProxyArtifact.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 461
diff changeset
717 XMLUtils.ElementCreator creator,
70df44021a9f Next step of changing the concept how to use the user interface. Adapted namespaces and replaced FISArtifact with a ProxyArtifact.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 461
diff changeset
718 Element parent,
70df44021a9f Next step of changing the concept how to use the user interface. Adapted namespaces and replaced FISArtifact with a ProxyArtifact.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 461
diff changeset
719 Document document
70df44021a9f Next step of changing the concept how to use the user interface. Adapted namespaces and replaced FISArtifact with a ProxyArtifact.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 461
diff changeset
720 ) {
70df44021a9f Next step of changing the concept how to use the user interface. Adapted namespaces and replaced FISArtifact with a ProxyArtifact.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 461
diff changeset
721 Element stateNode = creator.create("state");
70df44021a9f Next step of changing the concept how to use the user interface. Adapted namespaces and replaced FISArtifact with a ProxyArtifact.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 461
diff changeset
722 creator.addAttr(stateNode, "name", this.current.getID());
70df44021a9f Next step of changing the concept how to use the user interface. Adapted namespaces and replaced FISArtifact with a ProxyArtifact.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 461
diff changeset
723 creator.addAttr(stateNode, "description", this.current.getDescription());
54
09b4bf848c7b 2009-09-08 Tim Englich <tim.englich@intevation.de>
Tim Englich <tim.englich@intevation.de>
parents: 52
diff changeset
724 parent.appendChild(stateNode);
09b4bf848c7b 2009-09-08 Tim Englich <tim.englich@intevation.de>
Tim Englich <tim.englich@intevation.de>
parents: 52
diff changeset
725 }
171
7fb9441dd8af Format Code to max 80 Chars per Row and Cleanup
Tim Englich <tim.englich@intevation.de>
parents: 117
diff changeset
726
815
22c18083225e Removed compiler warnings while JavaDoc generation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 803
diff changeset
727
464
70df44021a9f Next step of changing the concept how to use the user interface. Adapted namespaces and replaced FISArtifact with a ProxyArtifact.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 461
diff changeset
728 protected void createModel(
70df44021a9f Next step of changing the concept how to use the user interface. Adapted namespaces and replaced FISArtifact with a ProxyArtifact.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 461
diff changeset
729 XMLUtils.ElementCreator creator,
70df44021a9f Next step of changing the concept how to use the user interface. Adapted namespaces and replaced FISArtifact with a ProxyArtifact.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 461
diff changeset
730 Element parent,
70df44021a9f Next step of changing the concept how to use the user interface. Adapted namespaces and replaced FISArtifact with a ProxyArtifact.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 461
diff changeset
731 Document document
70df44021a9f Next step of changing the concept how to use the user interface. Adapted namespaces and replaced FISArtifact with a ProxyArtifact.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 461
diff changeset
732 ) {
70df44021a9f Next step of changing the concept how to use the user interface. Adapted namespaces and replaced FISArtifact with a ProxyArtifact.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 461
diff changeset
733 Element modelNode = creator.create("model");
171
7fb9441dd8af Format Code to max 80 Chars per Row and Cleanup
Tim Englich <tim.englich@intevation.de>
parents: 117
diff changeset
734 if (this.current != null) {
7fb9441dd8af Format Code to max 80 Chars per Row and Cleanup
Tim Englich <tim.englich@intevation.de>
parents: 117
diff changeset
735 Collection<InputValue> inputValues = this.current
7fb9441dd8af Format Code to max 80 Chars per Row and Cleanup
Tim Englich <tim.englich@intevation.de>
parents: 117
diff changeset
736 .getRequiredInputValues();
7fb9441dd8af Format Code to max 80 Chars per Row and Cleanup
Tim Englich <tim.englich@intevation.de>
parents: 117
diff changeset
737 if (inputValues != null) {
56
737d8bf63701 Required Inputelements integrated in BAsicArtifact-Descibe-Outputv
Tim Englich <tim.englich@intevation.de>
parents: 54
diff changeset
738 Iterator<InputValue> it = inputValues.iterator();
171
7fb9441dd8af Format Code to max 80 Chars per Row and Cleanup
Tim Englich <tim.englich@intevation.de>
parents: 117
diff changeset
739 while (it.hasNext()) {
56
737d8bf63701 Required Inputelements integrated in BAsicArtifact-Descibe-Outputv
Tim Englich <tim.englich@intevation.de>
parents: 54
diff changeset
740 InputValue inputValue = it.next();
464
70df44021a9f Next step of changing the concept how to use the user interface. Adapted namespaces and replaced FISArtifact with a ProxyArtifact.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 461
diff changeset
741 Element inputNode = creator.create("input");
70df44021a9f Next step of changing the concept how to use the user interface. Adapted namespaces and replaced FISArtifact with a ProxyArtifact.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 461
diff changeset
742 creator.addAttr(inputNode, "name", inputValue.getName());
70df44021a9f Next step of changing the concept how to use the user interface. Adapted namespaces and replaced FISArtifact with a ProxyArtifact.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 461
diff changeset
743 creator.addAttr(inputNode, "type", inputValue.getType());
56
737d8bf63701 Required Inputelements integrated in BAsicArtifact-Descibe-Outputv
Tim Englich <tim.englich@intevation.de>
parents: 54
diff changeset
744 modelNode.appendChild(inputNode);
737d8bf63701 Required Inputelements integrated in BAsicArtifact-Descibe-Outputv
Tim Englich <tim.englich@intevation.de>
parents: 54
diff changeset
745 }
737d8bf63701 Required Inputelements integrated in BAsicArtifact-Descibe-Outputv
Tim Englich <tim.englich@intevation.de>
parents: 54
diff changeset
746 }
737d8bf63701 Required Inputelements integrated in BAsicArtifact-Descibe-Outputv
Tim Englich <tim.englich@intevation.de>
parents: 54
diff changeset
747 }
54
09b4bf848c7b 2009-09-08 Tim Englich <tim.englich@intevation.de>
Tim Englich <tim.englich@intevation.de>
parents: 52
diff changeset
748 parent.appendChild(modelNode);
09b4bf848c7b 2009-09-08 Tim Englich <tim.englich@intevation.de>
Tim Englich <tim.englich@intevation.de>
parents: 52
diff changeset
749 }
171
7fb9441dd8af Format Code to max 80 Chars per Row and Cleanup
Tim Englich <tim.englich@intevation.de>
parents: 117
diff changeset
750
789
0dc115cbef0d Added javadoc for artifact package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 780
diff changeset
751 /**
0dc115cbef0d Added javadoc for artifact package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 780
diff changeset
752 * Append the user interface description to the document returned by
0dc115cbef0d Added javadoc for artifact package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 780
diff changeset
753 * {@link #describe(org.w3c.dom.Document, de.intevation.artifacts.CallContext)}
0dc115cbef0d Added javadoc for artifact package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 780
diff changeset
754 * @param creator XML element creator.
0dc115cbef0d Added javadoc for artifact package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 780
diff changeset
755 * @param parent New elements are appended to this node.
0dc115cbef0d Added javadoc for artifact package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 780
diff changeset
756 * @param document Current document.
0dc115cbef0d Added javadoc for artifact package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 780
diff changeset
757 * @param context CallContext
0dc115cbef0d Added javadoc for artifact package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 780
diff changeset
758 * @param uuid The uuid of the artifact.
0dc115cbef0d Added javadoc for artifact package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 780
diff changeset
759 */
464
70df44021a9f Next step of changing the concept how to use the user interface. Adapted namespaces and replaced FISArtifact with a ProxyArtifact.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 461
diff changeset
760 protected void createUserInterface(
70df44021a9f Next step of changing the concept how to use the user interface. Adapted namespaces and replaced FISArtifact with a ProxyArtifact.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 461
diff changeset
761 XMLUtils.ElementCreator creator,
70df44021a9f Next step of changing the concept how to use the user interface. Adapted namespaces and replaced FISArtifact with a ProxyArtifact.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 461
diff changeset
762 Element parent,
70df44021a9f Next step of changing the concept how to use the user interface. Adapted namespaces and replaced FISArtifact with a ProxyArtifact.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 461
diff changeset
763 Document document,
488
d265f5dc2979 Appended the selected fis to the describe document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 481
diff changeset
764 CallContext context,
d265f5dc2979 Appended the selected fis to the describe document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 481
diff changeset
765 String uuid
464
70df44021a9f Next step of changing the concept how to use the user interface. Adapted namespaces and replaced FISArtifact with a ProxyArtifact.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 461
diff changeset
766 ) {
488
d265f5dc2979 Appended the selected fis to the describe document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 481
diff changeset
767 XMLUtils.ElementCreator xCreator = new XMLUtils.ElementCreator(
d265f5dc2979 Appended the selected fis to the describe document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 481
diff changeset
768 document,
d265f5dc2979 Appended the selected fis to the describe document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 481
diff changeset
769 XMLUtils.XFORM_URL,
d265f5dc2979 Appended the selected fis to the describe document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 481
diff changeset
770 XMLUtils.XFORM_PREFIX
d265f5dc2979 Appended the selected fis to the describe document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 481
diff changeset
771 );
d265f5dc2979 Appended the selected fis to the describe document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 481
diff changeset
772
d265f5dc2979 Appended the selected fis to the describe document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 481
diff changeset
773 Element uiNode = creator.create("ui");
d265f5dc2979 Appended the selected fis to the describe document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 481
diff changeset
774 Element staticNode = creator.create("static");
d265f5dc2979 Appended the selected fis to the describe document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 481
diff changeset
775 Element dynamic = creator.create("dynamic");
d265f5dc2979 Appended the selected fis to the describe document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 481
diff changeset
776
d265f5dc2979 Appended the selected fis to the describe document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 481
diff changeset
777 uiNode.appendChild(staticNode);
d265f5dc2979 Appended the selected fis to the describe document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 481
diff changeset
778 uiNode.appendChild(dynamic);
d265f5dc2979 Appended the selected fis to the describe document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 481
diff changeset
779
d265f5dc2979 Appended the selected fis to the describe document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 481
diff changeset
780 parent.appendChild(uiNode);
d265f5dc2979 Appended the selected fis to the describe document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 481
diff changeset
781
d265f5dc2979 Appended the selected fis to the describe document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 481
diff changeset
782 // append fis to dynamic part
d265f5dc2979 Appended the selected fis to the describe document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 481
diff changeset
783 appendFis(document, staticNode, context, product.getArtifactFactory());
171
7fb9441dd8af Format Code to max 80 Chars per Row and Cleanup
Tim Englich <tim.englich@intevation.de>
parents: 117
diff changeset
784
7fb9441dd8af Format Code to max 80 Chars per Row and Cleanup
Tim Englich <tim.englich@intevation.de>
parents: 117
diff changeset
785 if (this.current != null) {
488
d265f5dc2979 Appended the selected fis to the describe document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 481
diff changeset
786 Element staticUI = createSelectBox(
d265f5dc2979 Appended the selected fis to the describe document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 481
diff changeset
787 creator, xCreator, document, context
d265f5dc2979 Appended the selected fis to the describe document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 481
diff changeset
788 );
d265f5dc2979 Appended the selected fis to the describe document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 481
diff changeset
789 staticNode.appendChild(staticUI);
d265f5dc2979 Appended the selected fis to the describe document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 481
diff changeset
790
478
0e0c64c821dc Added support to step back to the point for choosing a product.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 475
diff changeset
791 this.current.describe(
493
cef17cc90fd0 Changed some method signatures of the State interface. Use CallContext objects instead of CallMeta objects which are a subset of CallContext.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 488
diff changeset
792 document, uiNode, context, uuid
478
0e0c64c821dc Added support to step back to the point for choosing a product.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 475
diff changeset
793 );
61
5f47881f7c97 Implementation of the MIN- / MAX-Value Representation
Tim Englich <tim.englich@intevation.de>
parents: 59
diff changeset
794 }
54
09b4bf848c7b 2009-09-08 Tim Englich <tim.englich@intevation.de>
Tim Englich <tim.englich@intevation.de>
parents: 52
diff changeset
795 }
171
7fb9441dd8af Format Code to max 80 Chars per Row and Cleanup
Tim Englich <tim.englich@intevation.de>
parents: 117
diff changeset
796
478
0e0c64c821dc Added support to step back to the point for choosing a product.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 475
diff changeset
797
789
0dc115cbef0d Added javadoc for artifact package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 780
diff changeset
798 /**
0dc115cbef0d Added javadoc for artifact package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 780
diff changeset
799 * Append possible output targets to the document returned by
0dc115cbef0d Added javadoc for artifact package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 780
diff changeset
800 * {@link #describe(org.w3c.dom.Document, de.intevation.artifacts.CallContext)}
0dc115cbef0d Added javadoc for artifact package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 780
diff changeset
801 * @param creator Used to create xml elements.
0dc115cbef0d Added javadoc for artifact package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 780
diff changeset
802 * @param parent New elements are appended to this node.
0dc115cbef0d Added javadoc for artifact package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 780
diff changeset
803 * @param document The current document.
0dc115cbef0d Added javadoc for artifact package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 780
diff changeset
804 */
464
70df44021a9f Next step of changing the concept how to use the user interface. Adapted namespaces and replaced FISArtifact with a ProxyArtifact.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 461
diff changeset
805 protected void createOutputs(
70df44021a9f Next step of changing the concept how to use the user interface. Adapted namespaces and replaced FISArtifact with a ProxyArtifact.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 461
diff changeset
806 XMLUtils.ElementCreator creator,
70df44021a9f Next step of changing the concept how to use the user interface. Adapted namespaces and replaced FISArtifact with a ProxyArtifact.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 461
diff changeset
807 Element parent,
70df44021a9f Next step of changing the concept how to use the user interface. Adapted namespaces and replaced FISArtifact with a ProxyArtifact.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 461
diff changeset
808 Document document
70df44021a9f Next step of changing the concept how to use the user interface. Adapted namespaces and replaced FISArtifact with a ProxyArtifact.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 461
diff changeset
809 ) {
64
5db77e0a8594 Integrated Output Methods and Interfacsstructure
Tim Englich <tim.englich@intevation.de>
parents: 61
diff changeset
810 log.debug("GNVArtifactBase.createOutputs");
464
70df44021a9f Next step of changing the concept how to use the user interface. Adapted namespaces and replaced FISArtifact with a ProxyArtifact.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 461
diff changeset
811 Element outputsNode = creator.create("outputs");
335
e964a3d8f7bc Some Refactoring work done.
Tim Englich <tim.englich@intevation.de>
parents: 325
diff changeset
812 if (this.current instanceof OutputState) {
e964a3d8f7bc Some Refactoring work done.
Tim Englich <tim.englich@intevation.de>
parents: 325
diff changeset
813 Collection<OutputMode> outputModes = ((OutputState) this.current)
171
7fb9441dd8af Format Code to max 80 Chars per Row and Cleanup
Tim Englich <tim.englich@intevation.de>
parents: 117
diff changeset
814 .getOutputModes();
7fb9441dd8af Format Code to max 80 Chars per Row and Cleanup
Tim Englich <tim.englich@intevation.de>
parents: 117
diff changeset
815 if (outputModes != null) {
64
5db77e0a8594 Integrated Output Methods and Interfacsstructure
Tim Englich <tim.englich@intevation.de>
parents: 61
diff changeset
816 Iterator<OutputMode> it = outputModes.iterator();
171
7fb9441dd8af Format Code to max 80 Chars per Row and Cleanup
Tim Englich <tim.englich@intevation.de>
parents: 117
diff changeset
817 while (it.hasNext()) {
64
5db77e0a8594 Integrated Output Methods and Interfacsstructure
Tim Englich <tim.englich@intevation.de>
parents: 61
diff changeset
818 OutputMode outputMode = it.next();
171
7fb9441dd8af Format Code to max 80 Chars per Row and Cleanup
Tim Englich <tim.englich@intevation.de>
parents: 117
diff changeset
819 log.debug("Write Outputnode for " + outputMode.toString());
464
70df44021a9f Next step of changing the concept how to use the user interface. Adapted namespaces and replaced FISArtifact with a ProxyArtifact.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 461
diff changeset
820 Element outputModeNode = creator.create("output");
70df44021a9f Next step of changing the concept how to use the user interface. Adapted namespaces and replaced FISArtifact with a ProxyArtifact.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 461
diff changeset
821 creator.addAttr(
70df44021a9f Next step of changing the concept how to use the user interface. Adapted namespaces and replaced FISArtifact with a ProxyArtifact.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 461
diff changeset
822 outputModeNode, "name", outputMode.getName());
70df44021a9f Next step of changing the concept how to use the user interface. Adapted namespaces and replaced FISArtifact with a ProxyArtifact.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 461
diff changeset
823 creator.addAttr(
70df44021a9f Next step of changing the concept how to use the user interface. Adapted namespaces and replaced FISArtifact with a ProxyArtifact.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 461
diff changeset
824 outputModeNode, "description", outputMode.getDescription());
70df44021a9f Next step of changing the concept how to use the user interface. Adapted namespaces and replaced FISArtifact with a ProxyArtifact.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 461
diff changeset
825 creator.addAttr(
70df44021a9f Next step of changing the concept how to use the user interface. Adapted namespaces and replaced FISArtifact with a ProxyArtifact.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 461
diff changeset
826 outputModeNode, "mime-type", outputMode.getMimeType());
64
5db77e0a8594 Integrated Output Methods and Interfacsstructure
Tim Englich <tim.englich@intevation.de>
parents: 61
diff changeset
827 outputsNode.appendChild(outputModeNode);
171
7fb9441dd8af Format Code to max 80 Chars per Row and Cleanup
Tim Englich <tim.englich@intevation.de>
parents: 117
diff changeset
828
7fb9441dd8af Format Code to max 80 Chars per Row and Cleanup
Tim Englich <tim.englich@intevation.de>
parents: 117
diff changeset
829 Collection<InputValue> inputParameters = outputMode
7fb9441dd8af Format Code to max 80 Chars per Row and Cleanup
Tim Englich <tim.englich@intevation.de>
parents: 117
diff changeset
830 .getInputParameters();
7fb9441dd8af Format Code to max 80 Chars per Row and Cleanup
Tim Englich <tim.englich@intevation.de>
parents: 117
diff changeset
831 if (inputParameters != null) {
464
70df44021a9f Next step of changing the concept how to use the user interface. Adapted namespaces and replaced FISArtifact with a ProxyArtifact.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 461
diff changeset
832 Element inputParametersNode = creator.create("parameter");
91
bd284d8306db Added Support for Patameters in OutputModes
Tim Englich <tim.englich@intevation.de>
parents: 90
diff changeset
833 outputModeNode.appendChild(inputParametersNode);
bd284d8306db Added Support for Patameters in OutputModes
Tim Englich <tim.englich@intevation.de>
parents: 90
diff changeset
834 Iterator<InputValue> it2 = inputParameters.iterator();
171
7fb9441dd8af Format Code to max 80 Chars per Row and Cleanup
Tim Englich <tim.englich@intevation.de>
parents: 117
diff changeset
835 while (it2.hasNext()) {
91
bd284d8306db Added Support for Patameters in OutputModes
Tim Englich <tim.englich@intevation.de>
parents: 90
diff changeset
836 InputValue inputValue = it2.next();
464
70df44021a9f Next step of changing the concept how to use the user interface. Adapted namespaces and replaced FISArtifact with a ProxyArtifact.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 461
diff changeset
837 Element inputParameterNode =
70df44021a9f Next step of changing the concept how to use the user interface. Adapted namespaces and replaced FISArtifact with a ProxyArtifact.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 461
diff changeset
838 creator.create("parameter");
70df44021a9f Next step of changing the concept how to use the user interface. Adapted namespaces and replaced FISArtifact with a ProxyArtifact.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 461
diff changeset
839 creator.addAttr(
70df44021a9f Next step of changing the concept how to use the user interface. Adapted namespaces and replaced FISArtifact with a ProxyArtifact.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 461
diff changeset
840 inputParameterNode, "name", inputValue.getName());
70df44021a9f Next step of changing the concept how to use the user interface. Adapted namespaces and replaced FISArtifact with a ProxyArtifact.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 461
diff changeset
841 creator.addAttr(
70df44021a9f Next step of changing the concept how to use the user interface. Adapted namespaces and replaced FISArtifact with a ProxyArtifact.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 461
diff changeset
842 inputParameterNode, "type", inputValue.getType());
70df44021a9f Next step of changing the concept how to use the user interface. Adapted namespaces and replaced FISArtifact with a ProxyArtifact.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 461
diff changeset
843 creator.addAttr(
70df44021a9f Next step of changing the concept how to use the user interface. Adapted namespaces and replaced FISArtifact with a ProxyArtifact.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 461
diff changeset
844 inputParameterNode, "value", inputValue.getDefaultValue());
91
bd284d8306db Added Support for Patameters in OutputModes
Tim Englich <tim.englich@intevation.de>
parents: 90
diff changeset
845 inputParametersNode.appendChild(inputParameterNode);
bd284d8306db Added Support for Patameters in OutputModes
Tim Englich <tim.englich@intevation.de>
parents: 90
diff changeset
846 }
bd284d8306db Added Support for Patameters in OutputModes
Tim Englich <tim.englich@intevation.de>
parents: 90
diff changeset
847 }
626
61f688a69a55 Split up export modes from output modes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 614
diff changeset
848
61f688a69a55 Split up export modes from output modes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 614
diff changeset
849 // append export modes
61f688a69a55 Split up export modes from output modes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 614
diff changeset
850 List<ExportMode> exportModes = outputMode.getExportModes();
61f688a69a55 Split up export modes from output modes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 614
diff changeset
851 if (exportModes != null) {
61f688a69a55 Split up export modes from output modes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 614
diff changeset
852 Element exports = creator.create("exports");
61f688a69a55 Split up export modes from output modes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 614
diff changeset
853 outputModeNode.appendChild(exports);
61f688a69a55 Split up export modes from output modes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 614
diff changeset
854
61f688a69a55 Split up export modes from output modes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 614
diff changeset
855 for (ExportMode exp: exportModes) {
61f688a69a55 Split up export modes from output modes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 614
diff changeset
856 Element export = creator.create("export");
61f688a69a55 Split up export modes from output modes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 614
diff changeset
857 creator.addAttr(
61f688a69a55 Split up export modes from output modes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 614
diff changeset
858 export, "name", exp.getName());
61f688a69a55 Split up export modes from output modes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 614
diff changeset
859 creator.addAttr(
61f688a69a55 Split up export modes from output modes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 614
diff changeset
860 export, "description", exp.getDescription());
61f688a69a55 Split up export modes from output modes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 614
diff changeset
861 creator.addAttr(
61f688a69a55 Split up export modes from output modes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 614
diff changeset
862 export, "mime-type", exp.getMimeType());
61f688a69a55 Split up export modes from output modes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 614
diff changeset
863
61f688a69a55 Split up export modes from output modes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 614
diff changeset
864 exports.appendChild(export);
61f688a69a55 Split up export modes from output modes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 614
diff changeset
865 }
61f688a69a55 Split up export modes from output modes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 614
diff changeset
866 }
64
5db77e0a8594 Integrated Output Methods and Interfacsstructure
Tim Englich <tim.englich@intevation.de>
parents: 61
diff changeset
867 }
171
7fb9441dd8af Format Code to max 80 Chars per Row and Cleanup
Tim Englich <tim.englich@intevation.de>
parents: 117
diff changeset
868 } else {
64
5db77e0a8594 Integrated Output Methods and Interfacsstructure
Tim Englich <tim.englich@intevation.de>
parents: 61
diff changeset
869 log.warn("No Outputmodes given.");
5db77e0a8594 Integrated Output Methods and Interfacsstructure
Tim Englich <tim.englich@intevation.de>
parents: 61
diff changeset
870 }
5db77e0a8594 Integrated Output Methods and Interfacsstructure
Tim Englich <tim.englich@intevation.de>
parents: 61
diff changeset
871 }
54
09b4bf848c7b 2009-09-08 Tim Englich <tim.englich@intevation.de>
Tim Englich <tim.englich@intevation.de>
parents: 52
diff changeset
872 parent.appendChild(outputsNode);
09b4bf848c7b 2009-09-08 Tim Englich <tim.englich@intevation.de>
Tim Englich <tim.englich@intevation.de>
parents: 52
diff changeset
873 }
09b4bf848c7b 2009-09-08 Tim Englich <tim.englich@intevation.de>
Tim Englich <tim.englich@intevation.de>
parents: 52
diff changeset
874
789
0dc115cbef0d Added javadoc for artifact package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 780
diff changeset
875 /**
0dc115cbef0d Added javadoc for artifact package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 780
diff changeset
876 * Parse input data from feed-document.
0dc115cbef0d Added javadoc for artifact package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 780
diff changeset
877 * @param document Feed-document
0dc115cbef0d Added javadoc for artifact package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 780
diff changeset
878 * @param xPath Path to input data.
0dc115cbef0d Added javadoc for artifact package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 780
diff changeset
879 * @return A collection with InputData objects.
0dc115cbef0d Added javadoc for artifact package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 780
diff changeset
880 */
171
7fb9441dd8af Format Code to max 80 Chars per Row and Cleanup
Tim Englich <tim.englich@intevation.de>
parents: 117
diff changeset
881 protected Collection<InputData> parseInputData(Document document,
7fb9441dd8af Format Code to max 80 Chars per Row and Cleanup
Tim Englich <tim.englich@intevation.de>
parents: 117
diff changeset
882 String xPath) {
7fb9441dd8af Format Code to max 80 Chars per Row and Cleanup
Tim Englich <tim.englich@intevation.de>
parents: 117
diff changeset
883 HashMap<String, InputData> returnValue = null;
7fb9441dd8af Format Code to max 80 Chars per Row and Cleanup
Tim Englich <tim.englich@intevation.de>
parents: 117
diff changeset
884
7fb9441dd8af Format Code to max 80 Chars per Row and Cleanup
Tim Englich <tim.englich@intevation.de>
parents: 117
diff changeset
885 NodeList inputElemets = (NodeList) XMLUtils.xpath(document, xPath,
464
70df44021a9f Next step of changing the concept how to use the user interface. Adapted namespaces and replaced FISArtifact with a ProxyArtifact.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 461
diff changeset
886 XPathConstants.NODESET, ArtifactNamespaceContext.INSTANCE);
171
7fb9441dd8af Format Code to max 80 Chars per Row and Cleanup
Tim Englich <tim.englich@intevation.de>
parents: 117
diff changeset
887 if (inputElemets != null) {
464
70df44021a9f Next step of changing the concept how to use the user interface. Adapted namespaces and replaced FISArtifact with a ProxyArtifact.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 461
diff changeset
888 returnValue = new HashMap<String, InputData>();
70df44021a9f Next step of changing the concept how to use the user interface. Adapted namespaces and replaced FISArtifact with a ProxyArtifact.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 461
diff changeset
889
171
7fb9441dd8af Format Code to max 80 Chars per Row and Cleanup
Tim Englich <tim.englich@intevation.de>
parents: 117
diff changeset
890 for (int i = 0; i < inputElemets.getLength(); i++) {
204
734ac082c8d1 Split the Configuration File in several small Documents to speed up the Artifactinstantiation and also make the administration of the Artifactdatabase easier. issue40 and issue59
Tim Englich <tim.englich@intevation.de>
parents: 194
diff changeset
891 Element inputDataNode = (Element)inputElemets.item(i);
734ac082c8d1 Split the Configuration File in several small Documents to speed up the Artifactinstantiation and also make the administration of the Artifactdatabase easier. issue40 and issue59
Tim Englich <tim.englich@intevation.de>
parents: 194
diff changeset
892 String name = inputDataNode.getAttribute("name");
734ac082c8d1 Split the Configuration File in several small Documents to speed up the Artifactinstantiation and also make the administration of the Artifactdatabase easier. issue40 and issue59
Tim Englich <tim.englich@intevation.de>
parents: 194
diff changeset
893 String value = inputDataNode.getAttribute("value");
171
7fb9441dd8af Format Code to max 80 Chars per Row and Cleanup
Tim Englich <tim.englich@intevation.de>
parents: 117
diff changeset
894
7fb9441dd8af Format Code to max 80 Chars per Row and Cleanup
Tim Englich <tim.englich@intevation.de>
parents: 117
diff changeset
895 if (returnValue.containsKey(name)) {
78
969faa37a11b Added Multiselectsupport for InputValues
Tim Englich <tim.englich@intevation.de>
parents: 77
diff changeset
896 InputData inputData = returnValue.get(name);
969faa37a11b Added Multiselectsupport for InputValues
Tim Englich <tim.englich@intevation.de>
parents: 77
diff changeset
897 inputData.concartValue(value);
969faa37a11b Added Multiselectsupport for InputValues
Tim Englich <tim.englich@intevation.de>
parents: 77
diff changeset
898 log.debug(inputData.toString());
969faa37a11b Added Multiselectsupport for InputValues
Tim Englich <tim.englich@intevation.de>
parents: 77
diff changeset
899 returnValue.put(name, inputData);
171
7fb9441dd8af Format Code to max 80 Chars per Row and Cleanup
Tim Englich <tim.englich@intevation.de>
parents: 117
diff changeset
900 } else {
7fb9441dd8af Format Code to max 80 Chars per Row and Cleanup
Tim Englich <tim.englich@intevation.de>
parents: 117
diff changeset
901 InputData inputData = new DefaultInputData(name, value);
7fb9441dd8af Format Code to max 80 Chars per Row and Cleanup
Tim Englich <tim.englich@intevation.de>
parents: 117
diff changeset
902
7fb9441dd8af Format Code to max 80 Chars per Row and Cleanup
Tim Englich <tim.englich@intevation.de>
parents: 117
diff changeset
903 returnValue.put(name, inputData);
78
969faa37a11b Added Multiselectsupport for InputValues
Tim Englich <tim.englich@intevation.de>
parents: 77
diff changeset
904 }
57
f01592cd6419 Funktionalität Feed initial bereitgestellt.
Tim Englich <tim.englich@intevation.de>
parents: 56
diff changeset
905 }
f01592cd6419 Funktionalität Feed initial bereitgestellt.
Tim Englich <tim.englich@intevation.de>
parents: 56
diff changeset
906 }
78
969faa37a11b Added Multiselectsupport for InputValues
Tim Englich <tim.englich@intevation.de>
parents: 77
diff changeset
907 return returnValue.values();
57
f01592cd6419 Funktionalität Feed initial bereitgestellt.
Tim Englich <tim.englich@intevation.de>
parents: 56
diff changeset
908 }
99
bb45c5097cb6 ehcache Integration for storing the chartresultvalues
Tim Englich <tim.englich@intevation.de>
parents: 91
diff changeset
909
73
504570de21fd Refactoring Work depending on Infrastructurchanges in the Artifact-Module
Tim Englich <tim.englich@intevation.de>
parents: 71
diff changeset
910 /**
789
0dc115cbef0d Added javadoc for artifact package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 780
diff changeset
911 * Call an output target (e.g. chart, wms, etc.)
0dc115cbef0d Added javadoc for artifact package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 780
diff changeset
912 * @param format XML document which contains some further information about
0dc115cbef0d Added javadoc for artifact package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 780
diff changeset
913 * the desired output.
0dc115cbef0d Added javadoc for artifact package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 780
diff changeset
914 * @param outputStream Stream used for writing the output.
0dc115cbef0d Added javadoc for artifact package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 780
diff changeset
915 * @param context CallContext
0dc115cbef0d Added javadoc for artifact package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 780
diff changeset
916 * @throws IOException If an error occured while writing the result to the
0dc115cbef0d Added javadoc for artifact package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 780
diff changeset
917 * output stream.
73
504570de21fd Refactoring Work depending on Infrastructurchanges in the Artifact-Module
Tim Englich <tim.englich@intevation.de>
parents: 71
diff changeset
918 */
504570de21fd Refactoring Work depending on Infrastructurchanges in the Artifact-Module
Tim Englich <tim.englich@intevation.de>
parents: 71
diff changeset
919 @Override
117
ef157bd2fa92 LanguageSupport integrated
Tim Englich <tim.englich@intevation.de>
parents: 116
diff changeset
920 public void out(Document format, OutputStream outputStream,
ef157bd2fa92 LanguageSupport integrated
Tim Englich <tim.englich@intevation.de>
parents: 116
diff changeset
921 CallContext context) throws IOException {
68
d117fd4b82e5 Chartrendering integrated in Timeseries Transition
Tim Englich <tim.englich@intevation.de>
parents: 64
diff changeset
922 log.debug("TGNVArtifactBase.out");
d117fd4b82e5 Chartrendering integrated in Timeseries Transition
Tim Englich <tim.englich@intevation.de>
parents: 64
diff changeset
923 try {
117
ef157bd2fa92 LanguageSupport integrated
Tim Englich <tim.englich@intevation.de>
parents: 116
diff changeset
924
335
e964a3d8f7bc Some Refactoring work done.
Tim Englich <tim.englich@intevation.de>
parents: 325
diff changeset
925 if (current != null && current instanceof OutputState) {
e964a3d8f7bc Some Refactoring work done.
Tim Englich <tim.englich@intevation.de>
parents: 325
diff changeset
926 ((OutputState) current)
299
d6c75171f1e9 Pass the xml document of the request to OutputTransition for more information about output formats of charts (png,jpeg).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 222
diff changeset
927 .out(format, this.parseInputData(
464
70df44021a9f Next step of changing the concept how to use the user interface. Adapted namespaces and replaced FISArtifact with a ProxyArtifact.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 461
diff changeset
928 format, XPATH_OUTPUT_PARAMS),
358
2f7a28f211c7 Fetch ChartTheme from CallContext instead of creating it each time before creating a chart.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 337
diff changeset
929 outputStream, super.identifier, context);
68
d117fd4b82e5 Chartrendering integrated in Timeseries Transition
Tim Englich <tim.englich@intevation.de>
parents: 64
diff changeset
930 }
335
e964a3d8f7bc Some Refactoring work done.
Tim Englich <tim.englich@intevation.de>
parents: 325
diff changeset
931 } catch (StateException e) {
117
ef157bd2fa92 LanguageSupport integrated
Tim Englich <tim.englich@intevation.de>
parents: 116
diff changeset
932 log.error(e, e);
89
cde042a0a395 Successreporting added
Tim Englich <tim.englich@intevation.de>
parents: 88
diff changeset
933 throw new IOException(e.getMessage());
68
d117fd4b82e5 Chartrendering integrated in Timeseries Transition
Tim Englich <tim.englich@intevation.de>
parents: 64
diff changeset
934 }
d117fd4b82e5 Chartrendering integrated in Timeseries Transition
Tim Englich <tim.englich@intevation.de>
parents: 64
diff changeset
935 }
73
504570de21fd Refactoring Work depending on Infrastructurchanges in the Artifact-Module
Tim Englich <tim.englich@intevation.de>
parents: 71
diff changeset
936
815
22c18083225e Removed compiler warnings while JavaDoc generation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 803
diff changeset
937
481
20dde2b6f1b5 Added end of life support for artifact states. Implemented ZIP download
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 479
diff changeset
938 protected static String readOutputType(Document document) {
464
70df44021a9f Next step of changing the concept how to use the user interface. Adapted namespaces and replaced FISArtifact with a ProxyArtifact.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 461
diff changeset
939 String value = XMLUtils.xpathString(
70df44021a9f Next step of changing the concept how to use the user interface. Adapted namespaces and replaced FISArtifact with a ProxyArtifact.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 461
diff changeset
940 document, XPATH_OUTPUT_NAME, ArtifactNamespaceContext.INSTANCE);
68
d117fd4b82e5 Chartrendering integrated in Timeseries Transition
Tim Englich <tim.englich@intevation.de>
parents: 64
diff changeset
941 return value;
d117fd4b82e5 Chartrendering integrated in Timeseries Transition
Tim Englich <tim.englich@intevation.de>
parents: 64
diff changeset
942 }
464
70df44021a9f Next step of changing the concept how to use the user interface. Adapted namespaces and replaced FISArtifact with a ProxyArtifact.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 461
diff changeset
943
70df44021a9f Next step of changing the concept how to use the user interface. Adapted namespaces and replaced FISArtifact with a ProxyArtifact.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 461
diff changeset
944
789
0dc115cbef0d Added javadoc for artifact package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 780
diff changeset
945 /**
0dc115cbef0d Added javadoc for artifact package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 780
diff changeset
946 * The the current product.
0dc115cbef0d Added javadoc for artifact package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 780
diff changeset
947 * @param product New product.
0dc115cbef0d Added javadoc for artifact package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 780
diff changeset
948 */
464
70df44021a9f Next step of changing the concept how to use the user interface. Adapted namespaces and replaced FISArtifact with a ProxyArtifact.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 461
diff changeset
949 public void setProduct(Product product) {
598
9681ac6b6527 Added the possibility to use the data which are send using the MapServer-Interface during the Workflow of the GNV-Artifacts.
Tim Englich <tim.englich@intevation.de>
parents: 594
diff changeset
950 this.product = product;
464
70df44021a9f Next step of changing the concept how to use the user interface. Adapted namespaces and replaced FISArtifact with a ProxyArtifact.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 461
diff changeset
951 }
481
20dde2b6f1b5 Added end of life support for artifact states. Implemented ZIP download
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 479
diff changeset
952
789
0dc115cbef0d Added javadoc for artifact package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 780
diff changeset
953 /**
0dc115cbef0d Added javadoc for artifact package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 780
diff changeset
954 * Call endOfLife of parent class and the current state.
0dc115cbef0d Added javadoc for artifact package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 780
diff changeset
955 */
0dc115cbef0d Added javadoc for artifact package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 780
diff changeset
956 @Override
481
20dde2b6f1b5 Added end of life support for artifact states. Implemented ZIP download
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 479
diff changeset
957 public void endOfLife(Object globalContext) {
20dde2b6f1b5 Added end of life support for artifact states. Implemented ZIP download
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 479
diff changeset
958 super.endOfLife(globalContext);
20dde2b6f1b5 Added end of life support for artifact states. Implemented ZIP download
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 479
diff changeset
959
20dde2b6f1b5 Added end of life support for artifact states. Implemented ZIP download
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 479
diff changeset
960 if (current != null) {
20dde2b6f1b5 Added end of life support for artifact states. Implemented ZIP download
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 479
diff changeset
961 current.endOfLife(globalContext);
20dde2b6f1b5 Added end of life support for artifact states. Implemented ZIP download
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 479
diff changeset
962 }
20dde2b6f1b5 Added end of life support for artifact states. Implemented ZIP download
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 479
diff changeset
963 }
778
9a828e5a2390 Removed trailing whitespace
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 735
diff changeset
964
598
9681ac6b6527 Added the possibility to use the data which are send using the MapServer-Interface during the Workflow of the GNV-Artifacts.
Tim Englich <tim.englich@intevation.de>
parents: 594
diff changeset
965 /**
789
0dc115cbef0d Added javadoc for artifact package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 780
diff changeset
966 * Retrieves a map with given InputData which have been inserted into the
0dc115cbef0d Added javadoc for artifact package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 780
diff changeset
967 * current artifact before the parameterization began.
598
9681ac6b6527 Added the possibility to use the data which are send using the MapServer-Interface during the Workflow of the GNV-Artifacts.
Tim Englich <tim.englich@intevation.de>
parents: 594
diff changeset
968 */
9681ac6b6527 Added the possibility to use the data which are send using the MapServer-Interface during the Workflow of the GNV-Artifacts.
Tim Englich <tim.englich@intevation.de>
parents: 594
diff changeset
969 public Map<String, InputData> getPreSettings() {
9681ac6b6527 Added the possibility to use the data which are send using the MapServer-Interface during the Workflow of the GNV-Artifacts.
Tim Englich <tim.englich@intevation.de>
parents: 594
diff changeset
970 return this.preSettings;
9681ac6b6527 Added the possibility to use the data which are send using the MapServer-Interface during the Workflow of the GNV-Artifacts.
Tim Englich <tim.englich@intevation.de>
parents: 594
diff changeset
971 }
778
9a828e5a2390 Removed trailing whitespace
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 735
diff changeset
972
598
9681ac6b6527 Added the possibility to use the data which are send using the MapServer-Interface during the Workflow of the GNV-Artifacts.
Tim Englich <tim.englich@intevation.de>
parents: 594
diff changeset
973 /**
789
0dc115cbef0d Added javadoc for artifact package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 780
diff changeset
974 * Set InputData which are used in later states.
598
9681ac6b6527 Added the possibility to use the data which are send using the MapServer-Interface during the Workflow of the GNV-Artifacts.
Tim Englich <tim.englich@intevation.de>
parents: 594
diff changeset
975 */
9681ac6b6527 Added the possibility to use the data which are send using the MapServer-Interface during the Workflow of the GNV-Artifacts.
Tim Englich <tim.englich@intevation.de>
parents: 594
diff changeset
976 public void setPreSettings(Map<String, InputData> preSettings) {
9681ac6b6527 Added the possibility to use the data which are send using the MapServer-Interface during the Workflow of the GNV-Artifacts.
Tim Englich <tim.englich@intevation.de>
parents: 594
diff changeset
977 this.preSettings = preSettings;
9681ac6b6527 Added the possibility to use the data which are send using the MapServer-Interface during the Workflow of the GNV-Artifacts.
Tim Englich <tim.englich@intevation.de>
parents: 594
diff changeset
978 if (this.current != null){
9681ac6b6527 Added the possibility to use the data which are send using the MapServer-Interface during the Workflow of the GNV-Artifacts.
Tim Englich <tim.englich@intevation.de>
parents: 594
diff changeset
979 this.current.setPreSettings(preSettings);
9681ac6b6527 Added the possibility to use the data which are send using the MapServer-Interface during the Workflow of the GNV-Artifacts.
Tim Englich <tim.englich@intevation.de>
parents: 594
diff changeset
980 }
9681ac6b6527 Added the possibility to use the data which are send using the MapServer-Interface during the Workflow of the GNV-Artifacts.
Tim Englich <tim.englich@intevation.de>
parents: 594
diff changeset
981 }
52
4d6a82b96059 First Implementation of the GNV-Artifacts
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
982 }
789
0dc115cbef0d Added javadoc for artifact package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 780
diff changeset
983 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :

http://dive4elements.wald.intevation.org