comparison flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/minfo/BedDiameterFacet.java @ 3757:e8a90a5ce624

Added facets and chart generator for bed quality calculation. flys-artifacts/trunk@5454 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Ingo Weinzierl <ingo.weinzierl@intevation.de>
date Thu, 13 Sep 2012 12:08:50 +0000
parents
children 5a8f8fd5310c
comparison
equal deleted inserted replaced
3756:912a398968b6 3757:e8a90a5ce624
1 package de.intevation.flys.artifacts.model.minfo;
2
3 import org.apache.log4j.Logger;
4
5 import de.intevation.artifactdatabase.state.Facet;
6 import de.intevation.artifacts.Artifact;
7 import de.intevation.artifacts.CallContext;
8 import de.intevation.flys.artifacts.FLYSArtifact;
9 import de.intevation.flys.artifacts.model.CalculationResult;
10 import de.intevation.flys.artifacts.model.DataFacet;
11 import de.intevation.flys.artifacts.states.DefaultState.ComputeType;
12
13
14 /**
15 * Facet for serving bed diameter data.
16 *
17 * @author <a href="mailto:ingo.weinzierl@intevation.de">Ingo Weinzierl</a>
18 */
19 public class BedDiameterFacet extends DataFacet {
20
21 private static final long serialVersionUID = 1L;
22
23 private static Logger logger = Logger.getLogger(BedDiameterFacet.class);
24
25 public BedDiameterFacet() {
26 }
27
28 public BedDiameterFacet(int idx, String name, String description,
29 ComputeType type, String stateId, String hash) {
30 super(idx, name, description, type, hash, stateId);
31 }
32
33 public Object getData(Artifact artifact, CallContext context) {
34 logger.debug("Get data for bed diameter at index: " + index);
35
36 FLYSArtifact flys = (FLYSArtifact) artifact;
37
38 CalculationResult res = (CalculationResult) flys.compute(context, hash,
39 stateId, type, false);
40
41 Object[] data = (Object[]) res.getData(); // TODO CAST TO SPECIFIC CLASS
42
43 return data != null && data.length > index ? data[index] : null;
44 }
45
46 /** Copy deeply. */
47 @Override
48 public Facet deepCopy() {
49 BedDiameterFacet copy = new BedDiameterFacet();
50 copy.set(this);
51 copy.type = type;
52 copy.hash = hash;
53 copy.stateId = stateId;
54 return copy;
55 }
56 }
57 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :

http://dive4elements.wald.intevation.org