Mercurial > dive4elements > river
comparison flys-artifacts/src/main/java/de/intevation/flys/artifacts/states/minfo/BedQualityState.java @ 3767:b4ad8dafe584
Created i18n descriptions for facets in bed quality calculation.
flys-artifacts/trunk@5470 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Ingo Weinzierl <ingo.weinzierl@intevation.de> |
---|---|
date | Fri, 14 Sep 2012 13:53:16 +0000 |
parents | d29cebf371ba |
children | 5a8f8fd5310c |
comparison
equal
deleted
inserted
replaced
3766:d29cebf371ba | 3767:b4ad8dafe584 |
---|---|
1 package de.intevation.flys.artifacts.states.minfo; | 1 package de.intevation.flys.artifacts.states.minfo; |
2 | 2 |
3 import java.util.ArrayList; | 3 import java.util.ArrayList; |
4 import java.util.Date; | |
4 import java.util.List; | 5 import java.util.List; |
5 | 6 |
6 import org.apache.log4j.Logger; | 7 import org.apache.log4j.Logger; |
7 | 8 |
8 import de.intevation.artifactdatabase.state.Facet; | 9 import de.intevation.artifactdatabase.state.Facet; |
9 import de.intevation.artifacts.CallContext; | 10 import de.intevation.artifacts.CallContext; |
11 import de.intevation.artifacts.CallMeta; | |
10 import de.intevation.flys.artifacts.FLYSArtifact; | 12 import de.intevation.flys.artifacts.FLYSArtifact; |
11 import de.intevation.flys.artifacts.access.BedQualityAccess; | 13 import de.intevation.flys.artifacts.access.BedQualityAccess; |
12 import de.intevation.flys.artifacts.model.CalculationResult; | 14 import de.intevation.flys.artifacts.model.CalculationResult; |
15 import de.intevation.flys.artifacts.model.DateRange; | |
13 import de.intevation.flys.artifacts.model.FacetTypes; | 16 import de.intevation.flys.artifacts.model.FacetTypes; |
14 import de.intevation.flys.artifacts.model.minfo.BedBedQualityResult; | 17 import de.intevation.flys.artifacts.model.minfo.BedBedQualityResult; |
15 import de.intevation.flys.artifacts.model.minfo.BedDensityFacet; | 18 import de.intevation.flys.artifacts.model.minfo.BedDensityFacet; |
16 import de.intevation.flys.artifacts.model.minfo.BedDiameterFacet; | 19 import de.intevation.flys.artifacts.model.minfo.BedDiameterFacet; |
17 import de.intevation.flys.artifacts.model.minfo.BedLoadBedQualityResult; | 20 import de.intevation.flys.artifacts.model.minfo.BedLoadBedQualityResult; |
18 import de.intevation.flys.artifacts.model.minfo.BedPorosityFacet; | 21 import de.intevation.flys.artifacts.model.minfo.BedPorosityFacet; |
19 import de.intevation.flys.artifacts.model.minfo.BedQualityCalculation; | 22 import de.intevation.flys.artifacts.model.minfo.BedQualityCalculation; |
20 import de.intevation.flys.artifacts.model.minfo.BedQualityResult; | 23 import de.intevation.flys.artifacts.model.minfo.BedQualityResult; |
21 import de.intevation.flys.artifacts.model.minfo.BedloadDiameterFacet; | 24 import de.intevation.flys.artifacts.model.minfo.BedloadDiameterFacet; |
25 import de.intevation.flys.artifacts.resources.Resources; | |
22 import de.intevation.flys.artifacts.states.DefaultState; | 26 import de.intevation.flys.artifacts.states.DefaultState; |
23 | 27 |
24 | 28 |
25 public class BedQualityState extends DefaultState implements FacetTypes { | 29 public class BedQualityState extends DefaultState implements FacetTypes { |
26 | 30 |
27 private static final long serialVersionUID = 1L; | 31 private static final long serialVersionUID = 1L; |
28 | 32 |
29 private static final Logger logger = Logger | 33 private static final Logger logger = Logger |
30 .getLogger(BedQualityState.class); | 34 .getLogger(BedQualityState.class); |
35 | |
36 public static final String I18N_TOPLAYER = "bedquality.toplayer"; | |
37 public static final String I18N_SUBLAYER = "bedquality.sublayer"; | |
38 | |
39 public static final String I18N_FACET_BED_POROSITY_TOPLAYER = "facet.bedquality.bed.porosity.toplayer"; | |
40 public static final String I18N_FACET_BED_POROSITY_SUBLAYER = "facet.bedquality.bed.porosity.sublayer"; | |
41 public static final String I18N_FACET_BED_DENSITY_TOPLAYER = "facet.bedquality.bed.density.toplayer"; | |
42 public static final String I18N_FACET_BED_DENSITY_SUBLAYER = "facet.bedquality.bed.density.sublayer"; | |
43 public static final String I18N_FACET_BED_DIAMETER_TOPLAYER = "facet.bedquality.bed.diameter.toplayer"; | |
44 public static final String I18N_FACET_BED_DIAMETER_SUBLAYER = "facet.bedquality.bed.diameter.sublayer"; | |
45 public static final String I18N_FACET_BEDLOAD_DIAMETER = "facet.bedquality.bedload.diameter"; | |
31 | 46 |
32 @Override | 47 @Override |
33 public Object computeAdvance(FLYSArtifact artifact, String hash, | 48 public Object computeAdvance(FLYSArtifact artifact, String hash, |
34 CallContext context, List<Facet> facets, Object old) { | 49 CallContext context, List<Facet> facets, Object old) { |
35 logger.debug("BedQualityState.computeAdvance"); | 50 logger.debug("BedQualityState.computeAdvance"); |
50 if (results == null || results.length == 0) { | 65 if (results == null || results.length == 0) { |
51 logger.warn("Calculation computed no results!"); | 66 logger.warn("Calculation computed no results!"); |
52 return res; | 67 return res; |
53 } | 68 } |
54 | 69 |
55 generateFacets(newFacets, results, getID(), hash); | 70 generateFacets(context, newFacets, results, getID(), hash); |
56 logger.debug("Created " + newFacets.size() + " new Facets."); | 71 logger.debug("Created " + newFacets.size() + " new Facets."); |
57 | 72 |
58 facets.addAll(newFacets); | 73 facets.addAll(newFacets); |
59 | 74 |
60 return res; | 75 return res; |
61 } | 76 } |
62 | 77 |
63 protected void generateFacets(List<Facet> newFacets, | 78 protected void generateFacets(CallContext context, List<Facet> newFacets, |
64 BedQualityResult[] results, String stateId, String hash) { | 79 BedQualityResult[] results, String stateId, String hash) { |
65 logger.debug("BedQualityState.generateFacets"); | 80 logger.debug("BedQualityState.generateFacets"); |
66 | 81 |
82 CallMeta meta = context.getMeta(); | |
83 | |
67 for (int idx = 0; idx < results.length; idx++) { | 84 for (int idx = 0; idx < results.length; idx++) { |
68 BedQualityResult result = results[idx]; | 85 BedQualityResult result = results[idx]; |
69 | 86 |
70 if (result instanceof BedBedQualityResult) { | 87 if (result instanceof BedBedQualityResult) { |
71 // TODO I18N for Facet description | 88 BedBedQualityResult data = (BedBedQualityResult) result; |
72 newFacets.add(new BedPorosityFacet(idx, | 89 newFacets.add(new BedPorosityFacet(idx, |
73 BED_QUALITY_POROSITY_TOPLAYER, "porosity_toplayer", | 90 BED_QUALITY_POROSITY_TOPLAYER, |
74 ComputeType.ADVANCE, stateId, hash)); | 91 createPorosityTopLayerDescription(meta, data), |
75 | 92 ComputeType.ADVANCE, stateId, hash)); |
76 // TODO I18N for Facet description | 93 |
77 newFacets.add(new BedPorosityFacet(idx, | 94 newFacets.add(new BedPorosityFacet(idx, |
78 BED_QUALITY_POROSITY_SUBLAYER, "porosity_sublayer", | 95 BED_QUALITY_POROSITY_SUBLAYER, |
79 ComputeType.ADVANCE, stateId, hash)); | 96 createPorositySubLayerDescription(meta, data), |
80 | 97 ComputeType.ADVANCE, stateId, hash)); |
81 // TODO I18N for Facet description | 98 |
82 newFacets.add(new BedDensityFacet(idx, | 99 newFacets.add(new BedDensityFacet(idx, |
83 BED_QUALITY_SEDIMENT_DENSITY_TOPLAYER, "density_toplayer", | 100 BED_QUALITY_SEDIMENT_DENSITY_TOPLAYER, |
84 ComputeType.ADVANCE, stateId, hash)); | 101 createDensityTopLayerDescription(meta, data), |
85 | 102 ComputeType.ADVANCE, stateId, hash)); |
86 // TODO I18N for Facet description | 103 |
87 newFacets.add(new BedDensityFacet(idx, | 104 newFacets.add(new BedDensityFacet(idx, |
88 BED_QUALITY_SEDIMENT_DENSITY_SUBLAYER, "density_sublayer", | 105 BED_QUALITY_SEDIMENT_DENSITY_SUBLAYER, |
89 ComputeType.ADVANCE, stateId, hash)); | 106 createDensitySubLayerDescription(meta, data), |
90 | 107 ComputeType.ADVANCE, stateId, hash)); |
91 // TODO I18N for Facet description | 108 |
92 newFacets.add(new BedloadDiameterFacet(idx, | 109 newFacets.add(new BedloadDiameterFacet(idx, |
93 BED_QUALITY_BED_DIAMETER_TOPLAYER, "bed diameter_toplayer", | 110 BED_QUALITY_BED_DIAMETER_TOPLAYER, |
94 ComputeType.ADVANCE, stateId, hash)); | 111 createDiameterTopLayerDescription(meta, data), |
95 | 112 ComputeType.ADVANCE, stateId, hash)); |
96 // TODO I18N for Facet description | 113 |
97 newFacets.add(new BedloadDiameterFacet(idx, | 114 newFacets.add(new BedloadDiameterFacet(idx, |
98 BED_QUALITY_BED_DIAMETER_SUBLAYER, "bed diameter_sublayer", | 115 BED_QUALITY_BED_DIAMETER_SUBLAYER, |
116 createDiameterSubLayerDescription(meta, data), | |
99 ComputeType.ADVANCE, stateId, hash)); | 117 ComputeType.ADVANCE, stateId, hash)); |
100 } | 118 } |
101 else if (result instanceof BedLoadBedQualityResult) { | 119 else if (result instanceof BedLoadBedQualityResult) { |
102 // TODO I18N for Facet description | 120 newFacets.add(new BedDiameterFacet(idx, |
103 newFacets.add(new BedDiameterFacet(idx, BED_QUALITY_BEDLOAD_DIAMETER, | 121 BED_QUALITY_BEDLOAD_DIAMETER, createDiameterDescription( |
104 "bedload diameter", ComputeType.ADVANCE, stateId, hash)); | 122 meta, result), ComputeType.ADVANCE, stateId, hash)); |
105 } | 123 } |
106 else { | 124 else { |
107 logger.warn("unknown result object: " + result.getClass()); | 125 logger.warn("unknown result object: " + result.getClass()); |
108 } | 126 } |
109 } | 127 } |
110 } | 128 } |
129 | |
130 protected String createPorosityTopLayerDescription(CallMeta meta, | |
131 BedBedQualityResult result) { | |
132 DateRange range = result.getDateRange(); | |
133 Date from = range != null ? range.getFrom() : new Date(); | |
134 Date to = range != null ? range.getTo() : new Date(); | |
135 | |
136 String toplayer = Resources.getMsg(meta, I18N_TOPLAYER, I18N_TOPLAYER); | |
137 return Resources.getMsg(meta, I18N_FACET_BED_POROSITY_TOPLAYER, | |
138 I18N_FACET_BED_POROSITY_TOPLAYER, new Object[] { from, to, toplayer }); | |
139 } | |
140 | |
141 protected String createPorositySubLayerDescription(CallMeta meta, | |
142 BedBedQualityResult result) { | |
143 DateRange range = result.getDateRange(); | |
144 Date from = range != null ? range.getFrom() : new Date(); | |
145 Date to = range != null ? range.getTo() : new Date(); | |
146 | |
147 String sublayer = Resources.getMsg(meta, I18N_SUBLAYER, I18N_SUBLAYER); | |
148 return Resources.getMsg(meta, I18N_FACET_BED_POROSITY_SUBLAYER, | |
149 I18N_FACET_BED_POROSITY_SUBLAYER, new Object[] { from, to, sublayer }); | |
150 } | |
151 | |
152 protected String createDensityTopLayerDescription(CallMeta meta, | |
153 BedBedQualityResult result) { | |
154 DateRange range = result.getDateRange(); | |
155 Date from = range != null ? range.getFrom() : new Date(); | |
156 Date to = range != null ? range.getTo() : new Date(); | |
157 | |
158 String toplayer = Resources.getMsg(meta, I18N_TOPLAYER, I18N_TOPLAYER); | |
159 return Resources.getMsg(meta, I18N_FACET_BED_DENSITY_TOPLAYER, | |
160 I18N_FACET_BED_DENSITY_TOPLAYER, new Object[] { from, to, toplayer }); | |
161 } | |
162 | |
163 protected String createDensitySubLayerDescription(CallMeta meta, | |
164 BedBedQualityResult result) { | |
165 DateRange range = result.getDateRange(); | |
166 Date from = range != null ? range.getFrom() : new Date(); | |
167 Date to = range != null ? range.getTo() : new Date(); | |
168 | |
169 String sublayer = Resources.getMsg(meta, I18N_SUBLAYER, I18N_SUBLAYER); | |
170 return Resources.getMsg(meta, I18N_FACET_BED_DENSITY_SUBLAYER, | |
171 I18N_FACET_BED_DENSITY_SUBLAYER, new Object[] { from, to, sublayer }); | |
172 } | |
173 | |
174 protected String createDiameterTopLayerDescription(CallMeta meta, | |
175 BedBedQualityResult result) { | |
176 DateRange range = result.getDateRange(); | |
177 Date from = range != null ? range.getFrom() : new Date(); | |
178 Date to = range != null ? range.getTo() : new Date(); | |
179 | |
180 String toplayer = Resources.getMsg(meta, I18N_TOPLAYER, I18N_TOPLAYER); | |
181 | |
182 return Resources.getMsg(meta, I18N_FACET_BED_DIAMETER_TOPLAYER, | |
183 I18N_FACET_BED_DIAMETER_TOPLAYER, new Object[] { result.getType(), | |
184 from, to, toplayer }); | |
185 } | |
186 | |
187 protected String createDiameterSubLayerDescription(CallMeta meta, | |
188 BedBedQualityResult result) { | |
189 DateRange range = result.getDateRange(); | |
190 Date from = range != null ? range.getFrom() : new Date(); | |
191 Date to = range != null ? range.getTo() : new Date(); | |
192 | |
193 String sublayer = Resources.getMsg(meta, I18N_SUBLAYER, I18N_SUBLAYER); | |
194 return Resources.getMsg(meta, I18N_FACET_BED_DIAMETER_SUBLAYER, | |
195 I18N_FACET_BED_DIAMETER_SUBLAYER, new Object[] { result.getType(), | |
196 from, to, sublayer }); | |
197 } | |
198 | |
199 protected String createDiameterDescription(CallMeta meta, | |
200 BedQualityResult result) { | |
201 return Resources.getMsg(meta, I18N_FACET_BEDLOAD_DIAMETER, | |
202 I18N_FACET_BEDLOAD_DIAMETER, new Object[] { result.getType() }); | |
203 } | |
111 } | 204 } |
112 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 : | 205 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 : |