comparison artifacts/src/main/java/org/dive4elements/river/artifacts/model/fixings/FixResult.java @ 9348:a3f318347707

Show wq outliers within same thems with different symbol: not ready yet
author gernotbelger
date Tue, 31 Jul 2018 11:25:38 +0200
parents 8efef772a488
children ddcd52d239cd
comparison
equal deleted inserted replaced
9344:c08003a68478 9348:a3f318347707
14 import org.dive4elements.river.utils.KMIndex; 14 import org.dive4elements.river.utils.KMIndex;
15 15
16 import java.io.Serializable; 16 import java.io.Serializable;
17 import java.util.Collection; 17 import java.util.Collection;
18 import java.util.Date; 18 import java.util.Date;
19 import java.util.Set;
19 import java.util.TreeMap; 20 import java.util.TreeMap;
20 import java.util.TreeSet; 21 import java.util.TreeSet;
21 22
22 public class FixResult 23 public class FixResult
23 implements Serializable 24 implements Serializable
25 private static Logger log = 26 private static Logger log =
26 Logger.getLogger(FixResult.class); 27 Logger.getLogger(FixResult.class);
27 28
28 protected Parameters parameters; 29 protected Parameters parameters;
29 protected KMIndex<QWD []> referenced; 30 protected KMIndex<QWD []> referenced;
30 protected KMIndex<QWI []> outliers; 31 protected KMIndex<QWD []> outliers;
31 32
32 public FixResult() { 33 public FixResult() {
33 } 34 }
34 35
35 public FixResult( 36 public FixResult(
36 Parameters parameters, 37 Parameters parameters,
37 KMIndex<QWD []> referenced, 38 KMIndex<QWD []> referenced,
38 KMIndex<QWI []> outliers 39 KMIndex<QWD []> outliers
39 ) { 40 ) {
40 this.parameters = parameters; 41 this.parameters = parameters;
41 this.referenced = referenced; 42 this.referenced = referenced;
42 this.outliers = outliers; 43 this.outliers = outliers;
43 } 44 }
49 public void setReferenced(KMIndex<QWD []> referenced) { 50 public void setReferenced(KMIndex<QWD []> referenced) {
50 this.referenced = referenced; 51 this.referenced = referenced;
51 } 52 }
52 53
53 public void makeReferenceEventsDatesUnique() { 54 public void makeReferenceEventsDatesUnique() {
54 DateUniqueMaker dum = new DateUniqueMaker(); 55 final DateUniqueMaker dum = new DateUniqueMaker();
56
55 for (KMIndex.Entry<QWD []> entry: referenced) { 57 for (KMIndex.Entry<QWD []> entry: referenced) {
56 for (QWD ref: entry.getValue()) { 58 for (QWD ref: entry.getValue())
57 dum.makeUnique(ref); 59 dum.makeUnique(ref);
58 }
59 } 60 }
61
62 // FIXME
63 // for (KMIndex.Entry<QWD []> entry: outliers) {
64 // for (QWD ref: entry.getValue())
65 // dum.makeUnique(ref);
66 // }
60 } 67 }
61 68
62 public Collection<Integer> getReferenceEventsIndices() { 69 private Collection<Integer> getReferenceEventsIndices() {
63 TreeMap<Date, Integer> dates = new TreeMap<Date, Integer>(); 70 final TreeMap<Date, Integer> dates = new TreeMap<>();
71
64 for (KMIndex.Entry<QWD []> entry: referenced) { 72 for (KMIndex.Entry<QWD []> entry: referenced) {
65 for (QWD value: entry.getValue()) { 73 for (QWD value: entry.getValue())
66 dates.put(value.date, value.index); 74 dates.put(value.date, value.index);
67 }
68 } 75 }
76 // FIXME
77 // for (KMIndex.Entry<QWD []> entry: outliers) {
78 // for (QWD value: entry.getValue())
79 // dates.put(value.date, value.index);
80 // }
81
69 return dates.values(); 82 return dates.values();
70 } 83 }
71 84
72 public void remapReferenceIndicesToRank() { 85 public void remapReferenceIndicesToRank() {
73 RankRemapper remapper = new RankRemapper(); 86 final RankRemapper remapper = new RankRemapper();
74 for (Integer idx: getReferenceEventsIndices()) { 87 for (Integer idx: getReferenceEventsIndices())
75 remapper.toMap(idx); 88 remapper.toMap(idx);
89
90 for (KMIndex.Entry<QWD []> entry: referenced) {
91 for (QWD value: entry.getValue())
92 remapper.remap(value);
76 } 93 }
77 for (KMIndex.Entry<QWD []> entry: referenced) { 94 // FIXME
78 for (QWD value: entry.getValue()) { 95 // for (KMIndex.Entry<QWD []> entry: outliers) {
79 remapper.remap(value); 96 // for (QWD value: entry.getValue())
80 } 97 // remapper.remap(value);
81 } 98 // }
82 } 99 }
83 100
84 public Collection<Date> getReferenceEventsDates() { 101 public Collection<Date> getReferenceEventsDates() {
85 TreeSet<Date> dates = new TreeSet<Date>(); 102
86 for (KMIndex.Entry<QWD []> entry: referenced) { 103 final Set<Date> dates = new TreeSet<>();
87 for (QWD qwd: entry.getValue()) { 104
105 for (final KMIndex.Entry<QWD []> entry: referenced) {
106 for (final QWD qwd: entry.getValue())
88 dates.add(qwd.date); 107 dates.add(qwd.date);
89 }
90 } 108 }
109
110 // FIXME, but not always...
111 // for (final KMIndex.Entry<QWD []> entry: outliers) {
112 // for (final QWD qwd: entry.getValue())
113 // dates.add(qwd.date);
114 // }
115
91 return dates; 116 return dates;
92 } 117 }
93 118
94 119
95 public KMIndex<QWI []> getOutliers() { 120 public KMIndex<QWD []> getOutliers() {
96 return outliers; 121 return outliers;
97 } 122 }
98 123
99 public void setOutliers(KMIndex<QWI []> outliers) { 124 public void setOutliers(KMIndex<QWD []> outliers) {
100 this.outliers = outliers; 125 this.outliers = outliers;
101 } 126 }
102 127
103 public Parameters getParameters() { 128 public Parameters getParameters() {
104 return parameters; 129 return parameters;

http://dive4elements.wald.intevation.org