annotate flys-artifacts/src/main/java/de/intevation/flys/artifacts/states/extreme/ExtremeCompute.java @ 4315:e7b923cf3a9c

ExtremeCompute: Add ExtremeCurveFacet in this state.
author Felix Wolfsteller <felix.wolfsteller@intevation.de>
date Tue, 30 Oct 2012 06:58:37 +0100
parents ce10b846bc86
children c6db11e3b83a
rev   line source
3775
d52c4ca93ffb More infrastructure stuff for the "Auslagerung extremer Wasserspiegellagen".
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
1 package de.intevation.flys.artifacts.states.extreme;
d52c4ca93ffb More infrastructure stuff for the "Auslagerung extremer Wasserspiegellagen".
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
2
d52c4ca93ffb More infrastructure stuff for the "Auslagerung extremer Wasserspiegellagen".
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
3 import de.intevation.artifactdatabase.state.Facet;
d52c4ca93ffb More infrastructure stuff for the "Auslagerung extremer Wasserspiegellagen".
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
4
d52c4ca93ffb More infrastructure stuff for the "Auslagerung extremer Wasserspiegellagen".
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
5 import de.intevation.artifacts.CallContext;
d52c4ca93ffb More infrastructure stuff for the "Auslagerung extremer Wasserspiegellagen".
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
6
d52c4ca93ffb More infrastructure stuff for the "Auslagerung extremer Wasserspiegellagen".
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
7 import de.intevation.flys.artifacts.FLYSArtifact;
d52c4ca93ffb More infrastructure stuff for the "Auslagerung extremer Wasserspiegellagen".
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
8
d52c4ca93ffb More infrastructure stuff for the "Auslagerung extremer Wasserspiegellagen".
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
9 import de.intevation.flys.artifacts.access.ExtremeAccess;
d52c4ca93ffb More infrastructure stuff for the "Auslagerung extremer Wasserspiegellagen".
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
10
4302
ce10b846bc86 ExtremeCompute: Generate LS-Facets.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4301
diff changeset
11 import de.intevation.flys.artifacts.model.Calculation;
3775
d52c4ca93ffb More infrastructure stuff for the "Auslagerung extremer Wasserspiegellagen".
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
12 import de.intevation.flys.artifacts.model.CalculationResult;
4302
ce10b846bc86 ExtremeCompute: Generate LS-Facets.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4301
diff changeset
13 import de.intevation.flys.artifacts.model.FacetTypes;
3775
d52c4ca93ffb More infrastructure stuff for the "Auslagerung extremer Wasserspiegellagen".
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
14 import de.intevation.flys.artifacts.model.ReportFacet;
4302
ce10b846bc86 ExtremeCompute: Generate LS-Facets.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4301
diff changeset
15 import de.intevation.flys.artifacts.model.WaterlevelFacet;
ce10b846bc86 ExtremeCompute: Generate LS-Facets.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4301
diff changeset
16 import de.intevation.flys.artifacts.model.WQKms;
3775
d52c4ca93ffb More infrastructure stuff for the "Auslagerung extremer Wasserspiegellagen".
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
17
4315
e7b923cf3a9c ExtremeCompute: Add ExtremeCurveFacet in this state.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4302
diff changeset
18 import de.intevation.flys.artifacts.model.extreme.ExtremeCurveFacet;
3775
d52c4ca93ffb More infrastructure stuff for the "Auslagerung extremer Wasserspiegellagen".
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
19 import de.intevation.flys.artifacts.model.extreme.ExtremeCalculation;
4302
ce10b846bc86 ExtremeCompute: Generate LS-Facets.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4301
diff changeset
20 import de.intevation.flys.artifacts.model.extreme.ExtremeResult;
3775
d52c4ca93ffb More infrastructure stuff for the "Auslagerung extremer Wasserspiegellagen".
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
21
d52c4ca93ffb More infrastructure stuff for the "Auslagerung extremer Wasserspiegellagen".
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
22 import de.intevation.flys.artifacts.states.DefaultState;
d52c4ca93ffb More infrastructure stuff for the "Auslagerung extremer Wasserspiegellagen".
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
23
4302
ce10b846bc86 ExtremeCompute: Generate LS-Facets.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4301
diff changeset
24 import de.intevation.flys.utils.FLYSUtils;
ce10b846bc86 ExtremeCompute: Generate LS-Facets.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4301
diff changeset
25
3775
d52c4ca93ffb More infrastructure stuff for the "Auslagerung extremer Wasserspiegellagen".
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
26 import java.util.List;
d52c4ca93ffb More infrastructure stuff for the "Auslagerung extremer Wasserspiegellagen".
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
27
d52c4ca93ffb More infrastructure stuff for the "Auslagerung extremer Wasserspiegellagen".
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
28 import org.apache.log4j.Logger;
d52c4ca93ffb More infrastructure stuff for the "Auslagerung extremer Wasserspiegellagen".
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
29
4043
eb5564662e19 Cosmetics, documentation.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3775
diff changeset
30 /** State in which to deliver extreme value analysis result. */
3775
d52c4ca93ffb More infrastructure stuff for the "Auslagerung extremer Wasserspiegellagen".
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
31 public class ExtremeCompute
d52c4ca93ffb More infrastructure stuff for the "Auslagerung extremer Wasserspiegellagen".
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
32 extends DefaultState
4302
ce10b846bc86 ExtremeCompute: Generate LS-Facets.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4301
diff changeset
33 implements FacetTypes
3775
d52c4ca93ffb More infrastructure stuff for the "Auslagerung extremer Wasserspiegellagen".
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
34 {
4043
eb5564662e19 Cosmetics, documentation.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3775
diff changeset
35 /** Private logger. */
4301
1f304cb5729b ExtremeCompute: Renamed log to logger.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4043
diff changeset
36 private static Logger logger = Logger.getLogger(ExtremeCompute.class);
3775
d52c4ca93ffb More infrastructure stuff for the "Auslagerung extremer Wasserspiegellagen".
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
37
d52c4ca93ffb More infrastructure stuff for the "Auslagerung extremer Wasserspiegellagen".
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
38 public ExtremeCompute() {
d52c4ca93ffb More infrastructure stuff for the "Auslagerung extremer Wasserspiegellagen".
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
39 }
d52c4ca93ffb More infrastructure stuff for the "Auslagerung extremer Wasserspiegellagen".
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
40
d52c4ca93ffb More infrastructure stuff for the "Auslagerung extremer Wasserspiegellagen".
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
41 @Override
d52c4ca93ffb More infrastructure stuff for the "Auslagerung extremer Wasserspiegellagen".
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
42 public Object computeAdvance(
d52c4ca93ffb More infrastructure stuff for the "Auslagerung extremer Wasserspiegellagen".
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
43 FLYSArtifact artifact,
d52c4ca93ffb More infrastructure stuff for the "Auslagerung extremer Wasserspiegellagen".
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
44 String hash,
d52c4ca93ffb More infrastructure stuff for the "Auslagerung extremer Wasserspiegellagen".
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
45 CallContext context,
d52c4ca93ffb More infrastructure stuff for the "Auslagerung extremer Wasserspiegellagen".
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
46 List<Facet> facets,
d52c4ca93ffb More infrastructure stuff for the "Auslagerung extremer Wasserspiegellagen".
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
47 Object old
d52c4ca93ffb More infrastructure stuff for the "Auslagerung extremer Wasserspiegellagen".
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
48 ) {
4301
1f304cb5729b ExtremeCompute: Renamed log to logger.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4043
diff changeset
49 logger.debug("ExtremeCompute.computeAdvance");
3775
d52c4ca93ffb More infrastructure stuff for the "Auslagerung extremer Wasserspiegellagen".
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
50
d52c4ca93ffb More infrastructure stuff for the "Auslagerung extremer Wasserspiegellagen".
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
51 CalculationResult res;
d52c4ca93ffb More infrastructure stuff for the "Auslagerung extremer Wasserspiegellagen".
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
52
d52c4ca93ffb More infrastructure stuff for the "Auslagerung extremer Wasserspiegellagen".
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
53 ExtremeAccess access = new ExtremeAccess(artifact);
d52c4ca93ffb More infrastructure stuff for the "Auslagerung extremer Wasserspiegellagen".
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
54
d52c4ca93ffb More infrastructure stuff for the "Auslagerung extremer Wasserspiegellagen".
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
55 if (old instanceof CalculationResult) {
d52c4ca93ffb More infrastructure stuff for the "Auslagerung extremer Wasserspiegellagen".
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
56 res = (CalculationResult)old;
d52c4ca93ffb More infrastructure stuff for the "Auslagerung extremer Wasserspiegellagen".
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
57 }
d52c4ca93ffb More infrastructure stuff for the "Auslagerung extremer Wasserspiegellagen".
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
58 else {
d52c4ca93ffb More infrastructure stuff for the "Auslagerung extremer Wasserspiegellagen".
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
59 ExtremeCalculation calc = new ExtremeCalculation(access);
d52c4ca93ffb More infrastructure stuff for the "Auslagerung extremer Wasserspiegellagen".
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
60 res = calc.calculate();
d52c4ca93ffb More infrastructure stuff for the "Auslagerung extremer Wasserspiegellagen".
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
61 }
d52c4ca93ffb More infrastructure stuff for the "Auslagerung extremer Wasserspiegellagen".
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
62
d52c4ca93ffb More infrastructure stuff for the "Auslagerung extremer Wasserspiegellagen".
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
63 if (facets == null) {
d52c4ca93ffb More infrastructure stuff for the "Auslagerung extremer Wasserspiegellagen".
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
64 return res;
d52c4ca93ffb More infrastructure stuff for the "Auslagerung extremer Wasserspiegellagen".
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
65 }
d52c4ca93ffb More infrastructure stuff for the "Auslagerung extremer Wasserspiegellagen".
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
66
d52c4ca93ffb More infrastructure stuff for the "Auslagerung extremer Wasserspiegellagen".
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
67 if (res.getReport().hasProblems()) {
d52c4ca93ffb More infrastructure stuff for the "Auslagerung extremer Wasserspiegellagen".
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
68 facets.add(new ReportFacet());
d52c4ca93ffb More infrastructure stuff for the "Auslagerung extremer Wasserspiegellagen".
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
69 }
d52c4ca93ffb More infrastructure stuff for the "Auslagerung extremer Wasserspiegellagen".
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
70
4302
ce10b846bc86 ExtremeCompute: Generate LS-Facets.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4301
diff changeset
71 ExtremeResult eres = (ExtremeResult) res.getData();
ce10b846bc86 ExtremeCompute: Generate LS-Facets.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4301
diff changeset
72 WQKms [] wqkms = (WQKms []) eres.getWQKms();
ce10b846bc86 ExtremeCompute: Generate LS-Facets.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4301
diff changeset
73
ce10b846bc86 ExtremeCompute: Generate LS-Facets.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4301
diff changeset
74 if (wqkms == null) {
ce10b846bc86 ExtremeCompute: Generate LS-Facets.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4301
diff changeset
75 logger.error("No computation result!");
ce10b846bc86 ExtremeCompute: Generate LS-Facets.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4301
diff changeset
76 }
ce10b846bc86 ExtremeCompute: Generate LS-Facets.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4301
diff changeset
77
ce10b846bc86 ExtremeCompute: Generate LS-Facets.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4301
diff changeset
78 for (int i = 0; i < wqkms.length; i++) {
ce10b846bc86 ExtremeCompute: Generate LS-Facets.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4301
diff changeset
79 String name = wqkms[i].getName();
ce10b846bc86 ExtremeCompute: Generate LS-Facets.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4301
diff changeset
80
ce10b846bc86 ExtremeCompute: Generate LS-Facets.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4301
diff changeset
81 // Ext.Calc has wqkmsName(i)
ce10b846bc86 ExtremeCompute: Generate LS-Facets.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4301
diff changeset
82 String nameW = "WW";//TODO: FLYSUtils.createWspWTitle(artifact, context, name);
ce10b846bc86 ExtremeCompute: Generate LS-Facets.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4301
diff changeset
83 String nameQ = "QQ";//FLYSUtils.createWspQTitle(artifact, context, name);
ce10b846bc86 ExtremeCompute: Generate LS-Facets.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4301
diff changeset
84
ce10b846bc86 ExtremeCompute: Generate LS-Facets.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4301
diff changeset
85 // Hotfix for theme names. Themes with the same name cause problems
ce10b846bc86 ExtremeCompute: Generate LS-Facets.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4301
diff changeset
86 // aggregating chart legend items.
ce10b846bc86 ExtremeCompute: Generate LS-Facets.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4301
diff changeset
87 if (i > 0 && name.equals(wqkms[i - 1].getName())) {
ce10b846bc86 ExtremeCompute: Generate LS-Facets.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4301
diff changeset
88 nameW += "; Q=" + wqkms[i].get(0, new double[3])[1];
ce10b846bc86 ExtremeCompute: Generate LS-Facets.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4301
diff changeset
89 nameQ += " = " + wqkms[i].get(0, new double[3])[1];
ce10b846bc86 ExtremeCompute: Generate LS-Facets.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4301
diff changeset
90 }
ce10b846bc86 ExtremeCompute: Generate LS-Facets.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4301
diff changeset
91
ce10b846bc86 ExtremeCompute: Generate LS-Facets.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4301
diff changeset
92 Facet w = new WaterlevelFacet(
ce10b846bc86 ExtremeCompute: Generate LS-Facets.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4301
diff changeset
93 i, LONGITUDINAL_W, nameW, ComputeType.ADVANCE, id, hash);
ce10b846bc86 ExtremeCompute: Generate LS-Facets.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4301
diff changeset
94 Facet q = new WaterlevelFacet(
ce10b846bc86 ExtremeCompute: Generate LS-Facets.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4301
diff changeset
95 i, LONGITUDINAL_Q, nameQ, ComputeType.ADVANCE, id, hash);
ce10b846bc86 ExtremeCompute: Generate LS-Facets.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4301
diff changeset
96
ce10b846bc86 ExtremeCompute: Generate LS-Facets.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4301
diff changeset
97 // TODO add more facets like:
4315
e7b923cf3a9c ExtremeCompute: Add ExtremeCurveFacet in this state.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4302
diff changeset
98 // csv, data, pdf wst facet, data facet
4302
ce10b846bc86 ExtremeCompute: Generate LS-Facets.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4301
diff changeset
99 // furthermore, waterlevel
ce10b846bc86 ExtremeCompute: Generate LS-Facets.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4301
diff changeset
100 //facets.add(new CrossSectionWaterLineFacet(i, nameW));
4315
e7b923cf3a9c ExtremeCompute: Add ExtremeCurveFacet in this state.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4302
diff changeset
101 facets.add(new ExtremeCurveFacet("WQ"));
4302
ce10b846bc86 ExtremeCompute: Generate LS-Facets.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4301
diff changeset
102
ce10b846bc86 ExtremeCompute: Generate LS-Facets.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4301
diff changeset
103 facets.add(w);
ce10b846bc86 ExtremeCompute: Generate LS-Facets.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4301
diff changeset
104 facets.add(q);
ce10b846bc86 ExtremeCompute: Generate LS-Facets.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4301
diff changeset
105 }
ce10b846bc86 ExtremeCompute: Generate LS-Facets.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4301
diff changeset
106
3775
d52c4ca93ffb More infrastructure stuff for the "Auslagerung extremer Wasserspiegellagen".
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
107
d52c4ca93ffb More infrastructure stuff for the "Auslagerung extremer Wasserspiegellagen".
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
108 return res;
d52c4ca93ffb More infrastructure stuff for the "Auslagerung extremer Wasserspiegellagen".
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
109 }
d52c4ca93ffb More infrastructure stuff for the "Auslagerung extremer Wasserspiegellagen".
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
110 }
d52c4ca93ffb More infrastructure stuff for the "Auslagerung extremer Wasserspiegellagen".
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
111 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf-8 :

http://dive4elements.wald.intevation.org