changeset 6200:53fca3392c9f

Schema change and Importer: use double to prevent rounding at import time
author Tom Gottfried <tom.gottfried@intevation.de>
date Fri, 24 May 2013 16:03:52 +0200
parents 75a38bc6baf2
children dc166b225775
files backend/doc/schema/oracle-minfo.sql backend/src/main/java/org/dive4elements/river/importer/ImportBedHeightSingleValue.java backend/src/main/java/org/dive4elements/river/importer/parsers/BedHeightSingleParser.java backend/src/main/java/org/dive4elements/river/model/BedHeightSingleValue.java
diffstat 4 files changed, 44 insertions(+), 44 deletions(-) [+]
line wrap: on
line diff
--- a/backend/doc/schema/oracle-minfo.sql	Fri May 24 13:57:40 2013 +0200
+++ b/backend/doc/schema/oracle-minfo.sql	Fri May 24 16:03:52 2013 +0200
@@ -85,12 +85,12 @@
 CREATE TABLE bed_height_single_values (
     id                      NUMBER(38,0) NOT NULL,
     bed_height_single_id    NUMBER(38,0) NOT NULL,
-    station                 NUMBER(38,2) NOT NULL,
-    height                  NUMBER(38,2),
-    uncertainty             NUMBER(38,2),
-    data_gap                NUMBER(38,2),
-    sounding_width          NUMBER(38,2),
-    width                   NUMBER(38,2),
+    station                 DOUBLE PRECISION NOT NULL,
+    height                  DOUBLE PRECISION,
+    uncertainty             DOUBLE PRECISION,
+    data_gap                DOUBLE PRECISION,
+    sounding_width          DOUBLE PRECISION,
+    width                   DOUBLE PRECISION,
     PRIMARY KEY(id),
     UNIQUE (station, bed_height_single_id),
     CONSTRAINT fk_bed_single_values_parent FOREIGN KEY (bed_height_single_id) REFERENCES bed_height_single(id) ON DELETE CASCADE
--- a/backend/src/main/java/org/dive4elements/river/importer/ImportBedHeightSingleValue.java	Fri May 24 13:57:40 2013 +0200
+++ b/backend/src/main/java/org/dive4elements/river/importer/ImportBedHeightSingleValue.java	Fri May 24 16:03:52 2013 +0200
@@ -29,24 +29,24 @@
 
     protected ImportBedHeightSingle bedHeight;
 
-    protected BigDecimal station;
-    protected BigDecimal height;
-    protected BigDecimal uncertainty;
-    protected BigDecimal dataGap;
+    protected Double station;
+    protected Double height;
+    protected Double uncertainty;
+    protected Double dataGap;
     protected BigDecimal soundingWidth;
-    protected BigDecimal width;
+    protected Double width;
 
     protected BedHeightSingleValue peer;
 
 
     public ImportBedHeightSingleValue(
         ImportBedHeightSingle bedHeight,
-        BigDecimal station,
-        BigDecimal height,
-        BigDecimal uncertainty,
-        BigDecimal dataGap,
+        Double station,
+        Double height,
+        Double uncertainty,
+        Double dataGap,
         BigDecimal soundingWidth,
-        BigDecimal width
+        Double width
     ) {
         this.bedHeight     = bedHeight;
         this.station       = station;
--- a/backend/src/main/java/org/dive4elements/river/importer/parsers/BedHeightSingleParser.java	Fri May 24 13:57:40 2013 +0200
+++ b/backend/src/main/java/org/dive4elements/river/importer/parsers/BedHeightSingleParser.java	Fri May 24 16:03:52 2013 +0200
@@ -46,10 +46,10 @@
             return;
         }
 
-        BigDecimal km;
+        Double km;
 
         try {
-            km = new BigDecimal(nf.parse(values[0]).doubleValue());
+            km = new Double(nf.parse(values[0]).doubleValue());
         }
         catch (ParseException e) {
             // We expect a lot of ";;;;;;" lines.
@@ -76,11 +76,11 @@
             ImportBedHeightSingleValue value = new ImportBedHeightSingleValue(
                 (ImportBedHeightSingle) obj,
                 km,
-                new BigDecimal(nf.parse(values[1]).doubleValue()),
-                new BigDecimal(nf.parse(values[2]).doubleValue()),
-                new BigDecimal(nf.parse(values[3]).doubleValue()),
+                new Double(nf.parse(values[1]).doubleValue()),
+                new Double(nf.parse(values[2]).doubleValue()),
+                new Double(nf.parse(values[3]).doubleValue()),
                 parseBigDecimal(values[4], line),
-                new BigDecimal(nf.parse(values[5]).doubleValue())
+                new Double(nf.parse(values[5]).doubleValue())
             );
 
             obj.addValue(value);
--- a/backend/src/main/java/org/dive4elements/river/model/BedHeightSingleValue.java	Fri May 24 13:57:40 2013 +0200
+++ b/backend/src/main/java/org/dive4elements/river/model/BedHeightSingleValue.java	Fri May 24 16:03:52 2013 +0200
@@ -43,12 +43,12 @@
 
     private BedHeightSingle bedHeight;
 
-    private BigDecimal station;
-    private BigDecimal height;
-    private BigDecimal uncertainty;
-    private BigDecimal dataGap;
+    private Double station;
+    private Double height;
+    private Double uncertainty;
+    private Double dataGap;
     private BigDecimal soundingWidth;
-    private BigDecimal width;
+    private Double width;
 
 
     public BedHeightSingleValue() {
@@ -56,12 +56,12 @@
 
     public BedHeightSingleValue(
         BedHeightSingle bedHeight,
-        BigDecimal station,
-        BigDecimal height,
-        BigDecimal uncertainty,
-        BigDecimal dataGap,
+        Double station,
+        Double height,
+        Double uncertainty,
+        Double dataGap,
         BigDecimal soundingWidth,
-        BigDecimal width
+        Double width
     ) {
         this.bedHeight     = bedHeight;
         this.station       = station;
@@ -100,38 +100,38 @@
     }
 
     @Column(name = "station")
-    public BigDecimal getStation() {
+    public Double getStation() {
         return station;
     }
 
-    public void setStation(BigDecimal station) {
+    public void setStation(Double station) {
         this.station = station;
     }
 
     @Column(name = "height")
-    public BigDecimal getHeight() {
+    public Double getHeight() {
         return height;
     }
 
-    public void setHeight(BigDecimal height) {
+    public void setHeight(Double height) {
         this.height = height;
     }
 
     @Column(name="uncertainty")
-    public BigDecimal getUncertainty() {
+    public Double getUncertainty() {
         return uncertainty;
     }
 
-    public void setUncertainty(BigDecimal uncertainty) {
+    public void setUncertainty(Double uncertainty) {
         this.uncertainty = uncertainty;
     }
 
     @Column(name="data_gap")
-    public BigDecimal getDataGap() {
+    public Double getDataGap() {
         return dataGap;
     }
 
-    public void setDataGap(BigDecimal dataGap) {
+    public void setDataGap(Double dataGap) {
         this.dataGap = dataGap;
     }
 
@@ -145,11 +145,11 @@
     }
 
     @Column(name="width")
-    public BigDecimal getWidth() {
+    public Double getWidth() {
         return width;
     }
 
-    public void setWidth(BigDecimal width) {
+    public void setWidth(Double width) {
         this.width = width;
     }
 
@@ -166,8 +166,8 @@
             "   and station >= :kmLo and station <= :kmHi");
 
         query.setParameter("single", single);
-        query.setParameter("kmLo", new BigDecimal(kmLo));
-        query.setParameter("kmHi", new BigDecimal(kmHi));
+        query.setParameter("kmLo", new Double(kmLo));
+        query.setParameter("kmHi", new Double(kmHi));
 
         return query.list();
     }

http://dive4elements.wald.intevation.org