comparison flys-artifacts/src/main/java/de/intevation/flys/artifacts/states/extreme/ExtremeCompute.java @ 3775:d52c4ca93ffb

More infrastructure stuff for the "Auslagerung extremer Wasserspiegellagen". flys-artifacts/trunk@5481 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Sascha L. Teichmann <sascha.teichmann@intevation.de>
date Sun, 16 Sep 2012 11:40:38 +0000
parents
children eb5564662e19
comparison
equal deleted inserted replaced
3774:a66df8e8d3df 3775:d52c4ca93ffb
1 package de.intevation.flys.artifacts.states.extreme;
2
3 import de.intevation.artifactdatabase.state.Facet;
4
5 import de.intevation.artifacts.CallContext;
6
7 import de.intevation.flys.artifacts.FLYSArtifact;
8
9 import de.intevation.flys.artifacts.access.ExtremeAccess;
10
11 import de.intevation.flys.artifacts.model.CalculationResult;
12 import de.intevation.flys.artifacts.model.ReportFacet;
13
14 import de.intevation.flys.artifacts.model.extreme.ExtremeCalculation;
15
16 import de.intevation.flys.artifacts.states.DefaultState;
17
18 import java.util.List;
19
20 import org.apache.log4j.Logger;
21
22 public class ExtremeCompute
23 extends DefaultState
24 {
25 private static Logger log = Logger.getLogger(ExtremeCompute.class);
26
27 public ExtremeCompute() {
28 }
29
30 @Override
31 public Object computeAdvance(
32 FLYSArtifact artifact,
33 String hash,
34 CallContext context,
35 List<Facet> facets,
36 Object old
37 ) {
38 log.debug("ExtremeCompute.computeAdvance");
39
40 CalculationResult res;
41
42 ExtremeAccess access = new ExtremeAccess(artifact);
43
44 if (old instanceof CalculationResult) {
45 res = (CalculationResult)old;
46 }
47 else {
48 ExtremeCalculation calc = new ExtremeCalculation(access);
49 res = calc.calculate();
50 }
51
52 if (facets == null) {
53 return res;
54 }
55
56 if (res.getReport().hasProblems()) {
57 facets.add(new ReportFacet());
58 }
59
60 // TODO: Add more facets.
61
62 return res;
63 }
64 }
65 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf-8 :

http://dive4elements.wald.intevation.org