annotate artifacts-common/src/main/java/de/intevation/artifacts/common/utils/ClientProtocolUtils.java @ 367:6431b7efe240

Cosmetics. artifacts/trunk@3680 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Felix Wolfsteller <felix.wolfsteller@intevation.de>
date Mon, 16 Jan 2012 08:58:36 +0000
parents e0efa2c28d19
children 203bd78def81
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
341
e0efa2c28d19 Helper function to create a document to remove an artifact from an collection.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 325
diff changeset
28 /** The XPath to the current state in the DESCRIBE document. */
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
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
341
e0efa2c28d19 Helper function to create a document to remove an artifact from an collection.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 325
diff changeset
31 /** The XPath to the static UI part in the DESCRIBE document. */
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
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
341
e0efa2c28d19 Helper function to create a document to remove an artifact from an collection.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 325
diff changeset
34 /** The XPath to the dynamic UI part in the DESCRIBE document. */
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
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
341
e0efa2c28d19 Helper function to create a document to remove an artifact from an collection.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 325
diff changeset
37 /** The XPath to the reachable states part in the DESCRIBE document. */
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
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
341
e0efa2c28d19 Helper function to create a document to remove an artifact from an collection.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 325
diff changeset
41 /** The XPath to the output modes in the DESCRIBE document. */
211
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
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
45 /** The XPath to the select node relative to the dynamic UI node in the
341
e0efa2c28d19 Helper function to create a document to remove an artifact from an collection.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 325
diff changeset
46 * DESCRIBE document. */
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
47 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
48
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 /** The XPath to the choices nodes relative to the select node in the
341
e0efa2c28d19 Helper function to create a document to remove an artifact from an collection.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 325
diff changeset
50 * DESCRIBE document. */
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
51 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
52
341
e0efa2c28d19 Helper function to create a document to remove an artifact from an collection.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 325
diff changeset
53 /** The XPath to a label in the artifact's DESCRIBE document. */
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
54 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
55
341
e0efa2c28d19 Helper function to create a document to remove an artifact from an collection.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 325
diff changeset
56 /** The XPath to a value in the artifact's DESCRIBE document. */
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
57 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
58
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
113
0344a20f8a93 Added the ArtifactNamespaceContext and a ClientProtocolUtils that helps working with the artifact protocol.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
60 /**
0344a20f8a93 Added the ArtifactNamespaceContext and a ClientProtocolUtils that helps working with the artifact protocol.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
61 * 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
62 */
0344a20f8a93 Added the ArtifactNamespaceContext and a ClientProtocolUtils that helps working with the artifact protocol.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
63 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
64 }
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 * 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
69 *
0344a20f8a93 Added the ArtifactNamespaceContext and a ClientProtocolUtils that helps working with the artifact protocol.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
70 * @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
71 */
0344a20f8a93 Added the ArtifactNamespaceContext and a ClientProtocolUtils that helps working with the artifact protocol.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
72 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
73 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
74 }
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 * 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
79 *
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 * @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
81 */
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 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
83 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
84 }
0035e2511342 CREATE documents for Artifact creation might contain db-ids now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 293
diff changeset
85
325
4022ea69d1cb Write filters to create document if they are given.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 324
diff changeset
86 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
87 String factory,
4022ea69d1cb Write filters to create document if they are given.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 324
diff changeset
88 String uuid,
4022ea69d1cb Write filters to create document if they are given.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 324
diff changeset
89 String ids
4022ea69d1cb Write filters to create document if they are given.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 324
diff changeset
90 ) {
4022ea69d1cb Write filters to create document if they are given.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 324
diff changeset
91 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
92 }
300
0035e2511342 CREATE documents for Artifact creation might contain db-ids now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 293
diff changeset
93
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 * 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
96 *
0035e2511342 CREATE documents for Artifact creation might contain db-ids now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 293
diff changeset
97 * @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
98 */
0035e2511342 CREATE documents for Artifact creation might contain db-ids now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 293
diff changeset
99 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
100 String factory,
4022ea69d1cb Write filters to create document if they are given.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 324
diff changeset
101 String uuid,
4022ea69d1cb Write filters to create document if they are given.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 324
diff changeset
102 String ids,
4022ea69d1cb Write filters to create document if they are given.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 324
diff changeset
103 CreationFilter filter
4022ea69d1cb Write filters to create document if they are given.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 324
diff changeset
104 ) {
113
0344a20f8a93 Added the ArtifactNamespaceContext and a ClientProtocolUtils that helps working with the artifact protocol.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
105 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
106
0344a20f8a93 Added the ArtifactNamespaceContext and a ClientProtocolUtils that helps working with the artifact protocol.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
107 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
108 doc,
0344a20f8a93 Added the ArtifactNamespaceContext and a ClientProtocolUtils that helps working with the artifact protocol.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
109 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
110 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
111
0344a20f8a93 Added the ArtifactNamespaceContext and a ClientProtocolUtils that helps working with the artifact protocol.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
112 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
113 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
114 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
115
0344a20f8a93 Added the ArtifactNamespaceContext and a ClientProtocolUtils that helps working with the artifact protocol.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
116 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
117 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
118
0344a20f8a93 Added the ArtifactNamespaceContext and a ClientProtocolUtils that helps working with the artifact protocol.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
119 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
120 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
121
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
122 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
123 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
124 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
125 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
126 }
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
300
0035e2511342 CREATE documents for Artifact creation might contain db-ids now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 293
diff changeset
128 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
129 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
130 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
131 action.appendChild(id);
0035e2511342 CREATE documents for Artifact creation might contain db-ids now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 293
diff changeset
132 }
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
133
325
4022ea69d1cb Write filters to create document if they are given.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 324
diff changeset
134 if (filter != null) {
4022ea69d1cb Write filters to create document if they are given.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 324
diff changeset
135 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
136 }
4022ea69d1cb Write filters to create document if they are given.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 324
diff changeset
137
113
0344a20f8a93 Added the ArtifactNamespaceContext and a ClientProtocolUtils that helps working with the artifact protocol.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
138 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
139
0344a20f8a93 Added the ArtifactNamespaceContext and a ClientProtocolUtils that helps working with the artifact protocol.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
140 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
141 }
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
142
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 /**
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
145 * 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
146 *
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 * @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
148 * @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
149 * @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
150 * 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
151 *
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 * @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
153 */
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 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
155 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
156 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
157 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
158 {
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 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
160
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 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
162 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
163 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
164 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
165
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 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
167 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
168 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
169 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
170 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
171
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 // 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
173 // 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
174 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
175 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
176 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
177
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 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
179 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
180 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
181 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
182
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 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
184 }
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 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
187 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
188 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
189 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
190
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 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
192
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 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
194 }
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 /**
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
198 * 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
199 *
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 * @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
201 * @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
202 * @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
203 *
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 * @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
205 */
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 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
207 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
208 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
209 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
210 {
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 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
212
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 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
214 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
215 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
216 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
217
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 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
219 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
220 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
221 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
222 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
223
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 // 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
225 // 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
226 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
227 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
228 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
229
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 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
231
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 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
233 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
234 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
235 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
236
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 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
238
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 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
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
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 /**
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
244 * 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
245 *
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 * @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
247 * @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
248 * @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
249 *
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 * @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
251 */
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 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
253 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
254 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
255 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
256 {
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 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
258
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 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
260 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
261 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
262 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
263
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 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
265 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
266 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
267 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
268 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
269
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 // 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
271 // 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
272 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
273 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
274 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
275 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
276
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 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
278 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
279 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
280 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
281
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 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
283
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 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
285 }
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 /**
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
289 * 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
290 * 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
291 *
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 * @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
293 *
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 * @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
295 */
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 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
297 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
298
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 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
300 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
301 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
302 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
303
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 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
305 Element type = cr.create("type");
212
d7042094f7b7 Bugfix: Repaired a broken XPath.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 211
diff changeset
306 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
307 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
308
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 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
310 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
311
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 action.appendChild(type);
212
d7042094f7b7 Bugfix: Repaired a broken XPath.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 211
diff changeset
313 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
314 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
315
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 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
317
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 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
319 }
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 /**
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
323 * 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
324 * 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
325 *
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 * @param artId The identifier of the artifact that should be added.
341
e0efa2c28d19 Helper function to create a document to remove an artifact from an collection.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 325
diff changeset
327 * @param attr A document that contains attributes for the artifact's
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
328 * 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
329 *
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 * @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
331 */
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 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
333 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
334
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 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
336 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
337 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
338 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
339
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 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
341 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
342 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
343 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
344
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 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
346 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
347
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 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
349 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
350 }
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 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
353 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
354 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
355
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 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
357
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 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
359 }
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 /**
341
e0efa2c28d19 Helper function to create a document to remove an artifact from an collection.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 325
diff changeset
363 * Create a new Document that is used to remove an artifact from a
e0efa2c28d19 Helper function to create a document to remove an artifact from an collection.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 325
diff changeset
364 * collection in the artifact server.
e0efa2c28d19 Helper function to create a document to remove an artifact from an collection.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 325
diff changeset
365 *
e0efa2c28d19 Helper function to create a document to remove an artifact from an collection.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 325
diff changeset
366 * @param artId The identifier of the artifact that should be added.
e0efa2c28d19 Helper function to create a document to remove an artifact from an collection.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 325
diff changeset
367 *
e0efa2c28d19 Helper function to create a document to remove an artifact from an collection.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 325
diff changeset
368 * @return the document to add an artifact into a collection.
e0efa2c28d19 Helper function to create a document to remove an artifact from an collection.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 325
diff changeset
369 */
e0efa2c28d19 Helper function to create a document to remove an artifact from an collection.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 325
diff changeset
370 public static Document newRemoveArtifactDocument(String artId) {
e0efa2c28d19 Helper function to create a document to remove an artifact from an collection.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 325
diff changeset
371 Document doc = XMLUtils.newDocument();
e0efa2c28d19 Helper function to create a document to remove an artifact from an collection.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 325
diff changeset
372
e0efa2c28d19 Helper function to create a document to remove an artifact from an collection.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 325
diff changeset
373 XMLUtils.ElementCreator cr = new XMLUtils.ElementCreator(
e0efa2c28d19 Helper function to create a document to remove an artifact from an collection.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 325
diff changeset
374 doc,
e0efa2c28d19 Helper function to create a document to remove an artifact from an collection.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 325
diff changeset
375 ArtifactNamespaceContext.NAMESPACE_URI,
e0efa2c28d19 Helper function to create a document to remove an artifact from an collection.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 325
diff changeset
376 ArtifactNamespaceContext.NAMESPACE_PREFIX);
e0efa2c28d19 Helper function to create a document to remove an artifact from an collection.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 325
diff changeset
377
e0efa2c28d19 Helper function to create a document to remove an artifact from an collection.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 325
diff changeset
378 Element action = cr.create("action");
e0efa2c28d19 Helper function to create a document to remove an artifact from an collection.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 325
diff changeset
379 Element type = cr.create("type");
e0efa2c28d19 Helper function to create a document to remove an artifact from an collection.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 325
diff changeset
380 Element artifact = cr.create("artifact");
e0efa2c28d19 Helper function to create a document to remove an artifact from an collection.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 325
diff changeset
381
e0efa2c28d19 Helper function to create a document to remove an artifact from an collection.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 325
diff changeset
382 cr.addAttr(artifact, "uuid", artId);
e0efa2c28d19 Helper function to create a document to remove an artifact from an collection.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 325
diff changeset
383 cr.addAttr(type, "name", "removeartifact");
e0efa2c28d19 Helper function to create a document to remove an artifact from an collection.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 325
diff changeset
384
e0efa2c28d19 Helper function to create a document to remove an artifact from an collection.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 325
diff changeset
385 action.appendChild(type);
e0efa2c28d19 Helper function to create a document to remove an artifact from an collection.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 325
diff changeset
386 type.appendChild(artifact);
e0efa2c28d19 Helper function to create a document to remove an artifact from an collection.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 325
diff changeset
387
e0efa2c28d19 Helper function to create a document to remove an artifact from an collection.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 325
diff changeset
388 doc.appendChild(action);
e0efa2c28d19 Helper function to create a document to remove an artifact from an collection.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 325
diff changeset
389
e0efa2c28d19 Helper function to create a document to remove an artifact from an collection.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 325
diff changeset
390 return doc;
e0efa2c28d19 Helper function to create a document to remove an artifact from an collection.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 325
diff changeset
391 }
e0efa2c28d19 Helper function to create a document to remove an artifact from an collection.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 325
diff changeset
392
e0efa2c28d19 Helper function to create a document to remove an artifact from an collection.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 325
diff changeset
393
e0efa2c28d19 Helper function to create a document to remove an artifact from an collection.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 325
diff changeset
394 /**
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
395 * 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
396 * 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
397 *
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
398 * @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
399 *
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
400 * @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
401 */
91333a41b234 Enhanced the ClientProtocolUtils with a method to create a document to trigger the DESCRIBE operation of a collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 220
diff changeset
402 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
403 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
404
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
405 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
406 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
407 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
408 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
409
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
410 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
411 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
412 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
413
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
414 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
415
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
416 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
417
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
418 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
419 }
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
420
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
421
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
422
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
423 /**
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
424 * 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
425 * 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
426 *
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
427 * @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
428 * @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
429 * @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
430 *
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 * @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
432 */
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
433 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
434 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
435 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
436 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
437 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
438 }
c41b300b02c3 Improved the ClientProtocolUtils: collections OUT document contains attributes now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 255
diff changeset
439
c41b300b02c3 Improved the ClientProtocolUtils: collections OUT document contains attributes now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 255
diff changeset
440
c41b300b02c3 Improved the ClientProtocolUtils: collections OUT document contains attributes now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 255
diff changeset
441 /**
c41b300b02c3 Improved the ClientProtocolUtils: collections OUT document contains attributes now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 255
diff changeset
442 * 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
443 * 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
444 * 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
445 *
c41b300b02c3 Improved the ClientProtocolUtils: collections OUT document contains attributes now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 255
diff changeset
446 * @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
447 * @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
448 * @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
449 * @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
450 *
c41b300b02c3 Improved the ClientProtocolUtils: collections OUT document contains attributes now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 255
diff changeset
451 * @return the request document.
c41b300b02c3 Improved the ClientProtocolUtils: collections OUT document contains attributes now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 255
diff changeset
452 */
c41b300b02c3 Improved the ClientProtocolUtils: collections OUT document contains attributes now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 255
diff changeset
453 public static Document newOutCollectionDocument(
c41b300b02c3 Improved the ClientProtocolUtils: collections OUT document contains attributes now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 255
diff changeset
454 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
455 String mode,
258
c41b300b02c3 Improved the ClientProtocolUtils: collections OUT document contains attributes now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 255
diff changeset
456 String type,
c41b300b02c3 Improved the ClientProtocolUtils: collections OUT document contains attributes now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 255
diff changeset
457 Document attr)
c41b300b02c3 Improved the ClientProtocolUtils: collections OUT document contains attributes now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 255
diff changeset
458 {
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
459 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
460
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
461 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
462 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
463 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
464 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
465
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
466 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
467
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
468 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
469 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
470
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
471 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
472
258
c41b300b02c3 Improved the ClientProtocolUtils: collections OUT document contains attributes now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 255
diff changeset
473 if (attr != null) {
c41b300b02c3 Improved the ClientProtocolUtils: collections OUT document contains attributes now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 255
diff changeset
474 Node root = attr.getFirstChild();
c41b300b02c3 Improved the ClientProtocolUtils: collections OUT document contains attributes now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 255
diff changeset
475
c41b300b02c3 Improved the ClientProtocolUtils: collections OUT document contains attributes now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 255
diff changeset
476 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
477 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
478 }
c41b300b02c3 Improved the ClientProtocolUtils: collections OUT document contains attributes now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 255
diff changeset
479 }
c41b300b02c3 Improved the ClientProtocolUtils: collections OUT document contains attributes now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 255
diff changeset
480
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
481 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
482 }
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
483
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
484
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
485 /**
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
486 * 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
487 * 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
488 *
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 * @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
490 * @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
491 *
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 * @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
493 */
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 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
495 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
496 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
497 {
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
498 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
499
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
500 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
501 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
502 }
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
503
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
504 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
505
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
506 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
507 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
508 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
509 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
510
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
511 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
512 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
513 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
514
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
515 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
516 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
517
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
518 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
519 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
520 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
521
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
522 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
523
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
524 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
525 }
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
526
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
527 /**
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
528 * 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
529 * 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
530 *
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 * @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
532 * @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
533 *
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 * @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
535 */
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 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
537 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
538 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
539 {
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
540 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
541
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
542 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
543 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
544 }
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
545
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
546 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
547
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
548 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
549 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
550 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
551 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
552
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
553 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
554 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
555 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
556
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
557 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
558 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
559
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
560 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
561 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
562 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
563
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
564 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
565
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
566 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
567 }
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
568
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
569
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
570 /**
285
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 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
572 * 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
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 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
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 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
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 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
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 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
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", "settimetolive");
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(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
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(ttlEl);
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 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
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 * @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
606 *
f5a0f90bcc6f Improved the ClientProtocolUtils: new methods to create collection action specific documents.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 270
diff changeset
607 * @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
608 */
f5a0f90bcc6f Improved the ClientProtocolUtils: new methods to create collection action specific documents.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 270
diff changeset
609 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
610 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
611
f5a0f90bcc6f Improved the ClientProtocolUtils: new methods to create collection action specific documents.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 270
diff changeset
612 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
613 doc,
f5a0f90bcc6f Improved the ClientProtocolUtils: new methods to create collection action specific documents.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 270
diff changeset
614 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
615 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
616
f5a0f90bcc6f Improved the ClientProtocolUtils: new methods to create collection action specific documents.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 270
diff changeset
617 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
618 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
619 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
620
f5a0f90bcc6f Improved the ClientProtocolUtils: new methods to create collection action specific documents.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 270
diff changeset
621 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
622 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
623
f5a0f90bcc6f Improved the ClientProtocolUtils: new methods to create collection action specific documents.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 270
diff changeset
624 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
625 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
626 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
627
f5a0f90bcc6f Improved the ClientProtocolUtils: new methods to create collection action specific documents.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 270
diff changeset
628 return doc;
f5a0f90bcc6f Improved the ClientProtocolUtils: new methods to create collection action specific documents.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 270
diff changeset
629 }
f5a0f90bcc6f Improved the ClientProtocolUtils: new methods to create collection action specific documents.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 270
diff changeset
630
f5a0f90bcc6f Improved the ClientProtocolUtils: new methods to create collection action specific documents.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 270
diff changeset
631
f5a0f90bcc6f Improved the ClientProtocolUtils: new methods to create collection action specific documents.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 270
diff changeset
632 /**
f5a0f90bcc6f Improved the ClientProtocolUtils: new methods to create collection action specific documents.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 270
diff changeset
633 * 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
634 * collection.
f5a0f90bcc6f Improved the ClientProtocolUtils: new methods to create collection action specific documents.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 270
diff changeset
635 *
f5a0f90bcc6f Improved the ClientProtocolUtils: new methods to create collection action specific documents.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 270
diff changeset
636 * @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
637 */
f5a0f90bcc6f Improved the ClientProtocolUtils: new methods to create collection action specific documents.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 270
diff changeset
638 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
639 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
640
f5a0f90bcc6f Improved the ClientProtocolUtils: new methods to create collection action specific documents.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 270
diff changeset
641 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
642 doc,
f5a0f90bcc6f Improved the ClientProtocolUtils: new methods to create collection action specific documents.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 270
diff changeset
643 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
644 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
645
f5a0f90bcc6f Improved the ClientProtocolUtils: new methods to create collection action specific documents.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 270
diff changeset
646 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
647 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
648
f5a0f90bcc6f Improved the ClientProtocolUtils: new methods to create collection action specific documents.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 270
diff changeset
649 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
650
f5a0f90bcc6f Improved the ClientProtocolUtils: new methods to create collection action specific documents.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 270
diff changeset
651 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
652 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
653
f5a0f90bcc6f Improved the ClientProtocolUtils: new methods to create collection action specific documents.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 270
diff changeset
654 return doc;
f5a0f90bcc6f Improved the ClientProtocolUtils: new methods to create collection action specific documents.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 270
diff changeset
655 }
f5a0f90bcc6f Improved the ClientProtocolUtils: new methods to create collection action specific documents.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 270
diff changeset
656
f5a0f90bcc6f Improved the ClientProtocolUtils: new methods to create collection action specific documents.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 270
diff changeset
657
f5a0f90bcc6f Improved the ClientProtocolUtils: new methods to create collection action specific documents.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 270
diff changeset
658 /**
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
659 * 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
660 * <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
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 * @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
663 *
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 * @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
665 */
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 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
667 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
668 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 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
670 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
671 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
672 }
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
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
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 /**
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 * 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
677 * <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
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 * @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
680 *
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 * @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
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 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
684 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
685 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
686 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
687 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
688 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
689 }
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
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
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 /**
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 * 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
694 * 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
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 * @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
697 * 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
698 *
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 * @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
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 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
702 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
703 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
704 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
705 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
706 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
707 }
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
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
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 /**
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 * 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
712 * 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
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 * @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
715 * 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
716 *
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 * @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
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 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
720 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
721 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
722 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
723 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
724 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
725 }
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
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
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 /**
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 * 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
730 * 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
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 * @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
733 * 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
734 *
19b86e27d0c3 New XPath constants and methods that retrieve important nodes of the DESCRIBE document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 113
diff changeset
735 * @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
736 */
19b86e27d0c3 New XPath constants and methods that retrieve important nodes of the DESCRIBE document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 113
diff changeset
737 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
738 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
739 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
740 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
741 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
742 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
743 }
19b86e27d0c3 New XPath constants and methods that retrieve important nodes of the DESCRIBE document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 113
diff changeset
744
19b86e27d0c3 New XPath constants and methods that retrieve important nodes of the DESCRIBE document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 113
diff changeset
745
19b86e27d0c3 New XPath constants and methods that retrieve important nodes of the DESCRIBE document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 113
diff changeset
746 /**
19b86e27d0c3 New XPath constants and methods that retrieve important nodes of the DESCRIBE document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 113
diff changeset
747 * 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
748 * 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
749 *
19b86e27d0c3 New XPath constants and methods that retrieve important nodes of the DESCRIBE document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 113
diff changeset
750 * @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
751 * 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
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 * @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
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 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
756 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
757 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
758 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
759 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
760 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
761 }
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
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 /**
211
435631e07da2 Enhanced the ProtocolUtils and ClientProtocolUtils to append and retrieve output modes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 208
diff changeset
765 * 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
766 *
435631e07da2 Enhanced the ProtocolUtils and ClientProtocolUtils to append and retrieve output modes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 208
diff changeset
767 * @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
768 * DESCRIBE operation.
435631e07da2 Enhanced the ProtocolUtils and ClientProtocolUtils to append and retrieve output modes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 208
diff changeset
769 *
435631e07da2 Enhanced the ProtocolUtils and ClientProtocolUtils to append and retrieve output modes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 208
diff changeset
770 * @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
771 */
435631e07da2 Enhanced the ProtocolUtils and ClientProtocolUtils to append and retrieve output modes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 208
diff changeset
772 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
773 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
774 description,
435631e07da2 Enhanced the ProtocolUtils and ClientProtocolUtils to append and retrieve output modes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 208
diff changeset
775 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
776 XPathConstants.NODESET,
435631e07da2 Enhanced the ProtocolUtils and ClientProtocolUtils to append and retrieve output modes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 208
diff changeset
777 ArtifactNamespaceContext.INSTANCE);
435631e07da2 Enhanced the ProtocolUtils and ClientProtocolUtils to append and retrieve output modes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 208
diff changeset
778 }
435631e07da2 Enhanced the ProtocolUtils and ClientProtocolUtils to append and retrieve output modes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 208
diff changeset
779
435631e07da2 Enhanced the ProtocolUtils and ClientProtocolUtils to append and retrieve output modes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 208
diff changeset
780
435631e07da2 Enhanced the ProtocolUtils and ClientProtocolUtils to append and retrieve output modes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 208
diff changeset
781 /**
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
782 * 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
783 *
19b86e27d0c3 New XPath constants and methods that retrieve important nodes of the DESCRIBE document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 113
diff changeset
784 * @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
785 *
19b86e27d0c3 New XPath constants and methods that retrieve important nodes of the DESCRIBE document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 113
diff changeset
786 * @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
787 */
208
8ea4d0824d8f Changed a return type of a ClientProtocolUtils method.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 204
diff changeset
788 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
789 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
790 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
791 XPATH_DATA_SELECT,
208
8ea4d0824d8f Changed a return type of a ClientProtocolUtils method.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 204
diff changeset
792 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
793 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
794 }
19b86e27d0c3 New XPath constants and methods that retrieve important nodes of the DESCRIBE document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 113
diff changeset
795
19b86e27d0c3 New XPath constants and methods that retrieve important nodes of the DESCRIBE document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 113
diff changeset
796
19b86e27d0c3 New XPath constants and methods that retrieve important nodes of the DESCRIBE document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 113
diff changeset
797 /**
19b86e27d0c3 New XPath constants and methods that retrieve important nodes of the DESCRIBE document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 113
diff changeset
798 * 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
799 *
19b86e27d0c3 New XPath constants and methods that retrieve important nodes of the DESCRIBE document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 113
diff changeset
800 * @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
801 *
19b86e27d0c3 New XPath constants and methods that retrieve important nodes of the DESCRIBE document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 113
diff changeset
802 * @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
803 */
19b86e27d0c3 New XPath constants and methods that retrieve important nodes of the DESCRIBE document.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 113
diff changeset
804 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
805 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
806 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
807 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
808 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
809 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
810 }
113
0344a20f8a93 Added the ArtifactNamespaceContext and a ClientProtocolUtils that helps working with the artifact protocol.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
811 }
0344a20f8a93 Added the ArtifactNamespaceContext and a ClientProtocolUtils that helps working with the artifact protocol.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
812 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :

http://dive4elements.wald.intevation.org