comparison flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/minfo/BedQualityResult.java @ 3867:d8c99ff18db8

Refactor MINFO bed quality resultsets and facets. flys-artifacts/trunk@5498 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Raimund Renkert <raimund.renkert@intevation.de>
date Mon, 17 Sep 2012 14:38:47 +0000
parents 5a8f8fd5310c
children 44e68dc1d87e
comparison
equal deleted inserted replaced
3866:2e83ed94c513 3867:d8c99ff18db8
1 package de.intevation.flys.artifacts.model.minfo; 1 package de.intevation.flys.artifacts.model.minfo;
2
3 import java.io.Serializable;
4 import java.util.LinkedList;
5 import java.util.List;
6
7 import de.intevation.flys.artifacts.model.DateRange;
2 8
3 import gnu.trove.TDoubleArrayList; 9 import gnu.trove.TDoubleArrayList;
4 10
5 import java.io.Serializable; 11 public class BedQualityResult
12 implements Serializable
13 {
6 14
7 import de.intevation.flys.artifacts.model.DateRange; 15 protected List<BedDiameterResult> bedResults;
16 protected List<BedloadDiameterResult> bedloadResults;
17 protected List<BedParametersResult> bedParameters;
18 protected DateRange dateRange;
8 19
9 public class BedQualityResult implements Serializable { 20 public BedQualityResult () {
21 bedResults = new LinkedList<BedDiameterResult>();
22 bedloadResults = new LinkedList<BedloadDiameterResult>();
23 bedParameters = new LinkedList<BedParametersResult>();
24 };
10 25
11 public static enum DIAMETER_TYPE { 26 public BedQualityResult (
12 D90, 27 List<BedDiameterResult> bedResults,
13 D84, 28 List<BedloadDiameterResult> bedloadResults,
14 D80, 29 List<BedParametersResult> bedParameters,
15 D75, 30 DateRange range
16 D70, 31 ) {
17 D60, 32 this.dateRange = range;
18 D50, 33 this.bedResults = bedResults;
19 D40, 34 this.bedloadResults = bedloadResults;
20 D30, 35 this.bedParameters = bedParameters;
21 D25,
22 D20,
23 D16,
24 D10,
25 DMIN,
26 DMAX
27 } 36 }
28 37
29 protected DIAMETER_TYPE type; 38 public BedParametersResult[] getParameters() {
30 protected TDoubleArrayList diameter; 39 return bedParameters.toArray(
31 protected TDoubleArrayList kms; 40 new BedParametersResult[bedParameters.size()]);
32 protected DateRange dateRange;
33 protected boolean empty;
34
35 public BedQualityResult () {
36 empty = true;
37 } 41 }
38 42
39 public BedQualityResult ( 43 public BedDiameterResult[] getBedResults() {
40 String type, 44 return bedResults.toArray(new BedDiameterResult[bedResults.size()]);
41 TDoubleArrayList diameter,
42 TDoubleArrayList km,
43 DateRange range
44 ) {
45 if (km.size() > 0) {
46 empty = false;
47 }
48 this.type = DIAMETER_TYPE.valueOf(type.toUpperCase());
49 this.diameter = diameter;
50 this.kms = km;
51 this.dateRange = range;
52 } 45 }
53 46
54 public DIAMETER_TYPE getType() { 47 public BedloadDiameterResult[] getBedloadResults() {
55 return this.type; 48 return bedloadResults.toArray(
49 new BedloadDiameterResult[bedloadResults.size()]);
56 } 50 }
57 51
58 public TDoubleArrayList getKms() { 52 public void add(BedloadDiameterResult result) {
59 return this.kms; 53 bedloadResults.add(result);
60 } 54 }
61 55
62 public double getDiameter(int ndx) { 56 public void add(BedDiameterResult result) {
63 if (diameter != null) { 57 bedResults.add(result);
64 return this.diameter.get(ndx); 58 }
65 } 59
66 return Double.NaN; 60 public void add(BedParametersResult result) {
61 bedParameters.add(result);
67 } 62 }
68 63
69 public DateRange getDateRange() { 64 public DateRange getDateRange() {
70 return this.dateRange; 65 return dateRange;
71 }
72
73 public void setType(DIAMETER_TYPE type) {
74 this.type = type;
75 }
76
77 public boolean isEmpty() {
78 return empty;
79 }
80
81 public double[][] getDiameterData() {
82 return new double[][] {
83 kms.toNativeArray(),
84 diameter.toNativeArray()
85 };
86 } 66 }
87 } 67 }

http://dive4elements.wald.intevation.org