comparison flys-artifacts/src/main/java/de/intevation/flys/artifacts/StaticWKmsArtifact.java @ 3556:afc7bfb4800b

Use the new infrastructure to figure out if a facet should be initially active or not. flys-artifacts/trunk@5152 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Sascha L. Teichmann <sascha.teichmann@intevation.de>
date Sun, 29 Jul 2012 11:04:06 +0000
parents b0ba96bbf01d
children 0623cdf32b38
comparison
equal deleted inserted replaced
3555:b1912514e0f5 3556:afc7bfb4800b
1 package de.intevation.flys.artifacts; 1 package de.intevation.flys.artifacts;
2 2
3 import java.util.ArrayList; 3 import de.intevation.artifactdatabase.state.DefaultOutput;
4 import java.util.List;
5
6 import org.apache.log4j.Logger;
7
8 import org.w3c.dom.Document;
9
10 import java.awt.geom.Point2D;
11
12 import de.intevation.artifactdatabase.state.Facet; 4 import de.intevation.artifactdatabase.state.Facet;
13 import de.intevation.artifactdatabase.state.DefaultOutput; 5 import de.intevation.artifactdatabase.state.FacetActivity;
14 import de.intevation.artifactdatabase.state.State; 6 import de.intevation.artifactdatabase.state.State;
15 7
16 import de.intevation.artifacts.Artifact; 8 import de.intevation.artifacts.Artifact;
17 import de.intevation.artifacts.ArtifactFactory; 9 import de.intevation.artifacts.ArtifactFactory;
18 import de.intevation.artifacts.CallMeta; 10 import de.intevation.artifacts.CallMeta;
11
12 import de.intevation.artifacts.common.utils.XMLUtils;
13
14 import de.intevation.flys.artifacts.geom.Lines;
15
19 import de.intevation.flys.artifacts.math.Distance; 16 import de.intevation.flys.artifacts.math.Distance;
20 import de.intevation.flys.artifacts.math.Linear; 17 import de.intevation.flys.artifacts.math.Linear;
21 18
22 import de.intevation.flys.artifacts.model.CrossSectionWaterLineFacet; 19 import de.intevation.flys.artifacts.model.CrossSectionWaterLineFacet;
23 import de.intevation.flys.artifacts.model.FacetTypes; 20 import de.intevation.flys.artifacts.model.FacetTypes;
24 import de.intevation.flys.artifacts.model.RelativePointFacet; 21 import de.intevation.flys.artifacts.model.RelativePointFacet;
25 import de.intevation.flys.artifacts.model.WKms; 22 import de.intevation.flys.artifacts.model.WKms;
26 import de.intevation.flys.artifacts.model.WKmsFacet; 23 import de.intevation.flys.artifacts.model.WKmsFacet;
27 import de.intevation.flys.artifacts.model.WKmsFactory; 24 import de.intevation.flys.artifacts.model.WKmsFactory;
28 25
26 import de.intevation.flys.artifacts.resources.Resources;
27
29 import de.intevation.flys.artifacts.states.StaticState; 28 import de.intevation.flys.artifacts.states.StaticState;
30 import de.intevation.flys.artifacts.resources.Resources;
31
32 import de.intevation.artifacts.common.utils.XMLUtils;
33
34 import de.intevation.flys.artifacts.geom.Lines;
35 29
36 import de.intevation.flys.model.FastCrossSectionLine; 30 import de.intevation.flys.model.FastCrossSectionLine;
37 31
32 import java.awt.geom.Point2D;
33
34 import java.util.ArrayList;
35 import java.util.List;
36
37 import org.apache.log4j.Logger;
38
39 import org.w3c.dom.Document;
38 40
39 /** 41 /**
40 * Artifact to access additional "waterlevel"-type of data, like the height 42 * Artifact to access additional "waterlevel"-type of data, like the height
41 * of protective measures (dikes). 43 * of protective measures (dikes).
42 * 44 *
49 { 51 {
50 /** The logger for this class. */ 52 /** The logger for this class. */
51 private static Logger logger = 53 private static Logger logger =
52 Logger.getLogger(StaticWKmsArtifact.class); 54 Logger.getLogger(StaticWKmsArtifact.class);
53 55
56 private static final String NAME = "staticwkms";
57
58 static {
59 // TODO: Move to configuration.
60 FacetActivity.Registry.getInstance()
61 .register(NAME, FacetActivity.INACTIVE);
62 }
63
54 public static final String STATIC_STATE_NAME = 64 public static final String STATIC_STATE_NAME =
55 "state.additional_wkms.static"; 65 "state.additional_wkms.static";
56 66
57 /** Data Item name to know whether we are Heighmarks and reveive 67 /** Data Item name to know whether we are Heighmarks and reveive
58 * some data slightly different. */ 68 * some data slightly different. */
68 */ 78 */
69 public StaticWKmsArtifact() { 79 public StaticWKmsArtifact() {
70 logger.debug("StaticWKmsArtifact.StaticWKmsArtifact"); 80 logger.debug("StaticWKmsArtifact.StaticWKmsArtifact");
71 } 81 }
72 82
83 @Override
84 public String getName() {
85 return NAME;
86 }
73 87
74 /** 88 /**
75 * Gets called from factory, to set things up. 89 * Gets called from factory, to set things up.
76 */ 90 */
77 @Override 91 @Override
84 { 98 {
85 logger.debug("StaticWKmsArtifact.setup"); 99 logger.debug("StaticWKmsArtifact.setup");
86 100
87 state = new StaticState(STATIC_STATE_NAME); 101 state = new StaticState(STATIC_STATE_NAME);
88 102
103 if (logger.isDebugEnabled()) {
104 logger.debug(XMLUtils.toString(data));
105 }
106
89 List<Facet> fs = new ArrayList<Facet>(); 107 List<Facet> fs = new ArrayList<Facet>();
90 logger.debug(XMLUtils.toString(data));
91 String code = getDatacageIDValue(data); 108 String code = getDatacageIDValue(data);
92 109
93 // TODO Go for JSON, one day. 110 // TODO Go for JSON, one day.
94 //ex.: flood_protection-wstv-114-12 111 //ex.: flood_protection-wstv-114-12
95 if (code != null) { 112 if (code != null) {
361 return new Lines.LineData(new double[][] {{}}, 0d, 0d); 378 return new Lines.LineData(new double[][] {{}}, 0d, 0d);
362 } 379 }
363 380
364 return Lines.createWaterLines(points, wAtKm); 381 return Lines.createWaterLines(points, wAtKm);
365 } 382 }
366
367
368 /**
369 * Determines Facets initial disposition regarding activity (think of
370 * selection in Client ThemeList GUI). This will be checked one time
371 * when the facet enters a collections describe document.
372 *
373 * @param facetName name of the facet.
374 * @param index index of the facet.
375 *
376 * @return Always 0. Static Data will enter plots inactive.
377 */
378 @Override
379 public int getInitialFacetActivity(
380 String outputName,
381 String facetName,
382 int index)
383 {
384 return 0;
385 }
386 } 383 }
387 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf-8 : 384 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf-8 :

http://dive4elements.wald.intevation.org