annotate artifacts-common/src/main/java/de/intevation/artifacts/common/utils/ClientProtocolUtils.java @ 261:f3d970a832ff

Bugfix: the document that is used to trigger the OUT operation of a collection will now contain the name of the output mode and its concrete subtype. artifacts/trunk@1933 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Ingo Weinzierl <ingo.weinzierl@intevation.de>
date Tue, 17 May 2011 09:57:10 +0000
parents c41b300b02c3
children 72de5c373c9b
rev   line source
113
0344a20f8a93 Added the ArtifactNamespaceContext and a ClientProtocolUtils that helps working with the artifact protocol.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
1 /*
0344a20f8a93 Added the ArtifactNamespaceContext and a ClientProtocolUtils that helps working with the artifact protocol.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
2 * Copyright (c) 2011 by Intevation GmbH
0344a20f8a93 Added the ArtifactNamespaceContext and a ClientProtocolUtils that helps working with the artifact protocol.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
3 *
0344a20f8a93 Added the ArtifactNamespaceContext and a ClientProtocolUtils that helps working with the artifact protocol.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
4 * This program is free software under the LGPL (>=v2.1)
0344a20f8a93 Added the ArtifactNamespaceContext and a ClientProtocolUtils that helps working with the artifact protocol.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
5 * Read the file LGPL.txt coming with the software for details
0344a20f8a93 Added the ArtifactNamespaceContext and a ClientProtocolUtils that helps working with the artifact protocol.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
6 * or visit http://www.gnu.org/licenses/ if it does not exist.
0344a20f8a93 Added the ArtifactNamespaceContext and a ClientProtocolUtils that helps working with the artifact protocol.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
7 */
0344a20f8a93 Added the ArtifactNamespaceContext and a ClientProtocolUtils that helps working with the artifact protocol.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
8 package de.intevation.artifacts.common.utils;
0344a20f8a93 Added the ArtifactNamespaceContext and a ClientProtocolUtils that helps working with the artifact protocol.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
9
114
19b86e27d0c3 New XPath constants and methods that retrieve important nodes of the DESCRIBE document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 113
diff changeset
10 import javax.xml.xpath.XPathConstants;
19b86e27d0c3 New XPath constants and methods that retrieve important nodes of the DESCRIBE document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 113
diff changeset
11
113
0344a20f8a93 Added the ArtifactNamespaceContext and a ClientProtocolUtils that helps working with the artifact protocol.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
12 import org.w3c.dom.Document;
0344a20f8a93 Added the ArtifactNamespaceContext and a ClientProtocolUtils that helps working with the artifact protocol.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
13 import org.w3c.dom.Element;
114
19b86e27d0c3 New XPath constants and methods that retrieve important nodes of the DESCRIBE document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 113
diff changeset
14 import org.w3c.dom.Node;
19b86e27d0c3 New XPath constants and methods that retrieve important nodes of the DESCRIBE document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 113
diff changeset
15 import org.w3c.dom.NodeList;
113
0344a20f8a93 Added the ArtifactNamespaceContext and a ClientProtocolUtils that helps working with the artifact protocol.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
16
0344a20f8a93 Added the ArtifactNamespaceContext and a ClientProtocolUtils that helps working with the artifact protocol.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
17 import de.intevation.artifacts.common.ArtifactNamespaceContext;
0344a20f8a93 Added the ArtifactNamespaceContext and a ClientProtocolUtils that helps working with the artifact protocol.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
18
0344a20f8a93 Added the ArtifactNamespaceContext and a ClientProtocolUtils that helps working with the artifact protocol.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
19
0344a20f8a93 Added the ArtifactNamespaceContext and a ClientProtocolUtils that helps working with the artifact protocol.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
20 /**
0344a20f8a93 Added the ArtifactNamespaceContext and a ClientProtocolUtils that helps working with the artifact protocol.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
21 * This class provides methods that help creating the artifact protocol
0344a20f8a93 Added the ArtifactNamespaceContext and a ClientProtocolUtils that helps working with the artifact protocol.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
22 * documents DESCRIBE, FEED, ADVANCE and OUT.
0344a20f8a93 Added the ArtifactNamespaceContext and a ClientProtocolUtils that helps working with the artifact protocol.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
23 *
0344a20f8a93 Added the ArtifactNamespaceContext and a ClientProtocolUtils that helps working with the artifact protocol.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
24 * @author <a href="mailto:ingo.weinzierl@intevation.de">Ingo Weinzierl</a>
0344a20f8a93 Added the ArtifactNamespaceContext and a ClientProtocolUtils that helps working with the artifact protocol.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
25 */
0344a20f8a93 Added the ArtifactNamespaceContext and a ClientProtocolUtils that helps working with the artifact protocol.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
26 public class ClientProtocolUtils {
0344a20f8a93 Added the ArtifactNamespaceContext and a ClientProtocolUtils that helps working with the artifact protocol.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
27
114
19b86e27d0c3 New XPath constants and methods that retrieve important nodes of the DESCRIBE document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 113
diff changeset
28 /** The XPath to the current state in the DESCRIBE document.*/
19b86e27d0c3 New XPath constants and methods that retrieve important nodes of the DESCRIBE document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 113
diff changeset
29 public static final String XPATH_CURRENT_STATE = "/art:result/art:state";
19b86e27d0c3 New XPath constants and methods that retrieve important nodes of the DESCRIBE document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 113
diff changeset
30
19b86e27d0c3 New XPath constants and methods that retrieve important nodes of the DESCRIBE document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 113
diff changeset
31 /** The XPath to the static UI part in the DESCRIBE document.*/
19b86e27d0c3 New XPath constants and methods that retrieve important nodes of the DESCRIBE document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 113
diff changeset
32 public static final String XPATH_STATIC = "/art:result/art:ui/art:static";
19b86e27d0c3 New XPath constants and methods that retrieve important nodes of the DESCRIBE document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 113
diff changeset
33
19b86e27d0c3 New XPath constants and methods that retrieve important nodes of the DESCRIBE document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 113
diff changeset
34 /** The XPath to the dynamic UI part in the DESCRIBE document.*/
19b86e27d0c3 New XPath constants and methods that retrieve important nodes of the DESCRIBE document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 113
diff changeset
35 public static final String XPATH_DYNAMIC = "/art:result/art:ui/art:dynamic";
19b86e27d0c3 New XPath constants and methods that retrieve important nodes of the DESCRIBE document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 113
diff changeset
36
19b86e27d0c3 New XPath constants and methods that retrieve important nodes of the DESCRIBE document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 113
diff changeset
37 /** The XPath to the reachable states part in the DESCRIBE document.*/
19b86e27d0c3 New XPath constants and methods that retrieve important nodes of the DESCRIBE document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 113
diff changeset
38 public static final String XPATH_STATES =
19b86e27d0c3 New XPath constants and methods that retrieve important nodes of the DESCRIBE document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 113
diff changeset
39 "/art:result/art:reachable-states";
19b86e27d0c3 New XPath constants and methods that retrieve important nodes of the DESCRIBE document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 113
diff changeset
40
211
435631e07da2 Enhanced the ProtocolUtils and ClientProtocolUtils to append and retrieve output modes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 208
diff changeset
41 /** The XPath to the output modes in the DESCRIBE document.*/
435631e07da2 Enhanced the ProtocolUtils and ClientProtocolUtils to append and retrieve output modes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 208
diff changeset
42 public static final String XPATH_OUTPUT_MODES =
435631e07da2 Enhanced the ProtocolUtils and ClientProtocolUtils to append and retrieve output modes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 208
diff changeset
43 "/art:result/art:outputmodes/art:output";
435631e07da2 Enhanced the ProtocolUtils and ClientProtocolUtils to append and retrieve output modes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 208
diff changeset
44
435631e07da2 Enhanced the ProtocolUtils and ClientProtocolUtils to append and retrieve output modes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 208
diff changeset
45
114
19b86e27d0c3 New XPath constants and methods that retrieve important nodes of the DESCRIBE document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 113
diff changeset
46 /** The XPath to the select node relative to the dynamic UI node in the
19b86e27d0c3 New XPath constants and methods that retrieve important nodes of the DESCRIBE document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 113
diff changeset
47 * DESCRIBE document.*/
19b86e27d0c3 New XPath constants and methods that retrieve important nodes of the DESCRIBE document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 113
diff changeset
48 public static final String XPATH_DATA_SELECT = "art:select";
19b86e27d0c3 New XPath constants and methods that retrieve important nodes of the DESCRIBE document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 113
diff changeset
49
19b86e27d0c3 New XPath constants and methods that retrieve important nodes of the DESCRIBE document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 113
diff changeset
50 /** The XPath to the choices nodes relative to the select node in the
19b86e27d0c3 New XPath constants and methods that retrieve important nodes of the DESCRIBE document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 113
diff changeset
51 * DESCRIBE document.*/
19b86e27d0c3 New XPath constants and methods that retrieve important nodes of the DESCRIBE document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 113
diff changeset
52 public static final String XPATH_DATA_ITEMS = "art:choices/art:item";
19b86e27d0c3 New XPath constants and methods that retrieve important nodes of the DESCRIBE document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 113
diff changeset
53
19b86e27d0c3 New XPath constants and methods that retrieve important nodes of the DESCRIBE document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 113
diff changeset
54 /** The XPath to a label in the artifact's DESCRIBE document.*/
19b86e27d0c3 New XPath constants and methods that retrieve important nodes of the DESCRIBE document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 113
diff changeset
55 public static final String XPATH_LABEL = "art:label/text()";
19b86e27d0c3 New XPath constants and methods that retrieve important nodes of the DESCRIBE document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 113
diff changeset
56
19b86e27d0c3 New XPath constants and methods that retrieve important nodes of the DESCRIBE document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 113
diff changeset
57 /** The XPath to a value in the artifact's DESCRIBE document.*/
19b86e27d0c3 New XPath constants and methods that retrieve important nodes of the DESCRIBE document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 113
diff changeset
58 public static final String XPATH_VALUE = "art:value/text()";
19b86e27d0c3 New XPath constants and methods that retrieve important nodes of the DESCRIBE document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 113
diff changeset
59
19b86e27d0c3 New XPath constants and methods that retrieve important nodes of the DESCRIBE document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 113
diff changeset
60
113
0344a20f8a93 Added the ArtifactNamespaceContext and a ClientProtocolUtils that helps working with the artifact protocol.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
61 /**
0344a20f8a93 Added the ArtifactNamespaceContext and a ClientProtocolUtils that helps working with the artifact protocol.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
62 * It should not be necessary to create instances of this class.
0344a20f8a93 Added the ArtifactNamespaceContext and a ClientProtocolUtils that helps working with the artifact protocol.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
63 */
0344a20f8a93 Added the ArtifactNamespaceContext and a ClientProtocolUtils that helps working with the artifact protocol.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
64 private ClientProtocolUtils() {
0344a20f8a93 Added the ArtifactNamespaceContext and a ClientProtocolUtils that helps working with the artifact protocol.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
65 }
0344a20f8a93 Added the ArtifactNamespaceContext and a ClientProtocolUtils that helps working with the artifact protocol.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
66
0344a20f8a93 Added the ArtifactNamespaceContext and a ClientProtocolUtils that helps working with the artifact protocol.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
67
0344a20f8a93 Added the ArtifactNamespaceContext and a ClientProtocolUtils that helps working with the artifact protocol.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
68 /**
0344a20f8a93 Added the ArtifactNamespaceContext and a ClientProtocolUtils that helps working with the artifact protocol.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
69 * This method creates a new CREATE document.
0344a20f8a93 Added the ArtifactNamespaceContext and a ClientProtocolUtils that helps working with the artifact protocol.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
70 *
0344a20f8a93 Added the ArtifactNamespaceContext and a ClientProtocolUtils that helps working with the artifact protocol.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
71 * @return the CREATE document.
0344a20f8a93 Added the ArtifactNamespaceContext and a ClientProtocolUtils that helps working with the artifact protocol.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
72 */
0344a20f8a93 Added the ArtifactNamespaceContext and a ClientProtocolUtils that helps working with the artifact protocol.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
73 public static Document newCreateDocument(String factory) {
0344a20f8a93 Added the ArtifactNamespaceContext and a ClientProtocolUtils that helps working with the artifact protocol.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
74 Document doc = XMLUtils.newDocument();
0344a20f8a93 Added the ArtifactNamespaceContext and a ClientProtocolUtils that helps working with the artifact protocol.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
75
0344a20f8a93 Added the ArtifactNamespaceContext and a ClientProtocolUtils that helps working with the artifact protocol.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
76 XMLUtils.ElementCreator cr = new XMLUtils.ElementCreator(
0344a20f8a93 Added the ArtifactNamespaceContext and a ClientProtocolUtils that helps working with the artifact protocol.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
77 doc,
0344a20f8a93 Added the ArtifactNamespaceContext and a ClientProtocolUtils that helps working with the artifact protocol.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
78 ArtifactNamespaceContext.NAMESPACE_URI,
0344a20f8a93 Added the ArtifactNamespaceContext and a ClientProtocolUtils that helps working with the artifact protocol.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
79 ArtifactNamespaceContext.NAMESPACE_PREFIX);
0344a20f8a93 Added the ArtifactNamespaceContext and a ClientProtocolUtils that helps working with the artifact protocol.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
80
0344a20f8a93 Added the ArtifactNamespaceContext and a ClientProtocolUtils that helps working with the artifact protocol.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
81 Element action = cr.create("action");
0344a20f8a93 Added the ArtifactNamespaceContext and a ClientProtocolUtils that helps working with the artifact protocol.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
82 Element type = cr.create("type");
0344a20f8a93 Added the ArtifactNamespaceContext and a ClientProtocolUtils that helps working with the artifact protocol.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
83 Element fac = cr.create("factory");
0344a20f8a93 Added the ArtifactNamespaceContext and a ClientProtocolUtils that helps working with the artifact protocol.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
84
0344a20f8a93 Added the ArtifactNamespaceContext and a ClientProtocolUtils that helps working with the artifact protocol.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
85 type.setAttribute("name", "create");
0344a20f8a93 Added the ArtifactNamespaceContext and a ClientProtocolUtils that helps working with the artifact protocol.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
86 fac.setAttribute("name", factory);
0344a20f8a93 Added the ArtifactNamespaceContext and a ClientProtocolUtils that helps working with the artifact protocol.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
87
0344a20f8a93 Added the ArtifactNamespaceContext and a ClientProtocolUtils that helps working with the artifact protocol.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
88 action.appendChild(type);
0344a20f8a93 Added the ArtifactNamespaceContext and a ClientProtocolUtils that helps working with the artifact protocol.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
89 action.appendChild(fac);
0344a20f8a93 Added the ArtifactNamespaceContext and a ClientProtocolUtils that helps working with the artifact protocol.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
90
0344a20f8a93 Added the ArtifactNamespaceContext and a ClientProtocolUtils that helps working with the artifact protocol.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
91 doc.appendChild(action);
0344a20f8a93 Added the ArtifactNamespaceContext and a ClientProtocolUtils that helps working with the artifact protocol.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
92
0344a20f8a93 Added the ArtifactNamespaceContext and a ClientProtocolUtils that helps working with the artifact protocol.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
93 return doc;
0344a20f8a93 Added the ArtifactNamespaceContext and a ClientProtocolUtils that helps working with the artifact protocol.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
94 }
114
19b86e27d0c3 New XPath constants and methods that retrieve important nodes of the DESCRIBE document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 113
diff changeset
95
19b86e27d0c3 New XPath constants and methods that retrieve important nodes of the DESCRIBE document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 113
diff changeset
96
19b86e27d0c3 New XPath constants and methods that retrieve important nodes of the DESCRIBE document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 113
diff changeset
97 /**
203
b5e1949bc255 Implemented a new method in the ClientProtocolUtils that creates the document for a FEED operation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 172
diff changeset
98 * This method creates a new FEED document.
b5e1949bc255 Implemented a new method in the ClientProtocolUtils that creates the document for a FEED operation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 172
diff changeset
99 *
b5e1949bc255 Implemented a new method in the ClientProtocolUtils that creates the document for a FEED operation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 172
diff changeset
100 * @param theUuid The identifier of the artifact.
b5e1949bc255 Implemented a new method in the ClientProtocolUtils that creates the document for a FEED operation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 172
diff changeset
101 * @param theHash The hash of the artifact.
b5e1949bc255 Implemented a new method in the ClientProtocolUtils that creates the document for a FEED operation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 172
diff changeset
102 * @param theData An array that contains key/value pairs that represent the
b5e1949bc255 Implemented a new method in the ClientProtocolUtils that creates the document for a FEED operation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 172
diff changeset
103 * data that should be included in the FEED document.
b5e1949bc255 Implemented a new method in the ClientProtocolUtils that creates the document for a FEED operation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 172
diff changeset
104 *
b5e1949bc255 Implemented a new method in the ClientProtocolUtils that creates the document for a FEED operation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 172
diff changeset
105 * @return the FEED document.
b5e1949bc255 Implemented a new method in the ClientProtocolUtils that creates the document for a FEED operation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 172
diff changeset
106 */
b5e1949bc255 Implemented a new method in the ClientProtocolUtils that creates the document for a FEED operation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 172
diff changeset
107 public static Document newFeedDocument(
b5e1949bc255 Implemented a new method in the ClientProtocolUtils that creates the document for a FEED operation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 172
diff changeset
108 String theUuid,
b5e1949bc255 Implemented a new method in the ClientProtocolUtils that creates the document for a FEED operation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 172
diff changeset
109 String theHash,
b5e1949bc255 Implemented a new method in the ClientProtocolUtils that creates the document for a FEED operation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 172
diff changeset
110 String[][] theData)
b5e1949bc255 Implemented a new method in the ClientProtocolUtils that creates the document for a FEED operation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 172
diff changeset
111 {
b5e1949bc255 Implemented a new method in the ClientProtocolUtils that creates the document for a FEED operation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 172
diff changeset
112 Document doc = XMLUtils.newDocument();
b5e1949bc255 Implemented a new method in the ClientProtocolUtils that creates the document for a FEED operation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 172
diff changeset
113
b5e1949bc255 Implemented a new method in the ClientProtocolUtils that creates the document for a FEED operation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 172
diff changeset
114 XMLUtils.ElementCreator cr = new XMLUtils.ElementCreator(
b5e1949bc255 Implemented a new method in the ClientProtocolUtils that creates the document for a FEED operation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 172
diff changeset
115 doc,
b5e1949bc255 Implemented a new method in the ClientProtocolUtils that creates the document for a FEED operation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 172
diff changeset
116 ArtifactNamespaceContext.NAMESPACE_URI,
b5e1949bc255 Implemented a new method in the ClientProtocolUtils that creates the document for a FEED operation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 172
diff changeset
117 ArtifactNamespaceContext.NAMESPACE_PREFIX);
b5e1949bc255 Implemented a new method in the ClientProtocolUtils that creates the document for a FEED operation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 172
diff changeset
118
b5e1949bc255 Implemented a new method in the ClientProtocolUtils that creates the document for a FEED operation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 172
diff changeset
119 Element action = cr.create("action");
b5e1949bc255 Implemented a new method in the ClientProtocolUtils that creates the document for a FEED operation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 172
diff changeset
120 Element type = cr.create("type");
b5e1949bc255 Implemented a new method in the ClientProtocolUtils that creates the document for a FEED operation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 172
diff changeset
121 Element uuid = cr.create("uuid");
b5e1949bc255 Implemented a new method in the ClientProtocolUtils that creates the document for a FEED operation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 172
diff changeset
122 Element hash = cr.create("hash");
b5e1949bc255 Implemented a new method in the ClientProtocolUtils that creates the document for a FEED operation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 172
diff changeset
123 Element data = cr.create("data");
b5e1949bc255 Implemented a new method in the ClientProtocolUtils that creates the document for a FEED operation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 172
diff changeset
124
b5e1949bc255 Implemented a new method in the ClientProtocolUtils that creates the document for a FEED operation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 172
diff changeset
125 // XXX It is not nice that the type has no attribute namespace, but to
b5e1949bc255 Implemented a new method in the ClientProtocolUtils that creates the document for a FEED operation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 172
diff changeset
126 // be backward compatible, we don't change this now.
b5e1949bc255 Implemented a new method in the ClientProtocolUtils that creates the document for a FEED operation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 172
diff changeset
127 cr.addAttr(type, "name", "feed", false);
b5e1949bc255 Implemented a new method in the ClientProtocolUtils that creates the document for a FEED operation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 172
diff changeset
128 cr.addAttr(uuid, "value", theUuid, true);
b5e1949bc255 Implemented a new method in the ClientProtocolUtils that creates the document for a FEED operation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 172
diff changeset
129 cr.addAttr(hash, "value", theHash, true);
b5e1949bc255 Implemented a new method in the ClientProtocolUtils that creates the document for a FEED operation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 172
diff changeset
130
b5e1949bc255 Implemented a new method in the ClientProtocolUtils that creates the document for a FEED operation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 172
diff changeset
131 for (String[] kvp: theData) {
b5e1949bc255 Implemented a new method in the ClientProtocolUtils that creates the document for a FEED operation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 172
diff changeset
132 Element input = cr.create("input");
b5e1949bc255 Implemented a new method in the ClientProtocolUtils that creates the document for a FEED operation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 172
diff changeset
133 cr.addAttr(input, "name", kvp[0], true);
b5e1949bc255 Implemented a new method in the ClientProtocolUtils that creates the document for a FEED operation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 172
diff changeset
134 cr.addAttr(input, "value", kvp[1], true);
b5e1949bc255 Implemented a new method in the ClientProtocolUtils that creates the document for a FEED operation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 172
diff changeset
135
b5e1949bc255 Implemented a new method in the ClientProtocolUtils that creates the document for a FEED operation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 172
diff changeset
136 data.appendChild(input);
b5e1949bc255 Implemented a new method in the ClientProtocolUtils that creates the document for a FEED operation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 172
diff changeset
137 }
b5e1949bc255 Implemented a new method in the ClientProtocolUtils that creates the document for a FEED operation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 172
diff changeset
138
b5e1949bc255 Implemented a new method in the ClientProtocolUtils that creates the document for a FEED operation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 172
diff changeset
139 action.appendChild(type);
b5e1949bc255 Implemented a new method in the ClientProtocolUtils that creates the document for a FEED operation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 172
diff changeset
140 action.appendChild(uuid);
b5e1949bc255 Implemented a new method in the ClientProtocolUtils that creates the document for a FEED operation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 172
diff changeset
141 action.appendChild(hash);
b5e1949bc255 Implemented a new method in the ClientProtocolUtils that creates the document for a FEED operation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 172
diff changeset
142 action.appendChild(data);
b5e1949bc255 Implemented a new method in the ClientProtocolUtils that creates the document for a FEED operation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 172
diff changeset
143
b5e1949bc255 Implemented a new method in the ClientProtocolUtils that creates the document for a FEED operation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 172
diff changeset
144 doc.appendChild(action);
b5e1949bc255 Implemented a new method in the ClientProtocolUtils that creates the document for a FEED operation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 172
diff changeset
145
b5e1949bc255 Implemented a new method in the ClientProtocolUtils that creates the document for a FEED operation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 172
diff changeset
146 return doc;
b5e1949bc255 Implemented a new method in the ClientProtocolUtils that creates the document for a FEED operation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 172
diff changeset
147 }
b5e1949bc255 Implemented a new method in the ClientProtocolUtils that creates the document for a FEED operation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 172
diff changeset
148
b5e1949bc255 Implemented a new method in the ClientProtocolUtils that creates the document for a FEED operation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 172
diff changeset
149
b5e1949bc255 Implemented a new method in the ClientProtocolUtils that creates the document for a FEED operation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 172
diff changeset
150 /**
240
c0bc172ec7b2 Improved the ClientProtocolUtils with a method that returns a document that is used to trigger the DESCRIBE operation of artifacts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 239
diff changeset
151 * This method creates a new DESCRIBE document.
c0bc172ec7b2 Improved the ClientProtocolUtils with a method that returns a document that is used to trigger the DESCRIBE operation of artifacts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 239
diff changeset
152 *
c0bc172ec7b2 Improved the ClientProtocolUtils with a method that returns a document that is used to trigger the DESCRIBE operation of artifacts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 239
diff changeset
153 * @param theUuid The identifier of the artifact.
c0bc172ec7b2 Improved the ClientProtocolUtils with a method that returns a document that is used to trigger the DESCRIBE operation of artifacts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 239
diff changeset
154 * @param theHash The hash of the artifact.
c0bc172ec7b2 Improved the ClientProtocolUtils with a method that returns a document that is used to trigger the DESCRIBE operation of artifacts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 239
diff changeset
155 * @param ui If true, the UI part is included.
c0bc172ec7b2 Improved the ClientProtocolUtils with a method that returns a document that is used to trigger the DESCRIBE operation of artifacts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 239
diff changeset
156 *
c0bc172ec7b2 Improved the ClientProtocolUtils with a method that returns a document that is used to trigger the DESCRIBE operation of artifacts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 239
diff changeset
157 * @return the DESCRIBE document.
c0bc172ec7b2 Improved the ClientProtocolUtils with a method that returns a document that is used to trigger the DESCRIBE operation of artifacts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 239
diff changeset
158 */
c0bc172ec7b2 Improved the ClientProtocolUtils with a method that returns a document that is used to trigger the DESCRIBE operation of artifacts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 239
diff changeset
159 public static Document newDescribeDocument(
c0bc172ec7b2 Improved the ClientProtocolUtils with a method that returns a document that is used to trigger the DESCRIBE operation of artifacts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 239
diff changeset
160 String theUuid,
c0bc172ec7b2 Improved the ClientProtocolUtils with a method that returns a document that is used to trigger the DESCRIBE operation of artifacts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 239
diff changeset
161 String theHash,
c0bc172ec7b2 Improved the ClientProtocolUtils with a method that returns a document that is used to trigger the DESCRIBE operation of artifacts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 239
diff changeset
162 boolean incUI)
c0bc172ec7b2 Improved the ClientProtocolUtils with a method that returns a document that is used to trigger the DESCRIBE operation of artifacts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 239
diff changeset
163 {
c0bc172ec7b2 Improved the ClientProtocolUtils with a method that returns a document that is used to trigger the DESCRIBE operation of artifacts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 239
diff changeset
164 Document doc = XMLUtils.newDocument();
c0bc172ec7b2 Improved the ClientProtocolUtils with a method that returns a document that is used to trigger the DESCRIBE operation of artifacts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 239
diff changeset
165
c0bc172ec7b2 Improved the ClientProtocolUtils with a method that returns a document that is used to trigger the DESCRIBE operation of artifacts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 239
diff changeset
166 XMLUtils.ElementCreator cr = new XMLUtils.ElementCreator(
c0bc172ec7b2 Improved the ClientProtocolUtils with a method that returns a document that is used to trigger the DESCRIBE operation of artifacts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 239
diff changeset
167 doc,
c0bc172ec7b2 Improved the ClientProtocolUtils with a method that returns a document that is used to trigger the DESCRIBE operation of artifacts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 239
diff changeset
168 ArtifactNamespaceContext.NAMESPACE_URI,
c0bc172ec7b2 Improved the ClientProtocolUtils with a method that returns a document that is used to trigger the DESCRIBE operation of artifacts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 239
diff changeset
169 ArtifactNamespaceContext.NAMESPACE_PREFIX);
c0bc172ec7b2 Improved the ClientProtocolUtils with a method that returns a document that is used to trigger the DESCRIBE operation of artifacts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 239
diff changeset
170
c0bc172ec7b2 Improved the ClientProtocolUtils with a method that returns a document that is used to trigger the DESCRIBE operation of artifacts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 239
diff changeset
171 Element action = cr.create("action");
c0bc172ec7b2 Improved the ClientProtocolUtils with a method that returns a document that is used to trigger the DESCRIBE operation of artifacts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 239
diff changeset
172 Element type = cr.create("type");
c0bc172ec7b2 Improved the ClientProtocolUtils with a method that returns a document that is used to trigger the DESCRIBE operation of artifacts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 239
diff changeset
173 Element uuid = cr.create("uuid");
c0bc172ec7b2 Improved the ClientProtocolUtils with a method that returns a document that is used to trigger the DESCRIBE operation of artifacts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 239
diff changeset
174 Element hash = cr.create("hash");
c0bc172ec7b2 Improved the ClientProtocolUtils with a method that returns a document that is used to trigger the DESCRIBE operation of artifacts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 239
diff changeset
175 Element ui = cr.create("include-ui");
c0bc172ec7b2 Improved the ClientProtocolUtils with a method that returns a document that is used to trigger the DESCRIBE operation of artifacts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 239
diff changeset
176
c0bc172ec7b2 Improved the ClientProtocolUtils with a method that returns a document that is used to trigger the DESCRIBE operation of artifacts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 239
diff changeset
177 // XXX It is not nice that the type has no attribute namespace, but to
c0bc172ec7b2 Improved the ClientProtocolUtils with a method that returns a document that is used to trigger the DESCRIBE operation of artifacts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 239
diff changeset
178 // be backward compatible, we don't change this now.
c0bc172ec7b2 Improved the ClientProtocolUtils with a method that returns a document that is used to trigger the DESCRIBE operation of artifacts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 239
diff changeset
179 cr.addAttr(type, "name", "describe", false);
c0bc172ec7b2 Improved the ClientProtocolUtils with a method that returns a document that is used to trigger the DESCRIBE operation of artifacts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 239
diff changeset
180 cr.addAttr(uuid, "value", theUuid, true);
c0bc172ec7b2 Improved the ClientProtocolUtils with a method that returns a document that is used to trigger the DESCRIBE operation of artifacts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 239
diff changeset
181 cr.addAttr(hash, "value", theHash, true);
c0bc172ec7b2 Improved the ClientProtocolUtils with a method that returns a document that is used to trigger the DESCRIBE operation of artifacts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 239
diff changeset
182
c0bc172ec7b2 Improved the ClientProtocolUtils with a method that returns a document that is used to trigger the DESCRIBE operation of artifacts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 239
diff changeset
183 ui.setTextContent(incUI ? "true" : "false");
c0bc172ec7b2 Improved the ClientProtocolUtils with a method that returns a document that is used to trigger the DESCRIBE operation of artifacts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 239
diff changeset
184
c0bc172ec7b2 Improved the ClientProtocolUtils with a method that returns a document that is used to trigger the DESCRIBE operation of artifacts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 239
diff changeset
185 action.appendChild(type);
c0bc172ec7b2 Improved the ClientProtocolUtils with a method that returns a document that is used to trigger the DESCRIBE operation of artifacts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 239
diff changeset
186 action.appendChild(uuid);
c0bc172ec7b2 Improved the ClientProtocolUtils with a method that returns a document that is used to trigger the DESCRIBE operation of artifacts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 239
diff changeset
187 action.appendChild(hash);
c0bc172ec7b2 Improved the ClientProtocolUtils with a method that returns a document that is used to trigger the DESCRIBE operation of artifacts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 239
diff changeset
188 action.appendChild(ui);
c0bc172ec7b2 Improved the ClientProtocolUtils with a method that returns a document that is used to trigger the DESCRIBE operation of artifacts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 239
diff changeset
189
c0bc172ec7b2 Improved the ClientProtocolUtils with a method that returns a document that is used to trigger the DESCRIBE operation of artifacts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 239
diff changeset
190 doc.appendChild(action);
c0bc172ec7b2 Improved the ClientProtocolUtils with a method that returns a document that is used to trigger the DESCRIBE operation of artifacts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 239
diff changeset
191
c0bc172ec7b2 Improved the ClientProtocolUtils with a method that returns a document that is used to trigger the DESCRIBE operation of artifacts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 239
diff changeset
192 return doc;
c0bc172ec7b2 Improved the ClientProtocolUtils with a method that returns a document that is used to trigger the DESCRIBE operation of artifacts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 239
diff changeset
193 }
c0bc172ec7b2 Improved the ClientProtocolUtils with a method that returns a document that is used to trigger the DESCRIBE operation of artifacts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 239
diff changeset
194
c0bc172ec7b2 Improved the ClientProtocolUtils with a method that returns a document that is used to trigger the DESCRIBE operation of artifacts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 239
diff changeset
195
c0bc172ec7b2 Improved the ClientProtocolUtils with a method that returns a document that is used to trigger the DESCRIBE operation of artifacts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 239
diff changeset
196 /**
204
5c93fb142970 Implemented a new method in the ClientProtocolUtils that creates the document for a ADVANCE operation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 203
diff changeset
197 * This method creates a new ADVANCE document.
5c93fb142970 Implemented a new method in the ClientProtocolUtils that creates the document for a ADVANCE operation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 203
diff changeset
198 *
5c93fb142970 Implemented a new method in the ClientProtocolUtils that creates the document for a ADVANCE operation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 203
diff changeset
199 * @param theUuid The identifier of the artifact.
5c93fb142970 Implemented a new method in the ClientProtocolUtils that creates the document for a ADVANCE operation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 203
diff changeset
200 * @param theHash The hash of the artifact.
5c93fb142970 Implemented a new method in the ClientProtocolUtils that creates the document for a ADVANCE operation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 203
diff changeset
201 * @param theTarget The target state identifier.
5c93fb142970 Implemented a new method in the ClientProtocolUtils that creates the document for a ADVANCE operation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 203
diff changeset
202 *
5c93fb142970 Implemented a new method in the ClientProtocolUtils that creates the document for a ADVANCE operation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 203
diff changeset
203 * @return the ADVANCE document.
5c93fb142970 Implemented a new method in the ClientProtocolUtils that creates the document for a ADVANCE operation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 203
diff changeset
204 */
5c93fb142970 Implemented a new method in the ClientProtocolUtils that creates the document for a ADVANCE operation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 203
diff changeset
205 public static Document newAdvanceDocument(
5c93fb142970 Implemented a new method in the ClientProtocolUtils that creates the document for a ADVANCE operation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 203
diff changeset
206 String theUuid,
5c93fb142970 Implemented a new method in the ClientProtocolUtils that creates the document for a ADVANCE operation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 203
diff changeset
207 String theHash,
5c93fb142970 Implemented a new method in the ClientProtocolUtils that creates the document for a ADVANCE operation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 203
diff changeset
208 String theTarget)
5c93fb142970 Implemented a new method in the ClientProtocolUtils that creates the document for a ADVANCE operation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 203
diff changeset
209 {
5c93fb142970 Implemented a new method in the ClientProtocolUtils that creates the document for a ADVANCE operation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 203
diff changeset
210 Document doc = XMLUtils.newDocument();
5c93fb142970 Implemented a new method in the ClientProtocolUtils that creates the document for a ADVANCE operation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 203
diff changeset
211
5c93fb142970 Implemented a new method in the ClientProtocolUtils that creates the document for a ADVANCE operation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 203
diff changeset
212 XMLUtils.ElementCreator cr = new XMLUtils.ElementCreator(
5c93fb142970 Implemented a new method in the ClientProtocolUtils that creates the document for a ADVANCE operation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 203
diff changeset
213 doc,
5c93fb142970 Implemented a new method in the ClientProtocolUtils that creates the document for a ADVANCE operation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 203
diff changeset
214 ArtifactNamespaceContext.NAMESPACE_URI,
5c93fb142970 Implemented a new method in the ClientProtocolUtils that creates the document for a ADVANCE operation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 203
diff changeset
215 ArtifactNamespaceContext.NAMESPACE_PREFIX);
5c93fb142970 Implemented a new method in the ClientProtocolUtils that creates the document for a ADVANCE operation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 203
diff changeset
216
5c93fb142970 Implemented a new method in the ClientProtocolUtils that creates the document for a ADVANCE operation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 203
diff changeset
217 Element action = cr.create("action");
5c93fb142970 Implemented a new method in the ClientProtocolUtils that creates the document for a ADVANCE operation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 203
diff changeset
218 Element type = cr.create("type");
5c93fb142970 Implemented a new method in the ClientProtocolUtils that creates the document for a ADVANCE operation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 203
diff changeset
219 Element uuid = cr.create("uuid");
5c93fb142970 Implemented a new method in the ClientProtocolUtils that creates the document for a ADVANCE operation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 203
diff changeset
220 Element hash = cr.create("hash");
5c93fb142970 Implemented a new method in the ClientProtocolUtils that creates the document for a ADVANCE operation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 203
diff changeset
221 Element target = cr.create("target");
5c93fb142970 Implemented a new method in the ClientProtocolUtils that creates the document for a ADVANCE operation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 203
diff changeset
222
5c93fb142970 Implemented a new method in the ClientProtocolUtils that creates the document for a ADVANCE operation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 203
diff changeset
223 // XXX It is not nice that the type has no attribute namespace, but to
5c93fb142970 Implemented a new method in the ClientProtocolUtils that creates the document for a ADVANCE operation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 203
diff changeset
224 // be backward compatible, we don't change this now.
5c93fb142970 Implemented a new method in the ClientProtocolUtils that creates the document for a ADVANCE operation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 203
diff changeset
225 cr.addAttr(type, "name", "advance", false);
5c93fb142970 Implemented a new method in the ClientProtocolUtils that creates the document for a ADVANCE operation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 203
diff changeset
226 cr.addAttr(uuid, "value", theUuid, true);
5c93fb142970 Implemented a new method in the ClientProtocolUtils that creates the document for a ADVANCE operation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 203
diff changeset
227 cr.addAttr(hash, "value", theHash, true);
5c93fb142970 Implemented a new method in the ClientProtocolUtils that creates the document for a ADVANCE operation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 203
diff changeset
228 cr.addAttr(target, "name", theTarget, true);
5c93fb142970 Implemented a new method in the ClientProtocolUtils that creates the document for a ADVANCE operation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 203
diff changeset
229
5c93fb142970 Implemented a new method in the ClientProtocolUtils that creates the document for a ADVANCE operation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 203
diff changeset
230 action.appendChild(type);
5c93fb142970 Implemented a new method in the ClientProtocolUtils that creates the document for a ADVANCE operation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 203
diff changeset
231 action.appendChild(uuid);
5c93fb142970 Implemented a new method in the ClientProtocolUtils that creates the document for a ADVANCE operation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 203
diff changeset
232 action.appendChild(hash);
5c93fb142970 Implemented a new method in the ClientProtocolUtils that creates the document for a ADVANCE operation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 203
diff changeset
233 action.appendChild(target);
5c93fb142970 Implemented a new method in the ClientProtocolUtils that creates the document for a ADVANCE operation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 203
diff changeset
234
5c93fb142970 Implemented a new method in the ClientProtocolUtils that creates the document for a ADVANCE operation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 203
diff changeset
235 doc.appendChild(action);
5c93fb142970 Implemented a new method in the ClientProtocolUtils that creates the document for a ADVANCE operation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 203
diff changeset
236
5c93fb142970 Implemented a new method in the ClientProtocolUtils that creates the document for a ADVANCE operation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 203
diff changeset
237 return doc;
5c93fb142970 Implemented a new method in the ClientProtocolUtils that creates the document for a ADVANCE operation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 203
diff changeset
238 }
5c93fb142970 Implemented a new method in the ClientProtocolUtils that creates the document for a ADVANCE operation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 203
diff changeset
239
5c93fb142970 Implemented a new method in the ClientProtocolUtils that creates the document for a ADVANCE operation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 203
diff changeset
240
5c93fb142970 Implemented a new method in the ClientProtocolUtils that creates the document for a ADVANCE operation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 203
diff changeset
241 /**
172
8ce06db80857 Added a new method to the ProtocolUtils that creates the necessary CREATE document for creating new artifact collections.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 114
diff changeset
242 * This method creates a new document that is used to create new artifact
8ce06db80857 Added a new method to the ProtocolUtils that creates the necessary CREATE document for creating new artifact collections.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 114
diff changeset
243 * collections in the artifact server.
8ce06db80857 Added a new method to the ProtocolUtils that creates the necessary CREATE document for creating new artifact collections.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 114
diff changeset
244 *
8ce06db80857 Added a new method to the ProtocolUtils that creates the necessary CREATE document for creating new artifact collections.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 114
diff changeset
245 * @param name <b>Optional</b> name of the collection.
8ce06db80857 Added a new method to the ProtocolUtils that creates the necessary CREATE document for creating new artifact collections.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 114
diff changeset
246 *
8ce06db80857 Added a new method to the ProtocolUtils that creates the necessary CREATE document for creating new artifact collections.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 114
diff changeset
247 * @return the document to create new collections.
8ce06db80857 Added a new method to the ProtocolUtils that creates the necessary CREATE document for creating new artifact collections.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 114
diff changeset
248 */
8ce06db80857 Added a new method to the ProtocolUtils that creates the necessary CREATE document for creating new artifact collections.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 114
diff changeset
249 public static Document newCreateCollectionDocument(String name) {
8ce06db80857 Added a new method to the ProtocolUtils that creates the necessary CREATE document for creating new artifact collections.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 114
diff changeset
250 Document doc = XMLUtils.newDocument();
8ce06db80857 Added a new method to the ProtocolUtils that creates the necessary CREATE document for creating new artifact collections.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 114
diff changeset
251
8ce06db80857 Added a new method to the ProtocolUtils that creates the necessary CREATE document for creating new artifact collections.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 114
diff changeset
252 XMLUtils.ElementCreator cr = new XMLUtils.ElementCreator(
8ce06db80857 Added a new method to the ProtocolUtils that creates the necessary CREATE document for creating new artifact collections.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 114
diff changeset
253 doc,
8ce06db80857 Added a new method to the ProtocolUtils that creates the necessary CREATE document for creating new artifact collections.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 114
diff changeset
254 ArtifactNamespaceContext.NAMESPACE_URI,
8ce06db80857 Added a new method to the ProtocolUtils that creates the necessary CREATE document for creating new artifact collections.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 114
diff changeset
255 ArtifactNamespaceContext.NAMESPACE_PREFIX);
8ce06db80857 Added a new method to the ProtocolUtils that creates the necessary CREATE document for creating new artifact collections.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 114
diff changeset
256
8ce06db80857 Added a new method to the ProtocolUtils that creates the necessary CREATE document for creating new artifact collections.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 114
diff changeset
257 Element action = cr.create("action");
8ce06db80857 Added a new method to the ProtocolUtils that creates the necessary CREATE document for creating new artifact collections.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 114
diff changeset
258 Element type = cr.create("type");
212
d7042094f7b7 Bugfix: Repaired a broken XPath.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 211
diff changeset
259 Element collection = cr.create("collection");
220
ecfc33a4ba3d Bugfix: Creating new ArtifactCollection will create artifact collections with empty - but not null - attributes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 214
diff changeset
260 Element attribute = cr.create("attribute");
172
8ce06db80857 Added a new method to the ProtocolUtils that creates the necessary CREATE document for creating new artifact collections.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 114
diff changeset
261
8ce06db80857 Added a new method to the ProtocolUtils that creates the necessary CREATE document for creating new artifact collections.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 114
diff changeset
262 cr.addAttr(type, "name", "create");
8ce06db80857 Added a new method to the ProtocolUtils that creates the necessary CREATE document for creating new artifact collections.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 114
diff changeset
263 cr.addAttr(collection, "name", name != null ? name : "");
8ce06db80857 Added a new method to the ProtocolUtils that creates the necessary CREATE document for creating new artifact collections.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 114
diff changeset
264
8ce06db80857 Added a new method to the ProtocolUtils that creates the necessary CREATE document for creating new artifact collections.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 114
diff changeset
265 action.appendChild(type);
212
d7042094f7b7 Bugfix: Repaired a broken XPath.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 211
diff changeset
266 type.appendChild(collection);
220
ecfc33a4ba3d Bugfix: Creating new ArtifactCollection will create artifact collections with empty - but not null - attributes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 214
diff changeset
267 collection.appendChild(attribute);
172
8ce06db80857 Added a new method to the ProtocolUtils that creates the necessary CREATE document for creating new artifact collections.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 114
diff changeset
268
8ce06db80857 Added a new method to the ProtocolUtils that creates the necessary CREATE document for creating new artifact collections.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 114
diff changeset
269 doc.appendChild(action);
8ce06db80857 Added a new method to the ProtocolUtils that creates the necessary CREATE document for creating new artifact collections.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 114
diff changeset
270
8ce06db80857 Added a new method to the ProtocolUtils that creates the necessary CREATE document for creating new artifact collections.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 114
diff changeset
271 return doc;
8ce06db80857 Added a new method to the ProtocolUtils that creates the necessary CREATE document for creating new artifact collections.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 114
diff changeset
272 }
8ce06db80857 Added a new method to the ProtocolUtils that creates the necessary CREATE document for creating new artifact collections.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 114
diff changeset
273
8ce06db80857 Added a new method to the ProtocolUtils that creates the necessary CREATE document for creating new artifact collections.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 114
diff changeset
274
8ce06db80857 Added a new method to the ProtocolUtils that creates the necessary CREATE document for creating new artifact collections.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 114
diff changeset
275 /**
214
fc435da7f471 Enhanced the ClientProtocolUtils with a method that creates a document that is used to add an artifact to a collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 212
diff changeset
276 * This method creates a new Document that is used to add an artifact to a
fc435da7f471 Enhanced the ClientProtocolUtils with a method that creates a document that is used to add an artifact to a collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 212
diff changeset
277 * collection in the artifact server.
fc435da7f471 Enhanced the ClientProtocolUtils with a method that creates a document that is used to add an artifact to a collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 212
diff changeset
278 *
fc435da7f471 Enhanced the ClientProtocolUtils with a method that creates a document that is used to add an artifact to a collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 212
diff changeset
279 * @param artId The identifier of the artifact that should be added.
fc435da7f471 Enhanced the ClientProtocolUtils with a method that creates a document that is used to add an artifact to a collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 212
diff changeset
280 * @param attr A document that contains attributes for the attribute's
fc435da7f471 Enhanced the ClientProtocolUtils with a method that creates a document that is used to add an artifact to a collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 212
diff changeset
281 * life in the collection.
fc435da7f471 Enhanced the ClientProtocolUtils with a method that creates a document that is used to add an artifact to a collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 212
diff changeset
282 *
fc435da7f471 Enhanced the ClientProtocolUtils with a method that creates a document that is used to add an artifact to a collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 212
diff changeset
283 * @return the document to add an artifact into a collection.
fc435da7f471 Enhanced the ClientProtocolUtils with a method that creates a document that is used to add an artifact to a collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 212
diff changeset
284 */
fc435da7f471 Enhanced the ClientProtocolUtils with a method that creates a document that is used to add an artifact to a collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 212
diff changeset
285 public static Document newAddArtifactDocument(String artId, Document attr) {
fc435da7f471 Enhanced the ClientProtocolUtils with a method that creates a document that is used to add an artifact to a collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 212
diff changeset
286 Document doc = XMLUtils.newDocument();
fc435da7f471 Enhanced the ClientProtocolUtils with a method that creates a document that is used to add an artifact to a collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 212
diff changeset
287
fc435da7f471 Enhanced the ClientProtocolUtils with a method that creates a document that is used to add an artifact to a collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 212
diff changeset
288 XMLUtils.ElementCreator cr = new XMLUtils.ElementCreator(
fc435da7f471 Enhanced the ClientProtocolUtils with a method that creates a document that is used to add an artifact to a collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 212
diff changeset
289 doc,
fc435da7f471 Enhanced the ClientProtocolUtils with a method that creates a document that is used to add an artifact to a collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 212
diff changeset
290 ArtifactNamespaceContext.NAMESPACE_URI,
fc435da7f471 Enhanced the ClientProtocolUtils with a method that creates a document that is used to add an artifact to a collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 212
diff changeset
291 ArtifactNamespaceContext.NAMESPACE_PREFIX);
fc435da7f471 Enhanced the ClientProtocolUtils with a method that creates a document that is used to add an artifact to a collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 212
diff changeset
292
fc435da7f471 Enhanced the ClientProtocolUtils with a method that creates a document that is used to add an artifact to a collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 212
diff changeset
293 Element action = cr.create("action");
fc435da7f471 Enhanced the ClientProtocolUtils with a method that creates a document that is used to add an artifact to a collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 212
diff changeset
294 Element type = cr.create("type");
fc435da7f471 Enhanced the ClientProtocolUtils with a method that creates a document that is used to add an artifact to a collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 212
diff changeset
295 Element artifact = cr.create("artifact");
fc435da7f471 Enhanced the ClientProtocolUtils with a method that creates a document that is used to add an artifact to a collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 212
diff changeset
296 Element attribute = cr.create("attribute");
fc435da7f471 Enhanced the ClientProtocolUtils with a method that creates a document that is used to add an artifact to a collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 212
diff changeset
297
fc435da7f471 Enhanced the ClientProtocolUtils with a method that creates a document that is used to add an artifact to a collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 212
diff changeset
298 cr.addAttr(artifact, "uuid", artId);
fc435da7f471 Enhanced the ClientProtocolUtils with a method that creates a document that is used to add an artifact to a collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 212
diff changeset
299 cr.addAttr(type, "name", "addartifact");
fc435da7f471 Enhanced the ClientProtocolUtils with a method that creates a document that is used to add an artifact to a collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 212
diff changeset
300
fc435da7f471 Enhanced the ClientProtocolUtils with a method that creates a document that is used to add an artifact to a collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 212
diff changeset
301 if (attr != null) {
fc435da7f471 Enhanced the ClientProtocolUtils with a method that creates a document that is used to add an artifact to a collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 212
diff changeset
302 attr.appendChild(attr);
fc435da7f471 Enhanced the ClientProtocolUtils with a method that creates a document that is used to add an artifact to a collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 212
diff changeset
303 }
fc435da7f471 Enhanced the ClientProtocolUtils with a method that creates a document that is used to add an artifact to a collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 212
diff changeset
304
fc435da7f471 Enhanced the ClientProtocolUtils with a method that creates a document that is used to add an artifact to a collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 212
diff changeset
305 action.appendChild(type);
fc435da7f471 Enhanced the ClientProtocolUtils with a method that creates a document that is used to add an artifact to a collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 212
diff changeset
306 type.appendChild(artifact);
fc435da7f471 Enhanced the ClientProtocolUtils with a method that creates a document that is used to add an artifact to a collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 212
diff changeset
307 artifact.appendChild(attribute);
fc435da7f471 Enhanced the ClientProtocolUtils with a method that creates a document that is used to add an artifact to a collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 212
diff changeset
308
fc435da7f471 Enhanced the ClientProtocolUtils with a method that creates a document that is used to add an artifact to a collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 212
diff changeset
309 doc.appendChild(action);
fc435da7f471 Enhanced the ClientProtocolUtils with a method that creates a document that is used to add an artifact to a collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 212
diff changeset
310
fc435da7f471 Enhanced the ClientProtocolUtils with a method that creates a document that is used to add an artifact to a collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 212
diff changeset
311 return doc;
fc435da7f471 Enhanced the ClientProtocolUtils with a method that creates a document that is used to add an artifact to a collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 212
diff changeset
312 }
fc435da7f471 Enhanced the ClientProtocolUtils with a method that creates a document that is used to add an artifact to a collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 212
diff changeset
313
fc435da7f471 Enhanced the ClientProtocolUtils with a method that creates a document that is used to add an artifact to a collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 212
diff changeset
314
fc435da7f471 Enhanced the ClientProtocolUtils with a method that creates a document that is used to add an artifact to a collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 212
diff changeset
315 /**
223
91333a41b234 Enhanced the ClientProtocolUtils with a method to create a document to trigger the DESCRIBE operation of a collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 220
diff changeset
316 * This method creates a new Document that is used to trigger the DESCRIBE
91333a41b234 Enhanced the ClientProtocolUtils with a method to create a document to trigger the DESCRIBE operation of a collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 220
diff changeset
317 * operation of a collection in the artifact server.
91333a41b234 Enhanced the ClientProtocolUtils with a method to create a document to trigger the DESCRIBE operation of a collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 220
diff changeset
318 *
91333a41b234 Enhanced the ClientProtocolUtils with a method to create a document to trigger the DESCRIBE operation of a collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 220
diff changeset
319 * @param uuid The identifier of the collection that should be described.
91333a41b234 Enhanced the ClientProtocolUtils with a method to create a document to trigger the DESCRIBE operation of a collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 220
diff changeset
320 *
91333a41b234 Enhanced the ClientProtocolUtils with a method to create a document to trigger the DESCRIBE operation of a collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 220
diff changeset
321 * @return the document to describe a collection.
91333a41b234 Enhanced the ClientProtocolUtils with a method to create a document to trigger the DESCRIBE operation of a collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 220
diff changeset
322 */
91333a41b234 Enhanced the ClientProtocolUtils with a method to create a document to trigger the DESCRIBE operation of a collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 220
diff changeset
323 public static Document newDescribeCollectionDocument(String uuid) {
91333a41b234 Enhanced the ClientProtocolUtils with a method to create a document to trigger the DESCRIBE operation of a collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 220
diff changeset
324 Document doc = XMLUtils.newDocument();
91333a41b234 Enhanced the ClientProtocolUtils with a method to create a document to trigger the DESCRIBE operation of a collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 220
diff changeset
325
91333a41b234 Enhanced the ClientProtocolUtils with a method to create a document to trigger the DESCRIBE operation of a collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 220
diff changeset
326 XMLUtils.ElementCreator cr = new XMLUtils.ElementCreator(
91333a41b234 Enhanced the ClientProtocolUtils with a method to create a document to trigger the DESCRIBE operation of a collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 220
diff changeset
327 doc,
91333a41b234 Enhanced the ClientProtocolUtils with a method to create a document to trigger the DESCRIBE operation of a collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 220
diff changeset
328 ArtifactNamespaceContext.NAMESPACE_URI,
91333a41b234 Enhanced the ClientProtocolUtils with a method to create a document to trigger the DESCRIBE operation of a collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 220
diff changeset
329 ArtifactNamespaceContext.NAMESPACE_PREFIX);
91333a41b234 Enhanced the ClientProtocolUtils with a method to create a document to trigger the DESCRIBE operation of a collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 220
diff changeset
330
91333a41b234 Enhanced the ClientProtocolUtils with a method to create a document to trigger the DESCRIBE operation of a collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 220
diff changeset
331 Element action = cr.create("action");
91333a41b234 Enhanced the ClientProtocolUtils with a method to create a document to trigger the DESCRIBE operation of a collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 220
diff changeset
332 Element type = cr.create("type");
91333a41b234 Enhanced the ClientProtocolUtils with a method to create a document to trigger the DESCRIBE operation of a collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 220
diff changeset
333 cr.addAttr(type, "name", "describe");
91333a41b234 Enhanced the ClientProtocolUtils with a method to create a document to trigger the DESCRIBE operation of a collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 220
diff changeset
334
91333a41b234 Enhanced the ClientProtocolUtils with a method to create a document to trigger the DESCRIBE operation of a collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 220
diff changeset
335 action.appendChild(type);
91333a41b234 Enhanced the ClientProtocolUtils with a method to create a document to trigger the DESCRIBE operation of a collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 220
diff changeset
336
91333a41b234 Enhanced the ClientProtocolUtils with a method to create a document to trigger the DESCRIBE operation of a collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 220
diff changeset
337 doc.appendChild(action);
91333a41b234 Enhanced the ClientProtocolUtils with a method to create a document to trigger the DESCRIBE operation of a collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 220
diff changeset
338
91333a41b234 Enhanced the ClientProtocolUtils with a method to create a document to trigger the DESCRIBE operation of a collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 220
diff changeset
339 return doc;
91333a41b234 Enhanced the ClientProtocolUtils with a method to create a document to trigger the DESCRIBE operation of a collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 220
diff changeset
340 }
91333a41b234 Enhanced the ClientProtocolUtils with a method to create a document to trigger the DESCRIBE operation of a collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 220
diff changeset
341
91333a41b234 Enhanced the ClientProtocolUtils with a method to create a document to trigger the DESCRIBE operation of a collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 220
diff changeset
342
239
ab196a861796 Enhanced the ClientProtocolUtils with a method that creates an XML document used for the Collection's out() operation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 223
diff changeset
343
ab196a861796 Enhanced the ClientProtocolUtils with a method that creates an XML document used for the Collection's out() operation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 223
diff changeset
344 /**
ab196a861796 Enhanced the ClientProtocolUtils with a method that creates an XML document used for the Collection's out() operation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 223
diff changeset
345 * This function builds a document that is used as request document of the
ab196a861796 Enhanced the ClientProtocolUtils with a method that creates an XML document used for the Collection's out() operation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 223
diff changeset
346 * out() operation of Collections.
ab196a861796 Enhanced the ClientProtocolUtils with a method that creates an XML document used for the Collection's out() operation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 223
diff changeset
347 *
ab196a861796 Enhanced the ClientProtocolUtils with a method that creates an XML document used for the Collection's out() operation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 223
diff changeset
348 * @param uuid The identifier of the collection.
261
f3d970a832ff Bugfix: the document that is used to trigger the OUT operation of a collection will now contain the name of the output mode and its concrete subtype.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 258
diff changeset
349 * @param mode The name of the desired output mode.
239
ab196a861796 Enhanced the ClientProtocolUtils with a method that creates an XML document used for the Collection's out() operation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 223
diff changeset
350 * @param type The name of the desired output type.
ab196a861796 Enhanced the ClientProtocolUtils with a method that creates an XML document used for the Collection's out() operation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 223
diff changeset
351 *
ab196a861796 Enhanced the ClientProtocolUtils with a method that creates an XML document used for the Collection's out() operation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 223
diff changeset
352 * @return the request document.
ab196a861796 Enhanced the ClientProtocolUtils with a method that creates an XML document used for the Collection's out() operation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 223
diff changeset
353 */
261
f3d970a832ff Bugfix: the document that is used to trigger the OUT operation of a collection will now contain the name of the output mode and its concrete subtype.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 258
diff changeset
354 public static Document newOutCollectionDocument(
f3d970a832ff Bugfix: the document that is used to trigger the OUT operation of a collection will now contain the name of the output mode and its concrete subtype.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 258
diff changeset
355 String uuid,
f3d970a832ff Bugfix: the document that is used to trigger the OUT operation of a collection will now contain the name of the output mode and its concrete subtype.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 258
diff changeset
356 String mode,
f3d970a832ff Bugfix: the document that is used to trigger the OUT operation of a collection will now contain the name of the output mode and its concrete subtype.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 258
diff changeset
357 String type) {
f3d970a832ff Bugfix: the document that is used to trigger the OUT operation of a collection will now contain the name of the output mode and its concrete subtype.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 258
diff changeset
358 return newOutCollectionDocument(uuid, mode, type, null);
258
c41b300b02c3 Improved the ClientProtocolUtils: collections OUT document contains attributes now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 255
diff changeset
359 }
c41b300b02c3 Improved the ClientProtocolUtils: collections OUT document contains attributes now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 255
diff changeset
360
c41b300b02c3 Improved the ClientProtocolUtils: collections OUT document contains attributes now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 255
diff changeset
361
c41b300b02c3 Improved the ClientProtocolUtils: collections OUT document contains attributes now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 255
diff changeset
362 /**
c41b300b02c3 Improved the ClientProtocolUtils: collections OUT document contains attributes now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 255
diff changeset
363 * This function builds a document that is used as request document of the
c41b300b02c3 Improved the ClientProtocolUtils: collections OUT document contains attributes now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 255
diff changeset
364 * out() operation of Collections. The document <i>attr</i> might be used to
c41b300b02c3 Improved the ClientProtocolUtils: collections OUT document contains attributes now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 255
diff changeset
365 * adjust some settings specific to the output.
c41b300b02c3 Improved the ClientProtocolUtils: collections OUT document contains attributes now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 255
diff changeset
366 *
c41b300b02c3 Improved the ClientProtocolUtils: collections OUT document contains attributes now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 255
diff changeset
367 * @param uuid The identifier of the collection.
261
f3d970a832ff Bugfix: the document that is used to trigger the OUT operation of a collection will now contain the name of the output mode and its concrete subtype.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 258
diff changeset
368 * @param mode The name of the desired output mode.
258
c41b300b02c3 Improved the ClientProtocolUtils: collections OUT document contains attributes now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 255
diff changeset
369 * @param type The name of the desired output type.
c41b300b02c3 Improved the ClientProtocolUtils: collections OUT document contains attributes now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 255
diff changeset
370 * @param attr A document that contains settings specific to the output.
c41b300b02c3 Improved the ClientProtocolUtils: collections OUT document contains attributes now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 255
diff changeset
371 *
c41b300b02c3 Improved the ClientProtocolUtils: collections OUT document contains attributes now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 255
diff changeset
372 * @return the request document.
c41b300b02c3 Improved the ClientProtocolUtils: collections OUT document contains attributes now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 255
diff changeset
373 */
c41b300b02c3 Improved the ClientProtocolUtils: collections OUT document contains attributes now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 255
diff changeset
374 public static Document newOutCollectionDocument(
c41b300b02c3 Improved the ClientProtocolUtils: collections OUT document contains attributes now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 255
diff changeset
375 String uuid,
261
f3d970a832ff Bugfix: the document that is used to trigger the OUT operation of a collection will now contain the name of the output mode and its concrete subtype.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 258
diff changeset
376 String mode,
258
c41b300b02c3 Improved the ClientProtocolUtils: collections OUT document contains attributes now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 255
diff changeset
377 String type,
c41b300b02c3 Improved the ClientProtocolUtils: collections OUT document contains attributes now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 255
diff changeset
378 Document attr)
c41b300b02c3 Improved the ClientProtocolUtils: collections OUT document contains attributes now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 255
diff changeset
379 {
239
ab196a861796 Enhanced the ClientProtocolUtils with a method that creates an XML document used for the Collection's out() operation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 223
diff changeset
380 Document doc = XMLUtils.newDocument();
ab196a861796 Enhanced the ClientProtocolUtils with a method that creates an XML document used for the Collection's out() operation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 223
diff changeset
381
ab196a861796 Enhanced the ClientProtocolUtils with a method that creates an XML document used for the Collection's out() operation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 223
diff changeset
382 XMLUtils.ElementCreator cr = new XMLUtils.ElementCreator(
ab196a861796 Enhanced the ClientProtocolUtils with a method that creates an XML document used for the Collection's out() operation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 223
diff changeset
383 doc,
ab196a861796 Enhanced the ClientProtocolUtils with a method that creates an XML document used for the Collection's out() operation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 223
diff changeset
384 ArtifactNamespaceContext.NAMESPACE_URI,
ab196a861796 Enhanced the ClientProtocolUtils with a method that creates an XML document used for the Collection's out() operation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 223
diff changeset
385 ArtifactNamespaceContext.NAMESPACE_PREFIX);
ab196a861796 Enhanced the ClientProtocolUtils with a method that creates an XML document used for the Collection's out() operation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 223
diff changeset
386
258
c41b300b02c3 Improved the ClientProtocolUtils: collections OUT document contains attributes now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 255
diff changeset
387 Element action = cr.create("action");
c41b300b02c3 Improved the ClientProtocolUtils: collections OUT document contains attributes now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 255
diff changeset
388 Element attributes = cr.create("attributes");
239
ab196a861796 Enhanced the ClientProtocolUtils with a method that creates an XML document used for the Collection's out() operation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 223
diff changeset
389
261
f3d970a832ff Bugfix: the document that is used to trigger the OUT operation of a collection will now contain the name of the output mode and its concrete subtype.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 258
diff changeset
390 cr.addAttr(action, "name", mode, true);
239
ab196a861796 Enhanced the ClientProtocolUtils with a method that creates an XML document used for the Collection's out() operation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 223
diff changeset
391 cr.addAttr(action, "type", type, true);
ab196a861796 Enhanced the ClientProtocolUtils with a method that creates an XML document used for the Collection's out() operation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 223
diff changeset
392
ab196a861796 Enhanced the ClientProtocolUtils with a method that creates an XML document used for the Collection's out() operation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 223
diff changeset
393 doc.appendChild(action);
ab196a861796 Enhanced the ClientProtocolUtils with a method that creates an XML document used for the Collection's out() operation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 223
diff changeset
394
258
c41b300b02c3 Improved the ClientProtocolUtils: collections OUT document contains attributes now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 255
diff changeset
395 if (attr != null) {
c41b300b02c3 Improved the ClientProtocolUtils: collections OUT document contains attributes now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 255
diff changeset
396 Node root = attr.getFirstChild();
c41b300b02c3 Improved the ClientProtocolUtils: collections OUT document contains attributes now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 255
diff changeset
397
c41b300b02c3 Improved the ClientProtocolUtils: collections OUT document contains attributes now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 255
diff changeset
398 if (root != null) {
c41b300b02c3 Improved the ClientProtocolUtils: collections OUT document contains attributes now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 255
diff changeset
399 action.appendChild(attributes);
c41b300b02c3 Improved the ClientProtocolUtils: collections OUT document contains attributes now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 255
diff changeset
400 attributes.appendChild(doc.importNode(root, true));
c41b300b02c3 Improved the ClientProtocolUtils: collections OUT document contains attributes now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 255
diff changeset
401 }
c41b300b02c3 Improved the ClientProtocolUtils: collections OUT document contains attributes now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 255
diff changeset
402 }
c41b300b02c3 Improved the ClientProtocolUtils: collections OUT document contains attributes now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 255
diff changeset
403
239
ab196a861796 Enhanced the ClientProtocolUtils with a method that creates an XML document used for the Collection's out() operation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 223
diff changeset
404 return doc;
ab196a861796 Enhanced the ClientProtocolUtils with a method that creates an XML document used for the Collection's out() operation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 223
diff changeset
405 }
ab196a861796 Enhanced the ClientProtocolUtils with a method that creates an XML document used for the Collection's out() operation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 223
diff changeset
406
ab196a861796 Enhanced the ClientProtocolUtils with a method that creates an XML document used for the Collection's out() operation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 223
diff changeset
407
223
91333a41b234 Enhanced the ClientProtocolUtils with a method to create a document to trigger the DESCRIBE operation of a collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 220
diff changeset
408 /**
255
efbad8c5c0e5 Improved the ClientProtocolUtils - new function to create a document that is used to set the attribute of a CollectionItem.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 240
diff changeset
409 * This function creates a document that is used to set the attribute of a
efbad8c5c0e5 Improved the ClientProtocolUtils - new function to create a document that is used to set the attribute of a CollectionItem.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 240
diff changeset
410 * CollectionItem.
efbad8c5c0e5 Improved the ClientProtocolUtils - new function to create a document that is used to set the attribute of a CollectionItem.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 240
diff changeset
411 *
efbad8c5c0e5 Improved the ClientProtocolUtils - new function to create a document that is used to set the attribute of a CollectionItem.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 240
diff changeset
412 * @param uuid The identifier of the CollectionItem.
efbad8c5c0e5 Improved the ClientProtocolUtils - new function to create a document that is used to set the attribute of a CollectionItem.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 240
diff changeset
413 * @param attr The new attribute value for the CollectionItem.
efbad8c5c0e5 Improved the ClientProtocolUtils - new function to create a document that is used to set the attribute of a CollectionItem.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 240
diff changeset
414 *
efbad8c5c0e5 Improved the ClientProtocolUtils - new function to create a document that is used to set the attribute of a CollectionItem.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 240
diff changeset
415 * @return the document that is used to set the attribute.
efbad8c5c0e5 Improved the ClientProtocolUtils - new function to create a document that is used to set the attribute of a CollectionItem.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 240
diff changeset
416 */
efbad8c5c0e5 Improved the ClientProtocolUtils - new function to create a document that is used to set the attribute of a CollectionItem.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 240
diff changeset
417 public static Document newSetItemAttributeDocument(
efbad8c5c0e5 Improved the ClientProtocolUtils - new function to create a document that is used to set the attribute of a CollectionItem.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 240
diff changeset
418 String uuid,
efbad8c5c0e5 Improved the ClientProtocolUtils - new function to create a document that is used to set the attribute of a CollectionItem.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 240
diff changeset
419 Document attr)
efbad8c5c0e5 Improved the ClientProtocolUtils - new function to create a document that is used to set the attribute of a CollectionItem.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 240
diff changeset
420 {
efbad8c5c0e5 Improved the ClientProtocolUtils - new function to create a document that is used to set the attribute of a CollectionItem.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 240
diff changeset
421 Node root = attr.getFirstChild();
efbad8c5c0e5 Improved the ClientProtocolUtils - new function to create a document that is used to set the attribute of a CollectionItem.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 240
diff changeset
422
efbad8c5c0e5 Improved the ClientProtocolUtils - new function to create a document that is used to set the attribute of a CollectionItem.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 240
diff changeset
423 if (root == null) {
efbad8c5c0e5 Improved the ClientProtocolUtils - new function to create a document that is used to set the attribute of a CollectionItem.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 240
diff changeset
424 return null;
efbad8c5c0e5 Improved the ClientProtocolUtils - new function to create a document that is used to set the attribute of a CollectionItem.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 240
diff changeset
425 }
efbad8c5c0e5 Improved the ClientProtocolUtils - new function to create a document that is used to set the attribute of a CollectionItem.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 240
diff changeset
426
efbad8c5c0e5 Improved the ClientProtocolUtils - new function to create a document that is used to set the attribute of a CollectionItem.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 240
diff changeset
427 Document doc = XMLUtils.newDocument();
efbad8c5c0e5 Improved the ClientProtocolUtils - new function to create a document that is used to set the attribute of a CollectionItem.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 240
diff changeset
428
efbad8c5c0e5 Improved the ClientProtocolUtils - new function to create a document that is used to set the attribute of a CollectionItem.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 240
diff changeset
429 XMLUtils.ElementCreator ec = new XMLUtils.ElementCreator(
efbad8c5c0e5 Improved the ClientProtocolUtils - new function to create a document that is used to set the attribute of a CollectionItem.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 240
diff changeset
430 doc,
efbad8c5c0e5 Improved the ClientProtocolUtils - new function to create a document that is used to set the attribute of a CollectionItem.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 240
diff changeset
431 ArtifactNamespaceContext.NAMESPACE_URI,
efbad8c5c0e5 Improved the ClientProtocolUtils - new function to create a document that is used to set the attribute of a CollectionItem.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 240
diff changeset
432 ArtifactNamespaceContext.NAMESPACE_PREFIX);
efbad8c5c0e5 Improved the ClientProtocolUtils - new function to create a document that is used to set the attribute of a CollectionItem.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 240
diff changeset
433
efbad8c5c0e5 Improved the ClientProtocolUtils - new function to create a document that is used to set the attribute of a CollectionItem.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 240
diff changeset
434 Element action = ec.create("action");
efbad8c5c0e5 Improved the ClientProtocolUtils - new function to create a document that is used to set the attribute of a CollectionItem.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 240
diff changeset
435 Element type = ec.create("type");
efbad8c5c0e5 Improved the ClientProtocolUtils - new function to create a document that is used to set the attribute of a CollectionItem.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 240
diff changeset
436 Element artifact = ec.create("artifact");
efbad8c5c0e5 Improved the ClientProtocolUtils - new function to create a document that is used to set the attribute of a CollectionItem.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 240
diff changeset
437
efbad8c5c0e5 Improved the ClientProtocolUtils - new function to create a document that is used to set the attribute of a CollectionItem.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 240
diff changeset
438 ec.addAttr(type, "name", "setitemattribute");
efbad8c5c0e5 Improved the ClientProtocolUtils - new function to create a document that is used to set the attribute of a CollectionItem.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 240
diff changeset
439 ec.addAttr(artifact, "uuid", uuid);
efbad8c5c0e5 Improved the ClientProtocolUtils - new function to create a document that is used to set the attribute of a CollectionItem.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 240
diff changeset
440
efbad8c5c0e5 Improved the ClientProtocolUtils - new function to create a document that is used to set the attribute of a CollectionItem.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 240
diff changeset
441 doc.appendChild(action);
efbad8c5c0e5 Improved the ClientProtocolUtils - new function to create a document that is used to set the attribute of a CollectionItem.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 240
diff changeset
442 action.appendChild(type);
efbad8c5c0e5 Improved the ClientProtocolUtils - new function to create a document that is used to set the attribute of a CollectionItem.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 240
diff changeset
443 type.appendChild(artifact);
efbad8c5c0e5 Improved the ClientProtocolUtils - new function to create a document that is used to set the attribute of a CollectionItem.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 240
diff changeset
444
efbad8c5c0e5 Improved the ClientProtocolUtils - new function to create a document that is used to set the attribute of a CollectionItem.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 240
diff changeset
445 artifact.appendChild(doc.importNode(root, true));
efbad8c5c0e5 Improved the ClientProtocolUtils - new function to create a document that is used to set the attribute of a CollectionItem.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 240
diff changeset
446
efbad8c5c0e5 Improved the ClientProtocolUtils - new function to create a document that is used to set the attribute of a CollectionItem.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 240
diff changeset
447 return doc;
efbad8c5c0e5 Improved the ClientProtocolUtils - new function to create a document that is used to set the attribute of a CollectionItem.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 240
diff changeset
448 }
efbad8c5c0e5 Improved the ClientProtocolUtils - new function to create a document that is used to set the attribute of a CollectionItem.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 240
diff changeset
449
efbad8c5c0e5 Improved the ClientProtocolUtils - new function to create a document that is used to set the attribute of a CollectionItem.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 240
diff changeset
450
efbad8c5c0e5 Improved the ClientProtocolUtils - new function to create a document that is used to set the attribute of a CollectionItem.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 240
diff changeset
451 /**
114
19b86e27d0c3 New XPath constants and methods that retrieve important nodes of the DESCRIBE document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 113
diff changeset
452 * Returns string value found by {@link XPATH_LABEL} relative to
19b86e27d0c3 New XPath constants and methods that retrieve important nodes of the DESCRIBE document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 113
diff changeset
453 * <i>node</i>.
19b86e27d0c3 New XPath constants and methods that retrieve important nodes of the DESCRIBE document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 113
diff changeset
454 *
19b86e27d0c3 New XPath constants and methods that retrieve important nodes of the DESCRIBE document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 113
diff changeset
455 * @param node A node.
19b86e27d0c3 New XPath constants and methods that retrieve important nodes of the DESCRIBE document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 113
diff changeset
456 *
19b86e27d0c3 New XPath constants and methods that retrieve important nodes of the DESCRIBE document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 113
diff changeset
457 * @return the string value found by {@link XPATH_LABEL}.
19b86e27d0c3 New XPath constants and methods that retrieve important nodes of the DESCRIBE document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 113
diff changeset
458 */
19b86e27d0c3 New XPath constants and methods that retrieve important nodes of the DESCRIBE document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 113
diff changeset
459 public static String getLabel(Node node) {
19b86e27d0c3 New XPath constants and methods that retrieve important nodes of the DESCRIBE document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 113
diff changeset
460 return (String) XMLUtils.xpath(
19b86e27d0c3 New XPath constants and methods that retrieve important nodes of the DESCRIBE document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 113
diff changeset
461 node,
19b86e27d0c3 New XPath constants and methods that retrieve important nodes of the DESCRIBE document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 113
diff changeset
462 XPATH_LABEL,
19b86e27d0c3 New XPath constants and methods that retrieve important nodes of the DESCRIBE document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 113
diff changeset
463 XPathConstants.STRING,
19b86e27d0c3 New XPath constants and methods that retrieve important nodes of the DESCRIBE document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 113
diff changeset
464 ArtifactNamespaceContext.INSTANCE);
19b86e27d0c3 New XPath constants and methods that retrieve important nodes of the DESCRIBE document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 113
diff changeset
465 }
19b86e27d0c3 New XPath constants and methods that retrieve important nodes of the DESCRIBE document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 113
diff changeset
466
19b86e27d0c3 New XPath constants and methods that retrieve important nodes of the DESCRIBE document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 113
diff changeset
467
19b86e27d0c3 New XPath constants and methods that retrieve important nodes of the DESCRIBE document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 113
diff changeset
468 /**
19b86e27d0c3 New XPath constants and methods that retrieve important nodes of the DESCRIBE document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 113
diff changeset
469 * Returns string value found by {@link XPATH_VALUE} relative to
19b86e27d0c3 New XPath constants and methods that retrieve important nodes of the DESCRIBE document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 113
diff changeset
470 * <i>node</i>.
19b86e27d0c3 New XPath constants and methods that retrieve important nodes of the DESCRIBE document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 113
diff changeset
471 *
19b86e27d0c3 New XPath constants and methods that retrieve important nodes of the DESCRIBE document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 113
diff changeset
472 * @param node A node.
19b86e27d0c3 New XPath constants and methods that retrieve important nodes of the DESCRIBE document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 113
diff changeset
473 *
19b86e27d0c3 New XPath constants and methods that retrieve important nodes of the DESCRIBE document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 113
diff changeset
474 * @return the string value found by {@link XPATH_VALUE}.
19b86e27d0c3 New XPath constants and methods that retrieve important nodes of the DESCRIBE document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 113
diff changeset
475 */
19b86e27d0c3 New XPath constants and methods that retrieve important nodes of the DESCRIBE document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 113
diff changeset
476 public static String getValue(Node node) {
19b86e27d0c3 New XPath constants and methods that retrieve important nodes of the DESCRIBE document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 113
diff changeset
477 return (String) XMLUtils.xpath(
19b86e27d0c3 New XPath constants and methods that retrieve important nodes of the DESCRIBE document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 113
diff changeset
478 node,
19b86e27d0c3 New XPath constants and methods that retrieve important nodes of the DESCRIBE document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 113
diff changeset
479 XPATH_VALUE,
19b86e27d0c3 New XPath constants and methods that retrieve important nodes of the DESCRIBE document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 113
diff changeset
480 XPathConstants.STRING,
19b86e27d0c3 New XPath constants and methods that retrieve important nodes of the DESCRIBE document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 113
diff changeset
481 ArtifactNamespaceContext.INSTANCE);
19b86e27d0c3 New XPath constants and methods that retrieve important nodes of the DESCRIBE document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 113
diff changeset
482 }
19b86e27d0c3 New XPath constants and methods that retrieve important nodes of the DESCRIBE document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 113
diff changeset
483
19b86e27d0c3 New XPath constants and methods that retrieve important nodes of the DESCRIBE document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 113
diff changeset
484
19b86e27d0c3 New XPath constants and methods that retrieve important nodes of the DESCRIBE document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 113
diff changeset
485 /**
19b86e27d0c3 New XPath constants and methods that retrieve important nodes of the DESCRIBE document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 113
diff changeset
486 * This method returns the static UI part of the artifact's DESCRIBE
19b86e27d0c3 New XPath constants and methods that retrieve important nodes of the DESCRIBE document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 113
diff changeset
487 * document.
19b86e27d0c3 New XPath constants and methods that retrieve important nodes of the DESCRIBE document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 113
diff changeset
488 *
19b86e27d0c3 New XPath constants and methods that retrieve important nodes of the DESCRIBE document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 113
diff changeset
489 * @param description The document returned by the artifact server's
19b86e27d0c3 New XPath constants and methods that retrieve important nodes of the DESCRIBE document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 113
diff changeset
490 * DESCRIBE operation.
19b86e27d0c3 New XPath constants and methods that retrieve important nodes of the DESCRIBE document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 113
diff changeset
491 *
19b86e27d0c3 New XPath constants and methods that retrieve important nodes of the DESCRIBE document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 113
diff changeset
492 * @return the static UI node.
19b86e27d0c3 New XPath constants and methods that retrieve important nodes of the DESCRIBE document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 113
diff changeset
493 */
19b86e27d0c3 New XPath constants and methods that retrieve important nodes of the DESCRIBE document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 113
diff changeset
494 public static Node getStaticUI(Document description) {
19b86e27d0c3 New XPath constants and methods that retrieve important nodes of the DESCRIBE document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 113
diff changeset
495 return (Node) XMLUtils.xpath(
19b86e27d0c3 New XPath constants and methods that retrieve important nodes of the DESCRIBE document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 113
diff changeset
496 description,
19b86e27d0c3 New XPath constants and methods that retrieve important nodes of the DESCRIBE document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 113
diff changeset
497 XPATH_STATIC,
19b86e27d0c3 New XPath constants and methods that retrieve important nodes of the DESCRIBE document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 113
diff changeset
498 XPathConstants.NODE,
19b86e27d0c3 New XPath constants and methods that retrieve important nodes of the DESCRIBE document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 113
diff changeset
499 ArtifactNamespaceContext.INSTANCE);
19b86e27d0c3 New XPath constants and methods that retrieve important nodes of the DESCRIBE document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 113
diff changeset
500 }
19b86e27d0c3 New XPath constants and methods that retrieve important nodes of the DESCRIBE document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 113
diff changeset
501
19b86e27d0c3 New XPath constants and methods that retrieve important nodes of the DESCRIBE document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 113
diff changeset
502
19b86e27d0c3 New XPath constants and methods that retrieve important nodes of the DESCRIBE document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 113
diff changeset
503 /**
19b86e27d0c3 New XPath constants and methods that retrieve important nodes of the DESCRIBE document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 113
diff changeset
504 * This method returns the dynamic UI part of the artifact's DESCRIBE
19b86e27d0c3 New XPath constants and methods that retrieve important nodes of the DESCRIBE document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 113
diff changeset
505 * document.
19b86e27d0c3 New XPath constants and methods that retrieve important nodes of the DESCRIBE document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 113
diff changeset
506 *
19b86e27d0c3 New XPath constants and methods that retrieve important nodes of the DESCRIBE document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 113
diff changeset
507 * @param description The document returned by the artifact server's
19b86e27d0c3 New XPath constants and methods that retrieve important nodes of the DESCRIBE document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 113
diff changeset
508 * DESCRIBE operation.
19b86e27d0c3 New XPath constants and methods that retrieve important nodes of the DESCRIBE document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 113
diff changeset
509 *
19b86e27d0c3 New XPath constants and methods that retrieve important nodes of the DESCRIBE document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 113
diff changeset
510 * @return the dynamic UI node.
19b86e27d0c3 New XPath constants and methods that retrieve important nodes of the DESCRIBE document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 113
diff changeset
511 */
19b86e27d0c3 New XPath constants and methods that retrieve important nodes of the DESCRIBE document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 113
diff changeset
512 public static Node getDynamicUI(Document description) {
19b86e27d0c3 New XPath constants and methods that retrieve important nodes of the DESCRIBE document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 113
diff changeset
513 return (Node) XMLUtils.xpath(
19b86e27d0c3 New XPath constants and methods that retrieve important nodes of the DESCRIBE document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 113
diff changeset
514 description,
19b86e27d0c3 New XPath constants and methods that retrieve important nodes of the DESCRIBE document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 113
diff changeset
515 XPATH_DYNAMIC,
19b86e27d0c3 New XPath constants and methods that retrieve important nodes of the DESCRIBE document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 113
diff changeset
516 XPathConstants.NODE,
19b86e27d0c3 New XPath constants and methods that retrieve important nodes of the DESCRIBE document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 113
diff changeset
517 ArtifactNamespaceContext.INSTANCE);
19b86e27d0c3 New XPath constants and methods that retrieve important nodes of the DESCRIBE document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 113
diff changeset
518 }
19b86e27d0c3 New XPath constants and methods that retrieve important nodes of the DESCRIBE document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 113
diff changeset
519
19b86e27d0c3 New XPath constants and methods that retrieve important nodes of the DESCRIBE document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 113
diff changeset
520
19b86e27d0c3 New XPath constants and methods that retrieve important nodes of the DESCRIBE document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 113
diff changeset
521 /**
19b86e27d0c3 New XPath constants and methods that retrieve important nodes of the DESCRIBE document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 113
diff changeset
522 * This method returns the current state node contained in the DESCRIBE
19b86e27d0c3 New XPath constants and methods that retrieve important nodes of the DESCRIBE document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 113
diff changeset
523 * document.
19b86e27d0c3 New XPath constants and methods that retrieve important nodes of the DESCRIBE document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 113
diff changeset
524 *
19b86e27d0c3 New XPath constants and methods that retrieve important nodes of the DESCRIBE document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 113
diff changeset
525 * @param description The document returned by the artifact server's
19b86e27d0c3 New XPath constants and methods that retrieve important nodes of the DESCRIBE document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 113
diff changeset
526 * DESCRIBE operation.
19b86e27d0c3 New XPath constants and methods that retrieve important nodes of the DESCRIBE document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 113
diff changeset
527 *
19b86e27d0c3 New XPath constants and methods that retrieve important nodes of the DESCRIBE document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 113
diff changeset
528 * @return the node containing information about the current state.
19b86e27d0c3 New XPath constants and methods that retrieve important nodes of the DESCRIBE document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 113
diff changeset
529 */
19b86e27d0c3 New XPath constants and methods that retrieve important nodes of the DESCRIBE document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 113
diff changeset
530 public static Node getCurrentState(Document description) {
19b86e27d0c3 New XPath constants and methods that retrieve important nodes of the DESCRIBE document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 113
diff changeset
531 return (Node) XMLUtils.xpath(
19b86e27d0c3 New XPath constants and methods that retrieve important nodes of the DESCRIBE document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 113
diff changeset
532 description,
19b86e27d0c3 New XPath constants and methods that retrieve important nodes of the DESCRIBE document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 113
diff changeset
533 XPATH_CURRENT_STATE,
19b86e27d0c3 New XPath constants and methods that retrieve important nodes of the DESCRIBE document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 113
diff changeset
534 XPathConstants.NODE,
19b86e27d0c3 New XPath constants and methods that retrieve important nodes of the DESCRIBE document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 113
diff changeset
535 ArtifactNamespaceContext.INSTANCE);
19b86e27d0c3 New XPath constants and methods that retrieve important nodes of the DESCRIBE document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 113
diff changeset
536 }
19b86e27d0c3 New XPath constants and methods that retrieve important nodes of the DESCRIBE document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 113
diff changeset
537
19b86e27d0c3 New XPath constants and methods that retrieve important nodes of the DESCRIBE document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 113
diff changeset
538
19b86e27d0c3 New XPath constants and methods that retrieve important nodes of the DESCRIBE document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 113
diff changeset
539 /**
19b86e27d0c3 New XPath constants and methods that retrieve important nodes of the DESCRIBE document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 113
diff changeset
540 * This method returns the node that contains information about the
19b86e27d0c3 New XPath constants and methods that retrieve important nodes of the DESCRIBE document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 113
diff changeset
541 * reachable states of the artifact in the artifact's DESCRIBE document.
19b86e27d0c3 New XPath constants and methods that retrieve important nodes of the DESCRIBE document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 113
diff changeset
542 *
19b86e27d0c3 New XPath constants and methods that retrieve important nodes of the DESCRIBE document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 113
diff changeset
543 * @param description The document returned by the artifact server's
19b86e27d0c3 New XPath constants and methods that retrieve important nodes of the DESCRIBE document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 113
diff changeset
544 * DESCRIBE operation.
19b86e27d0c3 New XPath constants and methods that retrieve important nodes of the DESCRIBE document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 113
diff changeset
545 *
19b86e27d0c3 New XPath constants and methods that retrieve important nodes of the DESCRIBE document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 113
diff changeset
546 * @return the node that contains the reachable states.
19b86e27d0c3 New XPath constants and methods that retrieve important nodes of the DESCRIBE document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 113
diff changeset
547 */
19b86e27d0c3 New XPath constants and methods that retrieve important nodes of the DESCRIBE document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 113
diff changeset
548 public static Node getReachableStates(Document description) {
19b86e27d0c3 New XPath constants and methods that retrieve important nodes of the DESCRIBE document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 113
diff changeset
549 return (Node) XMLUtils.xpath(
19b86e27d0c3 New XPath constants and methods that retrieve important nodes of the DESCRIBE document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 113
diff changeset
550 description,
19b86e27d0c3 New XPath constants and methods that retrieve important nodes of the DESCRIBE document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 113
diff changeset
551 XPATH_STATES,
19b86e27d0c3 New XPath constants and methods that retrieve important nodes of the DESCRIBE document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 113
diff changeset
552 XPathConstants.NODE,
19b86e27d0c3 New XPath constants and methods that retrieve important nodes of the DESCRIBE document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 113
diff changeset
553 ArtifactNamespaceContext.INSTANCE);
19b86e27d0c3 New XPath constants and methods that retrieve important nodes of the DESCRIBE document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 113
diff changeset
554 }
19b86e27d0c3 New XPath constants and methods that retrieve important nodes of the DESCRIBE document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 113
diff changeset
555
19b86e27d0c3 New XPath constants and methods that retrieve important nodes of the DESCRIBE document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 113
diff changeset
556
19b86e27d0c3 New XPath constants and methods that retrieve important nodes of the DESCRIBE document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 113
diff changeset
557 /**
211
435631e07da2 Enhanced the ProtocolUtils and ClientProtocolUtils to append and retrieve output modes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 208
diff changeset
558 * This method returns the output mode nodes of the DESCRIBE document.
435631e07da2 Enhanced the ProtocolUtils and ClientProtocolUtils to append and retrieve output modes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 208
diff changeset
559 *
435631e07da2 Enhanced the ProtocolUtils and ClientProtocolUtils to append and retrieve output modes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 208
diff changeset
560 * @param description The document returned by the artifact server's
435631e07da2 Enhanced the ProtocolUtils and ClientProtocolUtils to append and retrieve output modes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 208
diff changeset
561 * DESCRIBE operation.
435631e07da2 Enhanced the ProtocolUtils and ClientProtocolUtils to append and retrieve output modes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 208
diff changeset
562 *
435631e07da2 Enhanced the ProtocolUtils and ClientProtocolUtils to append and retrieve output modes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 208
diff changeset
563 * @return the node that contains the output modes.
435631e07da2 Enhanced the ProtocolUtils and ClientProtocolUtils to append and retrieve output modes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 208
diff changeset
564 */
435631e07da2 Enhanced the ProtocolUtils and ClientProtocolUtils to append and retrieve output modes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 208
diff changeset
565 public static NodeList getOutputModes(Document description) {
435631e07da2 Enhanced the ProtocolUtils and ClientProtocolUtils to append and retrieve output modes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 208
diff changeset
566 return (NodeList) XMLUtils.xpath(
435631e07da2 Enhanced the ProtocolUtils and ClientProtocolUtils to append and retrieve output modes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 208
diff changeset
567 description,
435631e07da2 Enhanced the ProtocolUtils and ClientProtocolUtils to append and retrieve output modes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 208
diff changeset
568 XPATH_OUTPUT_MODES,
435631e07da2 Enhanced the ProtocolUtils and ClientProtocolUtils to append and retrieve output modes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 208
diff changeset
569 XPathConstants.NODESET,
435631e07da2 Enhanced the ProtocolUtils and ClientProtocolUtils to append and retrieve output modes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 208
diff changeset
570 ArtifactNamespaceContext.INSTANCE);
435631e07da2 Enhanced the ProtocolUtils and ClientProtocolUtils to append and retrieve output modes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 208
diff changeset
571 }
435631e07da2 Enhanced the ProtocolUtils and ClientProtocolUtils to append and retrieve output modes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 208
diff changeset
572
435631e07da2 Enhanced the ProtocolUtils and ClientProtocolUtils to append and retrieve output modes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 208
diff changeset
573
435631e07da2 Enhanced the ProtocolUtils and ClientProtocolUtils to append and retrieve output modes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 208
diff changeset
574 /**
114
19b86e27d0c3 New XPath constants and methods that retrieve important nodes of the DESCRIBE document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 113
diff changeset
575 * Returns the node found by {@link XPATH_DATA_SELECT}.
19b86e27d0c3 New XPath constants and methods that retrieve important nodes of the DESCRIBE document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 113
diff changeset
576 *
19b86e27d0c3 New XPath constants and methods that retrieve important nodes of the DESCRIBE document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 113
diff changeset
577 * @param dynamicNode The dynamic UI node of the DESCRIBE document.
19b86e27d0c3 New XPath constants and methods that retrieve important nodes of the DESCRIBE document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 113
diff changeset
578 *
19b86e27d0c3 New XPath constants and methods that retrieve important nodes of the DESCRIBE document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 113
diff changeset
579 * @return the select node found in the dynamic UI node.
19b86e27d0c3 New XPath constants and methods that retrieve important nodes of the DESCRIBE document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 113
diff changeset
580 */
208
8ea4d0824d8f Changed a return type of a ClientProtocolUtils method.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 204
diff changeset
581 public static NodeList getSelectNode(Node dynamicNode) {
8ea4d0824d8f Changed a return type of a ClientProtocolUtils method.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 204
diff changeset
582 return (NodeList) XMLUtils.xpath(
114
19b86e27d0c3 New XPath constants and methods that retrieve important nodes of the DESCRIBE document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 113
diff changeset
583 dynamicNode,
19b86e27d0c3 New XPath constants and methods that retrieve important nodes of the DESCRIBE document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 113
diff changeset
584 XPATH_DATA_SELECT,
208
8ea4d0824d8f Changed a return type of a ClientProtocolUtils method.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 204
diff changeset
585 XPathConstants.NODESET,
114
19b86e27d0c3 New XPath constants and methods that retrieve important nodes of the DESCRIBE document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 113
diff changeset
586 ArtifactNamespaceContext.INSTANCE);
19b86e27d0c3 New XPath constants and methods that retrieve important nodes of the DESCRIBE document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 113
diff changeset
587 }
19b86e27d0c3 New XPath constants and methods that retrieve important nodes of the DESCRIBE document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 113
diff changeset
588
19b86e27d0c3 New XPath constants and methods that retrieve important nodes of the DESCRIBE document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 113
diff changeset
589
19b86e27d0c3 New XPath constants and methods that retrieve important nodes of the DESCRIBE document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 113
diff changeset
590 /**
19b86e27d0c3 New XPath constants and methods that retrieve important nodes of the DESCRIBE document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 113
diff changeset
591 * Returns the items that could be found in the <i>node</i>.
19b86e27d0c3 New XPath constants and methods that retrieve important nodes of the DESCRIBE document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 113
diff changeset
592 *
19b86e27d0c3 New XPath constants and methods that retrieve important nodes of the DESCRIBE document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 113
diff changeset
593 * @param node A select node.
19b86e27d0c3 New XPath constants and methods that retrieve important nodes of the DESCRIBE document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 113
diff changeset
594 *
19b86e27d0c3 New XPath constants and methods that retrieve important nodes of the DESCRIBE document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 113
diff changeset
595 * @return the choices nodes as node list.
19b86e27d0c3 New XPath constants and methods that retrieve important nodes of the DESCRIBE document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 113
diff changeset
596 */
19b86e27d0c3 New XPath constants and methods that retrieve important nodes of the DESCRIBE document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 113
diff changeset
597 public static NodeList getItemNodes(Node node) {
19b86e27d0c3 New XPath constants and methods that retrieve important nodes of the DESCRIBE document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 113
diff changeset
598 return (NodeList) XMLUtils.xpath(
19b86e27d0c3 New XPath constants and methods that retrieve important nodes of the DESCRIBE document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 113
diff changeset
599 node,
19b86e27d0c3 New XPath constants and methods that retrieve important nodes of the DESCRIBE document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 113
diff changeset
600 XPATH_DATA_ITEMS,
19b86e27d0c3 New XPath constants and methods that retrieve important nodes of the DESCRIBE document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 113
diff changeset
601 XPathConstants.NODESET,
19b86e27d0c3 New XPath constants and methods that retrieve important nodes of the DESCRIBE document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 113
diff changeset
602 ArtifactNamespaceContext.INSTANCE);
19b86e27d0c3 New XPath constants and methods that retrieve important nodes of the DESCRIBE document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 113
diff changeset
603 }
113
0344a20f8a93 Added the ArtifactNamespaceContext and a ClientProtocolUtils that helps working with the artifact protocol.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
604 }
0344a20f8a93 Added the ArtifactNamespaceContext and a ClientProtocolUtils that helps working with the artifact protocol.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
605 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :

http://dive4elements.wald.intevation.org