# HG changeset patch # User Ingo Weinzierl # Date 1334320406 0 # Node ID 25ed1f18fcc49de53836a321e1447f97ac5ff3d3 # Parent 8979f2294af9cdcf9cdaac62694174fee97f5368 Improved the MIFNO DB schema for morphological width and added model classes. flys-backend/trunk@4235 c6561f87-3c4e-4783-a992-168aeb5c3f6f diff -r 8979f2294af9 -r 25ed1f18fcc4 flys-backend/ChangeLog --- a/flys-backend/ChangeLog Fri Apr 13 11:45:29 2012 +0000 +++ b/flys-backend/ChangeLog Fri Apr 13 12:33:26 2012 +0000 @@ -1,3 +1,16 @@ +2012-04-13 Ingo Weinzierl + + * doc/schema/oracle-minfo.sql, + doc/schema/oracle-drop-minfo.sql: Added new relations for MINFO specific + morphological width. + + * src/main/java/de/intevation/flys/model/MorphologicalWidth.java, + src/main/java/de/intevation/flys/model/MorphologicalWidthValue.java: New + model classes for morphological width. + + * src/main/java/de/intevation/flys/backend/SessionFactoryProvider.java: + Registered new model classes. + 2012-04-13 Ingo Weinzierl * doc/schema/oracle-minfo.sql: Added a description field to table diff -r 8979f2294af9 -r 25ed1f18fcc4 flys-backend/doc/schema/oracle-drop-minfo.sql --- a/flys-backend/doc/schema/oracle-drop-minfo.sql Fri Apr 13 11:45:29 2012 +0000 +++ b/flys-backend/doc/schema/oracle-drop-minfo.sql Fri Apr 13 12:33:26 2012 +0000 @@ -16,6 +16,9 @@ ALTER TABLE sediment_density DROP CONSTRAINT fk_sd_depth_id; ALTER TABLE sediment_density DROP CONSTRAINT fk_sd_unit_id; ALTER TABLE sediment_density_values DROP CONSTRAINT fk_sdv_sediment_density_id; +ALTER TABLE morphologic_width DROP CONSTRAINT fk_mw_river_id; +ALTER TABLE morphologic_width DROP CONSTRAINT fk_mw_unit_id; +ALTER TABLE morphologic_width_values DROP CONSTRAINT fk_mwv_morphologic_width_id; DROP TABLE bed_height_type; DROP TABLE location_system; @@ -27,6 +30,8 @@ DROP TABLE depths; DROP TABLE sediment_density; DROP TABLE sediment_density_values; +DROP TABLE morphologic_width; +DROP TABLE morphologic_width_values; DROP SEQUENCE BED_HEIGHT_TYPE_SEQ; DROP SEQUENCE LOCATION_SYSTEM_SEQ; @@ -38,4 +43,6 @@ DROP SEQUENCE DEPTHS_ID_SEQ; DROP SEQUENCE SEDIMENT_DENSITY_ID_SEQ; DROP SEQUENCE SEDIMENT_DENSITY_VALUES_ID_SEQ; +DROP SEQUENCE MORPHOLOGIC_WIDTH_ID_SEQ; +DROP SEQUENCE MORPH_WIDTH_VALUES_ID_SEQ; diff -r 8979f2294af9 -r 25ed1f18fcc4 flys-backend/doc/schema/oracle-minfo.sql --- a/flys-backend/doc/schema/oracle-minfo.sql Fri Apr 13 11:45:29 2012 +0000 +++ b/flys-backend/doc/schema/oracle-minfo.sql Fri Apr 13 12:33:26 2012 +0000 @@ -142,3 +142,27 @@ PRIMARY KEY(id), CONSTRAINT fk_sdv_sediment_density_id FOREIGN KEY(sediment_density_id) REFERENCES sediment_density(id) ); + + +CREATE SEQUENCE MORPHOLOGIC_WIDTH_ID_SEQ; + +CREATE TABLE morphologic_width ( + id NUMBER(38,0) NOT NULL, + river_id NUMBER(38,0) NOT NULL, + unit_id NUMBER(38,0) NOT NULL, + PRIMARY KEY(id), + CONSTRAINT fk_mw_river_id FOREIGN KEY(river_id) REFERENCES rivers(id), + CONSTRAINT fk_mw_unit_id FOREIGN KEY(unit_id) REFERENCES units(id) +); + + +CREATE SEQUENCE MORPH_WIDTH_VALUES_ID_SEQ; + +CREATE TABLE morphologic_width_values ( + id NUMBER(38,0) NOT NULL, + morphologic_width_id NUMBER(38,0) NOT NULL, + station NUMBER(38,3) NOT NULL, + width NUMBER(38,3) NOT NULL, + PRIMARY KEY(id), + CONSTRAINT fk_mwv_morphologic_width_id FOREIGN KEY (morphologic_width_id) REFERENCES morphologic_width(id) +); diff -r 8979f2294af9 -r 25ed1f18fcc4 flys-backend/src/main/java/de/intevation/flys/backend/SessionFactoryProvider.java --- a/flys-backend/src/main/java/de/intevation/flys/backend/SessionFactoryProvider.java Fri Apr 13 11:45:29 2012 +0000 +++ b/flys-backend/src/main/java/de/intevation/flys/backend/SessionFactoryProvider.java Fri Apr 13 12:33:26 2012 +0000 @@ -54,6 +54,8 @@ import de.intevation.flys.model.Line; import de.intevation.flys.model.LocationSystem; import de.intevation.flys.model.MainValueType; +import de.intevation.flys.model.MorphologicalWidth; +import de.intevation.flys.model.MorphologicalWidthValue; import de.intevation.flys.model.NamedMainValue; import de.intevation.flys.model.MainValue; import de.intevation.flys.model.Position; @@ -253,6 +255,8 @@ cfg.addAnnotatedClass(Line.class); cfg.addAnnotatedClass(LocationSystem.class); cfg.addAnnotatedClass(MainValueType.class); + cfg.addAnnotatedClass(MorphologicalWidth.class); + cfg.addAnnotatedClass(MorphologicalWidthValue.class); cfg.addAnnotatedClass(NamedMainValue.class); cfg.addAnnotatedClass(MainValue.class); cfg.addAnnotatedClass(Position.class); diff -r 8979f2294af9 -r 25ed1f18fcc4 flys-backend/src/main/java/de/intevation/flys/model/MorphologicalWidth.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/flys-backend/src/main/java/de/intevation/flys/model/MorphologicalWidth.java Fri Apr 13 12:33:26 2012 +0000 @@ -0,0 +1,85 @@ +package de.intevation.flys.model; + +import java.io.Serializable; +import java.util.List; + +import javax.persistence.Entity; +import javax.persistence.Id; +import javax.persistence.Table; +import javax.persistence.GeneratedValue; +import javax.persistence.Column; +import javax.persistence.SequenceGenerator; +import javax.persistence.GenerationType; +import javax.persistence.JoinColumn; +import javax.persistence.OneToOne; + + +@Entity +@Table(name = "morphologic_width") +public class MorphologicalWidth implements Serializable { + + private Integer id; + + private River river; + + private Unit unit; + + private List values; + + + public MorphologicalWidth() { + } + + + public MorphologicalWidth(River river, Unit unit) { + this.river = river; + this.unit = unit; + } + + + @Id + @SequenceGenerator( + name = "SEQUENCE_MORPHOLOGIC_WIDTH_ID_SEQ", + sequenceName = "MORPHOLOGIC_WIDTH_ID_SEQ", + allocationSize = 1) + @GeneratedValue( + strategy = GenerationType.SEQUENCE, + generator = "SEQUENCE_MORPHOLOGIC_WIDTH_ID_SEQ") + @Column(name = "id") + public Integer getId() { + return id; + } + + public void setId(Integer id) { + this.id = id; + } + + @OneToOne + @JoinColumn(name = "river_id") + public River getRiver() { + return river; + } + + public void setRiver(River river) { + this.river = river; + } + + @OneToOne + @JoinColumn(name = "unit_id") + public Unit getUnit() { + return unit; + } + + public void setUnit(Unit unit) { + this.unit = unit; + } + + public List getValues() { + return values; + } + + public void setValues(List values) { + this.values = values; + } +} +// vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 : diff -r 8979f2294af9 -r 25ed1f18fcc4 flys-backend/src/main/java/de/intevation/flys/model/MorphologicalWidthValue.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/flys-backend/src/main/java/de/intevation/flys/model/MorphologicalWidthValue.java Fri Apr 13 12:33:26 2012 +0000 @@ -0,0 +1,90 @@ +package de.intevation.flys.model; + +import java.io.Serializable; +import java.math.BigDecimal; + +import javax.persistence.Entity; +import javax.persistence.Id; +import javax.persistence.Table; +import javax.persistence.GeneratedValue; +import javax.persistence.Column; +import javax.persistence.SequenceGenerator; +import javax.persistence.GenerationType; +import javax.persistence.JoinColumn; +import javax.persistence.OneToOne; + + +@Entity +@Table(name = "morphologic_width_values") +public class MorphologicalWidthValue implements Serializable { + + private Integer id; + + private MorphologicalWidth morphologicalWidth; + + private BigDecimal station; + private BigDecimal width; + + + public MorphologicalWidthValue() { + } + + + public MorphologicalWidthValue( + MorphologicalWidth morphologicalWidth, + BigDecimal station, + BigDecimal width + ) { + this.morphologicalWidth = morphologicalWidth; + this.station = station; + this.width = width; + } + + + @Id + @SequenceGenerator( + name = "SEQUENCE_MORPH_WIDTH_VALUES_ID_SEQ", + sequenceName = "MORPH_WIDTH_VALUES_ID_SEQ", + allocationSize = 1) + @GeneratedValue( + strategy = GenerationType.SEQUENCE, + generator = "SEQUENCE_MORPH_WIDTH_VALUES_ID_SEQ") + @Column(name = "id") + public Integer getId() { + return id; + } + + public void setId(Integer id) { + this.id = id; + } + + + @OneToOne + @JoinColumn(name = "morphologic_width_id") + public MorphologicalWidth getMorphologicalWidth() { + return morphologicalWidth; + } + + public void setMorphologicalWidth(MorphologicalWidth width) { + this.morphologicalWidth = width; + } + + @Column(name = "station") + public BigDecimal getStation() { + return station; + } + + public void setStation(BigDecimal station) { + this.station = station; + } + + @Column(name = "width") + public BigDecimal getWidth() { + return width; + } + + public void setWidth(BigDecimal width) { + this.width = width; + } +} +// vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :