Mercurial > dive4elements > river
comparison flys-artifacts/src/main/java/de/intevation/flys/artifacts/states/sq/SQStaticState.java @ 5501:9a14eac637ec
New Artifact and static state for sq relation.
author | Raimund Renkert <rrenkert@intevation.de> |
---|---|
date | Thu, 28 Mar 2013 15:17:02 +0100 |
parents | |
children | 57f802db5c5a |
comparison
equal
deleted
inserted
replaced
5500:700ac898ab0b | 5501:9a14eac637ec |
---|---|
1 package de.intevation.flys.artifacts.states.sq; | |
2 | |
3 import java.text.DateFormat; | |
4 import java.text.SimpleDateFormat; | |
5 import java.util.Calendar; | |
6 import java.util.List; | |
7 | |
8 import javax.swing.text.DateFormatter; | |
9 | |
10 import org.apache.log4j.Logger; | |
11 | |
12 import de.intevation.artifactdatabase.state.Facet; | |
13 import de.intevation.flys.artifacts.FLYSArtifact; | |
14 import de.intevation.flys.artifacts.access.StaticSQRelationAccess; | |
15 import de.intevation.flys.artifacts.model.sq.StaticSQContainer; | |
16 import de.intevation.flys.artifacts.model.sq.StaticSQFactory; | |
17 import de.intevation.flys.artifacts.model.sq.StaticSQRelation; | |
18 import de.intevation.flys.artifacts.states.StaticState; | |
19 | |
20 | |
21 public class SQStaticState | |
22 extends StaticState | |
23 { | |
24 private static final Logger log = | |
25 Logger.getLogger(SQStaticState.class); | |
26 | |
27 public SQStaticState() { | |
28 super(); | |
29 } | |
30 | |
31 public SQStaticState(String name) { | |
32 super(name); | |
33 } | |
34 | |
35 @Override | |
36 public Object staticCompute( | |
37 List<Facet> facets, | |
38 FLYSArtifact artifact | |
39 ) { | |
40 StaticSQRelationAccess access = new StaticSQRelationAccess(artifact); | |
41 | |
42 String river = access.getRiver(); | |
43 String measurementStation = access.getMeasurementStation(); | |
44 | |
45 int ms = -1; | |
46 try { | |
47 ms = Integer.valueOf(measurementStation); | |
48 } | |
49 catch (NumberFormatException nfe) { | |
50 log.error("Unparseable measurement station: " + measurementStation); | |
51 return null; | |
52 } | |
53 | |
54 StaticSQContainer sqRelations = | |
55 StaticSQFactory.getSQRelations(river, ms); | |
56 | |
57 for (int i = 0; i < StaticSQRelation.Parameter.values().length; i++) { | |
58 StaticSQRelation.Parameter p = | |
59 StaticSQRelation.Parameter.values()[i]; | |
60 | |
61 List<StaticSQRelation> relations = | |
62 sqRelations.getRelationsByParameter(p); | |
63 if (relations.size() > 0) { | |
64 int count = 0; | |
65 | |
66 for (StaticSQRelation relation : relations) { | |
67 String name = "sq_" + p.toString().toLowerCase() + "_curve"; | |
68 DateFormat df = | |
69 DateFormat.getDateInstance(DateFormat.SHORT); | |
70 String desc = p.toString() + ": " + | |
71 df.format(relation.getStartTime()) + " - " + | |
72 df.format(relation.getStopTime()); | |
73 facets.add(new StaticSQRelationFacet( | |
74 count, | |
75 name, | |
76 desc, | |
77 relation)); | |
78 count++; | |
79 } | |
80 } | |
81 } | |
82 return null; | |
83 } | |
84 } |