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

http://dive4elements.wald.intevation.org