Mercurial > dive4elements > river
comparison artifacts/src/main/java/org/dive4elements/river/artifacts/model/sq/Measurements.java @ 6780:b8f94e865875
S/Q relation: Part I of 'faking' fitting linear data. S/Qs can now be subclassed and processed through views. TODO: Add knob to setup a linear data path.
author | Sascha L. Teichmann <teichmann@intevation.de> |
---|---|
date | Thu, 08 Aug 2013 12:17:03 +0200 |
parents | 876c797c2805 |
children | e8283197d889 |
comparison
equal
deleted
inserted
replaced
6779:8e5adc56385c | 6780:b8f94e865875 |
---|---|
64 }; | 64 }; |
65 | 65 |
66 protected List<Measurement> measuments; | 66 protected List<Measurement> measuments; |
67 protected List<Measurement> accumulated; | 67 protected List<Measurement> accumulated; |
68 | 68 |
69 protected SQ.Factory sqFactory; | |
70 | |
69 public Measurements() { | 71 public Measurements() { |
70 } | 72 } |
71 | 73 |
72 public Measurements( | 74 public Measurements( |
73 List<Measurement> measuments, | 75 List<Measurement> measuments, |
74 List<Measurement> accumulated | 76 List<Measurement> accumulated, |
77 SQ.Factory sqFactory | |
75 ) { | 78 ) { |
79 this.sqFactory = sqFactory; | |
76 if (log.isDebugEnabled()) { | 80 if (log.isDebugEnabled()) { |
77 log.debug("number of measuments: " + measuments.size()); | 81 log.debug("number of measuments: " + measuments.size()); |
78 log.debug("number of accumulated: " + accumulated.size()); | 82 log.debug("number of accumulated: " + accumulated.size()); |
79 } | 83 } |
80 this.measuments = measuments; | 84 this.measuments = measuments; |
81 this.accumulated = accumulated; | 85 this.accumulated = accumulated; |
82 } | 86 } |
83 | 87 |
84 public static List<SQ> extractSQ( | 88 public List<SQ> extractSQ( |
85 List<Measurement> measuments, | 89 List<Measurement> measuments, |
86 SExtractor extractor | 90 SExtractor extractor |
87 ) { | 91 ) { |
88 List<SQ> result = new ArrayList<SQ>(measuments.size()); | 92 List<SQ> result = new ArrayList<SQ>(measuments.size()); |
89 int invalid = 0; | 93 int invalid = 0; |
90 for (Measurement measument: measuments) { | 94 for (Measurement measument: measuments) { |
91 SQ sq = new SQ(extractor.getS(measument), measument.Q()); | 95 SQ sq = sqFactory.createSQ(extractor.getS(measument), measument.Q()); |
92 if (sq.isValid()) { | 96 if (sq.isValid()) { |
93 result.add(sq); | 97 result.add(sq); |
94 } | 98 } |
95 else { | 99 else { |
96 ++invalid; | 100 ++invalid; |