Mercurial > dive4elements > framework
annotate artifacts-common/src/main/java/de/intevation/artifacts/common/utils/ClientProtocolUtils.java @ 258:c41b300b02c3
Improved the ClientProtocolUtils: collections OUT document contains attributes now.
artifacts/trunk@1907 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Ingo Weinzierl <ingo.weinzierl@intevation.de> |
---|---|
date | Thu, 12 May 2011 09:06:34 +0000 |
parents | efbad8c5c0e5 |
children | f3d970a832ff |
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. |
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
|
349 * @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
|
350 * |
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 * @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
|
352 */ |
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 public static Document newOutCollectionDocument(String uuid, String type) { |
258
c41b300b02c3
Improved the ClientProtocolUtils: collections OUT document contains attributes now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
255
diff
changeset
|
354 return newOutCollectionDocument(uuid, type, null); |
c41b300b02c3
Improved the ClientProtocolUtils: collections OUT document contains attributes now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
255
diff
changeset
|
355 } |
c41b300b02c3
Improved the ClientProtocolUtils: collections OUT document contains attributes now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
255
diff
changeset
|
356 |
c41b300b02c3
Improved the ClientProtocolUtils: collections OUT document contains attributes now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
255
diff
changeset
|
357 |
c41b300b02c3
Improved the ClientProtocolUtils: collections OUT document contains attributes now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
255
diff
changeset
|
358 /** |
c41b300b02c3
Improved the ClientProtocolUtils: collections OUT document contains attributes now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
255
diff
changeset
|
359 * 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
|
360 * 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
|
361 * 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
|
362 * |
c41b300b02c3
Improved the ClientProtocolUtils: collections OUT document contains attributes now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
255
diff
changeset
|
363 * @param uuid The identifier of the collection. |
c41b300b02c3
Improved the ClientProtocolUtils: collections OUT document contains attributes now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
255
diff
changeset
|
364 * @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
|
365 * @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
|
366 * |
c41b300b02c3
Improved the ClientProtocolUtils: collections OUT document contains attributes now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
255
diff
changeset
|
367 * @return the request document. |
c41b300b02c3
Improved the ClientProtocolUtils: collections OUT document contains attributes now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
255
diff
changeset
|
368 */ |
c41b300b02c3
Improved the ClientProtocolUtils: collections OUT document contains attributes now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
255
diff
changeset
|
369 public static Document newOutCollectionDocument( |
c41b300b02c3
Improved the ClientProtocolUtils: collections OUT document contains attributes now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
255
diff
changeset
|
370 String uuid, |
c41b300b02c3
Improved the ClientProtocolUtils: collections OUT document contains attributes now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
255
diff
changeset
|
371 String type, |
c41b300b02c3
Improved the ClientProtocolUtils: collections OUT document contains attributes now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
255
diff
changeset
|
372 Document attr) |
c41b300b02c3
Improved the ClientProtocolUtils: collections OUT document contains attributes now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
255
diff
changeset
|
373 { |
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
|
374 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
|
375 |
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
|
376 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
|
377 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
|
378 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
|
379 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
|
380 |
258
c41b300b02c3
Improved the ClientProtocolUtils: collections OUT document contains attributes now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
255
diff
changeset
|
381 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
|
382 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
|
383 |
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 cr.addAttr(action, "name", 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
|
385 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
|
386 |
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
|
387 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
|
388 |
258
c41b300b02c3
Improved the ClientProtocolUtils: collections OUT document contains attributes now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
255
diff
changeset
|
389 if (attr != null) { |
c41b300b02c3
Improved the ClientProtocolUtils: collections OUT document contains attributes now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
255
diff
changeset
|
390 Node root = attr.getFirstChild(); |
c41b300b02c3
Improved the ClientProtocolUtils: collections OUT document contains attributes now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
255
diff
changeset
|
391 |
c41b300b02c3
Improved the ClientProtocolUtils: collections OUT document contains attributes now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
255
diff
changeset
|
392 if (root != null) { |
c41b300b02c3
Improved the ClientProtocolUtils: collections OUT document contains attributes now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
255
diff
changeset
|
393 action.appendChild(attributes); |
c41b300b02c3
Improved the ClientProtocolUtils: collections OUT document contains attributes now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
255
diff
changeset
|
394 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
|
395 } |
c41b300b02c3
Improved the ClientProtocolUtils: collections OUT document contains attributes now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
255
diff
changeset
|
396 } |
c41b300b02c3
Improved the ClientProtocolUtils: collections OUT document contains attributes now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
255
diff
changeset
|
397 |
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
|
398 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
|
399 } |
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
|
400 |
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
|
401 |
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
|
402 /** |
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
|
403 * 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
|
404 * 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
|
405 * |
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
|
406 * @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
|
407 * @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
|
408 * |
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 * @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
|
410 */ |
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 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
|
412 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
|
413 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
|
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 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
|
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 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
|
418 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
|
419 } |
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 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
|
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 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
|
424 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
|
425 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
|
426 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
|
427 |
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 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
|
429 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
|
430 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
|
431 |
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 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
|
433 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
|
434 |
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 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
|
436 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
|
437 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
|
438 |
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 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
|
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 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
|
442 } |
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 |
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 /** |
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
|
446 * 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
|
447 * <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
|
448 * |
19b86e27d0c3
New XPath constants and methods that retrieve important nodes of the DESCRIBE document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
113
diff
changeset
|
449 * @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
|
450 * |
19b86e27d0c3
New XPath constants and methods that retrieve important nodes of the DESCRIBE document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
113
diff
changeset
|
451 * @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
|
452 */ |
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 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
|
454 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
|
455 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 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
|
457 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
|
458 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
|
459 } |
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 |
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 |
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 /** |
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 * 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
|
464 * <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
|
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 * @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
|
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 * @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
|
469 */ |
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 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
|
471 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
|
472 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 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
|
474 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
|
475 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
|
476 } |
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 |
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 |
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 /** |
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 * 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
|
481 * 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
|
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 * @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
|
484 * 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
|
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 * @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
|
487 */ |
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 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
|
489 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
|
490 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
|
491 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
|
492 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
|
493 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
|
494 } |
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 |
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 |
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 /** |
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 * 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
|
499 * 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
|
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 * @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
|
502 * 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
|
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 * @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
|
505 */ |
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 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
|
507 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
|
508 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
|
509 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
|
510 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
|
511 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
|
512 } |
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 |
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 |
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 /** |
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 * 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
|
517 * 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
|
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 * @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
|
520 * 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
|
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 * @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
|
523 */ |
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 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
|
525 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
|
526 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
|
527 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
|
528 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
|
529 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
|
530 } |
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 |
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 |
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 /** |
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 * 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
|
535 * 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
|
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 * @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
|
538 * 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
|
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 * @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
|
541 */ |
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 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
|
543 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
|
544 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
|
545 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
|
546 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
|
547 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
|
548 } |
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 |
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 |
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 /** |
211
435631e07da2
Enhanced the ProtocolUtils and ClientProtocolUtils to append and retrieve output modes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
208
diff
changeset
|
552 * 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
|
553 * |
435631e07da2
Enhanced the ProtocolUtils and ClientProtocolUtils to append and retrieve output modes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
208
diff
changeset
|
554 * @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
|
555 * DESCRIBE operation. |
435631e07da2
Enhanced the ProtocolUtils and ClientProtocolUtils to append and retrieve output modes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
208
diff
changeset
|
556 * |
435631e07da2
Enhanced the ProtocolUtils and ClientProtocolUtils to append and retrieve output modes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
208
diff
changeset
|
557 * @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
|
558 */ |
435631e07da2
Enhanced the ProtocolUtils and ClientProtocolUtils to append and retrieve output modes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
208
diff
changeset
|
559 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
|
560 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
|
561 description, |
435631e07da2
Enhanced the ProtocolUtils and ClientProtocolUtils to append and retrieve output modes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
208
diff
changeset
|
562 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
|
563 XPathConstants.NODESET, |
435631e07da2
Enhanced the ProtocolUtils and ClientProtocolUtils to append and retrieve output modes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
208
diff
changeset
|
564 ArtifactNamespaceContext.INSTANCE); |
435631e07da2
Enhanced the ProtocolUtils and ClientProtocolUtils to append and retrieve output modes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
208
diff
changeset
|
565 } |
435631e07da2
Enhanced the ProtocolUtils and ClientProtocolUtils to append and retrieve output modes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
208
diff
changeset
|
566 |
435631e07da2
Enhanced the ProtocolUtils and ClientProtocolUtils to append and retrieve output modes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
208
diff
changeset
|
567 |
435631e07da2
Enhanced the ProtocolUtils and ClientProtocolUtils to append and retrieve output modes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
208
diff
changeset
|
568 /** |
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
|
569 * 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
|
570 * |
19b86e27d0c3
New XPath constants and methods that retrieve important nodes of the DESCRIBE document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
113
diff
changeset
|
571 * @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
|
572 * |
19b86e27d0c3
New XPath constants and methods that retrieve important nodes of the DESCRIBE document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
113
diff
changeset
|
573 * @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
|
574 */ |
208
8ea4d0824d8f
Changed a return type of a ClientProtocolUtils method.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
204
diff
changeset
|
575 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
|
576 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
|
577 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
|
578 XPATH_DATA_SELECT, |
208
8ea4d0824d8f
Changed a return type of a ClientProtocolUtils method.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
204
diff
changeset
|
579 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
|
580 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
|
581 } |
19b86e27d0c3
New XPath constants and methods that retrieve important nodes of the DESCRIBE document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
113
diff
changeset
|
582 |
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 |
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 /** |
19b86e27d0c3
New XPath constants and methods that retrieve important nodes of the DESCRIBE document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
113
diff
changeset
|
585 * 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
|
586 * |
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 * @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
|
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 * @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
|
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 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
|
592 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
|
593 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 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
|
595 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
|
596 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
|
597 } |
113
0344a20f8a93
Added the ArtifactNamespaceContext and a ClientProtocolUtils that helps working with the artifact protocol.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
598 } |
0344a20f8a93
Added the ArtifactNamespaceContext and a ClientProtocolUtils that helps working with the artifact protocol.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
599 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 : |