Mercurial > dive4elements > river
diff flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/minfo/SedimentLoad.java @ 4370:6a65e7ef43c0
Updated data object and factory for sediment load.
* Added new data fields to object and cache key.
* Fixed SQL statement in factory and fill load objects correctly.
*
author | Raimund Renkert <rrenkert@intevation.de> |
---|---|
date | Fri, 02 Nov 2012 14:48:16 +0100 |
parents | 3051bc28ac43 |
children | 3937c6a85db4 |
line wrap: on
line diff
--- a/flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/minfo/SedimentLoad.java Fri Nov 02 14:44:11 2012 +0100 +++ b/flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/minfo/SedimentLoad.java Fri Nov 02 14:48:16 2012 +0100 @@ -1,8 +1,13 @@ package de.intevation.flys.artifacts.model.minfo; import gnu.trove.TDoubleArrayList; +import gnu.trove.TDoubleByteHashMap; +import gnu.trove.TDoubleHash; +import gnu.trove.TDoubleHashSet; import java.util.Date; +import java.util.HashMap; +import java.util.Set; import org.apache.log4j.Logger; @@ -19,14 +24,10 @@ protected Date end; protected boolean isEpoch; - protected TDoubleArrayList sand_values; - protected TDoubleArrayList fine_middle_values; - protected TDoubleArrayList coarse_values; - protected TDoubleArrayList susp_sediment_values; - protected TDoubleArrayList susp_sand_bed_values; - + protected HashMap<Double, SedimentLoadFraction> kms; public SedimentLoad() { + kms = new HashMap<Double, SedimentLoadFraction>(); } public SedimentLoad( @@ -35,6 +36,7 @@ Date end, boolean isEpoch ) { + this(); this.description = description; this.start = start; this.end = end; @@ -73,63 +75,95 @@ this.isEpoch = isEpoch; } - public void addSandValue(double value) { - this.sand_values.add(value); - } - - public void addSandValues(TDoubleArrayList values) { - this.sand_values.add(values.toNativeArray()); - } - - public TDoubleArrayList getSandValues() { - return this.sand_values; - } - - public void addFineMiddleValue(double value) { - this.fine_middle_values.add(value); - } - - public void addFineMiddleValues(TDoubleArrayList values) { - this.fine_middle_values.add(values.toNativeArray()); - } - - public TDoubleArrayList getFineMiddleValues() { - return this.fine_middle_values; - } - - public void addCoarseValue(double value) { - this.coarse_values.add(value); + public Set<Double> getKms() { + return kms.keySet(); } - public void addCoarseValues(TDoubleArrayList values) { - this.coarse_values.add(values.toNativeArray()); - } - - public TDoubleArrayList getCoarseValues() { - return this.coarse_values; - } - - public void addSuspSedimentValue(double value) { - this.susp_sediment_values.add(value); - } - - public void addSuspSedimentValues(TDoubleArrayList values) { - this.susp_sediment_values.add(values.toNativeArray()); + public void addKm(double km, SedimentLoadFraction fraction) { + kms.put(km, fraction); } - public TDoubleArrayList getSuspSedimentValues() { - return this.susp_sediment_values; - } - - public void addSuspSandBedValue(double value) { - this.susp_sand_bed_values.add(value); + public SedimentLoadFraction getFraction(double km) { + if (kms.get(km) == null) { + return new SedimentLoadFraction(); + } + return kms.get(km); } - public void addSuspSandBedValues(TDoubleArrayList values) { - this.susp_sand_bed_values.add(values.toNativeArray()); + public void setCoarse(double km, double coarse) { + if (kms.containsKey(km)) { + kms.get(km).setCoarse(coarse); + } + else { + SedimentLoadFraction f = new SedimentLoadFraction(); + f.setCoarse(coarse); + kms.put(km, f); + } } - public TDoubleArrayList getSuspSandBedValues() { - return this.susp_sand_bed_values; + public void setFineMiddle(double km, double fine_middle) { + if (kms.containsKey(km)) { + kms.get(km).setFine_middle(fine_middle); + } + else { + SedimentLoadFraction f = new SedimentLoadFraction(); + f.setFine_middle(fine_middle); + kms.put(km, f); + } + } + + public void setSand(double km, double sand) { + if (kms.containsKey(km)) { + kms.get(km).setSand(sand); + } + else { + SedimentLoadFraction f = new SedimentLoadFraction(); + f.setSand(sand); + kms.put(km, f); + } + } + + public void setSuspSand(double km, double susp_sand) { + if (kms.containsKey(km)) { + kms.get(km).setSusp_sand(susp_sand); + } + else { + SedimentLoadFraction f = new SedimentLoadFraction(); + f.setSusp_sand(susp_sand); + kms.put(km, f); + } + } + + public void setSuspSandBed(double km, double susp_sand_bed) { + if (kms.containsKey(km)) { + kms.get(km).setSusp_sand_bed(susp_sand_bed); + } + else { + SedimentLoadFraction f = new SedimentLoadFraction(); + f.setSusp_sand_bed(susp_sand_bed); + kms.put(km, f); + } + } + + public void setSuspSediment(double km, double susp_sediment) { + if (kms.containsKey(km)) { + kms.get(km).setSusp_sediment(susp_sediment); + } + else { + SedimentLoadFraction f = new SedimentLoadFraction(); + f.setSusp_sediment(susp_sediment); + kms.put(km, f); + } + } + + public void setTotal(double km, double total) { + if (kms.containsKey(km)) { + kms.get(km).setTotal(total); + } + else { + SedimentLoadFraction f = new SedimentLoadFraction(); + f.setTotal(total); + kms.put(km, f); + } } }