annotate artifacts/src/main/java/org/dive4elements/river/artifacts/model/minfo/SedimentLoadDataResult.java @ 8146:ce35bdf3d750

Let the facet know the period of it's data.
author Tom Gottfried <tom@intevation.de>
date Wed, 27 Aug 2014 15:09:45 +0200
parents 58e3fed51e9e
children 4b2b7593815c
rev   line source
8062
8489565ff563 Sedimen load: Added bundle for fraction results.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff changeset
1 /* Copyright (C) 2016 by Bundesanstalt für Gewässerkunde
8489565ff563 Sedimen load: Added bundle for fraction results.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff changeset
2 * Software engineering by Intevation GmbH
8489565ff563 Sedimen load: Added bundle for fraction results.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff changeset
3 *
8489565ff563 Sedimen load: Added bundle for fraction results.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff changeset
4 * This file is Free Software under the GNU AGPL (>=v3)
8489565ff563 Sedimen load: Added bundle for fraction results.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff changeset
5 * and comes with ABSOLUTELY NO WARRANTY! Check out the
8489565ff563 Sedimen load: Added bundle for fraction results.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff changeset
6 * documentation coming with Dive4Elements River for details.
8489565ff563 Sedimen load: Added bundle for fraction results.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff changeset
7 */
8489565ff563 Sedimen load: Added bundle for fraction results.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff changeset
8 package org.dive4elements.river.artifacts.model.minfo;
8489565ff563 Sedimen load: Added bundle for fraction results.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff changeset
9
8489565ff563 Sedimen load: Added bundle for fraction results.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff changeset
10 import java.io.Serializable;
8489565ff563 Sedimen load: Added bundle for fraction results.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff changeset
11 import java.util.ArrayList;
8489565ff563 Sedimen load: Added bundle for fraction results.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff changeset
12 import java.util.List;
8489565ff563 Sedimen load: Added bundle for fraction results.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff changeset
13
8489565ff563 Sedimen load: Added bundle for fraction results.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff changeset
14 public class SedimentLoadDataResult
8489565ff563 Sedimen load: Added bundle for fraction results.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff changeset
15 implements Serializable
8489565ff563 Sedimen load: Added bundle for fraction results.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff changeset
16 {
8489565ff563 Sedimen load: Added bundle for fraction results.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff changeset
17
8489565ff563 Sedimen load: Added bundle for fraction results.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff changeset
18 public static class Fraction implements Serializable {
8489565ff563 Sedimen load: Added bundle for fraction results.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff changeset
19 private String name;
8131
fae48b3c09d1 Add period to sedimentloaddataresult fraction
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8125
diff changeset
20 /* Period is the validity of the result. It is either a single
fae48b3c09d1 Add period to sedimentloaddataresult fraction
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8125
diff changeset
21 * year or a range of years (epoch). As this is only used for
fae48b3c09d1 Add period to sedimentloaddataresult fraction
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8125
diff changeset
22 * presentation purposes the type is a string so that years
fae48b3c09d1 Add period to sedimentloaddataresult fraction
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8125
diff changeset
23 * and epochs need not be handled differently.*/
fae48b3c09d1 Add period to sedimentloaddataresult fraction
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8125
diff changeset
24 private String period;
8062
8489565ff563 Sedimen load: Added bundle for fraction results.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff changeset
25 private double [][] data;
8489565ff563 Sedimen load: Added bundle for fraction results.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff changeset
26
8489565ff563 Sedimen load: Added bundle for fraction results.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff changeset
27 public Fraction() {
8489565ff563 Sedimen load: Added bundle for fraction results.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff changeset
28 }
8489565ff563 Sedimen load: Added bundle for fraction results.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff changeset
29
8131
fae48b3c09d1 Add period to sedimentloaddataresult fraction
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8125
diff changeset
30 public Fraction(String name, double [][] data, String period) {
8062
8489565ff563 Sedimen load: Added bundle for fraction results.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff changeset
31 this.name = name;
8489565ff563 Sedimen load: Added bundle for fraction results.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff changeset
32 this.data = data;
8131
fae48b3c09d1 Add period to sedimentloaddataresult fraction
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8125
diff changeset
33 this.period = period;
8062
8489565ff563 Sedimen load: Added bundle for fraction results.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff changeset
34 }
8489565ff563 Sedimen load: Added bundle for fraction results.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff changeset
35
8489565ff563 Sedimen load: Added bundle for fraction results.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff changeset
36 public String getName() {
8489565ff563 Sedimen load: Added bundle for fraction results.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff changeset
37 return name;
8489565ff563 Sedimen load: Added bundle for fraction results.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff changeset
38 }
8489565ff563 Sedimen load: Added bundle for fraction results.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff changeset
39
8489565ff563 Sedimen load: Added bundle for fraction results.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff changeset
40 public void setName(String name) {
8489565ff563 Sedimen load: Added bundle for fraction results.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff changeset
41 this.name = name;
8489565ff563 Sedimen load: Added bundle for fraction results.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff changeset
42 }
8489565ff563 Sedimen load: Added bundle for fraction results.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff changeset
43
8489565ff563 Sedimen load: Added bundle for fraction results.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff changeset
44 public double [][] getData() {
8489565ff563 Sedimen load: Added bundle for fraction results.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff changeset
45 return data;
8489565ff563 Sedimen load: Added bundle for fraction results.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff changeset
46 }
8489565ff563 Sedimen load: Added bundle for fraction results.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff changeset
47
8489565ff563 Sedimen load: Added bundle for fraction results.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff changeset
48 public void setData(double [][] data) {
8489565ff563 Sedimen load: Added bundle for fraction results.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff changeset
49 this.data = data;
8489565ff563 Sedimen load: Added bundle for fraction results.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff changeset
50 }
8489565ff563 Sedimen load: Added bundle for fraction results.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff changeset
51
8131
fae48b3c09d1 Add period to sedimentloaddataresult fraction
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8125
diff changeset
52 public void setPeriod(String period) {
fae48b3c09d1 Add period to sedimentloaddataresult fraction
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8125
diff changeset
53 this.period = period;
8125
f01c65261963 (issue1448) Add WIP SedimentLoadDataFacet and use it in calculation.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8062
diff changeset
54 }
f01c65261963 (issue1448) Add WIP SedimentLoadDataFacet and use it in calculation.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8062
diff changeset
55
8131
fae48b3c09d1 Add period to sedimentloaddataresult fraction
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8125
diff changeset
56 public String getPeriod() {
fae48b3c09d1 Add period to sedimentloaddataresult fraction
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8125
diff changeset
57 return period;
8125
f01c65261963 (issue1448) Add WIP SedimentLoadDataFacet and use it in calculation.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8062
diff changeset
58 }
f01c65261963 (issue1448) Add WIP SedimentLoadDataFacet and use it in calculation.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8062
diff changeset
59
8062
8489565ff563 Sedimen load: Added bundle for fraction results.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff changeset
60 } // class Fraction
8489565ff563 Sedimen load: Added bundle for fraction results.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff changeset
61
8489565ff563 Sedimen load: Added bundle for fraction results.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff changeset
62 private List<Fraction> fractions;
8489565ff563 Sedimen load: Added bundle for fraction results.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff changeset
63
8489565ff563 Sedimen load: Added bundle for fraction results.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff changeset
64 public SedimentLoadDataResult() {
8489565ff563 Sedimen load: Added bundle for fraction results.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff changeset
65 fractions = new ArrayList<Fraction>();
8489565ff563 Sedimen load: Added bundle for fraction results.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff changeset
66 }
8489565ff563 Sedimen load: Added bundle for fraction results.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff changeset
67
8489565ff563 Sedimen load: Added bundle for fraction results.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff changeset
68 public void addFraction(Fraction fraction) {
8489565ff563 Sedimen load: Added bundle for fraction results.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff changeset
69 fractions.add(fraction);
8489565ff563 Sedimen load: Added bundle for fraction results.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff changeset
70 }
8489565ff563 Sedimen load: Added bundle for fraction results.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff changeset
71
8489565ff563 Sedimen load: Added bundle for fraction results.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff changeset
72 public List<Fraction> getFractions() {
8489565ff563 Sedimen load: Added bundle for fraction results.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff changeset
73 return fractions;
8489565ff563 Sedimen load: Added bundle for fraction results.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff changeset
74 }
8489565ff563 Sedimen load: Added bundle for fraction results.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff changeset
75
8132
58e3fed51e9e GetFractionByName now returns a list as it can differ in Epochs
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8131
diff changeset
76 public List<Fraction> getFractionsByName(String name) {
58e3fed51e9e GetFractionByName now returns a list as it can differ in Epochs
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8131
diff changeset
77 List<Fraction> result = new ArrayList<Fraction>();
8062
8489565ff563 Sedimen load: Added bundle for fraction results.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff changeset
78 for (Fraction fraction: fractions) {
8489565ff563 Sedimen load: Added bundle for fraction results.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff changeset
79 if (fraction.getName().equals(name)) {
8132
58e3fed51e9e GetFractionByName now returns a list as it can differ in Epochs
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8131
diff changeset
80 result.add(fraction);
8062
8489565ff563 Sedimen load: Added bundle for fraction results.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff changeset
81 }
8489565ff563 Sedimen load: Added bundle for fraction results.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff changeset
82 }
8132
58e3fed51e9e GetFractionByName now returns a list as it can differ in Epochs
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8131
diff changeset
83 return result.isEmpty() ? null : result;
8062
8489565ff563 Sedimen load: Added bundle for fraction results.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff changeset
84 }
8146
ce35bdf3d750 Let the facet know the period of it's data.
Tom Gottfried <tom@intevation.de>
parents: 8132
diff changeset
85
ce35bdf3d750 Let the facet know the period of it's data.
Tom Gottfried <tom@intevation.de>
parents: 8132
diff changeset
86 public List<Fraction> getFractionsByNameAndPeriod(
ce35bdf3d750 Let the facet know the period of it's data.
Tom Gottfried <tom@intevation.de>
parents: 8132
diff changeset
87 String name,
ce35bdf3d750 Let the facet know the period of it's data.
Tom Gottfried <tom@intevation.de>
parents: 8132
diff changeset
88 String period
ce35bdf3d750 Let the facet know the period of it's data.
Tom Gottfried <tom@intevation.de>
parents: 8132
diff changeset
89 ) {
ce35bdf3d750 Let the facet know the period of it's data.
Tom Gottfried <tom@intevation.de>
parents: 8132
diff changeset
90 List<Fraction> result = new ArrayList<Fraction>();
ce35bdf3d750 Let the facet know the period of it's data.
Tom Gottfried <tom@intevation.de>
parents: 8132
diff changeset
91 for (Fraction fraction: fractions) {
ce35bdf3d750 Let the facet know the period of it's data.
Tom Gottfried <tom@intevation.de>
parents: 8132
diff changeset
92 if (fraction.getName().equals(name) &&
ce35bdf3d750 Let the facet know the period of it's data.
Tom Gottfried <tom@intevation.de>
parents: 8132
diff changeset
93 fraction.getPeriod().equals(period)) {
ce35bdf3d750 Let the facet know the period of it's data.
Tom Gottfried <tom@intevation.de>
parents: 8132
diff changeset
94 result.add(fraction);
ce35bdf3d750 Let the facet know the period of it's data.
Tom Gottfried <tom@intevation.de>
parents: 8132
diff changeset
95 }
ce35bdf3d750 Let the facet know the period of it's data.
Tom Gottfried <tom@intevation.de>
parents: 8132
diff changeset
96 }
ce35bdf3d750 Let the facet know the period of it's data.
Tom Gottfried <tom@intevation.de>
parents: 8132
diff changeset
97 return result.isEmpty() ? null : result;
ce35bdf3d750 Let the facet know the period of it's data.
Tom Gottfried <tom@intevation.de>
parents: 8132
diff changeset
98 }
8062
8489565ff563 Sedimen load: Added bundle for fraction results.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff changeset
99 }
8489565ff563 Sedimen load: Added bundle for fraction results.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff changeset
100 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf-8 :

http://dive4elements.wald.intevation.org