comparison flys-artifacts/src/main/java/de/intevation/flys/artifacts/StaticMorphWidthArtifact.java @ 5764:7ac111db8a07

Model, factory, facet and static artifact for morphologic width.
author Raimund Renkert <rrenkert@intevation.de>
date Thu, 18 Apr 2013 14:14:15 +0200
parents
children 4a1bd43e7aa6
comparison
equal deleted inserted replaced
5763:dd652fcc9f0d 5764:7ac111db8a07
1 package de.intevation.flys.artifacts;
2
3 import java.util.ArrayList;
4 import java.util.List;
5
6 import org.apache.log4j.Logger;
7 import org.w3c.dom.Document;
8
9 import de.intevation.artifactdatabase.state.DefaultOutput;
10 import de.intevation.artifactdatabase.state.Facet;
11 import de.intevation.artifactdatabase.state.FacetActivity;
12 import de.intevation.artifacts.ArtifactFactory;
13 import de.intevation.artifacts.Artifact;
14 import de.intevation.artifacts.CallMeta;
15 import de.intevation.artifacts.common.utils.XMLUtils;
16 import de.intevation.flys.artifacts.model.minfo.BedHeightFacet;
17 import de.intevation.flys.artifacts.model.minfo.BedHeightFactory;
18 import de.intevation.flys.artifacts.model.minfo.MorphologicWidthFacet;
19 import de.intevation.flys.artifacts.resources.Resources;
20 import de.intevation.flys.artifacts.states.StaticState;
21
22 public class StaticMorphWidthArtifact
23 extends AbstractStaticStateArtifact
24 {
25 /** The logger for this class. */
26 private static Logger logger =
27 Logger.getLogger(StaticMorphWidthArtifact.class);
28
29 private static final String NAME = "morph-width";
30 private static final String STATIC_FACET_NAME = "morph-width";
31
32 static {
33 // TODO: Move to configuration.
34 FacetActivity.Registry.getInstance()
35 .register(NAME, FacetActivity.INACTIVE);
36 }
37
38 public static final String STATIC_STATE_NAME =
39 "state.morph-width.static";
40
41 /**
42 * Trivial Constructor.
43 */
44 public StaticMorphWidthArtifact() {
45 }
46
47 @Override
48 public String getName() {
49 return NAME;
50 }
51
52 /**
53 * Gets called from factory, to set things up.
54 */
55 @Override
56 public void setup(
57 String identifier,
58 ArtifactFactory factory,
59 Object context,
60 CallMeta callMeta,
61 Document data)
62 {
63 logger.debug("setup");
64
65 if (logger.isDebugEnabled()) {
66 logger.debug(XMLUtils.toString(data));
67 }
68
69 String code = getDatacageIDValue(data);
70
71 if (code != null) {
72 Facet facet = new MorphologicWidthFacet(
73 STATIC_FACET_NAME,
74 Resources.getMsg(
75 callMeta,
76 "facet.morphologic.width",
77 "morphologische Breite"));
78 addStringData("width_id", code);
79 ArrayList<Facet> facets = new ArrayList<Facet>(1);
80 facets.add(facet);
81
82 addFacets(STATIC_STATE_NAME, facets);
83 }
84 super.setup(identifier, factory, context, callMeta, data);
85 }
86
87 @Override
88 protected void initStaticState() {
89
90 logger.debug("initStaticState " + getName() + " " + identifier());
91
92 StaticState state = new StaticState(STATIC_STATE_NAME);
93 DefaultOutput output = new DefaultOutput(
94 "general",
95 "general",
96 "image/png",
97 "chart");
98
99 List<Facet> facets = getFacets(STATIC_STATE_NAME);
100 output.addFacets(facets);
101 state.addOutput(output);
102
103 setStaticState(state);
104 }
105
106 @Override
107 protected void initialize(Artifact artifact, Object context, CallMeta meta) {
108 }
109 }
110 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf-8 :

http://dive4elements.wald.intevation.org