Mercurial > dive4elements > river
annotate artifacts/src/main/java/org/dive4elements/river/artifacts/model/minfo/SedimentLoadDataResult.java @ 8293:301a32bd7045 3.1.6
Though not yet part of the calculation, suspended load has to be optionally loadable through datacage.
author | "Tom Gottfried <tom@intevation.de>" |
---|---|
date | Wed, 17 Sep 2014 19:28:39 +0200 |
parents | 4b2b7593815c |
children |
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 |
8062
8489565ff563
Sedimen load: Added bundle for fraction results.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff
changeset
|
86 } |
8489565ff563
Sedimen load: Added bundle for fraction results.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff
changeset
|
87 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf-8 : |