annotate flys-client/src/main/java/de/intevation/flys/client/shared/model/DefaultArtifactDescription.java @ 807:6f65e70fa11d

Repaired broken recommendation parsing from Artifact's DESCRIBE document (which structure has changed). flys-client/trunk@2391 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Ingo Weinzierl <ingo.weinzierl@intevation.de>
date Thu, 21 Jul 2011 15:23:03 +0000
parents 653ae84533e7
children af6ad7522351
rev   line source
12
fa0aad20af53 Adjusted interfaces used for the ArtifactDescription and added default implementations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
1 package de.intevation.flys.client.shared.model;
fa0aad20af53 Adjusted interfaces used for the ArtifactDescription and added default implementations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
2
fa0aad20af53 Adjusted interfaces used for the ArtifactDescription and added default implementations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
3
fa0aad20af53 Adjusted interfaces used for the ArtifactDescription and added default implementations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
4 /**
fa0aad20af53 Adjusted interfaces used for the ArtifactDescription and added default implementations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
5 * The default implementation of an {@link ArtifactDescription}. This class just
fa0aad20af53 Adjusted interfaces used for the ArtifactDescription and added default implementations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
6 * implements constructors to create new instances and the necessary methods of
fa0aad20af53 Adjusted interfaces used for the ArtifactDescription and added default implementations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
7 * the interface.
fa0aad20af53 Adjusted interfaces used for the ArtifactDescription and added default implementations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
8 *
fa0aad20af53 Adjusted interfaces used for the ArtifactDescription and added default implementations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
9 * @author <a href="mailto:ingo.weinzierl@intevation.de">Ingo Weinzierl</a>
fa0aad20af53 Adjusted interfaces used for the ArtifactDescription and added default implementations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
10 */
fa0aad20af53 Adjusted interfaces used for the ArtifactDescription and added default implementations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
11 public class DefaultArtifactDescription implements ArtifactDescription {
fa0aad20af53 Adjusted interfaces used for the ArtifactDescription and added default implementations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
12
fa0aad20af53 Adjusted interfaces used for the ArtifactDescription and added default implementations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
13 /** Data that have been inserted in former states.*/
51
a2923d63f530 Introduced a data structure DataList to manage to list of Data objects of a single state.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 12
diff changeset
14 protected DataList[] oldData;
12
fa0aad20af53 Adjusted interfaces used for the ArtifactDescription and added default implementations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
15
fa0aad20af53 Adjusted interfaces used for the ArtifactDescription and added default implementations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
16 /** The Data that is allowed to be inserted in the current state.*/
51
a2923d63f530 Introduced a data structure DataList to manage to list of Data objects of a single state.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 12
diff changeset
17 protected DataList currentData;
12
fa0aad20af53 Adjusted interfaces used for the ArtifactDescription and added default implementations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
18
fa0aad20af53 Adjusted interfaces used for the ArtifactDescription and added default implementations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
19 /** The current state name.*/
fa0aad20af53 Adjusted interfaces used for the ArtifactDescription and added default implementations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
20 protected String currentState;
fa0aad20af53 Adjusted interfaces used for the ArtifactDescription and added default implementations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
21
fa0aad20af53 Adjusted interfaces used for the ArtifactDescription and added default implementations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
22 /** The names of reachable states.*/
fa0aad20af53 Adjusted interfaces used for the ArtifactDescription and added default implementations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
23 protected String[] reachableStates;
fa0aad20af53 Adjusted interfaces used for the ArtifactDescription and added default implementations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
24
64
3d646d3e8e27 Enhanced the ArtifactDescription and its default implementation to provide output modes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 51
diff changeset
25 /** The output modes of this state.*/
3d646d3e8e27 Enhanced the ArtifactDescription and its default implementation to provide output modes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 51
diff changeset
26 protected OutputMode[] outputModes;
3d646d3e8e27 Enhanced the ArtifactDescription and its default implementation to provide output modes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 51
diff changeset
27
807
6f65e70fa11d Repaired broken recommendation parsing from Artifact's DESCRIBE document (which structure has changed).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 803
diff changeset
28 /** A list of recommendations suggested by the server.*/
6f65e70fa11d Repaired broken recommendation parsing from Artifact's DESCRIBE document (which structure has changed).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 803
diff changeset
29 protected Recommendation[] recommendations;
803
653ae84533e7 Read/create recommended Artifacts and add them to the current Collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 64
diff changeset
30
12
fa0aad20af53 Adjusted interfaces used for the ArtifactDescription and added default implementations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
31
fa0aad20af53 Adjusted interfaces used for the ArtifactDescription and added default implementations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
32 public DefaultArtifactDescription() {
fa0aad20af53 Adjusted interfaces used for the ArtifactDescription and added default implementations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
33 }
fa0aad20af53 Adjusted interfaces used for the ArtifactDescription and added default implementations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
34
fa0aad20af53 Adjusted interfaces used for the ArtifactDescription and added default implementations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
35
fa0aad20af53 Adjusted interfaces used for the ArtifactDescription and added default implementations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
36 /**
fa0aad20af53 Adjusted interfaces used for the ArtifactDescription and added default implementations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
37 * The default constructor.
fa0aad20af53 Adjusted interfaces used for the ArtifactDescription and added default implementations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
38 *
fa0aad20af53 Adjusted interfaces used for the ArtifactDescription and added default implementations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
39 * @param old The data that have been inserted in former states.
fa0aad20af53 Adjusted interfaces used for the ArtifactDescription and added default implementations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
40 * @param current The data that might be inserted in the current state.
fa0aad20af53 Adjusted interfaces used for the ArtifactDescription and added default implementations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
41 * @param state The name of the current state.
fa0aad20af53 Adjusted interfaces used for the ArtifactDescription and added default implementations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
42 * @param reachableStates The names of the reachable states.
fa0aad20af53 Adjusted interfaces used for the ArtifactDescription and added default implementations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
43 */
fa0aad20af53 Adjusted interfaces used for the ArtifactDescription and added default implementations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
44 public DefaultArtifactDescription(
64
3d646d3e8e27 Enhanced the ArtifactDescription and its default implementation to provide output modes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 51
diff changeset
45 DataList[] old,
3d646d3e8e27 Enhanced the ArtifactDescription and its default implementation to provide output modes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 51
diff changeset
46 DataList current,
3d646d3e8e27 Enhanced the ArtifactDescription and its default implementation to provide output modes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 51
diff changeset
47 String state,
3d646d3e8e27 Enhanced the ArtifactDescription and its default implementation to provide output modes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 51
diff changeset
48 String[] reachableStates)
12
fa0aad20af53 Adjusted interfaces used for the ArtifactDescription and added default implementations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
49 {
fa0aad20af53 Adjusted interfaces used for the ArtifactDescription and added default implementations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
50 this.oldData = old;
fa0aad20af53 Adjusted interfaces used for the ArtifactDescription and added default implementations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
51 this.currentData = current;
fa0aad20af53 Adjusted interfaces used for the ArtifactDescription and added default implementations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
52 this.currentState = state;
fa0aad20af53 Adjusted interfaces used for the ArtifactDescription and added default implementations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
53 this.reachableStates = reachableStates;
fa0aad20af53 Adjusted interfaces used for the ArtifactDescription and added default implementations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
54 }
fa0aad20af53 Adjusted interfaces used for the ArtifactDescription and added default implementations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
55
fa0aad20af53 Adjusted interfaces used for the ArtifactDescription and added default implementations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
56
64
3d646d3e8e27 Enhanced the ArtifactDescription and its default implementation to provide output modes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 51
diff changeset
57 /**
3d646d3e8e27 Enhanced the ArtifactDescription and its default implementation to provide output modes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 51
diff changeset
58 * The default constructor.
3d646d3e8e27 Enhanced the ArtifactDescription and its default implementation to provide output modes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 51
diff changeset
59 *
3d646d3e8e27 Enhanced the ArtifactDescription and its default implementation to provide output modes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 51
diff changeset
60 * @param old The data that have been inserted in former states.
3d646d3e8e27 Enhanced the ArtifactDescription and its default implementation to provide output modes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 51
diff changeset
61 * @param current The data that might be inserted in the current state.
3d646d3e8e27 Enhanced the ArtifactDescription and its default implementation to provide output modes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 51
diff changeset
62 * @param state The name of the current state.
3d646d3e8e27 Enhanced the ArtifactDescription and its default implementation to provide output modes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 51
diff changeset
63 * @param reachableStates The names of the reachable states.
3d646d3e8e27 Enhanced the ArtifactDescription and its default implementation to provide output modes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 51
diff changeset
64 * @param outputModes The available output modes of this artifact.
3d646d3e8e27 Enhanced the ArtifactDescription and its default implementation to provide output modes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 51
diff changeset
65 */
3d646d3e8e27 Enhanced the ArtifactDescription and its default implementation to provide output modes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 51
diff changeset
66 public DefaultArtifactDescription(
807
6f65e70fa11d Repaired broken recommendation parsing from Artifact's DESCRIBE document (which structure has changed).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 803
diff changeset
67 DataList[] old,
6f65e70fa11d Repaired broken recommendation parsing from Artifact's DESCRIBE document (which structure has changed).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 803
diff changeset
68 DataList current,
6f65e70fa11d Repaired broken recommendation parsing from Artifact's DESCRIBE document (which structure has changed).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 803
diff changeset
69 String state,
6f65e70fa11d Repaired broken recommendation parsing from Artifact's DESCRIBE document (which structure has changed).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 803
diff changeset
70 String[] reachableStates,
6f65e70fa11d Repaired broken recommendation parsing from Artifact's DESCRIBE document (which structure has changed).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 803
diff changeset
71 OutputMode[] outputModes,
6f65e70fa11d Repaired broken recommendation parsing from Artifact's DESCRIBE document (which structure has changed).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 803
diff changeset
72 Recommendation[] recommendations)
64
3d646d3e8e27 Enhanced the ArtifactDescription and its default implementation to provide output modes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 51
diff changeset
73 {
3d646d3e8e27 Enhanced the ArtifactDescription and its default implementation to provide output modes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 51
diff changeset
74 this(old, current, state, reachableStates);
807
6f65e70fa11d Repaired broken recommendation parsing from Artifact's DESCRIBE document (which structure has changed).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 803
diff changeset
75 this.outputModes = outputModes;
6f65e70fa11d Repaired broken recommendation parsing from Artifact's DESCRIBE document (which structure has changed).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 803
diff changeset
76 this.recommendations = recommendations;
64
3d646d3e8e27 Enhanced the ArtifactDescription and its default implementation to provide output modes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 51
diff changeset
77 }
3d646d3e8e27 Enhanced the ArtifactDescription and its default implementation to provide output modes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 51
diff changeset
78
3d646d3e8e27 Enhanced the ArtifactDescription and its default implementation to provide output modes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 51
diff changeset
79
51
a2923d63f530 Introduced a data structure DataList to manage to list of Data objects of a single state.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 12
diff changeset
80 public DataList[] getOldData() {
12
fa0aad20af53 Adjusted interfaces used for the ArtifactDescription and added default implementations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
81 return oldData;
fa0aad20af53 Adjusted interfaces used for the ArtifactDescription and added default implementations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
82 }
fa0aad20af53 Adjusted interfaces used for the ArtifactDescription and added default implementations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
83
fa0aad20af53 Adjusted interfaces used for the ArtifactDescription and added default implementations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
84
51
a2923d63f530 Introduced a data structure DataList to manage to list of Data objects of a single state.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 12
diff changeset
85 public DataList getCurrentData() {
12
fa0aad20af53 Adjusted interfaces used for the ArtifactDescription and added default implementations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
86 return currentData;
fa0aad20af53 Adjusted interfaces used for the ArtifactDescription and added default implementations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
87 }
fa0aad20af53 Adjusted interfaces used for the ArtifactDescription and added default implementations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
88
fa0aad20af53 Adjusted interfaces used for the ArtifactDescription and added default implementations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
89
fa0aad20af53 Adjusted interfaces used for the ArtifactDescription and added default implementations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
90 public String getCurrentState() {
fa0aad20af53 Adjusted interfaces used for the ArtifactDescription and added default implementations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
91 return currentState;
fa0aad20af53 Adjusted interfaces used for the ArtifactDescription and added default implementations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
92 }
fa0aad20af53 Adjusted interfaces used for the ArtifactDescription and added default implementations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
93
fa0aad20af53 Adjusted interfaces used for the ArtifactDescription and added default implementations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
94
fa0aad20af53 Adjusted interfaces used for the ArtifactDescription and added default implementations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
95 public String[] getReachableStates() {
fa0aad20af53 Adjusted interfaces used for the ArtifactDescription and added default implementations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
96 return reachableStates;
fa0aad20af53 Adjusted interfaces used for the ArtifactDescription and added default implementations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
97 }
64
3d646d3e8e27 Enhanced the ArtifactDescription and its default implementation to provide output modes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 51
diff changeset
98
3d646d3e8e27 Enhanced the ArtifactDescription and its default implementation to provide output modes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 51
diff changeset
99
3d646d3e8e27 Enhanced the ArtifactDescription and its default implementation to provide output modes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 51
diff changeset
100 public OutputMode[] getOutputModes() {
3d646d3e8e27 Enhanced the ArtifactDescription and its default implementation to provide output modes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 51
diff changeset
101 return outputModes;
3d646d3e8e27 Enhanced the ArtifactDescription and its default implementation to provide output modes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 51
diff changeset
102 }
803
653ae84533e7 Read/create recommended Artifacts and add them to the current Collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 64
diff changeset
103
653ae84533e7 Read/create recommended Artifacts and add them to the current Collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 64
diff changeset
104
807
6f65e70fa11d Repaired broken recommendation parsing from Artifact's DESCRIBE document (which structure has changed).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 803
diff changeset
105 public Recommendation[] getRecommendations() {
6f65e70fa11d Repaired broken recommendation parsing from Artifact's DESCRIBE document (which structure has changed).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 803
diff changeset
106 return recommendations;
803
653ae84533e7 Read/create recommended Artifacts and add them to the current Collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 64
diff changeset
107 }
12
fa0aad20af53 Adjusted interfaces used for the ArtifactDescription and added default implementations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
108 }
fa0aad20af53 Adjusted interfaces used for the ArtifactDescription and added default implementations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
109 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :

http://dive4elements.wald.intevation.org