comparison artifacts/src/main/java/org/dive4elements/river/artifacts/sinfo/collision/CollisionFacet.java @ 9215:0fc9c82e744e

work on collison, flood_duration
author gernotbelger
date Tue, 03 Jul 2018 17:00:48 +0200
parents 6393e05a9610
children
comparison
equal deleted inserted replaced
9214:091fd9676496 9215:0fc9c82e744e
19 import org.dive4elements.river.artifacts.D4EArtifact; 19 import org.dive4elements.river.artifacts.D4EArtifact;
20 import org.dive4elements.river.artifacts.common.DefaultCalculationResult; 20 import org.dive4elements.river.artifacts.common.DefaultCalculationResult;
21 import org.dive4elements.river.artifacts.common.GeneralResultType; 21 import org.dive4elements.river.artifacts.common.GeneralResultType;
22 import org.dive4elements.river.artifacts.common.ResultRow; 22 import org.dive4elements.river.artifacts.common.ResultRow;
23 import org.dive4elements.river.artifacts.model.BlackboardDataFacet; 23 import org.dive4elements.river.artifacts.model.BlackboardDataFacet;
24 import org.dive4elements.river.artifacts.model.FacetTypes;
25 import org.dive4elements.river.artifacts.sinfo.common.SInfoResultType; 24 import org.dive4elements.river.artifacts.sinfo.common.SInfoResultType;
26 import org.dive4elements.river.model.sinfo.Collision; 25 import org.dive4elements.river.model.sinfo.Collision;
27 import org.dive4elements.river.model.sinfo.CollisionAggregateValue; 26 import org.dive4elements.river.model.sinfo.CollisionAggregateValue;
28 27
29 /** 28 /**
30 * Facet for a river bed collision value series loaded from the database 29 * Facet for a river bed collision value series loaded from the database
31 * 30 *
32 * @author Matthias Schäfer 31 * @author Matthias Schäfer
33 */ 32 */
34 public class CollisionFacet extends BlackboardDataFacet implements FacetTypes { 33 public class CollisionFacet extends BlackboardDataFacet {
35 34
36 private static final long serialVersionUID = 1; 35 private static final long serialVersionUID = 1;
37 36
38 public CollisionFacet(final String name, final String description, final String yAxisLabel) { 37 public CollisionFacet(final int facetIndex, final String name, final String description, final String yAxisLabel) {
39 super(0, name, description); 38 super(facetIndex, name, description);
40 39
41 this.metaData.put("X", "chart.longitudinal.section.xaxis.label"); 40 this.metaData.put("X", "chart.longitudinal.section.xaxis.label");
42 this.metaData.put("Y", yAxisLabel); 41 this.metaData.put("Y", yAxisLabel);
43 } 42 }
44 43
59 final CollisionDbAccess access = new CollisionDbAccess((D4EArtifact) artifact); 58 final CollisionDbAccess access = new CollisionDbAccess((D4EArtifact) artifact);
60 final Collision series = Collision.getSeries(access.getId()); 59 final Collision series = Collision.getSeries(access.getId());
61 final List<CollisionAggregateValue> values = CollisionAggregateValue.getValuesByKm(series, access.getFrom(true), access.getTo(true)); 60 final List<CollisionAggregateValue> values = CollisionAggregateValue.getValuesByKm(series, access.getFrom(true), access.getTo(true));
62 final Collection<ResultRow> rows = new ArrayList<>(); 61 final Collection<ResultRow> rows = new ArrayList<>();
63 for (final CollisionAggregateValue value : values) { 62 for (final CollisionAggregateValue value : values) {
64 rows.add(ResultRow.create().putValue(GeneralResultType.station, value.getStation()) // 63
65 .putValue(SInfoResultType.collisionCount, value.getCount()).putValue(SInfoResultType.collisionGaugeW, value.getGaugeW())); 64 final ResultRow row = ResultRow.create();
65
66 row.putValue(GeneralResultType.station, value.getStation());
67 // Not needed: row.putValue(SInfoResultType.years, series.getYear());
68 row.putValue(SInfoResultType.collisionCount, value.getCount());
69 row.putValue(SInfoResultType.collisionGaugeW, value.getGaugeW());
70
71 rows.add(row);
66 } 72 }
67 return new DefaultCalculationResult(series.getFilename(), rows); 73 return new DefaultCalculationResult(series.getFilename(), rows);
68 } 74 }
69 75
70 /** 76 /**
72 * 78 *
73 * @return a deep copy. 79 * @return a deep copy.
74 */ 80 */
75 @Override 81 @Override
76 public CollisionFacet deepCopy() { 82 public CollisionFacet deepCopy() {
77 final CollisionFacet copy = new CollisionFacet(this.name, this.description, this.metaData.get("Y")); 83 final CollisionFacet copy = new CollisionFacet(this.index, this.name, this.description, this.metaData.get("Y"));
78 copy.set(this); 84 copy.set(this);
79 return copy; 85 return copy;
80 } 86 }
81 } 87 }

http://dive4elements.wald.intevation.org