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 }

http://dive4elements.wald.intevation.org