Mercurial > dive4elements > river
comparison artifacts/src/main/java/org/dive4elements/river/artifacts/model/fixings/FixResult.java @ 9415:9744ce3c3853
Rework of fixanalysis computation and dWt and WQ facets. Got rid of strange remapping and bitshifting code by explicitely saving the column information and using it in the facets.
The facets also put the valid station range into their xml-metadata
author | gernotbelger |
---|---|
date | Thu, 16 Aug 2018 16:27:53 +0200 |
parents | ddcd52d239cd |
children |
comparison
equal
deleted
inserted
replaced
9414:096f151a0a9f | 9415:9744ce3c3853 |
---|---|
7 */ | 7 */ |
8 | 8 |
9 package org.dive4elements.river.artifacts.model.fixings; | 9 package org.dive4elements.river.artifacts.model.fixings; |
10 | 10 |
11 import java.io.Serializable; | 11 import java.io.Serializable; |
12 import java.util.Collection; | |
13 import java.util.Date; | |
14 import java.util.Set; | |
15 import java.util.TreeMap; | |
16 import java.util.TreeSet; | |
17 | 12 |
18 import org.dive4elements.river.artifacts.model.Parameters; | 13 import org.dive4elements.river.artifacts.model.Parameters; |
19 import org.dive4elements.river.utils.KMIndex; | |
20 | 14 |
21 public class FixResult implements Serializable | 15 public class FixResult implements Serializable |
22 { | 16 { |
23 private static final long serialVersionUID = 1L; | 17 private static final long serialVersionUID = 1L; |
24 | 18 |
25 protected Parameters parameters; | 19 private Parameters parameters; |
26 protected KMIndex<QWD []> fixings; | 20 |
21 private FixResultColumns fixResultColumns; | |
27 | 22 |
28 public FixResult() { | 23 public FixResult() { |
29 } | 24 } |
30 | 25 |
31 public FixResult( final Parameters parameters, final KMIndex<QWD []> fixings ) { | 26 public FixResult(final Parameters parameters, final FixResultColumns fixResultColumns) { |
32 this.parameters = parameters; | 27 this.parameters = parameters; |
33 this.fixings = fixings; | 28 this.fixResultColumns = fixResultColumns; |
34 } | |
35 | |
36 public KMIndex<QWD []> getFixings() { | |
37 return fixings; | |
38 } | |
39 | |
40 public void makeEventsDatesUnique() { | |
41 final DateUniqueMaker dum = new DateUniqueMaker(); | |
42 | |
43 for (KMIndex.Entry<QWD []> entry: fixings) { | |
44 for (QWD ref: entry.getValue()) | |
45 dum.makeUnique(ref); | |
46 } | |
47 } | |
48 | |
49 private Collection<Integer> getEventsIndices() { | |
50 final TreeMap<Date, Integer> dates = new TreeMap<>(); | |
51 | |
52 for (KMIndex.Entry<QWD []> entry: fixings) { | |
53 for (QWD value: entry.getValue()) | |
54 dates.put(value.date, value.index); | |
55 } | |
56 | |
57 return dates.values(); | |
58 } | |
59 | |
60 public void remapEventIndicesToRank() { | |
61 final RankRemapper remapper = new RankRemapper(); | |
62 for (Integer idx: getEventsIndices()) | |
63 remapper.toMap(idx); | |
64 | |
65 for (KMIndex.Entry<QWD []> entry: fixings) { | |
66 for (QWD value: entry.getValue()) | |
67 remapper.remap(value); | |
68 } | |
69 } | |
70 | |
71 public Collection<Date> getReferenceEventsDates() { | |
72 | |
73 final Set<Date> dates = new TreeSet<>(); | |
74 | |
75 for (final KMIndex.Entry<QWD []> entry: fixings) { | |
76 for (final QWD qwd: entry.getValue()) | |
77 dates.add(qwd.date); | |
78 } | |
79 | |
80 return dates; | |
81 } | 29 } |
82 | 30 |
83 public Parameters getParameters() { | 31 public Parameters getParameters() { |
84 return parameters; | 32 return this.parameters; |
33 } | |
34 | |
35 public FixResultColumns getFixResultColumns() { | |
36 return this.fixResultColumns; | |
85 } | 37 } |
86 } | 38 } |