annotate gnv-artifacts/src/main/java/de/intevation/gnv/artifacts/fis/SelectProductArtifact.java @ 605:e8ebdbc7f1e3

First step of removing the cache blob. The static part of the describe document will be created by using the input data stored at each state. Some TODOs left (see ChangeLog). gnv-artifacts/trunk@671 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Ingo Weinzierl <ingo.weinzierl@intevation.de>
date Tue, 09 Feb 2010 14:27:55 +0000
parents 9681ac6b6527
children 9a828e5a2390
rev   line source
475
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
1 package de.intevation.gnv.artifacts.fis;
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
2
594
5b9b74c08bbb Changed Method signatures because of Interfacemodifications in the Artifact-Module
Tim Englich <tim.englich@intevation.de>
parents: 488
diff changeset
3 import java.io.IOException;
5b9b74c08bbb Changed Method signatures because of Interfacemodifications in the Artifact-Module
Tim Englich <tim.englich@intevation.de>
parents: 488
diff changeset
4 import java.io.OutputStream;
5b9b74c08bbb Changed Method signatures because of Interfacemodifications in the Artifact-Module
Tim Englich <tim.englich@intevation.de>
parents: 488
diff changeset
5 import java.util.Collection;
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
6 import java.util.HashMap;
594
5b9b74c08bbb Changed Method signatures because of Interfacemodifications in the Artifact-Module
Tim Englich <tim.englich@intevation.de>
parents: 488
diff changeset
7 import java.util.Iterator;
5b9b74c08bbb Changed Method signatures because of Interfacemodifications in the Artifact-Module
Tim Englich <tim.englich@intevation.de>
parents: 488
diff changeset
8 import java.util.Map;
5b9b74c08bbb Changed Method signatures because of Interfacemodifications in the Artifact-Module
Tim Englich <tim.englich@intevation.de>
parents: 488
diff changeset
9
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
10 import javax.xml.xpath.XPathConstants;
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
11
594
5b9b74c08bbb Changed Method signatures because of Interfacemodifications in the Artifact-Module
Tim Englich <tim.englich@intevation.de>
parents: 488
diff changeset
12 import org.apache.log4j.Logger;
5b9b74c08bbb Changed Method signatures because of Interfacemodifications in the Artifact-Module
Tim Englich <tim.englich@intevation.de>
parents: 488
diff changeset
13 import org.w3c.dom.Document;
5b9b74c08bbb Changed Method signatures because of Interfacemodifications in the Artifact-Module
Tim Englich <tim.englich@intevation.de>
parents: 488
diff changeset
14 import org.w3c.dom.Element;
5b9b74c08bbb Changed Method signatures because of Interfacemodifications in the Artifact-Module
Tim Englich <tim.englich@intevation.de>
parents: 488
diff changeset
15 import org.w3c.dom.Node;
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
16 import org.w3c.dom.NodeList;
594
5b9b74c08bbb Changed Method signatures because of Interfacemodifications in the Artifact-Module
Tim Englich <tim.englich@intevation.de>
parents: 488
diff changeset
17
475
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
18 import de.intevation.artifactdatabase.ProxyArtifact;
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
19 import de.intevation.artifactdatabase.XMLUtils;
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
20 import de.intevation.artifacts.Artifact;
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
21 import de.intevation.artifacts.ArtifactFactory;
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
22 import de.intevation.artifacts.ArtifactNamespaceContext;
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
23 import de.intevation.artifacts.CallContext;
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
24 import de.intevation.artifacts.CallMeta;
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
25 import de.intevation.gnv.artifacts.GNVArtifactBase;
488
d265f5dc2979 Appended the selected fis to the describe document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 479
diff changeset
26 import de.intevation.gnv.artifacts.GNVDefaultArtifact;
478
0e0c64c821dc Added support to step back to the point for choosing a product.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 475
diff changeset
27 import de.intevation.gnv.artifacts.GNVProductArtifactFactory;
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
28 import de.intevation.gnv.artifacts.PreSettingArtifact;
475
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
29 import de.intevation.gnv.artifacts.fis.product.Product;
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
30 import de.intevation.gnv.artifacts.ressource.RessourceFactory;
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
31 import de.intevation.gnv.state.DefaultInputData;
475
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
32 import de.intevation.gnv.state.InputData;
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
33
488
d265f5dc2979 Appended the selected fis to the describe document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 479
diff changeset
34
475
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
35 /**
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
36 * @author Ingo Weinzierl <ingo.weinzierl@intevation.de>
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
37 */
488
d265f5dc2979 Appended the selected fis to the describe document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 479
diff changeset
38 public class SelectProductArtifact extends GNVDefaultArtifact {
475
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
39
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
40 /**
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
41 * THE UID of this Class.
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
42 */
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
43 private static final long serialVersionUID = -7952357683127758677L;
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
44
475
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
45 public static final String XPATH_UUID = "art:action/art:uuid/@value";
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
46
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
47 public static final String XPATH_HASH = "art:action/art:hash/@value";
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
48
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
49 public static final String XPATH_INPUT_DATA_VALUE =
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
50 "art:action/art:data/art:input[@name='product']/@value";
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
51
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
52 public static final String XPATH_SETUP_PARAMETER_NODES =
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
53 "/art:action/art:factory/art:parameter";
475
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
54
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
55 public static final String XFORM_URL = "http://www.w3.org/2002/xforms";
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
56 public static final String XFORM_PREFIX = "xform";
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
57
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
58 private static Logger log = Logger.getLogger(SelectProductArtifact.class);
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
59
478
0e0c64c821dc Added support to step back to the point for choosing a product.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 475
diff changeset
60 private Map products;
475
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
61 private Product current;
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
62 private Artifact artifact;
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
63 private String name;
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
64
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
65 private Map<String, InputData> preSettings = null;
475
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
66
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
67 public SelectProductArtifact() {
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
68 super();
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
69 }
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
70
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
71
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
72 @Override
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
73 public void setup(
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
74 String identifier,
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
75 ArtifactFactory factory,
594
5b9b74c08bbb Changed Method signatures because of Interfacemodifications in the Artifact-Module
Tim Englich <tim.englich@intevation.de>
parents: 488
diff changeset
76 Object context,
5b9b74c08bbb Changed Method signatures because of Interfacemodifications in the Artifact-Module
Tim Englich <tim.englich@intevation.de>
parents: 488
diff changeset
77 Document data) {
5b9b74c08bbb Changed Method signatures because of Interfacemodifications in the Artifact-Module
Tim Englich <tim.englich@intevation.de>
parents: 488
diff changeset
78 log.debug("SelectProductArtifact.setup()");
5b9b74c08bbb Changed Method signatures because of Interfacemodifications in the Artifact-Module
Tim Englich <tim.englich@intevation.de>
parents: 488
diff changeset
79 super.setup(identifier, factory, context,data);
475
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
80 this.name = factory.getName();
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
81
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
82 // Read the Parameters that should be used for the setup from the
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
83 // Data-XML.Document.
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
84 NodeList parameterNodes = (NodeList) XMLUtils.xpath(data,
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
85 XPATH_SETUP_PARAMETER_NODES,
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
86 XPathConstants.NODESET,
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
87 ArtifactNamespaceContext.INSTANCE);
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
88 if (parameterNodes != null && parameterNodes.getLength() > 0){
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
89 this.preSettings = new HashMap<String, 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
90 for (int i = 0; i < parameterNodes.getLength(); i++){
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
91 Element parameterNode = (Element)parameterNodes.item(i);
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
92 String name = parameterNode.getAttribute("name");
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
93 String value = parameterNode.getAttribute("value");
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
94 log.debug("Name: "+name);
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
95 log.debug("Value: "+value);
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
96 InputData inputData = this.preSettings.get(name);
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
97 if (inputData == 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
98 inputData = new DefaultInputData(name, value);
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
99 this.preSettings.put(name, 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
100 }else{
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
101 inputData.concartValue(value);
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
102 }
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
103 }
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
104 }
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
105
478
0e0c64c821dc Added support to step back to the point for choosing a product.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 475
diff changeset
106 }
475
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
107
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
108
478
0e0c64c821dc Added support to step back to the point for choosing a product.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 475
diff changeset
109 public void setProducts(Map products) {
0e0c64c821dc Added support to step back to the point for choosing a product.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 475
diff changeset
110 this.products = products;
475
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
111 }
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
112
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
113
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
114 @Override
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
115 public Document feed(Document target, CallContext context) {
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
116 log.debug("SelectProductArtifact.feed()");
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
117
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
118 if (artifact == null) {
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
119 Document document = XMLUtils.newDocument();
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
120 String productName = XMLUtils.xpathString(
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
121 target,
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
122 XPATH_INPUT_DATA_VALUE,
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
123 ArtifactNamespaceContext.INSTANCE
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
124 );
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
125
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
126 current = (Product) products.get(productName);
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
127
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
128 String reportNode = null;
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
129 String resultNode = null;
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
130 String msg = null;
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
131
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
132 if (current != null) {
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
133 reportNode = "result";
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
134 resultNode = "success";
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
135 msg = "Feed was successfully. New Artifact created.";
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
136 }
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
137 else {
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
138 reportNode = "exceptionreport";
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
139 resultNode = "exception";
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
140 msg = "Product does not exist.";
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
141 }
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
142
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
143 XMLUtils.ElementCreator creator = new XMLUtils.ElementCreator(
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
144 document,
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
145 ArtifactNamespaceContext.NAMESPACE_URI,
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
146 ArtifactNamespaceContext.NAMESPACE_PREFIX
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
147 );
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
148
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
149 Element report = creator.create(reportNode);
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
150 Element success = creator.create(resultNode);
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
151 success.setTextContent(msg);
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
152 report.appendChild(success);
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
153 document.appendChild(report);
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
154
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
155 return document;
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
156 }
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
157 else {
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
158 return artifact.feed(target, context);
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
159 }
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
160 }
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
161
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
162
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
163 @Override
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
164 public Document advance(Document target, CallContext context) {
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
165 log.debug("SelectProductArtifact.advance()");
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
166
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
167 if (artifact != null) {
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
168 Document result = artifact.advance(target, context);
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
169 context.putContextValue(ProxyArtifact.REPLACE_PROXY, artifact);
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
170 return result;
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
171 }
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
172
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
173 Document result = XMLUtils.newDocument();
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
174 if (current == null) {
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
175 // artifact needs to be feeded first
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
176 String msg = "Artifact is not configured properly. Call 'feed' fist.";
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
177 log.error(msg);
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
178
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
179 XMLUtils.ElementCreator creator = new XMLUtils.ElementCreator(
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
180 result,
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
181 ArtifactNamespaceContext.NAMESPACE_URI,
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
182 ArtifactNamespaceContext.NAMESPACE_PREFIX
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
183 );
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
184
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
185 Element report = creator.create("exceptionreport");
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
186 Element exception = creator.create("exception");
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
187 exception.setTextContent(msg);
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
188 report.appendChild(exception);
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
189 result.appendChild(report);
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
190
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
191 return result;
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
192 }
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
193
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
194 String uuid = XMLUtils.xpathString(
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
195 target, XPATH_UUID, ArtifactNamespaceContext.INSTANCE
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
196 );
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
197
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
198 String hash = XMLUtils.xpathString(
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
199 target, XPATH_HASH, ArtifactNamespaceContext.INSTANCE
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
200 );
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
201
478
0e0c64c821dc Added support to step back to the point for choosing a product.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 475
diff changeset
202 // fetch ArtifactFactory from context and create a new Artifact
0e0c64c821dc Added support to step back to the point for choosing a product.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 475
diff changeset
203 ArtifactFactory factory = 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
204 .getInternalArtifactFactory(this.name);
0e0c64c821dc Added support to step back to the point for choosing a product.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 475
diff changeset
205 factory = ((GNVProductArtifactFactory)factory)
0e0c64c821dc Added support to step back to the point for choosing a product.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 475
diff changeset
206 .getArtifactFactoryByName(current.getName());
594
5b9b74c08bbb Changed Method signatures because of Interfacemodifications in the Artifact-Module
Tim Englich <tim.englich@intevation.de>
parents: 488
diff changeset
207 artifact = factory.createArtifact(uuid, context, null);
475
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
208
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
209
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
210 if (this.preSettings != null && artifact instanceof 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
211 ((PreSettingArtifact)artifact).setPreSettings(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
212 }
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
213
475
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
214 artifact.feed(feedDocument(uuid, hash), context);
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
215
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
216 result = ((GNVArtifactBase) artifact).initialize(context);
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
217 if (artifact instanceof GNVArtifactBase) {
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
218 ((GNVArtifactBase) artifact).setProduct(current);
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
219 }
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
220 context.putContextValue(ProxyArtifact.REPLACE_PROXY, artifact);
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
221 return result;
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
222 }
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
223
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
224
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
225 @Override
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
226 public Document describe(Document data, CallContext context) {
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
227 log.debug("SelectProductArtifact.describe()");
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
228
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
229 // create root node
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
230 Document document = XMLUtils.newDocument();
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
231 XMLUtils.ElementCreator creator = new XMLUtils.ElementCreator(
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
232 document,
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
233 ArtifactNamespaceContext.NAMESPACE_URI,
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
234 ArtifactNamespaceContext.NAMESPACE_PREFIX
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
235 );
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
236
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
237 Element rootNode = creator.create("result");
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
238 Element typeNode = creator.create("type");
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
239 creator.addAttr(typeNode, "name", "describe");
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
240 rootNode.appendChild(typeNode);
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
241
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
242 Element uuidNode = creator.create("uuid");
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
243 creator.addAttr(uuidNode, "value", super.identifier);
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
244 rootNode.appendChild(uuidNode);
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
245
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
246 Element hashNode = creator.create("hash");
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
247 creator.addAttr(hashNode, "value", hash());
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
248 rootNode.appendChild(hashNode);
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
249
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
250 // create output node
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
251 Element out = creator.create("outputs");
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
252 rootNode.appendChild(out);
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
253
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
254 // create current state
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
255 Element state = creator.create("state");
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
256 creator.addAttr(state, "name", "choose-product");
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
257 creator.addAttr(state, "description", "Auswahl des Produktes.");
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
258 rootNode.appendChild(state);
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
259
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
260 // create reachable states
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
261 Element rStates = creator.create("reachable-states");
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
262 appendProducts(document, rStates, context);
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
263 rootNode.appendChild(rStates);
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
264
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
265 // create model
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
266 Element model = creator.create("model");
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
267 Element input = creator.create("input");
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
268 creator.addAttr(input, "name", "product");
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
269 creator.addAttr(input, "type", "String");
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
270 model.appendChild(input);
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
271 rootNode.appendChild(model);
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
272
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
273 // create ui
488
d265f5dc2979 Appended the selected fis to the describe document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 479
diff changeset
274 Element ui = creator.create("ui");
d265f5dc2979 Appended the selected fis to the describe document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 479
diff changeset
275 Element staticNode = creator.create("static");
d265f5dc2979 Appended the selected fis to the describe document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 479
diff changeset
276 Element dynamic = creator.create("dynamic");
d265f5dc2979 Appended the selected fis to the describe document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 479
diff changeset
277
d265f5dc2979 Appended the selected fis to the describe document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 479
diff changeset
278 appendFis(document, staticNode, context, this.name);
475
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
279 appendSelectProducts(document, dynamic, context.getMeta());
488
d265f5dc2979 Appended the selected fis to the describe document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 479
diff changeset
280 ui.appendChild(staticNode);
475
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
281 ui.appendChild(dynamic);
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
282 rootNode.appendChild(ui);
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
283
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
284 document.appendChild(rootNode);
488
d265f5dc2979 Appended the selected fis to the describe document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 479
diff changeset
285
475
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
286 return document;
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
287 }
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
288
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
289
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
290 @Override
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
291 public void out(Document document, OutputStream out, CallContext context)
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
292 throws IOException
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
293 {
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
294 log.debug("SelectProductArtifact.out()");
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
295 if (artifact != null) {
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
296 artifact.out(document, out, context);
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
297 }
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
298 }
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
299
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
300
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
301 protected void appendProducts(
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
302 Document document,
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
303 Node parent,
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
304 Object context
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
305 ) {
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
306 Iterator iter = products.values().iterator();
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
307
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
308 XMLUtils.ElementCreator creator = new XMLUtils.ElementCreator(
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
309 document,
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
310 ArtifactNamespaceContext.NAMESPACE_URI,
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
311 ArtifactNamespaceContext.NAMESPACE_PREFIX
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
312 );
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
313
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
314 while(iter.hasNext()) {
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
315 Product prod = (Product) iter.next();
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
316 String name = prod.getName();
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
317
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
318 Element current = creator.create("state");
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
319 creator.addAttr(current, "name", name);
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
320 creator.addAttr(current, "description", name);
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
321 parent.appendChild(current);
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
322 }
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
323 }
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
324
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
325
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
326 protected void appendSelectProducts(
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
327 Document document,
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
328 Node node,
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
329 CallMeta callMeta
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
330 ) {
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
331 RessourceFactory ressource = RessourceFactory.getInstance();
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
332
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
333 XMLUtils.ElementCreator creator = new XMLUtils.ElementCreator(
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
334 document,
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
335 XFORM_URL,
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
336 XFORM_PREFIX
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
337 );
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
338
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
339 String selectboxName = "product";
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
340 Element selectNode = creator.create("select1");
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
341 creator.addAttr(selectNode, "ref", selectboxName);
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
342
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
343 Element lableNode = creator.create("label");
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
344 lableNode.setTextContent(ressource.getRessource(callMeta.getLanguages(),
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
345 selectboxName,
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
346 selectboxName
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
347 )
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
348 );
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
349
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
350 Element choiceNode = creator.create("choices");
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
351 selectNode.appendChild(lableNode);
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
352 selectNode.appendChild(choiceNode);
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
353
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
354 Iterator it = products.values().iterator();
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
355 while (it.hasNext()) {
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
356 Product p = (Product) it.next();
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
357 Element itemNode = creator.create("item");
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
358 Element choiceLableNode = creator.create("label");
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
359 choiceLableNode.setTextContent(ressource.getRessource(
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
360 callMeta.getLanguages(),
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
361 p.getName(),
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
362 p.getName()
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
363 ));
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
364 itemNode.appendChild(choiceLableNode);
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
365
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
366 Element choiceValueNode = creator.create("value");
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
367 choiceValueNode.setTextContent(p.getName());
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
368 itemNode.appendChild(choiceValueNode);
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
369 choiceNode.appendChild(itemNode);
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
370 }
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
371
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
372 node.appendChild(selectNode);
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
373 }
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
374
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
375
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
376 protected Document feedDocument(String uuid, String hash) {
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
377 Document document = XMLUtils.newDocument();
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
378
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
379 XMLUtils.ElementCreator creator = new XMLUtils.ElementCreator(
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
380 document,
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
381 ArtifactNamespaceContext.NAMESPACE_URI,
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
382 ArtifactNamespaceContext.NAMESPACE_PREFIX
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
383 );
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
384 Element rootNode = creator.create("action");
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
385
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
386 Element typeNode = creator.create("type");
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
387 creator.addAttr(typeNode, "name", "feed");
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
388 rootNode.appendChild(typeNode);
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
389
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
390 Element uuidNode = creator.create("uuid");
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
391 creator.addAttr(uuidNode, "value", uuid);
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
392 rootNode.appendChild(uuidNode);
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
393
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
394 Element hashNode = creator.create("hash");
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
395 creator.addAttr(hashNode, "value", hash);
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
396 rootNode.appendChild(hashNode);
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
397
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
398 Element dataNode = creator.create("data");
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
399 rootNode.appendChild(dataNode);
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
400
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
401 Collection<InputData> parameter = this.current.getParameter();
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
402 if (parameter != null) {
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
403 Iterator<InputData> parameterIt = parameter.iterator();
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
404
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
405 while (parameterIt.hasNext()) {
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
406 InputData inputData = parameterIt.next();
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
407
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
408 Element inputNode = creator.create("input");
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
409 creator.addAttr(inputNode, "name", inputData.getName());
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
410 creator.addAttr(inputNode, "value", inputData.getValue());
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
411 dataNode.appendChild(inputNode);
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
412 }
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
413 }
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
414 document.appendChild(rootNode);
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
415 return document;
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
416 }
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
417 }
c0504976e606 Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a fis.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
418 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8:

http://dive4elements.wald.intevation.org