Mercurial > dive4elements > river
comparison flys-artifacts/src/main/java/de/intevation/flys/artifacts/states/minfo/BedQualityState.java @ 3757:e8a90a5ce624
Added facets and chart generator for bed quality calculation.
flys-artifacts/trunk@5454 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Ingo Weinzierl <ingo.weinzierl@intevation.de> |
---|---|
date | Thu, 13 Sep 2012 12:08:50 +0000 |
parents | e560a9a10eb1 |
children | 066e2b4d69ca |
comparison
equal
deleted
inserted
replaced
3756:912a398968b6 | 3757:e8a90a5ce624 |
---|---|
9 import de.intevation.artifacts.CallContext; | 9 import de.intevation.artifacts.CallContext; |
10 import de.intevation.flys.artifacts.FLYSArtifact; | 10 import de.intevation.flys.artifacts.FLYSArtifact; |
11 import de.intevation.flys.artifacts.access.BedQualityAccess; | 11 import de.intevation.flys.artifacts.access.BedQualityAccess; |
12 import de.intevation.flys.artifacts.model.BedQualityCalculation; | 12 import de.intevation.flys.artifacts.model.BedQualityCalculation; |
13 import de.intevation.flys.artifacts.model.CalculationResult; | 13 import de.intevation.flys.artifacts.model.CalculationResult; |
14 import de.intevation.flys.artifacts.model.FacetTypes; | |
15 import de.intevation.flys.artifacts.model.minfo.BedDensityFacet; | |
16 import de.intevation.flys.artifacts.model.minfo.BedDiameterFacet; | |
17 import de.intevation.flys.artifacts.model.minfo.BedPorosityFacet; | |
18 import de.intevation.flys.artifacts.model.minfo.BedloadDiameterFacet; | |
14 import de.intevation.flys.artifacts.states.DefaultState; | 19 import de.intevation.flys.artifacts.states.DefaultState; |
15 | 20 |
16 public class BedQualityState extends DefaultState { | |
17 | 21 |
18 private static final Logger logger = Logger.getLogger(BedQualityState.class); | 22 public class BedQualityState extends DefaultState implements FacetTypes { |
23 | |
24 private static final long serialVersionUID = 1L; | |
25 | |
26 private static final Logger logger = Logger | |
27 .getLogger(BedQualityState.class); | |
19 | 28 |
20 @Override | 29 @Override |
21 public Object computeAdvance( | 30 public Object computeAdvance(FLYSArtifact artifact, String hash, |
22 FLYSArtifact artifact, | 31 CallContext context, List<Facet> facets, Object old) { |
23 String hash, | |
24 CallContext context, | |
25 List<Facet> facets, | |
26 Object old | |
27 ) { | |
28 logger.debug("BedQualityState.computeAdvance"); | 32 logger.debug("BedQualityState.computeAdvance"); |
29 | 33 |
30 List<Facet> newFacets = new ArrayList<Facet>(); | 34 List<Facet> newFacets = new ArrayList<Facet>(); |
31 | 35 |
32 BedQualityAccess access = new BedQualityAccess(artifact); | 36 BedQualityAccess access = new BedQualityAccess(artifact); |
33 | 37 |
34 CalculationResult res = old instanceof CalculationResult | 38 CalculationResult res = old instanceof CalculationResult ? (CalculationResult) old |
35 ? (CalculationResult) old | |
36 : new BedQualityCalculation().calculate(access); | 39 : new BedQualityCalculation().calculate(access); |
37 | 40 |
38 if (facets == null || res == null) { | 41 if (facets == null || res == null) { |
39 return res; | 42 return res; |
40 } | 43 } |
41 | 44 |
45 String stateId = getID(); | |
46 | |
47 // TODO CREATE FACETS DEPENDING ON THE CALCULATION RESULT | |
48 newFacets.add(new BedDiameterFacet(0, BED_QUALITY_BED_DIAMETER, | |
49 "bed diameter", ComputeType.ADVANCE, stateId, hash)); | |
50 | |
51 newFacets.add(new BedloadDiameterFacet(0, BED_QUALITY_BEDLOAD_DIAMETER, | |
52 "bedload diameter", ComputeType.ADVANCE, stateId, hash)); | |
53 | |
54 newFacets.add(new BedPorosityFacet(0, BED_QUALITY_POROSITY, "porosity", | |
55 ComputeType.ADVANCE, stateId, hash)); | |
56 | |
57 newFacets.add(new BedDensityFacet(0, BED_QUALITY_SEDIMENT_DENSITY, | |
58 "density", ComputeType.ADVANCE, stateId, hash)); | |
59 | |
42 logger.debug("Created " + newFacets.size() + " new Facets."); | 60 logger.debug("Created " + newFacets.size() + " new Facets."); |
43 | |
44 facets.addAll(newFacets); | 61 facets.addAll(newFacets); |
45 | 62 |
46 return res; | 63 return res; |
47 } | 64 } |
48 } | 65 } |