Mercurial > dive4elements > river
comparison flys-artifacts/src/main/java/de/intevation/flys/artifacts/states/minfo/BedQualityState.java @ 3762:0c978a80726a
Splitted up facets for porosity and density into two facets: a toplayer and a sublayer facet for each. BedQualityState will now create facets based on the calculation result.
flys-artifacts/trunk@5464 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Ingo Weinzierl <ingo.weinzierl@intevation.de> |
---|---|
date | Fri, 14 Sep 2012 07:12:08 +0000 |
parents | 066e2b4d69ca |
children | d29cebf371ba |
comparison
equal
deleted
inserted
replaced
3761:066e2b4d69ca | 3762:0c978a80726a |
---|---|
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.CalculationResult; | 12 import de.intevation.flys.artifacts.model.CalculationResult; |
13 import de.intevation.flys.artifacts.model.FacetTypes; | 13 import de.intevation.flys.artifacts.model.FacetTypes; |
14 import de.intevation.flys.artifacts.model.minfo.BedBedQualityResult; | |
14 import de.intevation.flys.artifacts.model.minfo.BedDensityFacet; | 15 import de.intevation.flys.artifacts.model.minfo.BedDensityFacet; |
15 import de.intevation.flys.artifacts.model.minfo.BedDiameterFacet; | 16 import de.intevation.flys.artifacts.model.minfo.BedDiameterFacet; |
17 import de.intevation.flys.artifacts.model.minfo.BedLoadBedQualityResult; | |
16 import de.intevation.flys.artifacts.model.minfo.BedPorosityFacet; | 18 import de.intevation.flys.artifacts.model.minfo.BedPorosityFacet; |
17 import de.intevation.flys.artifacts.model.minfo.BedQualityCalculation; | 19 import de.intevation.flys.artifacts.model.minfo.BedQualityCalculation; |
20 import de.intevation.flys.artifacts.model.minfo.BedQualityResult; | |
18 import de.intevation.flys.artifacts.model.minfo.BedloadDiameterFacet; | 21 import de.intevation.flys.artifacts.model.minfo.BedloadDiameterFacet; |
19 import de.intevation.flys.artifacts.states.DefaultState; | 22 import de.intevation.flys.artifacts.states.DefaultState; |
20 | 23 |
21 | 24 |
22 public class BedQualityState extends DefaultState implements FacetTypes { | 25 public class BedQualityState extends DefaultState implements FacetTypes { |
40 | 43 |
41 if (facets == null || res == null) { | 44 if (facets == null || res == null) { |
42 return res; | 45 return res; |
43 } | 46 } |
44 | 47 |
45 String stateId = getID(); | 48 BedQualityResult[] results = (BedQualityResult[]) res.getData(); |
46 | 49 |
47 // TODO CREATE FACETS DEPENDING ON THE CALCULATION RESULT | 50 if (results == null || results.length == 0) { |
48 newFacets.add(new BedDiameterFacet(0, BED_QUALITY_BED_DIAMETER, | 51 logger.warn("Calculation computed no results!"); |
49 "bed diameter", ComputeType.ADVANCE, stateId, hash)); | 52 return res; |
53 } | |
50 | 54 |
51 newFacets.add(new BedloadDiameterFacet(0, BED_QUALITY_BEDLOAD_DIAMETER, | 55 generateFacets(newFacets, results, getID(), hash); |
52 "bedload diameter", ComputeType.ADVANCE, stateId, hash)); | 56 logger.debug("Created " + newFacets.size() + " new Facets."); |
53 | 57 |
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 | |
60 logger.debug("Created " + newFacets.size() + " new Facets."); | |
61 facets.addAll(newFacets); | 58 facets.addAll(newFacets); |
62 | 59 |
63 return res; | 60 return res; |
64 } | 61 } |
62 | |
63 protected void generateFacets(List<Facet> newFacets, | |
64 BedQualityResult[] results, String stateId, String hash) { | |
65 logger.debug("BedQualityState.generateFacets"); | |
66 | |
67 for (int idx = 0; idx < results.length; idx++) { | |
68 BedQualityResult result = results[idx]; | |
69 | |
70 if (result instanceof BedBedQualityResult) { | |
71 // TODO I18N for Facet description | |
72 newFacets.add(new BedPorosityFacet(idx, | |
73 BED_QUALITY_POROSITY_TOPLAYER, "porosity_toplayer", | |
74 ComputeType.ADVANCE, stateId, hash)); | |
75 | |
76 // TODO I18N for Facet description | |
77 newFacets.add(new BedPorosityFacet(idx, | |
78 BED_QUALITY_POROSITY_SUBLAYER, "porosity_sublayer", | |
79 ComputeType.ADVANCE, stateId, hash)); | |
80 | |
81 // TODO I18N for Facet description | |
82 newFacets.add(new BedDensityFacet(idx, | |
83 BED_QUALITY_SEDIMENT_DENSITY_TOPLAYER, "density_toplayer", | |
84 ComputeType.ADVANCE, stateId, hash)); | |
85 | |
86 // TODO I18N for Facet description | |
87 newFacets.add(new BedDensityFacet(idx, | |
88 BED_QUALITY_SEDIMENT_DENSITY_SUBLAYER, "density_sublayer", | |
89 ComputeType.ADVANCE, stateId, hash)); | |
90 | |
91 // TODO I18N for Facet description | |
92 newFacets.add(new BedloadDiameterFacet(idx, | |
93 BED_QUALITY_BEDLOAD_DIAMETER, "bed diameter", | |
94 ComputeType.ADVANCE, stateId, hash)); | |
95 } | |
96 else if (result instanceof BedLoadBedQualityResult) { | |
97 // TODO CREATE FACETS DEPENDING ON THE CALCULATION RESULT | |
98 newFacets.add(new BedDiameterFacet(idx, BED_QUALITY_BED_DIAMETER, | |
99 "bedload diameter", ComputeType.ADVANCE, stateId, hash)); | |
100 } | |
101 else { | |
102 logger.warn("unknown result object: " + result.getClass()); | |
103 } | |
104 } | |
105 } | |
65 } | 106 } |
66 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 : | 107 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 : |