comparison flys-artifacts/src/main/java/org/dive4elements/river/artifacts/model/minfo/BedDiameterFacet.java @ 5831:bd047b71ab37

Repaired internal references
author Sascha L. Teichmann <teichmann@intevation.de>
date Thu, 25 Apr 2013 12:06:39 +0200
parents flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/minfo/BedDiameterFacet.java@9f9d5ada96ca
children
comparison
equal deleted inserted replaced
5830:160f53ee0870 5831:bd047b71ab37
1 package org.dive4elements.river.artifacts.model.minfo;
2
3 import org.apache.log4j.Logger;
4
5 import org.dive4elements.artifactdatabase.state.Facet;
6 import org.dive4elements.artifacts.Artifact;
7 import org.dive4elements.artifacts.CallContext;
8 import org.dive4elements.river.artifacts.FLYSArtifact;
9 import org.dive4elements.river.artifacts.model.CalculationResult;
10 import org.dive4elements.river.artifacts.model.DataFacet;
11 import org.dive4elements.river.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 int ndx = index >> 8;
42 Object[] data = ((BedQualityResult[]) res.getData())[ndx].getBedResults(); // TODO CAST TO SPECIFIC CLASS
43
44 int ndy = index & 255;
45 return data != null && data.length > ndy ? data[ndy] : null;
46 }
47
48 /** Copy deeply. */
49 @Override
50 public Facet deepCopy() {
51 BedDiameterFacet copy = new BedDiameterFacet();
52 copy.set(this);
53 copy.type = type;
54 copy.hash = hash;
55 copy.stateId = stateId;
56 return copy;
57 }
58 }
59 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :

http://dive4elements.wald.intevation.org