Mercurial > dive4elements > river
comparison flys-artifacts/src/main/java/de/intevation/flys/exports/WaterlevelExporter.java @ 5103:15e856a64cdd
Partly fix flys/issue1142: Include specified W values at gauge for fix.real.
author | Felix Wolfsteller <felix.wolfsteller@intevation.de> |
---|---|
date | Tue, 26 Feb 2013 11:49:46 +0100 |
parents | 4c76c5f69eaf |
children | 34baad34987f |
comparison
equal
deleted
inserted
replaced
5102:baf51f820838 | 5103:15e856a64cdd |
---|---|
30 import de.intevation.artifacts.CallMeta; | 30 import de.intevation.artifacts.CallMeta; |
31 import de.intevation.artifacts.common.utils.Config; | 31 import de.intevation.artifacts.common.utils.Config; |
32 | 32 |
33 import de.intevation.flys.model.Gauge; | 33 import de.intevation.flys.model.Gauge; |
34 | 34 |
35 import de.intevation.flys.artifacts.access.FixRealizingAccess; | |
35 import de.intevation.flys.artifacts.access.RangeAccess; | 36 import de.intevation.flys.artifacts.access.RangeAccess; |
37 import de.intevation.flys.artifacts.FixationArtifact; | |
36 import de.intevation.flys.artifacts.FLYSArtifact; | 38 import de.intevation.flys.artifacts.FLYSArtifact; |
37 import de.intevation.flys.artifacts.WINFOArtifact; | 39 import de.intevation.flys.artifacts.WINFOArtifact; |
38 import de.intevation.flys.artifacts.model.CalculationResult; | 40 import de.intevation.flys.artifacts.model.CalculationResult; |
41 import de.intevation.flys.artifacts.model.Segment; | |
39 import de.intevation.flys.artifacts.model.WQCKms; | 42 import de.intevation.flys.artifacts.model.WQCKms; |
40 import de.intevation.flys.artifacts.model.WQKms; | 43 import de.intevation.flys.artifacts.model.WQKms; |
41 import de.intevation.flys.artifacts.model.WKmsJRDataSource; | 44 import de.intevation.flys.artifacts.model.WKmsJRDataSource; |
42 import de.intevation.flys.artifacts.model.WQKmsResult; | 45 import de.intevation.flys.artifacts.model.WQKmsResult; |
43 import de.intevation.flys.artifacts.resources.Resources; | 46 import de.intevation.flys.artifacts.resources.Resources; |
491 } | 494 } |
492 | 495 |
493 long startTime = System.currentTimeMillis(); | 496 long startTime = System.currentTimeMillis(); |
494 | 497 |
495 String colDesc = desc; | 498 String colDesc = desc; |
499 List<Segment> segments = null; | |
496 if (flys instanceof WINFOArtifact) { | 500 if (flys instanceof WINFOArtifact) { |
497 if (wqkms != null && wqkms.getRawValue() != null) { | 501 if (wqkms != null && wqkms.getRawValue() != null) { |
498 WINFOArtifact winfo = (WINFOArtifact) flys; | 502 WINFOArtifact winfo = (WINFOArtifact) flys; |
499 colDesc = FLYSUtils.getNamedMainValue(winfo, wqkms.getRawValue()); | 503 colDesc = FLYSUtils.getNamedMainValue(winfo, wqkms.getRawValue()); |
500 } | 504 } |
501 } | 505 } |
506 else if (flys instanceof FixationArtifact) { | |
507 // Get W/Q input per gauge for this case. | |
508 FixRealizingAccess fixAccess = new FixRealizingAccess(flys, getCallContext()); | |
509 segments = fixAccess.getSegments(); | |
510 } | |
502 | 511 |
503 for (int i = 0; i < size; i ++) { | 512 for (int i = 0; i < size; i ++) { |
504 result = wqkms.get(i, result); | 513 result = wqkms.get(i, result); |
514 | |
515 // Check if there has been W input per Gauge and use it. | |
516 if (segments != null) { | |
517 for (Segment segment: segments) { | |
518 if (segment.inside(result[2])) { | |
519 colDesc = "" + segment.getValues()[0]; | |
520 } | |
521 } | |
522 } | |
505 | 523 |
506 if (atGauge) { | 524 if (atGauge) { |
507 writer.writeNext(new String[] { | 525 writer.writeNext(new String[] { |
508 kmf.format(result[2]), | 526 kmf.format(result[2]), |
509 wf.format(result[0]), | 527 wf.format(result[0]), |