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 :

http://dive4elements.wald.intevation.org