annotate artifacts-common/src/main/java/de/intevation/artifacts/common/utils/ClientProtocolUtils.java @ 325:4022ea69d1cb

Write filters to create document if they are given. artifacts/trunk@2567 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Sascha L. Teichmann <sascha.teichmann@intevation.de>
date Wed, 24 Aug 2011 14:35:27 +0000
parents ee6e1b2f137a
children e0efa2c28d19
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) {
293
a367a0d011af Set an interface for the global context; added a method to the artifact database to return an instance of an Artifact.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 285
diff changeset
74 return newCreateDocument(factory, null);
a367a0d011af Set an interface for the global context; added a method to the artifact database to return an instance of an Artifact.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 285
diff changeset
75 }
a367a0d011af Set an interface for the global context; added a method to the artifact database to return an instance of an Artifact.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 285
diff changeset
76
a367a0d011af Set an interface for the global context; added a method to the artifact database to return an instance of an Artifact.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 285
diff changeset
77
a367a0d011af Set an interface for the global context; added a method to the artifact database to return an instance of an Artifact.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 285
diff changeset
78 /**
a367a0d011af Set an interface for the global context; added a method to the artifact database to return an instance of an Artifact.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 285
diff changeset
79 * This method creates a new CREATE document.
a367a0d011af Set an interface for the global context; added a method to the artifact database to return an instance of an Artifact.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 285
diff changeset
80 *
a367a0d011af Set an interface for the global context; added a method to the artifact database to return an instance of an Artifact.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 285
diff changeset
81 * @return the CREATE document.
a367a0d011af Set an interface for the global context; added a method to the artifact database to return an instance of an Artifact.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 285
diff changeset
82 */
a367a0d011af Set an interface for the global context; added a method to the artifact database to return an instance of an Artifact.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 285
diff changeset
83 public static Document newCreateDocument(String factory, String uuid) {
300
0035e2511342 CREATE documents for Artifact creation might contain db-ids now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 293
diff changeset
84 return newCreateDocument(factory, uuid, null);
0035e2511342 CREATE documents for Artifact creation might contain db-ids now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 293
diff changeset
85 }
0035e2511342 CREATE documents for Artifact creation might contain db-ids now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 293
diff changeset
86
325
4022ea69d1cb Write filters to create document if they are given.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 324
diff changeset
87 public static Document newCreateDocument(
4022ea69d1cb Write filters to create document if they are given.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 324
diff changeset
88 String factory,
4022ea69d1cb Write filters to create document if they are given.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 324
diff changeset
89 String uuid,
4022ea69d1cb Write filters to create document if they are given.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 324
diff changeset
90 String ids
4022ea69d1cb Write filters to create document if they are given.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 324
diff changeset
91 ) {
4022ea69d1cb Write filters to create document if they are given.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 324
diff changeset
92 return newCreateDocument(factory, uuid, ids, null);
4022ea69d1cb Write filters to create document if they are given.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 324
diff changeset
93 }
300
0035e2511342 CREATE documents for Artifact creation might contain db-ids now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 293
diff changeset
94
0035e2511342 CREATE documents for Artifact creation might contain db-ids now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 293
diff changeset
95 /**
0035e2511342 CREATE documents for Artifact creation might contain db-ids now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 293
diff changeset
96 * This method creates a new CREATE document.
0035e2511342 CREATE documents for Artifact creation might contain db-ids now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 293
diff changeset
97 *
0035e2511342 CREATE documents for Artifact creation might contain db-ids now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 293
diff changeset
98 * @return the CREATE document.
0035e2511342 CREATE documents for Artifact creation might contain db-ids now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 293
diff changeset
99 */
0035e2511342 CREATE documents for Artifact creation might contain db-ids now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 293
diff changeset
100 public static Document newCreateDocument(
325
4022ea69d1cb Write filters to create document if they are given.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 324
diff changeset
101 String factory,
4022ea69d1cb Write filters to create document if they are given.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 324
diff changeset
102 String uuid,
4022ea69d1cb Write filters to create document if they are given.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 324
diff changeset
103 String ids,
4022ea69d1cb Write filters to create document if they are given.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 324
diff changeset
104 CreationFilter filter
4022ea69d1cb Write filters to create document if they are given.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 324
diff changeset
105 ) {
113
0344a20f8a93 Added the ArtifactNamespaceContext and a ClientProtocolUtils that helps working with the artifact protocol.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
106 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
107
0344a20f8a93 Added the ArtifactNamespaceContext and a ClientProtocolUtils that helps working with the artifact protocol.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
108 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
109 doc,
0344a20f8a93 Added the ArtifactNamespaceContext and a ClientProtocolUtils that helps working with the artifact protocol.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
110 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
111 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
112
0344a20f8a93 Added the ArtifactNamespaceContext and a ClientProtocolUtils that helps working with the artifact protocol.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
113 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
114 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
115 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
116
0344a20f8a93 Added the ArtifactNamespaceContext and a ClientProtocolUtils that helps working with the artifact protocol.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
117 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
118 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
119
0344a20f8a93 Added the ArtifactNamespaceContext and a ClientProtocolUtils that helps working with the artifact protocol.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
120 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
121 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
122
293
a367a0d011af Set an interface for the global context; added a method to the artifact database to return an instance of an Artifact.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 285
diff changeset
123 if (uuid != null) {
a367a0d011af Set an interface for the global context; added a method to the artifact database to return an instance of an Artifact.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 285
diff changeset
124 Element templ = cr.create("template");
a367a0d011af Set an interface for the global context; added a method to the artifact database to return an instance of an Artifact.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 285
diff changeset
125 templ.setAttribute("uuid", uuid);
a367a0d011af Set an interface for the global context; added a method to the artifact database to return an instance of an Artifact.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 285
diff changeset
126 action.appendChild(templ);
a367a0d011af Set an interface for the global context; added a method to the artifact database to return an instance of an Artifact.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 285
diff changeset
127 }
a367a0d011af Set an interface for the global context; added a method to the artifact database to return an instance of an Artifact.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 285
diff changeset
128
300
0035e2511342 CREATE documents for Artifact creation might contain db-ids now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 293
diff changeset
129 if (ids != null) {
324
ee6e1b2f137a Renamed an XML attribute in the code to create document for new Artifacts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 300
diff changeset
130 Element id = cr.create("ids");
300
0035e2511342 CREATE documents for Artifact creation might contain db-ids now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 293
diff changeset
131 id.setAttribute("value", ids);
0035e2511342 CREATE documents for Artifact creation might contain db-ids now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 293
diff changeset
132 action.appendChild(id);
0035e2511342 CREATE documents for Artifact creation might contain db-ids now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 293
diff changeset
133 }
293
a367a0d011af Set an interface for the global context; added a method to the artifact database to return an instance of an Artifact.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 285
diff changeset
134
325
4022ea69d1cb Write filters to create document if they are given.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 324
diff changeset
135 if (filter != null) {
4022ea69d1cb Write filters to create document if they are given.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 324
diff changeset
136 action.appendChild(filter.toXML(cr));
4022ea69d1cb Write filters to create document if they are given.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 324
diff changeset
137 }
4022ea69d1cb Write filters to create document if they are given.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 324
diff changeset
138
113
0344a20f8a93 Added the ArtifactNamespaceContext and a ClientProtocolUtils that helps working with the artifact protocol.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
139 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
140
0344a20f8a93 Added the ArtifactNamespaceContext and a ClientProtocolUtils that helps working with the artifact protocol.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
141 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
142 }
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
143
19b86e27d0c3 New XPath constants and methods that retrieve important nodes of the DESCRIBE document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 113
diff changeset
144
19b86e27d0c3 New XPath constants and methods that retrieve important nodes of the DESCRIBE document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 113
diff changeset
145 /**
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
146 * 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
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 * @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
149 * @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
150 * @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
151 * 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
152 *
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
153 * @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
154 */
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
155 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
156 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
157 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
158 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
159 {
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
160 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
161
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
162 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
163 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
164 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
165 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
166
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
167 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
168 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
169 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
170 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
171 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
172
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
173 // 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
174 // 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
175 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
176 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
177 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
178
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
179 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
180 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
181 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
182 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
183
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
184 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
185 }
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
186
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
187 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
188 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
189 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
190 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
191
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
192 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
193
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
194 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
195 }
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
196
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
197
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
198 /**
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
199 * 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
200 *
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
201 * @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
202 * @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
203 * @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
204 *
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
205 * @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
206 */
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
207 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
208 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
209 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
210 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
211 {
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
212 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
213
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
214 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
215 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
216 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
217 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
218
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
219 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
220 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
221 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
222 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
223 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
224
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
225 // 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
226 // 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
227 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
228 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
229 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
230
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
231 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
232
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
233 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
234 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
235 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
236 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
237
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
238 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
239
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
240 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
241 }
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
242
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
243
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
244 /**
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
245 * 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
246 *
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
247 * @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
248 * @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
249 * @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
250 *
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
251 * @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
252 */
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
253 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
254 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
255 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
256 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
257 {
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
258 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
259
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
260 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
261 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
262 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
263 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
264
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
265 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
266 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
267 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
268 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
269 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
270
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
271 // 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
272 // 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
273 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
274 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
275 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
276 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
277
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
278 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
279 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
280 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
281 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
282
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
283 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
284
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
285 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
286 }
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
287
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
288
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
289 /**
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
290 * 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
291 * 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
292 *
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
293 * @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
294 *
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
295 * @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
296 */
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
297 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
298 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
299
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
300 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
301 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
302 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
303 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
304
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
305 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
306 Element type = cr.create("type");
212
d7042094f7b7 Bugfix: Repaired a broken XPath.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 211
diff changeset
307 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
308 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
309
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
310 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
311 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
312
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
313 action.appendChild(type);
212
d7042094f7b7 Bugfix: Repaired a broken XPath.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 211
diff changeset
314 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
315 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
316
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
317 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
318
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
319 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
320 }
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
321
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
322
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
323 /**
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
324 * 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
325 * 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
326 *
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
327 * @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
328 * @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
329 * 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
330 *
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
331 * @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
332 */
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
333 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
334 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
335
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
336 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
337 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
338 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
339 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
340
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
341 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
342 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
343 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
344 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
345
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
346 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
347 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
348
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
349 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
350 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
351 }
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
352
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
353 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
354 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
355 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
356
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
357 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
358
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
359 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
360 }
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
361
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
362
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
363 /**
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
364 * 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
365 * 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
366 *
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
367 * @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
368 *
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
369 * @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
370 */
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
371 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
372 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
373
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
374 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
375 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
376 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
377 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
378
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
379 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
380 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
381 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
382
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
383 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
384
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
385 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
386
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
387 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
388 }
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
389
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
390
239
ab196a861796 Enhanced the ClientProtocolUtils with a method that creates an XML document used for the Collection's out() operation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 223
diff changeset
391
ab196a861796 Enhanced the ClientProtocolUtils with a method that creates an XML document used for the Collection's out() operation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 223
diff changeset
392 /**
ab196a861796 Enhanced the ClientProtocolUtils with a method that creates an XML document used for the Collection's out() operation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 223
diff changeset
393 * 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
394 * 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
395 *
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
396 * @param uuid The identifier of the collection.
261
f3d970a832ff Bugfix: the document that is used to trigger the OUT operation of a collection will now contain the name of the output mode and its concrete subtype.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 258
diff changeset
397 * @param mode The name of the desired output mode.
239
ab196a861796 Enhanced the ClientProtocolUtils with a method that creates an XML document used for the Collection's out() operation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 223
diff changeset
398 * @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
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 * @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
401 */
261
f3d970a832ff Bugfix: the document that is used to trigger the OUT operation of a collection will now contain the name of the output mode and its concrete subtype.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 258
diff changeset
402 public static Document newOutCollectionDocument(
f3d970a832ff Bugfix: the document that is used to trigger the OUT operation of a collection will now contain the name of the output mode and its concrete subtype.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 258
diff changeset
403 String uuid,
f3d970a832ff Bugfix: the document that is used to trigger the OUT operation of a collection will now contain the name of the output mode and its concrete subtype.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 258
diff changeset
404 String mode,
f3d970a832ff Bugfix: the document that is used to trigger the OUT operation of a collection will now contain the name of the output mode and its concrete subtype.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 258
diff changeset
405 String type) {
f3d970a832ff Bugfix: the document that is used to trigger the OUT operation of a collection will now contain the name of the output mode and its concrete subtype.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 258
diff changeset
406 return newOutCollectionDocument(uuid, mode, type, null);
258
c41b300b02c3 Improved the ClientProtocolUtils: collections OUT document contains attributes now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 255
diff changeset
407 }
c41b300b02c3 Improved the ClientProtocolUtils: collections OUT document contains attributes now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 255
diff changeset
408
c41b300b02c3 Improved the ClientProtocolUtils: collections OUT document contains attributes now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 255
diff changeset
409
c41b300b02c3 Improved the ClientProtocolUtils: collections OUT document contains attributes now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 255
diff changeset
410 /**
c41b300b02c3 Improved the ClientProtocolUtils: collections OUT document contains attributes now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 255
diff changeset
411 * 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
412 * 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
413 * 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
414 *
c41b300b02c3 Improved the ClientProtocolUtils: collections OUT document contains attributes now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 255
diff changeset
415 * @param uuid The identifier of the collection.
261
f3d970a832ff Bugfix: the document that is used to trigger the OUT operation of a collection will now contain the name of the output mode and its concrete subtype.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 258
diff changeset
416 * @param mode The name of the desired output mode.
258
c41b300b02c3 Improved the ClientProtocolUtils: collections OUT document contains attributes now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 255
diff changeset
417 * @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
418 * @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
419 *
c41b300b02c3 Improved the ClientProtocolUtils: collections OUT document contains attributes now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 255
diff changeset
420 * @return the request document.
c41b300b02c3 Improved the ClientProtocolUtils: collections OUT document contains attributes now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 255
diff changeset
421 */
c41b300b02c3 Improved the ClientProtocolUtils: collections OUT document contains attributes now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 255
diff changeset
422 public static Document newOutCollectionDocument(
c41b300b02c3 Improved the ClientProtocolUtils: collections OUT document contains attributes now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 255
diff changeset
423 String uuid,
261
f3d970a832ff Bugfix: the document that is used to trigger the OUT operation of a collection will now contain the name of the output mode and its concrete subtype.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 258
diff changeset
424 String mode,
258
c41b300b02c3 Improved the ClientProtocolUtils: collections OUT document contains attributes now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 255
diff changeset
425 String type,
c41b300b02c3 Improved the ClientProtocolUtils: collections OUT document contains attributes now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 255
diff changeset
426 Document attr)
c41b300b02c3 Improved the ClientProtocolUtils: collections OUT document contains attributes now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 255
diff changeset
427 {
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
428 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
429
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
430 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
431 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
432 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
433 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
434
270
89f6de49803d Modified the method to create the document to trigger the out() operation of a collection in ClientProtocolUtils.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 267
diff changeset
435 Element action = cr.create("action");
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
436
261
f3d970a832ff Bugfix: the document that is used to trigger the OUT operation of a collection will now contain the name of the output mode and its concrete subtype.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 258
diff changeset
437 cr.addAttr(action, "name", mode, true);
239
ab196a861796 Enhanced the ClientProtocolUtils with a method that creates an XML document used for the Collection's out() operation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 223
diff changeset
438 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
439
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
440 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
441
258
c41b300b02c3 Improved the ClientProtocolUtils: collections OUT document contains attributes now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 255
diff changeset
442 if (attr != null) {
c41b300b02c3 Improved the ClientProtocolUtils: collections OUT document contains attributes now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 255
diff changeset
443 Node root = attr.getFirstChild();
c41b300b02c3 Improved the ClientProtocolUtils: collections OUT document contains attributes now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 255
diff changeset
444
c41b300b02c3 Improved the ClientProtocolUtils: collections OUT document contains attributes now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 255
diff changeset
445 if (root != null) {
270
89f6de49803d Modified the method to create the document to trigger the out() operation of a collection in ClientProtocolUtils.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 267
diff changeset
446 action.appendChild(doc.importNode(root, true));
258
c41b300b02c3 Improved the ClientProtocolUtils: collections OUT document contains attributes now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 255
diff changeset
447 }
c41b300b02c3 Improved the ClientProtocolUtils: collections OUT document contains attributes now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 255
diff changeset
448 }
c41b300b02c3 Improved the ClientProtocolUtils: collections OUT document contains attributes now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 255
diff changeset
449
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
450 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
451 }
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
452
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
453
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
454 /**
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
455 * This function creates a document that is used to set the attribute of a
267
72de5c373c9b Enhanced the ClientProtocolUtils with a method to create a document that sets the attribute of a collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 261
diff changeset
456 * Collection.
72de5c373c9b Enhanced the ClientProtocolUtils with a method to create a document that sets the attribute of a collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 261
diff changeset
457 *
72de5c373c9b Enhanced the ClientProtocolUtils with a method to create a document that sets the attribute of a collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 261
diff changeset
458 * @param uuid The identifier of the Collection.
72de5c373c9b Enhanced the ClientProtocolUtils with a method to create a document that sets the attribute of a collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 261
diff changeset
459 * @param attr The new attribute value for the Collection.
72de5c373c9b Enhanced the ClientProtocolUtils with a method to create a document that sets the attribute of a collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 261
diff changeset
460 *
72de5c373c9b Enhanced the ClientProtocolUtils with a method to create a document that sets the attribute of a collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 261
diff changeset
461 * @return the document that is used to set the attribute.
72de5c373c9b Enhanced the ClientProtocolUtils with a method to create a document that sets the attribute of a collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 261
diff changeset
462 */
72de5c373c9b Enhanced the ClientProtocolUtils with a method to create a document that sets the attribute of a collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 261
diff changeset
463 public static Document newSetAttributeDocument(
72de5c373c9b Enhanced the ClientProtocolUtils with a method to create a document that sets the attribute of a collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 261
diff changeset
464 String uuid,
72de5c373c9b Enhanced the ClientProtocolUtils with a method to create a document that sets the attribute of a collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 261
diff changeset
465 Document attr)
72de5c373c9b Enhanced the ClientProtocolUtils with a method to create a document that sets the attribute of a collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 261
diff changeset
466 {
72de5c373c9b Enhanced the ClientProtocolUtils with a method to create a document that sets the attribute of a collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 261
diff changeset
467 Node root = attr != null ? attr.getFirstChild() : null;
72de5c373c9b Enhanced the ClientProtocolUtils with a method to create a document that sets the attribute of a collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 261
diff changeset
468
72de5c373c9b Enhanced the ClientProtocolUtils with a method to create a document that sets the attribute of a collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 261
diff changeset
469 if (root == null) {
72de5c373c9b Enhanced the ClientProtocolUtils with a method to create a document that sets the attribute of a collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 261
diff changeset
470 return null;
72de5c373c9b Enhanced the ClientProtocolUtils with a method to create a document that sets the attribute of a collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 261
diff changeset
471 }
72de5c373c9b Enhanced the ClientProtocolUtils with a method to create a document that sets the attribute of a collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 261
diff changeset
472
72de5c373c9b Enhanced the ClientProtocolUtils with a method to create a document that sets the attribute of a collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 261
diff changeset
473 Document doc = XMLUtils.newDocument();
72de5c373c9b Enhanced the ClientProtocolUtils with a method to create a document that sets the attribute of a collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 261
diff changeset
474
72de5c373c9b Enhanced the ClientProtocolUtils with a method to create a document that sets the attribute of a collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 261
diff changeset
475 XMLUtils.ElementCreator ec = new XMLUtils.ElementCreator(
72de5c373c9b Enhanced the ClientProtocolUtils with a method to create a document that sets the attribute of a collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 261
diff changeset
476 doc,
72de5c373c9b Enhanced the ClientProtocolUtils with a method to create a document that sets the attribute of a collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 261
diff changeset
477 ArtifactNamespaceContext.NAMESPACE_URI,
72de5c373c9b Enhanced the ClientProtocolUtils with a method to create a document that sets the attribute of a collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 261
diff changeset
478 ArtifactNamespaceContext.NAMESPACE_PREFIX);
72de5c373c9b Enhanced the ClientProtocolUtils with a method to create a document that sets the attribute of a collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 261
diff changeset
479
72de5c373c9b Enhanced the ClientProtocolUtils with a method to create a document that sets the attribute of a collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 261
diff changeset
480 Element action = ec.create("action");
72de5c373c9b Enhanced the ClientProtocolUtils with a method to create a document that sets the attribute of a collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 261
diff changeset
481 Element type = ec.create("type");
72de5c373c9b Enhanced the ClientProtocolUtils with a method to create a document that sets the attribute of a collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 261
diff changeset
482 Element collection = ec.create("collection");
72de5c373c9b Enhanced the ClientProtocolUtils with a method to create a document that sets the attribute of a collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 261
diff changeset
483
72de5c373c9b Enhanced the ClientProtocolUtils with a method to create a document that sets the attribute of a collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 261
diff changeset
484 ec.addAttr(type, "name", "setattribute", false);
72de5c373c9b Enhanced the ClientProtocolUtils with a method to create a document that sets the attribute of a collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 261
diff changeset
485 ec.addAttr(collection, "uuid", uuid, false);
72de5c373c9b Enhanced the ClientProtocolUtils with a method to create a document that sets the attribute of a collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 261
diff changeset
486
72de5c373c9b Enhanced the ClientProtocolUtils with a method to create a document that sets the attribute of a collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 261
diff changeset
487 doc.appendChild(action);
72de5c373c9b Enhanced the ClientProtocolUtils with a method to create a document that sets the attribute of a collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 261
diff changeset
488 action.appendChild(type);
72de5c373c9b Enhanced the ClientProtocolUtils with a method to create a document that sets the attribute of a collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 261
diff changeset
489 type.appendChild(collection);
72de5c373c9b Enhanced the ClientProtocolUtils with a method to create a document that sets the attribute of a collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 261
diff changeset
490
72de5c373c9b Enhanced the ClientProtocolUtils with a method to create a document that sets the attribute of a collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 261
diff changeset
491 collection.appendChild(doc.importNode(root, true));
72de5c373c9b Enhanced the ClientProtocolUtils with a method to create a document that sets the attribute of a collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 261
diff changeset
492
72de5c373c9b Enhanced the ClientProtocolUtils with a method to create a document that sets the attribute of a collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 261
diff changeset
493 return doc;
72de5c373c9b Enhanced the ClientProtocolUtils with a method to create a document that sets the attribute of a collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 261
diff changeset
494 }
72de5c373c9b Enhanced the ClientProtocolUtils with a method to create a document that sets the attribute of a collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 261
diff changeset
495
72de5c373c9b Enhanced the ClientProtocolUtils with a method to create a document that sets the attribute of a collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 261
diff changeset
496 /**
72de5c373c9b Enhanced the ClientProtocolUtils with a method to create a document that sets the attribute of a collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 261
diff changeset
497 * This function creates a document that is used to set the attribute of a
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
498 * 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
499 *
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
500 * @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
501 * @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
502 *
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
503 * @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
504 */
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
505 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
506 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
507 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
508 {
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
509 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
510
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
511 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
512 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
513 }
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
514
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
515 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
516
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
517 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
518 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
519 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
520 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
521
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
522 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
523 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
524 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
525
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
526 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
527 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
528
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
529 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
530 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
531 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
532
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
533 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
534
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
535 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
536 }
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
537
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
538
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
539 /**
285
f5a0f90bcc6f Improved the ClientProtocolUtils: new methods to create collection action specific documents.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 270
diff changeset
540 * This function creates a document that is used to set the time-to-live
f5a0f90bcc6f Improved the ClientProtocolUtils: new methods to create collection action specific documents.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 270
diff changeset
541 * of a collection.
f5a0f90bcc6f Improved the ClientProtocolUtils: new methods to create collection action specific documents.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 270
diff changeset
542 *
f5a0f90bcc6f Improved the ClientProtocolUtils: new methods to create collection action specific documents.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 270
diff changeset
543 * @param ttl The ttl for the Collection.
f5a0f90bcc6f Improved the ClientProtocolUtils: new methods to create collection action specific documents.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 270
diff changeset
544 *
f5a0f90bcc6f Improved the ClientProtocolUtils: new methods to create collection action specific documents.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 270
diff changeset
545 * @return the document that is used to set the time-to-live.
f5a0f90bcc6f Improved the ClientProtocolUtils: new methods to create collection action specific documents.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 270
diff changeset
546 */
f5a0f90bcc6f Improved the ClientProtocolUtils: new methods to create collection action specific documents.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 270
diff changeset
547 public static Document newSetCollectionTTLDocument(String ttl) {
f5a0f90bcc6f Improved the ClientProtocolUtils: new methods to create collection action specific documents.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 270
diff changeset
548 Document doc = XMLUtils.newDocument();
f5a0f90bcc6f Improved the ClientProtocolUtils: new methods to create collection action specific documents.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 270
diff changeset
549
f5a0f90bcc6f Improved the ClientProtocolUtils: new methods to create collection action specific documents.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 270
diff changeset
550 XMLUtils.ElementCreator ec = new XMLUtils.ElementCreator(
f5a0f90bcc6f Improved the ClientProtocolUtils: new methods to create collection action specific documents.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 270
diff changeset
551 doc,
f5a0f90bcc6f Improved the ClientProtocolUtils: new methods to create collection action specific documents.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 270
diff changeset
552 ArtifactNamespaceContext.NAMESPACE_URI,
f5a0f90bcc6f Improved the ClientProtocolUtils: new methods to create collection action specific documents.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 270
diff changeset
553 ArtifactNamespaceContext.NAMESPACE_PREFIX);
f5a0f90bcc6f Improved the ClientProtocolUtils: new methods to create collection action specific documents.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 270
diff changeset
554
f5a0f90bcc6f Improved the ClientProtocolUtils: new methods to create collection action specific documents.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 270
diff changeset
555 Element action = ec.create("action");
f5a0f90bcc6f Improved the ClientProtocolUtils: new methods to create collection action specific documents.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 270
diff changeset
556 Element type = ec.create("type");
f5a0f90bcc6f Improved the ClientProtocolUtils: new methods to create collection action specific documents.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 270
diff changeset
557 Element ttlEl = ec.create("ttl");
f5a0f90bcc6f Improved the ClientProtocolUtils: new methods to create collection action specific documents.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 270
diff changeset
558
f5a0f90bcc6f Improved the ClientProtocolUtils: new methods to create collection action specific documents.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 270
diff changeset
559 ec.addAttr(type, "name", "settimetolive");
f5a0f90bcc6f Improved the ClientProtocolUtils: new methods to create collection action specific documents.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 270
diff changeset
560 ec.addAttr(ttlEl, "value", ttl);
f5a0f90bcc6f Improved the ClientProtocolUtils: new methods to create collection action specific documents.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 270
diff changeset
561
f5a0f90bcc6f Improved the ClientProtocolUtils: new methods to create collection action specific documents.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 270
diff changeset
562 doc.appendChild(action);
f5a0f90bcc6f Improved the ClientProtocolUtils: new methods to create collection action specific documents.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 270
diff changeset
563 action.appendChild(type);
f5a0f90bcc6f Improved the ClientProtocolUtils: new methods to create collection action specific documents.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 270
diff changeset
564 type.appendChild(ttlEl);
f5a0f90bcc6f Improved the ClientProtocolUtils: new methods to create collection action specific documents.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 270
diff changeset
565
f5a0f90bcc6f Improved the ClientProtocolUtils: new methods to create collection action specific documents.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 270
diff changeset
566 return doc;
f5a0f90bcc6f Improved the ClientProtocolUtils: new methods to create collection action specific documents.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 270
diff changeset
567 }
f5a0f90bcc6f Improved the ClientProtocolUtils: new methods to create collection action specific documents.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 270
diff changeset
568
f5a0f90bcc6f Improved the ClientProtocolUtils: new methods to create collection action specific documents.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 270
diff changeset
569
f5a0f90bcc6f Improved the ClientProtocolUtils: new methods to create collection action specific documents.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 270
diff changeset
570 /**
f5a0f90bcc6f Improved the ClientProtocolUtils: new methods to create collection action specific documents.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 270
diff changeset
571 * This function creates a document that is used to set the name of a
f5a0f90bcc6f Improved the ClientProtocolUtils: new methods to create collection action specific documents.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 270
diff changeset
572 * collection.
f5a0f90bcc6f Improved the ClientProtocolUtils: new methods to create collection action specific documents.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 270
diff changeset
573 *
f5a0f90bcc6f Improved the ClientProtocolUtils: new methods to create collection action specific documents.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 270
diff changeset
574 * @param name The name for the Collection.
f5a0f90bcc6f Improved the ClientProtocolUtils: new methods to create collection action specific documents.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 270
diff changeset
575 *
f5a0f90bcc6f Improved the ClientProtocolUtils: new methods to create collection action specific documents.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 270
diff changeset
576 * @return the document that is used to set the name of a collection.
f5a0f90bcc6f Improved the ClientProtocolUtils: new methods to create collection action specific documents.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 270
diff changeset
577 */
f5a0f90bcc6f Improved the ClientProtocolUtils: new methods to create collection action specific documents.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 270
diff changeset
578 public static Document newSetCollectionNameDocument(String name) {
f5a0f90bcc6f Improved the ClientProtocolUtils: new methods to create collection action specific documents.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 270
diff changeset
579 Document doc = XMLUtils.newDocument();
f5a0f90bcc6f Improved the ClientProtocolUtils: new methods to create collection action specific documents.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 270
diff changeset
580
f5a0f90bcc6f Improved the ClientProtocolUtils: new methods to create collection action specific documents.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 270
diff changeset
581 XMLUtils.ElementCreator ec = new XMLUtils.ElementCreator(
f5a0f90bcc6f Improved the ClientProtocolUtils: new methods to create collection action specific documents.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 270
diff changeset
582 doc,
f5a0f90bcc6f Improved the ClientProtocolUtils: new methods to create collection action specific documents.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 270
diff changeset
583 ArtifactNamespaceContext.NAMESPACE_URI,
f5a0f90bcc6f Improved the ClientProtocolUtils: new methods to create collection action specific documents.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 270
diff changeset
584 ArtifactNamespaceContext.NAMESPACE_PREFIX);
f5a0f90bcc6f Improved the ClientProtocolUtils: new methods to create collection action specific documents.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 270
diff changeset
585
f5a0f90bcc6f Improved the ClientProtocolUtils: new methods to create collection action specific documents.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 270
diff changeset
586 Element action = ec.create("action");
f5a0f90bcc6f Improved the ClientProtocolUtils: new methods to create collection action specific documents.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 270
diff changeset
587 Element type = ec.create("type");
f5a0f90bcc6f Improved the ClientProtocolUtils: new methods to create collection action specific documents.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 270
diff changeset
588 Element coll = ec.create("collection");
f5a0f90bcc6f Improved the ClientProtocolUtils: new methods to create collection action specific documents.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 270
diff changeset
589
f5a0f90bcc6f Improved the ClientProtocolUtils: new methods to create collection action specific documents.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 270
diff changeset
590 ec.addAttr(type, "name", "setname");
f5a0f90bcc6f Improved the ClientProtocolUtils: new methods to create collection action specific documents.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 270
diff changeset
591 ec.addAttr(coll, "name", name);
f5a0f90bcc6f Improved the ClientProtocolUtils: new methods to create collection action specific documents.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 270
diff changeset
592
f5a0f90bcc6f Improved the ClientProtocolUtils: new methods to create collection action specific documents.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 270
diff changeset
593 doc.appendChild(action);
f5a0f90bcc6f Improved the ClientProtocolUtils: new methods to create collection action specific documents.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 270
diff changeset
594 action.appendChild(type);
f5a0f90bcc6f Improved the ClientProtocolUtils: new methods to create collection action specific documents.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 270
diff changeset
595 type.appendChild(coll);
f5a0f90bcc6f Improved the ClientProtocolUtils: new methods to create collection action specific documents.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 270
diff changeset
596
f5a0f90bcc6f Improved the ClientProtocolUtils: new methods to create collection action specific documents.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 270
diff changeset
597 return doc;
f5a0f90bcc6f Improved the ClientProtocolUtils: new methods to create collection action specific documents.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 270
diff changeset
598 }
f5a0f90bcc6f Improved the ClientProtocolUtils: new methods to create collection action specific documents.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 270
diff changeset
599
f5a0f90bcc6f Improved the ClientProtocolUtils: new methods to create collection action specific documents.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 270
diff changeset
600
f5a0f90bcc6f Improved the ClientProtocolUtils: new methods to create collection action specific documents.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 270
diff changeset
601 /**
f5a0f90bcc6f Improved the ClientProtocolUtils: new methods to create collection action specific documents.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 270
diff changeset
602 * This function creates a document that is used to delete an existing
f5a0f90bcc6f Improved the ClientProtocolUtils: new methods to create collection action specific documents.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 270
diff changeset
603 * collection.
f5a0f90bcc6f Improved the ClientProtocolUtils: new methods to create collection action specific documents.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 270
diff changeset
604 *
f5a0f90bcc6f Improved the ClientProtocolUtils: new methods to create collection action specific documents.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 270
diff changeset
605 * @return the document that is used to delete an existing collection.
f5a0f90bcc6f Improved the ClientProtocolUtils: new methods to create collection action specific documents.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 270
diff changeset
606 */
f5a0f90bcc6f Improved the ClientProtocolUtils: new methods to create collection action specific documents.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 270
diff changeset
607 public static Document newDeleteCollectionDocument() {
f5a0f90bcc6f Improved the ClientProtocolUtils: new methods to create collection action specific documents.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 270
diff changeset
608 Document doc = XMLUtils.newDocument();
f5a0f90bcc6f Improved the ClientProtocolUtils: new methods to create collection action specific documents.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 270
diff changeset
609
f5a0f90bcc6f Improved the ClientProtocolUtils: new methods to create collection action specific documents.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 270
diff changeset
610 XMLUtils.ElementCreator ec = new XMLUtils.ElementCreator(
f5a0f90bcc6f Improved the ClientProtocolUtils: new methods to create collection action specific documents.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 270
diff changeset
611 doc,
f5a0f90bcc6f Improved the ClientProtocolUtils: new methods to create collection action specific documents.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 270
diff changeset
612 ArtifactNamespaceContext.NAMESPACE_URI,
f5a0f90bcc6f Improved the ClientProtocolUtils: new methods to create collection action specific documents.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 270
diff changeset
613 ArtifactNamespaceContext.NAMESPACE_PREFIX);
f5a0f90bcc6f Improved the ClientProtocolUtils: new methods to create collection action specific documents.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 270
diff changeset
614
f5a0f90bcc6f Improved the ClientProtocolUtils: new methods to create collection action specific documents.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 270
diff changeset
615 Element action = ec.create("action");
f5a0f90bcc6f Improved the ClientProtocolUtils: new methods to create collection action specific documents.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 270
diff changeset
616 Element type = ec.create("type");
f5a0f90bcc6f Improved the ClientProtocolUtils: new methods to create collection action specific documents.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 270
diff changeset
617
f5a0f90bcc6f Improved the ClientProtocolUtils: new methods to create collection action specific documents.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 270
diff changeset
618 ec.addAttr(type, "name", "delete");
f5a0f90bcc6f Improved the ClientProtocolUtils: new methods to create collection action specific documents.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 270
diff changeset
619
f5a0f90bcc6f Improved the ClientProtocolUtils: new methods to create collection action specific documents.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 270
diff changeset
620 doc.appendChild(action);
f5a0f90bcc6f Improved the ClientProtocolUtils: new methods to create collection action specific documents.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 270
diff changeset
621 action.appendChild(type);
f5a0f90bcc6f Improved the ClientProtocolUtils: new methods to create collection action specific documents.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 270
diff changeset
622
f5a0f90bcc6f Improved the ClientProtocolUtils: new methods to create collection action specific documents.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 270
diff changeset
623 return doc;
f5a0f90bcc6f Improved the ClientProtocolUtils: new methods to create collection action specific documents.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 270
diff changeset
624 }
f5a0f90bcc6f Improved the ClientProtocolUtils: new methods to create collection action specific documents.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 270
diff changeset
625
f5a0f90bcc6f Improved the ClientProtocolUtils: new methods to create collection action specific documents.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 270
diff changeset
626
f5a0f90bcc6f Improved the ClientProtocolUtils: new methods to create collection action specific documents.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 270
diff changeset
627 /**
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
628 * 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
629 * <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
630 *
19b86e27d0c3 New XPath constants and methods that retrieve important nodes of the DESCRIBE document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 113
diff changeset
631 * @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
632 *
19b86e27d0c3 New XPath constants and methods that retrieve important nodes of the DESCRIBE document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 113
diff changeset
633 * @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
634 */
19b86e27d0c3 New XPath constants and methods that retrieve important nodes of the DESCRIBE document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 113
diff changeset
635 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
636 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
637 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
638 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
639 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
640 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
641 }
19b86e27d0c3 New XPath constants and methods that retrieve important nodes of the DESCRIBE document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 113
diff changeset
642
19b86e27d0c3 New XPath constants and methods that retrieve important nodes of the DESCRIBE document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 113
diff changeset
643
19b86e27d0c3 New XPath constants and methods that retrieve important nodes of the DESCRIBE document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 113
diff changeset
644 /**
19b86e27d0c3 New XPath constants and methods that retrieve important nodes of the DESCRIBE document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 113
diff changeset
645 * 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
646 * <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
647 *
19b86e27d0c3 New XPath constants and methods that retrieve important nodes of the DESCRIBE document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 113
diff changeset
648 * @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
649 *
19b86e27d0c3 New XPath constants and methods that retrieve important nodes of the DESCRIBE document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 113
diff changeset
650 * @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
651 */
19b86e27d0c3 New XPath constants and methods that retrieve important nodes of the DESCRIBE document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 113
diff changeset
652 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
653 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
654 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
655 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
656 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
657 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
658 }
19b86e27d0c3 New XPath constants and methods that retrieve important nodes of the DESCRIBE document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 113
diff changeset
659
19b86e27d0c3 New XPath constants and methods that retrieve important nodes of the DESCRIBE document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 113
diff changeset
660
19b86e27d0c3 New XPath constants and methods that retrieve important nodes of the DESCRIBE document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 113
diff changeset
661 /**
19b86e27d0c3 New XPath constants and methods that retrieve important nodes of the DESCRIBE document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 113
diff changeset
662 * 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
663 * 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
664 *
19b86e27d0c3 New XPath constants and methods that retrieve important nodes of the DESCRIBE document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 113
diff changeset
665 * @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
666 * 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
667 *
19b86e27d0c3 New XPath constants and methods that retrieve important nodes of the DESCRIBE document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 113
diff changeset
668 * @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
669 */
19b86e27d0c3 New XPath constants and methods that retrieve important nodes of the DESCRIBE document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 113
diff changeset
670 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
671 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
672 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
673 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
674 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
675 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
676 }
19b86e27d0c3 New XPath constants and methods that retrieve important nodes of the DESCRIBE document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 113
diff changeset
677
19b86e27d0c3 New XPath constants and methods that retrieve important nodes of the DESCRIBE document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 113
diff changeset
678
19b86e27d0c3 New XPath constants and methods that retrieve important nodes of the DESCRIBE document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 113
diff changeset
679 /**
19b86e27d0c3 New XPath constants and methods that retrieve important nodes of the DESCRIBE document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 113
diff changeset
680 * 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
681 * 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
682 *
19b86e27d0c3 New XPath constants and methods that retrieve important nodes of the DESCRIBE document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 113
diff changeset
683 * @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
684 * 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
685 *
19b86e27d0c3 New XPath constants and methods that retrieve important nodes of the DESCRIBE document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 113
diff changeset
686 * @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
687 */
19b86e27d0c3 New XPath constants and methods that retrieve important nodes of the DESCRIBE document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 113
diff changeset
688 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
689 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
690 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
691 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
692 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
693 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
694 }
19b86e27d0c3 New XPath constants and methods that retrieve important nodes of the DESCRIBE document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 113
diff changeset
695
19b86e27d0c3 New XPath constants and methods that retrieve important nodes of the DESCRIBE document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 113
diff changeset
696
19b86e27d0c3 New XPath constants and methods that retrieve important nodes of the DESCRIBE document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 113
diff changeset
697 /**
19b86e27d0c3 New XPath constants and methods that retrieve important nodes of the DESCRIBE document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 113
diff changeset
698 * 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
699 * 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
700 *
19b86e27d0c3 New XPath constants and methods that retrieve important nodes of the DESCRIBE document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 113
diff changeset
701 * @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
702 * 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
703 *
19b86e27d0c3 New XPath constants and methods that retrieve important nodes of the DESCRIBE document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 113
diff changeset
704 * @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
705 */
19b86e27d0c3 New XPath constants and methods that retrieve important nodes of the DESCRIBE document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 113
diff changeset
706 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
707 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
708 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
709 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
710 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
711 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
712 }
19b86e27d0c3 New XPath constants and methods that retrieve important nodes of the DESCRIBE document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 113
diff changeset
713
19b86e27d0c3 New XPath constants and methods that retrieve important nodes of the DESCRIBE document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 113
diff changeset
714
19b86e27d0c3 New XPath constants and methods that retrieve important nodes of the DESCRIBE document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 113
diff changeset
715 /**
19b86e27d0c3 New XPath constants and methods that retrieve important nodes of the DESCRIBE document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 113
diff changeset
716 * 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
717 * 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
718 *
19b86e27d0c3 New XPath constants and methods that retrieve important nodes of the DESCRIBE document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 113
diff changeset
719 * @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
720 * 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
721 *
19b86e27d0c3 New XPath constants and methods that retrieve important nodes of the DESCRIBE document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 113
diff changeset
722 * @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
723 */
19b86e27d0c3 New XPath constants and methods that retrieve important nodes of the DESCRIBE document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 113
diff changeset
724 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
725 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
726 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
727 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
728 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
729 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
730 }
19b86e27d0c3 New XPath constants and methods that retrieve important nodes of the DESCRIBE document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 113
diff changeset
731
19b86e27d0c3 New XPath constants and methods that retrieve important nodes of the DESCRIBE document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 113
diff changeset
732
19b86e27d0c3 New XPath constants and methods that retrieve important nodes of the DESCRIBE document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 113
diff changeset
733 /**
211
435631e07da2 Enhanced the ProtocolUtils and ClientProtocolUtils to append and retrieve output modes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 208
diff changeset
734 * 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
735 *
435631e07da2 Enhanced the ProtocolUtils and ClientProtocolUtils to append and retrieve output modes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 208
diff changeset
736 * @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
737 * DESCRIBE operation.
435631e07da2 Enhanced the ProtocolUtils and ClientProtocolUtils to append and retrieve output modes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 208
diff changeset
738 *
435631e07da2 Enhanced the ProtocolUtils and ClientProtocolUtils to append and retrieve output modes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 208
diff changeset
739 * @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
740 */
435631e07da2 Enhanced the ProtocolUtils and ClientProtocolUtils to append and retrieve output modes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 208
diff changeset
741 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
742 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
743 description,
435631e07da2 Enhanced the ProtocolUtils and ClientProtocolUtils to append and retrieve output modes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 208
diff changeset
744 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
745 XPathConstants.NODESET,
435631e07da2 Enhanced the ProtocolUtils and ClientProtocolUtils to append and retrieve output modes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 208
diff changeset
746 ArtifactNamespaceContext.INSTANCE);
435631e07da2 Enhanced the ProtocolUtils and ClientProtocolUtils to append and retrieve output modes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 208
diff changeset
747 }
435631e07da2 Enhanced the ProtocolUtils and ClientProtocolUtils to append and retrieve output modes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 208
diff changeset
748
435631e07da2 Enhanced the ProtocolUtils and ClientProtocolUtils to append and retrieve output modes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 208
diff changeset
749
435631e07da2 Enhanced the ProtocolUtils and ClientProtocolUtils to append and retrieve output modes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 208
diff changeset
750 /**
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
751 * 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
752 *
19b86e27d0c3 New XPath constants and methods that retrieve important nodes of the DESCRIBE document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 113
diff changeset
753 * @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
754 *
19b86e27d0c3 New XPath constants and methods that retrieve important nodes of the DESCRIBE document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 113
diff changeset
755 * @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
756 */
208
8ea4d0824d8f Changed a return type of a ClientProtocolUtils method.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 204
diff changeset
757 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
758 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
759 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
760 XPATH_DATA_SELECT,
208
8ea4d0824d8f Changed a return type of a ClientProtocolUtils method.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 204
diff changeset
761 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
762 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
763 }
19b86e27d0c3 New XPath constants and methods that retrieve important nodes of the DESCRIBE document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 113
diff changeset
764
19b86e27d0c3 New XPath constants and methods that retrieve important nodes of the DESCRIBE document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 113
diff changeset
765
19b86e27d0c3 New XPath constants and methods that retrieve important nodes of the DESCRIBE document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 113
diff changeset
766 /**
19b86e27d0c3 New XPath constants and methods that retrieve important nodes of the DESCRIBE document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 113
diff changeset
767 * 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
768 *
19b86e27d0c3 New XPath constants and methods that retrieve important nodes of the DESCRIBE document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 113
diff changeset
769 * @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
770 *
19b86e27d0c3 New XPath constants and methods that retrieve important nodes of the DESCRIBE document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 113
diff changeset
771 * @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
772 */
19b86e27d0c3 New XPath constants and methods that retrieve important nodes of the DESCRIBE document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 113
diff changeset
773 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
774 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
775 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
776 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
777 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
778 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
779 }
113
0344a20f8a93 Added the ArtifactNamespaceContext and a ClientProtocolUtils that helps working with the artifact protocol.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
780 }
0344a20f8a93 Added the ArtifactNamespaceContext and a ClientProtocolUtils that helps working with the artifact protocol.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
781 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :

http://dive4elements.wald.intevation.org