[Dive4elements-commits] [PATCH 1 of 7] Schema change and Importer: use double to prevent rounding at import time
Wald Commits
scm-commit at wald.intevation.org
Wed Jun 5 13:20:03 CEST 2013
# HG changeset patch
# User Tom Gottfried <tom.gottfried at intevation.de>
# 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();
}
More information about the Dive4elements-commits
mailing list