# HG changeset patch # User Tom Gottfried # Date 1369404232 -7200 # Node ID 53fca3392c9fd35743e4a886f21c64c4d7c179f2 # Parent 75a38bc6baf2172a68720db63cb200739529a13a Schema change and Importer: use double to prevent rounding at import time diff -r 75a38bc6baf2 -r 53fca3392c9f backend/doc/schema/oracle-minfo.sql --- 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 diff -r 75a38bc6baf2 -r 53fca3392c9f backend/src/main/java/org/dive4elements/river/importer/ImportBedHeightSingleValue.java --- 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; diff -r 75a38bc6baf2 -r 53fca3392c9f backend/src/main/java/org/dive4elements/river/importer/parsers/BedHeightSingleParser.java --- 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); diff -r 75a38bc6baf2 -r 53fca3392c9f backend/src/main/java/org/dive4elements/river/model/BedHeightSingleValue.java --- 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(); }