annotate artifact-database/src/main/java/de/intevation/artifactdatabase/DefaultArtifactCollection.java @ 269:d9a99b28a847

Added support for the 'type' parameter of artifacts and collections out() call. artifacts/trunk@2030 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Ingo Weinzierl <ingo.weinzierl@intevation.de>
date Tue, 31 May 2011 14:53:36 +0000
parents f75f83af19e0
children 942a54670a72
rev   line source
119
3bb121d5b0b7 Added a default implementation of an ArtifactCollection and a User.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
1 /*
3bb121d5b0b7 Added a default implementation of an ArtifactCollection and a User.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
2 * Copyright (c) 2011 by Intevation GmbH
3bb121d5b0b7 Added a default implementation of an ArtifactCollection and a User.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
3 *
3bb121d5b0b7 Added a default implementation of an ArtifactCollection and a User.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
4 * This program is free software under the LGPL (>=v2.1)
3bb121d5b0b7 Added a default implementation of an ArtifactCollection and a User.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
5 * Read the file LGPL.txt coming with the software for details
3bb121d5b0b7 Added a default implementation of an ArtifactCollection and a User.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
6 * or visit http://www.gnu.org/licenses/ if it does not exist.
3bb121d5b0b7 Added a default implementation of an ArtifactCollection and a User.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
7 */
3bb121d5b0b7 Added a default implementation of an ArtifactCollection and a User.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
8 package de.intevation.artifactdatabase;
3bb121d5b0b7 Added a default implementation of an ArtifactCollection and a User.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
9
3bb121d5b0b7 Added a default implementation of an ArtifactCollection and a User.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
10 import java.io.IOException;
3bb121d5b0b7 Added a default implementation of an ArtifactCollection and a User.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
11 import java.io.OutputStream;
207
b2115f484edb Move Config and XMLUtils totally to commons package.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 170
diff changeset
12
119
3bb121d5b0b7 Added a default implementation of an ArtifactCollection and a User.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
13 import java.util.ArrayList;
3bb121d5b0b7 Added a default implementation of an ArtifactCollection and a User.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
14 import java.util.Date;
3bb121d5b0b7 Added a default implementation of an ArtifactCollection and a User.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
15 import java.util.HashMap;
3bb121d5b0b7 Added a default implementation of an ArtifactCollection and a User.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
16 import java.util.List;
3bb121d5b0b7 Added a default implementation of an ArtifactCollection and a User.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
17 import java.util.Map;
3bb121d5b0b7 Added a default implementation of an ArtifactCollection and a User.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
18
3bb121d5b0b7 Added a default implementation of an ArtifactCollection and a User.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
19 import org.apache.log4j.Logger;
3bb121d5b0b7 Added a default implementation of an ArtifactCollection and a User.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
20
3bb121d5b0b7 Added a default implementation of an ArtifactCollection and a User.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
21 import org.w3c.dom.Document;
3bb121d5b0b7 Added a default implementation of an ArtifactCollection and a User.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
22
3bb121d5b0b7 Added a default implementation of an ArtifactCollection and a User.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
23 import de.intevation.artifacts.Artifact;
3bb121d5b0b7 Added a default implementation of an ArtifactCollection and a User.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
24 import de.intevation.artifacts.ArtifactCollection;
3bb121d5b0b7 Added a default implementation of an ArtifactCollection and a User.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
25 import de.intevation.artifacts.ArtifactCollectionFactory;
3bb121d5b0b7 Added a default implementation of an ArtifactCollection and a User.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
26 import de.intevation.artifacts.CallContext;
3bb121d5b0b7 Added a default implementation of an ArtifactCollection and a User.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
27 import de.intevation.artifacts.User;
3bb121d5b0b7 Added a default implementation of an ArtifactCollection and a User.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
28
218
70cbbe144931 Added a describe() method for ArtifactCollections.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 207
diff changeset
29 import de.intevation.artifacts.common.utils.XMLUtils;
70cbbe144931 Added a describe() method for ArtifactCollections.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 207
diff changeset
30
119
3bb121d5b0b7 Added a default implementation of an ArtifactCollection and a User.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
31
3bb121d5b0b7 Added a default implementation of an ArtifactCollection and a User.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
32 /**
3bb121d5b0b7 Added a default implementation of an ArtifactCollection and a User.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
33 * Trivial implementation of an artifact collection. Useful to be subclassed.
3bb121d5b0b7 Added a default implementation of an ArtifactCollection and a User.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
34 * @author <a href="mailto:ingo.weinzierl@intevation.de">Ingo Weinzierl</a>
3bb121d5b0b7 Added a default implementation of an ArtifactCollection and a User.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
35 */
3bb121d5b0b7 Added a default implementation of an ArtifactCollection and a User.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
36 public class DefaultArtifactCollection
3bb121d5b0b7 Added a default implementation of an ArtifactCollection and a User.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
37 implements ArtifactCollection
3bb121d5b0b7 Added a default implementation of an ArtifactCollection and a User.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
38 {
3bb121d5b0b7 Added a default implementation of an ArtifactCollection and a User.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
39 /** The logger used in this class.*/
3bb121d5b0b7 Added a default implementation of an ArtifactCollection and a User.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
40 private static Logger logger =
3bb121d5b0b7 Added a default implementation of an ArtifactCollection and a User.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
41 Logger.getLogger(DefaultArtifactCollection.class);
3bb121d5b0b7 Added a default implementation of an ArtifactCollection and a User.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
42
3bb121d5b0b7 Added a default implementation of an ArtifactCollection and a User.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
43 /**
3bb121d5b0b7 Added a default implementation of an ArtifactCollection and a User.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
44 * The identifier of the collection.
3bb121d5b0b7 Added a default implementation of an ArtifactCollection and a User.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
45 */
3bb121d5b0b7 Added a default implementation of an ArtifactCollection and a User.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
46 protected String identifier;
3bb121d5b0b7 Added a default implementation of an ArtifactCollection and a User.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
47
3bb121d5b0b7 Added a default implementation of an ArtifactCollection and a User.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
48 /**
159
db0d20440b92 Added code to create collections.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 119
diff changeset
49 * The identifier of the collection.
db0d20440b92 Added code to create collections.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 119
diff changeset
50 */
db0d20440b92 Added code to create collections.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 119
diff changeset
51 protected String name;
db0d20440b92 Added code to create collections.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 119
diff changeset
52
db0d20440b92 Added code to create collections.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 119
diff changeset
53 /**
119
3bb121d5b0b7 Added a default implementation of an ArtifactCollection and a User.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
54 * The owner of this collection.
3bb121d5b0b7 Added a default implementation of an ArtifactCollection and a User.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
55 */
3bb121d5b0b7 Added a default implementation of an ArtifactCollection and a User.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
56 protected User user;
3bb121d5b0b7 Added a default implementation of an ArtifactCollection and a User.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
57
3bb121d5b0b7 Added a default implementation of an ArtifactCollection and a User.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
58 /**
221
f75f83af19e0 Made the 'attribute' document of an ArtifactCollection accessible with getter and setter methods.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 218
diff changeset
59 * The attribute of this collection.
f75f83af19e0 Made the 'attribute' document of an ArtifactCollection accessible with getter and setter methods.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 218
diff changeset
60 */
f75f83af19e0 Made the 'attribute' document of an ArtifactCollection accessible with getter and setter methods.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 218
diff changeset
61 protected Document attribute;
f75f83af19e0 Made the 'attribute' document of an ArtifactCollection accessible with getter and setter methods.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 218
diff changeset
62
f75f83af19e0 Made the 'attribute' document of an ArtifactCollection accessible with getter and setter methods.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 218
diff changeset
63 /**
119
3bb121d5b0b7 Added a default implementation of an ArtifactCollection and a User.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
64 * The artifacts stored in this collection.
3bb121d5b0b7 Added a default implementation of an ArtifactCollection and a User.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
65 */
3bb121d5b0b7 Added a default implementation of an ArtifactCollection and a User.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
66 protected List<Artifact> artifacts;
3bb121d5b0b7 Added a default implementation of an ArtifactCollection and a User.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
67
3bb121d5b0b7 Added a default implementation of an ArtifactCollection and a User.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
68 /**
3bb121d5b0b7 Added a default implementation of an ArtifactCollection and a User.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
69 * The attributes used for the artifacts stored in this collection. The key
3bb121d5b0b7 Added a default implementation of an ArtifactCollection and a User.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
70 * of this map represents the identifier of the artifact which the attribute
3bb121d5b0b7 Added a default implementation of an ArtifactCollection and a User.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
71 * belong to.
3bb121d5b0b7 Added a default implementation of an ArtifactCollection and a User.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
72 */
3bb121d5b0b7 Added a default implementation of an ArtifactCollection and a User.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
73 protected Map<String, Document> attributes;
3bb121d5b0b7 Added a default implementation of an ArtifactCollection and a User.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
74
3bb121d5b0b7 Added a default implementation of an ArtifactCollection and a User.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
75 /** The creation time of this collection.*/
3bb121d5b0b7 Added a default implementation of an ArtifactCollection and a User.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
76 protected Date creationTime;
3bb121d5b0b7 Added a default implementation of an ArtifactCollection and a User.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
77
3bb121d5b0b7 Added a default implementation of an ArtifactCollection and a User.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
78
3bb121d5b0b7 Added a default implementation of an ArtifactCollection and a User.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
79 /**
3bb121d5b0b7 Added a default implementation of an ArtifactCollection and a User.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
80 * Default constructor.
3bb121d5b0b7 Added a default implementation of an ArtifactCollection and a User.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
81 */
3bb121d5b0b7 Added a default implementation of an ArtifactCollection and a User.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
82 public DefaultArtifactCollection() {
3bb121d5b0b7 Added a default implementation of an ArtifactCollection and a User.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
83 }
3bb121d5b0b7 Added a default implementation of an ArtifactCollection and a User.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
84
3bb121d5b0b7 Added a default implementation of an ArtifactCollection and a User.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
85
3bb121d5b0b7 Added a default implementation of an ArtifactCollection and a User.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
86 /**
3bb121d5b0b7 Added a default implementation of an ArtifactCollection and a User.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
87 * When created by a factory this method is called to
3bb121d5b0b7 Added a default implementation of an ArtifactCollection and a User.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
88 * initialize the collection.
3bb121d5b0b7 Added a default implementation of an ArtifactCollection and a User.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
89 * @param identifier The identifier from collection database
3bb121d5b0b7 Added a default implementation of an ArtifactCollection and a User.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
90 * @param factory The factory which created this collection.
3bb121d5b0b7 Added a default implementation of an ArtifactCollection and a User.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
91 * @param context The global context of the runtime system.
3bb121d5b0b7 Added a default implementation of an ArtifactCollection and a User.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
92 * @param data The data which can be use to setup a collection with
3bb121d5b0b7 Added a default implementation of an ArtifactCollection and a User.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
93 * more details.
3bb121d5b0b7 Added a default implementation of an ArtifactCollection and a User.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
94 */
3bb121d5b0b7 Added a default implementation of an ArtifactCollection and a User.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
95 public void setup(
3bb121d5b0b7 Added a default implementation of an ArtifactCollection and a User.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
96 String identifier,
170
ac0f8bd97277 Fix parameter propagation of creation time ond collection names.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 159
diff changeset
97 String name,
ac0f8bd97277 Fix parameter propagation of creation time ond collection names.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 159
diff changeset
98 Date creationTime,
119
3bb121d5b0b7 Added a default implementation of an ArtifactCollection and a User.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
99 ArtifactCollectionFactory factory,
3bb121d5b0b7 Added a default implementation of an ArtifactCollection and a User.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
100 Object context,
3bb121d5b0b7 Added a default implementation of an ArtifactCollection and a User.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
101 Document data)
3bb121d5b0b7 Added a default implementation of an ArtifactCollection and a User.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
102 {
3bb121d5b0b7 Added a default implementation of an ArtifactCollection and a User.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
103 logger.debug("DefaultArtifactCollection.setup: " + identifier);
3bb121d5b0b7 Added a default implementation of an ArtifactCollection and a User.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
104
3bb121d5b0b7 Added a default implementation of an ArtifactCollection and a User.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
105 artifacts = new ArrayList<Artifact>();
3bb121d5b0b7 Added a default implementation of an ArtifactCollection and a User.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
106 attributes = new HashMap<String, Document>();
3bb121d5b0b7 Added a default implementation of an ArtifactCollection and a User.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
107
3bb121d5b0b7 Added a default implementation of an ArtifactCollection and a User.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
108 setIdentifier(identifier);
170
ac0f8bd97277 Fix parameter propagation of creation time ond collection names.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 159
diff changeset
109 setName(name);
ac0f8bd97277 Fix parameter propagation of creation time ond collection names.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 159
diff changeset
110 setCreationTime(creationTime);
221
f75f83af19e0 Made the 'attribute' document of an ArtifactCollection accessible with getter and setter methods.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 218
diff changeset
111 setAttribute(data);
119
3bb121d5b0b7 Added a default implementation of an ArtifactCollection and a User.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
112 }
3bb121d5b0b7 Added a default implementation of an ArtifactCollection and a User.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
113
3bb121d5b0b7 Added a default implementation of an ArtifactCollection and a User.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
114
218
70cbbe144931 Added a describe() method for ArtifactCollections.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 207
diff changeset
115 public Document describe(CallContext context) {
70cbbe144931 Added a describe() method for ArtifactCollections.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 207
diff changeset
116 logger.debug("DefaultArtifactCollection.describe: " + identifier);
70cbbe144931 Added a describe() method for ArtifactCollections.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 207
diff changeset
117
70cbbe144931 Added a describe() method for ArtifactCollections.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 207
diff changeset
118 return XMLUtils.newDocument();
70cbbe144931 Added a describe() method for ArtifactCollections.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 207
diff changeset
119 }
70cbbe144931 Added a describe() method for ArtifactCollections.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 207
diff changeset
120
70cbbe144931 Added a describe() method for ArtifactCollections.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 207
diff changeset
121
119
3bb121d5b0b7 Added a default implementation of an ArtifactCollection and a User.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
122 /**
3bb121d5b0b7 Added a default implementation of an ArtifactCollection and a User.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
123 * Set a new identifier for this collection.
3bb121d5b0b7 Added a default implementation of an ArtifactCollection and a User.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
124 * @param identifier New identifier for this collection.
3bb121d5b0b7 Added a default implementation of an ArtifactCollection and a User.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
125 */
3bb121d5b0b7 Added a default implementation of an ArtifactCollection and a User.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
126 public void setIdentifier(String identifier) {
3bb121d5b0b7 Added a default implementation of an ArtifactCollection and a User.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
127 this.identifier = identifier;
3bb121d5b0b7 Added a default implementation of an ArtifactCollection and a User.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
128 }
3bb121d5b0b7 Added a default implementation of an ArtifactCollection and a User.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
129
3bb121d5b0b7 Added a default implementation of an ArtifactCollection and a User.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
130
3bb121d5b0b7 Added a default implementation of an ArtifactCollection and a User.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
131 /**
3bb121d5b0b7 Added a default implementation of an ArtifactCollection and a User.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
132 * Identify this collection.
3bb121d5b0b7 Added a default implementation of an ArtifactCollection and a User.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
133 * @return Returns unique string to identify this collection globally.
3bb121d5b0b7 Added a default implementation of an ArtifactCollection and a User.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
134 */
3bb121d5b0b7 Added a default implementation of an ArtifactCollection and a User.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
135 public String identifier() {
3bb121d5b0b7 Added a default implementation of an ArtifactCollection and a User.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
136 return identifier;
3bb121d5b0b7 Added a default implementation of an ArtifactCollection and a User.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
137 }
3bb121d5b0b7 Added a default implementation of an ArtifactCollection and a User.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
138
3bb121d5b0b7 Added a default implementation of an ArtifactCollection and a User.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
139
3bb121d5b0b7 Added a default implementation of an ArtifactCollection and a User.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
140 /**
159
db0d20440b92 Added code to create collections.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 119
diff changeset
141 * Name of this collection.
db0d20440b92 Added code to create collections.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 119
diff changeset
142 * @return Returns the name of this collection
db0d20440b92 Added code to create collections.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 119
diff changeset
143 */
db0d20440b92 Added code to create collections.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 119
diff changeset
144 public String getName() {
db0d20440b92 Added code to create collections.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 119
diff changeset
145 return name;
db0d20440b92 Added code to create collections.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 119
diff changeset
146 }
db0d20440b92 Added code to create collections.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 119
diff changeset
147
db0d20440b92 Added code to create collections.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 119
diff changeset
148 /**
db0d20440b92 Added code to create collections.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 119
diff changeset
149 * Name of this collection.
db0d20440b92 Added code to create collections.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 119
diff changeset
150 * @return Returns the name of this collection
db0d20440b92 Added code to create collections.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 119
diff changeset
151 */
db0d20440b92 Added code to create collections.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 119
diff changeset
152 public void setName(String name) {
db0d20440b92 Added code to create collections.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 119
diff changeset
153 this.name = name;
db0d20440b92 Added code to create collections.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 119
diff changeset
154 }
db0d20440b92 Added code to create collections.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 119
diff changeset
155
db0d20440b92 Added code to create collections.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 119
diff changeset
156
db0d20440b92 Added code to create collections.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 119
diff changeset
157 /**
119
3bb121d5b0b7 Added a default implementation of an ArtifactCollection and a User.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
158 * Set a new owner of this collection.
3bb121d5b0b7 Added a default implementation of an ArtifactCollection and a User.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
159 * @param user New owner for this collection.
3bb121d5b0b7 Added a default implementation of an ArtifactCollection and a User.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
160 */
3bb121d5b0b7 Added a default implementation of an ArtifactCollection and a User.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
161 public void setUser(User user) {
3bb121d5b0b7 Added a default implementation of an ArtifactCollection and a User.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
162 this.user = user;
3bb121d5b0b7 Added a default implementation of an ArtifactCollection and a User.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
163 }
3bb121d5b0b7 Added a default implementation of an ArtifactCollection and a User.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
164
3bb121d5b0b7 Added a default implementation of an ArtifactCollection and a User.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
165
3bb121d5b0b7 Added a default implementation of an ArtifactCollection and a User.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
166 /**
3bb121d5b0b7 Added a default implementation of an ArtifactCollection and a User.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
167 * Identify the owner of the collection.
3bb121d5b0b7 Added a default implementation of an ArtifactCollection and a User.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
168 * @return Returns owner of the collection.
3bb121d5b0b7 Added a default implementation of an ArtifactCollection and a User.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
169 */
3bb121d5b0b7 Added a default implementation of an ArtifactCollection and a User.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
170 public User getUser() {
3bb121d5b0b7 Added a default implementation of an ArtifactCollection and a User.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
171 return user;
3bb121d5b0b7 Added a default implementation of an ArtifactCollection and a User.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
172 }
3bb121d5b0b7 Added a default implementation of an ArtifactCollection and a User.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
173
3bb121d5b0b7 Added a default implementation of an ArtifactCollection and a User.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
174
3bb121d5b0b7 Added a default implementation of an ArtifactCollection and a User.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
175 /**
3bb121d5b0b7 Added a default implementation of an ArtifactCollection and a User.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
176 * Returns the creation time of the collection.
3bb121d5b0b7 Added a default implementation of an ArtifactCollection and a User.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
177 *
3bb121d5b0b7 Added a default implementation of an ArtifactCollection and a User.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
178 * @return the creation time of the collection.
3bb121d5b0b7 Added a default implementation of an ArtifactCollection and a User.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
179 */
3bb121d5b0b7 Added a default implementation of an ArtifactCollection and a User.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
180 public Date getCreationTime() {
3bb121d5b0b7 Added a default implementation of an ArtifactCollection and a User.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
181 return creationTime;
3bb121d5b0b7 Added a default implementation of an ArtifactCollection and a User.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
182 }
3bb121d5b0b7 Added a default implementation of an ArtifactCollection and a User.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
183
3bb121d5b0b7 Added a default implementation of an ArtifactCollection and a User.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
184
3bb121d5b0b7 Added a default implementation of an ArtifactCollection and a User.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
185 /**
3bb121d5b0b7 Added a default implementation of an ArtifactCollection and a User.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
186 * Sets the creation time of the collection.
3bb121d5b0b7 Added a default implementation of an ArtifactCollection and a User.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
187 *
3bb121d5b0b7 Added a default implementation of an ArtifactCollection and a User.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
188 * @param creationTime The new creation time.
3bb121d5b0b7 Added a default implementation of an ArtifactCollection and a User.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
189 */
3bb121d5b0b7 Added a default implementation of an ArtifactCollection and a User.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
190 public void setCreationTime(Date creationTime) {
3bb121d5b0b7 Added a default implementation of an ArtifactCollection and a User.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
191 this.creationTime = creationTime;
3bb121d5b0b7 Added a default implementation of an ArtifactCollection and a User.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
192 }
3bb121d5b0b7 Added a default implementation of an ArtifactCollection and a User.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
193
3bb121d5b0b7 Added a default implementation of an ArtifactCollection and a User.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
194
3bb121d5b0b7 Added a default implementation of an ArtifactCollection and a User.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
195 /**
221
f75f83af19e0 Made the 'attribute' document of an ArtifactCollection accessible with getter and setter methods.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 218
diff changeset
196 * Returns the attribute of the collection.
f75f83af19e0 Made the 'attribute' document of an ArtifactCollection accessible with getter and setter methods.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 218
diff changeset
197 *
f75f83af19e0 Made the 'attribute' document of an ArtifactCollection accessible with getter and setter methods.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 218
diff changeset
198 * @return the attribute of the collection.
f75f83af19e0 Made the 'attribute' document of an ArtifactCollection accessible with getter and setter methods.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 218
diff changeset
199 */
f75f83af19e0 Made the 'attribute' document of an ArtifactCollection accessible with getter and setter methods.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 218
diff changeset
200 public Document getAttribute() {
f75f83af19e0 Made the 'attribute' document of an ArtifactCollection accessible with getter and setter methods.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 218
diff changeset
201 return attribute;
f75f83af19e0 Made the 'attribute' document of an ArtifactCollection accessible with getter and setter methods.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 218
diff changeset
202 }
f75f83af19e0 Made the 'attribute' document of an ArtifactCollection accessible with getter and setter methods.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 218
diff changeset
203
f75f83af19e0 Made the 'attribute' document of an ArtifactCollection accessible with getter and setter methods.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 218
diff changeset
204
f75f83af19e0 Made the 'attribute' document of an ArtifactCollection accessible with getter and setter methods.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 218
diff changeset
205 /**
f75f83af19e0 Made the 'attribute' document of an ArtifactCollection accessible with getter and setter methods.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 218
diff changeset
206 * Sets the attribute of the collection.
f75f83af19e0 Made the 'attribute' document of an ArtifactCollection accessible with getter and setter methods.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 218
diff changeset
207 *
f75f83af19e0 Made the 'attribute' document of an ArtifactCollection accessible with getter and setter methods.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 218
diff changeset
208 * @param attribute The attribute of this collection.
f75f83af19e0 Made the 'attribute' document of an ArtifactCollection accessible with getter and setter methods.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 218
diff changeset
209 */
f75f83af19e0 Made the 'attribute' document of an ArtifactCollection accessible with getter and setter methods.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 218
diff changeset
210 public void setAttribute(Document attribute) {
f75f83af19e0 Made the 'attribute' document of an ArtifactCollection accessible with getter and setter methods.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 218
diff changeset
211 this.attribute = attribute;
f75f83af19e0 Made the 'attribute' document of an ArtifactCollection accessible with getter and setter methods.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 218
diff changeset
212 }
f75f83af19e0 Made the 'attribute' document of an ArtifactCollection accessible with getter and setter methods.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 218
diff changeset
213
f75f83af19e0 Made the 'attribute' document of an ArtifactCollection accessible with getter and setter methods.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 218
diff changeset
214
f75f83af19e0 Made the 'attribute' document of an ArtifactCollection accessible with getter and setter methods.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 218
diff changeset
215 /**
119
3bb121d5b0b7 Added a default implementation of an ArtifactCollection and a User.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
216 * Called from artifact database when an artifact is
3bb121d5b0b7 Added a default implementation of an ArtifactCollection and a User.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
217 * going to be removed from system.
3bb121d5b0b7 Added a default implementation of an ArtifactCollection and a User.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
218 * @param context The global context of the runtime system.
3bb121d5b0b7 Added a default implementation of an ArtifactCollection and a User.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
219 */
3bb121d5b0b7 Added a default implementation of an ArtifactCollection and a User.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
220 public void endOfLife(Object context) {
3bb121d5b0b7 Added a default implementation of an ArtifactCollection and a User.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
221 logger.debug("DefaultArtifactCollection.endOfLife");
3bb121d5b0b7 Added a default implementation of an ArtifactCollection and a User.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
222 }
3bb121d5b0b7 Added a default implementation of an ArtifactCollection and a User.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
223
3bb121d5b0b7 Added a default implementation of an ArtifactCollection and a User.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
224
3bb121d5b0b7 Added a default implementation of an ArtifactCollection and a User.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
225 /**
3bb121d5b0b7 Added a default implementation of an ArtifactCollection and a User.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
226 * Internal hash of this collection.
3bb121d5b0b7 Added a default implementation of an ArtifactCollection and a User.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
227 * @return Returns hash that should stay the same if the internal
3bb121d5b0b7 Added a default implementation of an ArtifactCollection and a User.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
228 * value has not changed. Useful for caching
3bb121d5b0b7 Added a default implementation of an ArtifactCollection and a User.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
229 */
3bb121d5b0b7 Added a default implementation of an ArtifactCollection and a User.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
230 public String hash() {
3bb121d5b0b7 Added a default implementation of an ArtifactCollection and a User.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
231 logger.debug("DefaultArtifactCollection.hash");
3bb121d5b0b7 Added a default implementation of an ArtifactCollection and a User.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
232
3bb121d5b0b7 Added a default implementation of an ArtifactCollection and a User.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
233 return String.valueOf(hashCode());
3bb121d5b0b7 Added a default implementation of an ArtifactCollection and a User.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
234 }
3bb121d5b0b7 Added a default implementation of an ArtifactCollection and a User.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
235
3bb121d5b0b7 Added a default implementation of an ArtifactCollection and a User.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
236
3bb121d5b0b7 Added a default implementation of an ArtifactCollection and a User.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
237 /**
3bb121d5b0b7 Added a default implementation of an ArtifactCollection and a User.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
238 * Called from artifact database before an artifact is
3bb121d5b0b7 Added a default implementation of an ArtifactCollection and a User.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
239 * going to be exported as xml document.
3bb121d5b0b7 Added a default implementation of an ArtifactCollection and a User.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
240 * @param context The global context of the runtime system.
3bb121d5b0b7 Added a default implementation of an ArtifactCollection and a User.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
241 */
3bb121d5b0b7 Added a default implementation of an ArtifactCollection and a User.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
242 public void cleanup(Object context) {
3bb121d5b0b7 Added a default implementation of an ArtifactCollection and a User.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
243 logger.debug("DefaultArtifactCollection.cleanup");
3bb121d5b0b7 Added a default implementation of an ArtifactCollection and a User.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
244 }
3bb121d5b0b7 Added a default implementation of an ArtifactCollection and a User.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
245
3bb121d5b0b7 Added a default implementation of an ArtifactCollection and a User.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
246
3bb121d5b0b7 Added a default implementation of an ArtifactCollection and a User.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
247 /**
3bb121d5b0b7 Added a default implementation of an ArtifactCollection and a User.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
248 * Adds a new artifact to this collection.
3bb121d5b0b7 Added a default implementation of an ArtifactCollection and a User.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
249 *
3bb121d5b0b7 Added a default implementation of an ArtifactCollection and a User.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
250 * @param artifact The new artifact.
3bb121d5b0b7 Added a default implementation of an ArtifactCollection and a User.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
251 * @param attribute The attributes used for this artifact.
3bb121d5b0b7 Added a default implementation of an ArtifactCollection and a User.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
252 * @param context The CallContext.
3bb121d5b0b7 Added a default implementation of an ArtifactCollection and a User.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
253 */
3bb121d5b0b7 Added a default implementation of an ArtifactCollection and a User.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
254 public void addArtifact(
3bb121d5b0b7 Added a default implementation of an ArtifactCollection and a User.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
255 Artifact artifact,
3bb121d5b0b7 Added a default implementation of an ArtifactCollection and a User.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
256 Document attribute,
3bb121d5b0b7 Added a default implementation of an ArtifactCollection and a User.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
257 CallContext context)
3bb121d5b0b7 Added a default implementation of an ArtifactCollection and a User.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
258 {
3bb121d5b0b7 Added a default implementation of an ArtifactCollection and a User.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
259 logger.debug("DefaultArtifactCollection.addArtifact");
3bb121d5b0b7 Added a default implementation of an ArtifactCollection and a User.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
260
3bb121d5b0b7 Added a default implementation of an ArtifactCollection and a User.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
261 artifacts.add(artifact);
3bb121d5b0b7 Added a default implementation of an ArtifactCollection and a User.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
262 attributes.put(artifact.identifier(), attribute);
3bb121d5b0b7 Added a default implementation of an ArtifactCollection and a User.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
263 }
3bb121d5b0b7 Added a default implementation of an ArtifactCollection and a User.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
264
3bb121d5b0b7 Added a default implementation of an ArtifactCollection and a User.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
265
3bb121d5b0b7 Added a default implementation of an ArtifactCollection and a User.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
266 /**
3bb121d5b0b7 Added a default implementation of an ArtifactCollection and a User.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
267 * Removes the given artifact from this collection.
3bb121d5b0b7 Added a default implementation of an ArtifactCollection and a User.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
268 *
3bb121d5b0b7 Added a default implementation of an ArtifactCollection and a User.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
269 * @param artifact The artifact that should be removed.
3bb121d5b0b7 Added a default implementation of an ArtifactCollection and a User.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
270 * @param context The CallContext.
3bb121d5b0b7 Added a default implementation of an ArtifactCollection and a User.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
271 */
3bb121d5b0b7 Added a default implementation of an ArtifactCollection and a User.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
272 public void removeArtifact(Artifact artifact, CallContext context) {
3bb121d5b0b7 Added a default implementation of an ArtifactCollection and a User.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
273 logger.debug("DefaultArtifactCollection.removeArtifact");
3bb121d5b0b7 Added a default implementation of an ArtifactCollection and a User.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
274
3bb121d5b0b7 Added a default implementation of an ArtifactCollection and a User.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
275 if (artifact == null) {
3bb121d5b0b7 Added a default implementation of an ArtifactCollection and a User.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
276 return;
3bb121d5b0b7 Added a default implementation of an ArtifactCollection and a User.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
277 }
3bb121d5b0b7 Added a default implementation of an ArtifactCollection and a User.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
278
3bb121d5b0b7 Added a default implementation of an ArtifactCollection and a User.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
279 artifacts.remove(artifact);
3bb121d5b0b7 Added a default implementation of an ArtifactCollection and a User.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
280 attributes.remove(artifact.identifier());
3bb121d5b0b7 Added a default implementation of an ArtifactCollection and a User.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
281 }
3bb121d5b0b7 Added a default implementation of an ArtifactCollection and a User.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
282
3bb121d5b0b7 Added a default implementation of an ArtifactCollection and a User.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
283
3bb121d5b0b7 Added a default implementation of an ArtifactCollection and a User.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
284 /**
3bb121d5b0b7 Added a default implementation of an ArtifactCollection and a User.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
285 * Returns a list of artifacts that are stored in this collection.
3bb121d5b0b7 Added a default implementation of an ArtifactCollection and a User.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
286 *
3bb121d5b0b7 Added a default implementation of an ArtifactCollection and a User.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
287 * @param context The CallContext.
3bb121d5b0b7 Added a default implementation of an ArtifactCollection and a User.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
288 *
3bb121d5b0b7 Added a default implementation of an ArtifactCollection and a User.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
289 * @return the list of artifacts stored in this collection.
3bb121d5b0b7 Added a default implementation of an ArtifactCollection and a User.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
290 */
3bb121d5b0b7 Added a default implementation of an ArtifactCollection and a User.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
291 public Artifact[] getArtifacts(CallContext context) {
3bb121d5b0b7 Added a default implementation of an ArtifactCollection and a User.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
292 logger.debug("DefaultArtifactCollection.getArtifacts");
3bb121d5b0b7 Added a default implementation of an ArtifactCollection and a User.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
293
3bb121d5b0b7 Added a default implementation of an ArtifactCollection and a User.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
294 return (Artifact[]) artifacts.toArray();
3bb121d5b0b7 Added a default implementation of an ArtifactCollection and a User.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
295 }
3bb121d5b0b7 Added a default implementation of an ArtifactCollection and a User.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
296
3bb121d5b0b7 Added a default implementation of an ArtifactCollection and a User.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
297
3bb121d5b0b7 Added a default implementation of an ArtifactCollection and a User.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
298 /**
3bb121d5b0b7 Added a default implementation of an ArtifactCollection and a User.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
299 * Returns the attribute document for the given artifact.
3bb121d5b0b7 Added a default implementation of an ArtifactCollection and a User.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
300 *
3bb121d5b0b7 Added a default implementation of an ArtifactCollection and a User.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
301 * @param artifact The artifact.
3bb121d5b0b7 Added a default implementation of an ArtifactCollection and a User.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
302 * @param context The CallContext.
3bb121d5b0b7 Added a default implementation of an ArtifactCollection and a User.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
303 *
3bb121d5b0b7 Added a default implementation of an ArtifactCollection and a User.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
304 * @return a document that contains the attributes of the artifact.
3bb121d5b0b7 Added a default implementation of an ArtifactCollection and a User.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
305 */
3bb121d5b0b7 Added a default implementation of an ArtifactCollection and a User.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
306 public Document getAttribute(Artifact artifact, CallContext context) {
3bb121d5b0b7 Added a default implementation of an ArtifactCollection and a User.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
307 logger.debug("DefaultArtifactCollection.getAttribute");
3bb121d5b0b7 Added a default implementation of an ArtifactCollection and a User.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
308
3bb121d5b0b7 Added a default implementation of an ArtifactCollection and a User.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
309 return attributes.get(artifact.identifier());
3bb121d5b0b7 Added a default implementation of an ArtifactCollection and a User.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
310 }
3bb121d5b0b7 Added a default implementation of an ArtifactCollection and a User.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
311
3bb121d5b0b7 Added a default implementation of an ArtifactCollection and a User.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
312
3bb121d5b0b7 Added a default implementation of an ArtifactCollection and a User.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
313 /**
3bb121d5b0b7 Added a default implementation of an ArtifactCollection and a User.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
314 * Set the attribute for the given artifact.
3bb121d5b0b7 Added a default implementation of an ArtifactCollection and a User.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
315 *
3bb121d5b0b7 Added a default implementation of an ArtifactCollection and a User.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
316 * @param artifact The artifact of the attribute.
3bb121d5b0b7 Added a default implementation of an ArtifactCollection and a User.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
317 * @param document The new attribute of the artifact.
3bb121d5b0b7 Added a default implementation of an ArtifactCollection and a User.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
318 * @param context The CallContext.
3bb121d5b0b7 Added a default implementation of an ArtifactCollection and a User.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
319 */
3bb121d5b0b7 Added a default implementation of an ArtifactCollection and a User.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
320 public void setAttribute(
3bb121d5b0b7 Added a default implementation of an ArtifactCollection and a User.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
321 Artifact artifact,
3bb121d5b0b7 Added a default implementation of an ArtifactCollection and a User.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
322 Document document,
3bb121d5b0b7 Added a default implementation of an ArtifactCollection and a User.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
323 CallContext context)
3bb121d5b0b7 Added a default implementation of an ArtifactCollection and a User.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
324 {
3bb121d5b0b7 Added a default implementation of an ArtifactCollection and a User.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
325 logger.debug("DefaultArtifactCollection.setAttribute");
3bb121d5b0b7 Added a default implementation of an ArtifactCollection and a User.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
326
3bb121d5b0b7 Added a default implementation of an ArtifactCollection and a User.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
327 attributes.put(artifact.identifier(), document);
3bb121d5b0b7 Added a default implementation of an ArtifactCollection and a User.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
328 }
3bb121d5b0b7 Added a default implementation of an ArtifactCollection and a User.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
329
3bb121d5b0b7 Added a default implementation of an ArtifactCollection and a User.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
330
3bb121d5b0b7 Added a default implementation of an ArtifactCollection and a User.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
331 /**
3bb121d5b0b7 Added a default implementation of an ArtifactCollection and a User.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
332 * Produce output for this collection.
269
d9a99b28a847 Added support for the 'type' parameter of artifacts and collections out() call.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 221
diff changeset
333 * @param type Specifies the output type.
119
3bb121d5b0b7 Added a default implementation of an ArtifactCollection and a User.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
334 * @param format Specifies the format of the output.
3bb121d5b0b7 Added a default implementation of an ArtifactCollection and a User.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
335 * @param out Stream to write the result data to.
3bb121d5b0b7 Added a default implementation of an ArtifactCollection and a User.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
336 * @param context The global context of the runtime system.
3bb121d5b0b7 Added a default implementation of an ArtifactCollection and a User.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
337 * @throws IOException Thrown if an I/O occurs.
3bb121d5b0b7 Added a default implementation of an ArtifactCollection and a User.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
338 */
269
d9a99b28a847 Added support for the 'type' parameter of artifacts and collections out() call.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 221
diff changeset
339 public void out(
d9a99b28a847 Added support for the 'type' parameter of artifacts and collections out() call.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 221
diff changeset
340 String type,
d9a99b28a847 Added support for the 'type' parameter of artifacts and collections out() call.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 221
diff changeset
341 Document format,
d9a99b28a847 Added support for the 'type' parameter of artifacts and collections out() call.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 221
diff changeset
342 OutputStream out,
d9a99b28a847 Added support for the 'type' parameter of artifacts and collections out() call.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 221
diff changeset
343 CallContext context)
119
3bb121d5b0b7 Added a default implementation of an ArtifactCollection and a User.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
344 throws IOException
3bb121d5b0b7 Added a default implementation of an ArtifactCollection and a User.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
345 {
3bb121d5b0b7 Added a default implementation of an ArtifactCollection and a User.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
346 logger.debug("DefaultArtifactCollection.out");
3bb121d5b0b7 Added a default implementation of an ArtifactCollection and a User.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
347 }
3bb121d5b0b7 Added a default implementation of an ArtifactCollection and a User.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
348 }
3bb121d5b0b7 Added a default implementation of an ArtifactCollection and a User.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
349 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :

http://dive4elements.wald.intevation.org