Mercurial > dive4elements > river
comparison flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/WaterlevelFacet.java @ 3455:1de62ac261f7
Let WaterlevelFacet handle FixationArtifact.
flys-artifacts/trunk@5121 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Felix Wolfsteller <felix.wolfsteller@intevation.de> |
---|---|
date | Wed, 25 Jul 2012 09:59:43 +0000 |
parents | 5f3726f31f00 |
children | 1481322efc02 |
comparison
equal
deleted
inserted
replaced
3454:98745f308319 | 3455:1de62ac261f7 |
---|---|
3 import de.intevation.artifactdatabase.state.Facet; | 3 import de.intevation.artifactdatabase.state.Facet; |
4 | 4 |
5 import de.intevation.artifacts.Artifact; | 5 import de.intevation.artifacts.Artifact; |
6 import de.intevation.artifacts.CallContext; | 6 import de.intevation.artifacts.CallContext; |
7 | 7 |
8 import de.intevation.flys.artifacts.FixationArtifact; | |
8 import de.intevation.flys.artifacts.FLYSArtifact; | 9 import de.intevation.flys.artifacts.FLYSArtifact; |
9 | 10 |
10 import de.intevation.flys.artifacts.states.DefaultState.ComputeType; | 11 import de.intevation.flys.artifacts.states.DefaultState.ComputeType; |
11 | 12 |
13 import de.intevation.flys.artifacts.model.fixings.FixRealizingResult; | |
14 | |
12 import org.apache.log4j.Logger; | 15 import org.apache.log4j.Logger; |
16 | |
13 | 17 |
14 /** | 18 /** |
15 * Facet of a Waterlevel (WQKms). | 19 * Facet of a Waterlevel (WQKms). |
16 */ | 20 */ |
17 public class WaterlevelFacet extends DataFacet { | 21 public class WaterlevelFacet extends DataFacet { |
47 if (logger.isDebugEnabled()) { | 51 if (logger.isDebugEnabled()) { |
48 logger.debug("Get data for waterlevels at index: " + index + | 52 logger.debug("Get data for waterlevels at index: " + index + |
49 " /stateId: " + stateId); | 53 " /stateId: " + stateId); |
50 } | 54 } |
51 | 55 |
52 FLYSArtifact winfo = (FLYSArtifact)artifact; | 56 FLYSArtifact winfo = (FLYSArtifact) artifact; |
53 | 57 |
54 CalculationResult res = (CalculationResult) | 58 CalculationResult res = (CalculationResult) |
55 winfo.compute(context, hash, stateId, type, false); | 59 winfo.compute(context, hash, stateId, type, false); |
56 | 60 |
57 WQKms [] wqkms = (WQKms [])res.getData(); | 61 if (res == null) { |
62 logger.error("WaterlevelFacet.getData: null result"); | |
63 return null; | |
64 } | |
65 | |
66 if (winfo == null) { | |
67 logger.error("WaterlevelFacet.getData: artifact is null"); | |
68 return null; | |
69 } | |
70 | |
71 if (winfo instanceof FixationArtifact) { | |
72 FixRealizingResult fr = (FixRealizingResult) res.getData(); | |
73 if (fr == null || fr.getWQKms() == null) { | |
74 logger.error("WaterlevelFacet.getData: " + | |
75 " corrupted FixationArtifact result."); | |
76 } | |
77 return fr.getWQKms()[index]; | |
78 } | |
79 | |
80 WQKms [] wqkms = (WQKms []) res.getData(); | |
58 | 81 |
59 return wqkms[index]; | 82 return wqkms[index]; |
60 } | 83 } |
61 | 84 |
62 | 85 |