Mercurial > dive4elements > river
annotate artifacts/src/main/java/org/dive4elements/river/artifacts/model/minfo/SedimentLoadUnknownFacet.java @ 6573:7d86ed4537d9
Cosmetics, doc, obsolete import removal.
author | Felix Wolfsteller <felix.wolfsteller@intevation.de> |
---|---|
date | Tue, 16 Jul 2013 10:43:59 +0200 |
parents | 3eff8efb4354 |
children | 4ae1fbaaacdd |
rev | line source |
---|---|
6388
3eff8efb4354
New Facet for sediment load fraction 'unknown'.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
1 package org.dive4elements.river.artifacts.model.minfo; |
3eff8efb4354
New Facet for sediment load fraction 'unknown'.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
2 |
3eff8efb4354
New Facet for sediment load fraction 'unknown'.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
3 import org.apache.log4j.Logger; |
3eff8efb4354
New Facet for sediment load fraction 'unknown'.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
4 import org.dive4elements.artifactdatabase.state.Facet; |
3eff8efb4354
New Facet for sediment load fraction 'unknown'.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
5 import org.dive4elements.artifacts.Artifact; |
3eff8efb4354
New Facet for sediment load fraction 'unknown'.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
6 import org.dive4elements.artifacts.CallContext; |
3eff8efb4354
New Facet for sediment load fraction 'unknown'.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
7 import org.dive4elements.river.artifacts.D4EArtifact; |
3eff8efb4354
New Facet for sediment load fraction 'unknown'.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
8 import org.dive4elements.river.artifacts.access.SedimentLoadAccess; |
3eff8efb4354
New Facet for sediment load fraction 'unknown'.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
9 import org.dive4elements.river.artifacts.model.DataFacet; |
3eff8efb4354
New Facet for sediment load fraction 'unknown'.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
10 import org.dive4elements.river.artifacts.states.DefaultState.ComputeType; |
3eff8efb4354
New Facet for sediment load fraction 'unknown'.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
11 |
3eff8efb4354
New Facet for sediment load fraction 'unknown'.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
12 |
3eff8efb4354
New Facet for sediment load fraction 'unknown'.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
13 public class SedimentLoadUnknownFacet |
3eff8efb4354
New Facet for sediment load fraction 'unknown'.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
14 extends DataFacet |
3eff8efb4354
New Facet for sediment load fraction 'unknown'.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
15 { |
3eff8efb4354
New Facet for sediment load fraction 'unknown'.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
16 /** Very own logger. */ |
3eff8efb4354
New Facet for sediment load fraction 'unknown'.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
17 private static Logger logger = Logger.getLogger(SedimentLoadFacet.class); |
3eff8efb4354
New Facet for sediment load fraction 'unknown'.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
18 |
3eff8efb4354
New Facet for sediment load fraction 'unknown'.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
19 public SedimentLoadUnknownFacet() { |
3eff8efb4354
New Facet for sediment load fraction 'unknown'.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
20 } |
3eff8efb4354
New Facet for sediment load fraction 'unknown'.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
21 |
3eff8efb4354
New Facet for sediment load fraction 'unknown'.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
22 public SedimentLoadUnknownFacet(int idx, String name, String description, |
3eff8efb4354
New Facet for sediment load fraction 'unknown'.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
23 ComputeType type, String stateId, String hash) { |
3eff8efb4354
New Facet for sediment load fraction 'unknown'.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
24 super(idx, name, description, type, hash, stateId); |
3eff8efb4354
New Facet for sediment load fraction 'unknown'.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
25 } |
3eff8efb4354
New Facet for sediment load fraction 'unknown'.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
26 |
3eff8efb4354
New Facet for sediment load fraction 'unknown'.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
27 @Override |
3eff8efb4354
New Facet for sediment load fraction 'unknown'.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
28 public Object getData(Artifact artifact, CallContext context) { |
3eff8efb4354
New Facet for sediment load fraction 'unknown'.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
29 logger.debug("Get data for sediment load at index: " + index); |
3eff8efb4354
New Facet for sediment load fraction 'unknown'.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
30 |
3eff8efb4354
New Facet for sediment load fraction 'unknown'.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
31 D4EArtifact flys = (D4EArtifact) artifact; |
3eff8efb4354
New Facet for sediment load fraction 'unknown'.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
32 |
3eff8efb4354
New Facet for sediment load fraction 'unknown'.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
33 SedimentLoadAccess access = new SedimentLoadAccess(flys); |
3eff8efb4354
New Facet for sediment load fraction 'unknown'.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
34 String river = access.getRiver(); |
3eff8efb4354
New Facet for sediment load fraction 'unknown'.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
35 SedimentLoad[] unknown = |
3eff8efb4354
New Facet for sediment load fraction 'unknown'.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
36 SedimentLoadFactory.getSedimentLoadUnknown(river); |
3eff8efb4354
New Facet for sediment load fraction 'unknown'.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
37 |
3eff8efb4354
New Facet for sediment load fraction 'unknown'.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
38 SedimentLoad load = SedimentLoadFactory.getLoadUnknown( |
3eff8efb4354
New Facet for sediment load fraction 'unknown'.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
39 river, unknown[index].getDescription()); |
3eff8efb4354
New Facet for sediment load fraction 'unknown'.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
40 if (access.getUnit().equals("t/a") && load.getUnit().equals("m3/a")) { |
3eff8efb4354
New Facet for sediment load fraction 'unknown'.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
41 for (Double km: load.getKms()) { |
3eff8efb4354
New Facet for sediment load fraction 'unknown'.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
42 SedimentLoadFraction fraction = load.getFraction(km); |
3eff8efb4354
New Facet for sediment load fraction 'unknown'.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
43 fraction.setUnknown(fraction.getUnknown() / 1.8); |
3eff8efb4354
New Facet for sediment load fraction 'unknown'.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
44 load.addKm(km, fraction); |
3eff8efb4354
New Facet for sediment load fraction 'unknown'.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
45 } |
3eff8efb4354
New Facet for sediment load fraction 'unknown'.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
46 } |
3eff8efb4354
New Facet for sediment load fraction 'unknown'.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
47 else if (access.getUnit().equals("m3/a") && load.getUnit().equals("t/a")) { |
3eff8efb4354
New Facet for sediment load fraction 'unknown'.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
48 for (Double km: load.getKms()) { |
3eff8efb4354
New Facet for sediment load fraction 'unknown'.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
49 SedimentLoadFraction fraction = load.getFraction(km); |
3eff8efb4354
New Facet for sediment load fraction 'unknown'.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
50 fraction.setUnknown(fraction.getUnknown() * 1.8); |
3eff8efb4354
New Facet for sediment load fraction 'unknown'.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
51 load.addKm(km, fraction); |
3eff8efb4354
New Facet for sediment load fraction 'unknown'.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
52 } |
3eff8efb4354
New Facet for sediment load fraction 'unknown'.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
53 } |
3eff8efb4354
New Facet for sediment load fraction 'unknown'.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
54 return load; |
3eff8efb4354
New Facet for sediment load fraction 'unknown'.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
55 } |
3eff8efb4354
New Facet for sediment load fraction 'unknown'.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
56 |
3eff8efb4354
New Facet for sediment load fraction 'unknown'.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
57 /** Copy deeply. */ |
3eff8efb4354
New Facet for sediment load fraction 'unknown'.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
58 @Override |
3eff8efb4354
New Facet for sediment load fraction 'unknown'.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
59 public Facet deepCopy() { |
3eff8efb4354
New Facet for sediment load fraction 'unknown'.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
60 SedimentLoadUnknownFacet copy = new SedimentLoadUnknownFacet(); |
3eff8efb4354
New Facet for sediment load fraction 'unknown'.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
61 copy.set(this); |
3eff8efb4354
New Facet for sediment load fraction 'unknown'.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
62 copy.hash = hash; |
3eff8efb4354
New Facet for sediment load fraction 'unknown'.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
63 copy.stateId = stateId; |
3eff8efb4354
New Facet for sediment load fraction 'unknown'.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
64 return copy; |
3eff8efb4354
New Facet for sediment load fraction 'unknown'.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
65 } |
3eff8efb4354
New Facet for sediment load fraction 'unknown'.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
66 } |