comparison artifacts/src/main/java/org/dive4elements/river/artifacts/model/minfo/BedloadDiameterFacet.java @ 5838:5aa05a7a34b7

Rename modules to more fitting names.
author Sascha L. Teichmann <teichmann@intevation.de>
date Thu, 25 Apr 2013 15:23:37 +0200
parents flys-artifacts/src/main/java/org/dive4elements/river/artifacts/model/minfo/BedloadDiameterFacet.java@bd047b71ab37
children 4897a58c8746
comparison
equal deleted inserted replaced
5837:d9901a08d0a6 5838:5aa05a7a34b7
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 bedload diameter data.
16 *
17 * @author <a href="mailto:ingo.weinzierl@intevation.de">Ingo Weinzierl</a>
18 */
19 public class BedloadDiameterFacet extends DataFacet {
20
21 private static final long serialVersionUID = 1L;
22
23 private static Logger logger = Logger.getLogger(BedloadDiameterFacet.class);
24
25 public BedloadDiameterFacet() {
26 // required for clone operation deepCopy()
27 }
28
29 public BedloadDiameterFacet(int idx, String name, String description,
30 ComputeType type, String stateId, String hash) {
31 super(idx, name, description, type, hash, stateId);
32 }
33
34 public Object getData(Artifact artifact, CallContext context) {
35 logger.debug("Get data for bedload diameter at index: " + index);
36
37 FLYSArtifact flys = (FLYSArtifact) artifact;
38
39 CalculationResult res = (CalculationResult) flys.compute(context, hash,
40 stateId, type, false);
41
42 int ndx = index >> 8;
43 Object[] data =
44 ((BedQualityResult[]) res.getData())[ndx].getBedloadResults(); // TODO CAST TO SPECIFIC CLASS
45
46 int ndy = index & 255;
47 return data != null && data.length > ndy ? data[ndy] : null;
48 }
49
50 /** Copy deeply. */
51 @Override
52 public Facet deepCopy() {
53 BedloadDiameterFacet copy = new BedloadDiameterFacet();
54 copy.set(this);
55 copy.type = type;
56 copy.hash = hash;
57 copy.stateId = stateId;
58 return copy;
59 }
60 }
61 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :

http://dive4elements.wald.intevation.org