Mercurial > dive4elements > river
comparison flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/ReferenceCurveFacet.java @ 2196:5f3726f31f00
"Bezugslinienverfahren": Added facet classes.
flys-artifacts/trunk@3812 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Sascha L. Teichmann <sascha.teichmann@intevation.de> |
---|---|
date | Fri, 27 Jan 2012 17:45:26 +0000 |
parents | |
children | 672a41efe222 |
comparison
equal
deleted
inserted
replaced
2195:e14beb93a854 | 2196:5f3726f31f00 |
---|---|
1 package de.intevation.flys.artifacts.model; | |
2 | |
3 import de.intevation.artifactdatabase.state.Facet; | |
4 | |
5 import de.intevation.artifacts.Artifact; | |
6 import de.intevation.artifacts.CallContext; | |
7 | |
8 import de.intevation.flys.artifacts.FLYSArtifact; | |
9 | |
10 import de.intevation.flys.artifacts.states.DefaultState.ComputeType; | |
11 | |
12 import org.apache.log4j.Logger; | |
13 | |
14 public class ReferenceCurveFacet | |
15 extends DataFacet | |
16 { | |
17 private static Logger log = Logger.getLogger(ReferenceCurveFacet.class); | |
18 | |
19 public ReferenceCurveFacet() { | |
20 } | |
21 | |
22 public ReferenceCurveFacet(int index, String name, String description) { | |
23 super(index, name, description, ComputeType.ADVANCE, null, null); | |
24 } | |
25 | |
26 public ReferenceCurveFacet( | |
27 int index, | |
28 String name, | |
29 String description, | |
30 ComputeType type, | |
31 String stateID, | |
32 String hash | |
33 ) { | |
34 super(index, name, description, type, hash, stateID); | |
35 } | |
36 | |
37 public Object getData(Artifact artifact, CallContext context) { | |
38 | |
39 if (log.isDebugEnabled()) { | |
40 log.debug("Get data for reference curve at index: " + index + | |
41 " /stateId: " + stateId); | |
42 } | |
43 | |
44 FLYSArtifact winfo = (FLYSArtifact)artifact; | |
45 | |
46 CalculationResult res = (CalculationResult) | |
47 winfo.compute(context, hash, stateId, type, false); | |
48 | |
49 return getInternalData((WW [])res.getData()); | |
50 } | |
51 | |
52 /** To be overwritten by normalized reference curve. */ | |
53 protected Object getInternalData(WW [] wws) { | |
54 return wws[index]; | |
55 } | |
56 | |
57 @Override | |
58 public void set(Facet other) { | |
59 super.set(other); | |
60 ReferenceCurveFacet o= (ReferenceCurveFacet)other; | |
61 type = o.type; | |
62 hash = o.hash; | |
63 stateId = o.stateId; | |
64 } | |
65 | |
66 /** Copy deeply. */ | |
67 @Override | |
68 public Facet deepCopy() { | |
69 ReferenceCurveFacet copy = new ReferenceCurveFacet(); | |
70 copy.set(this); | |
71 return copy; | |
72 } | |
73 } | |
74 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 : |