# HG changeset patch # User Sascha L. Teichmann # Date 1308054848 0 # Node ID bf16268629d948978d0b67c2329a9ea7c2522ae8 # Parent c19d4c643526f460f3d4ea952b4709558121e024 Added 'Kanten' model flys-backend/trunk@2106 c6561f87-3c4e-4783-a992-168aeb5c3f6f diff -r c19d4c643526 -r bf16268629d9 flys-backend/ChangeLog --- a/flys-backend/ChangeLog Wed Jun 08 19:03:44 2011 +0000 +++ b/flys-backend/ChangeLog Tue Jun 14 12:34:08 2011 +0000 @@ -1,3 +1,20 @@ +2011-06-14 Sascha L. Teichmann + + * doc/schema/postgresql.sql: Added table edges to model 'Kanten' of an annotation. + To update existing databases: + BEGIN; + CREATE SEQUENCE EDGES_ID_SEQ; + CREATE TABLE edges ( + id int PRIMARY KEY NOT NULL, + top NUMERIC, + bottom NUMERIC); + ALTER TABLE annotations ADD COLUMN edge_id int REFERENCES edges(id); + COMMIT; + + * src/main/java/de/intevation/flys/model/Edge.java: New. A 'Kanten'-Model. + * src/main/java/de/intevation/flys/model/Annotation.java: References the + edges. + 2011-06-08 Sascha L. Teichmann * src/main/java/de/intevation/flys/model/River.java: diff -r c19d4c643526 -r bf16268629d9 flys-backend/doc/schema/postgresql.sql --- a/flys-backend/doc/schema/postgresql.sql Wed Jun 08 19:03:44 2011 +0000 +++ b/flys-backend/doc/schema/postgresql.sql Tue Jun 14 12:34:08 2011 +0000 @@ -36,6 +36,15 @@ value VARCHAR(256) NOT NULL UNIQUE ); +-- Kante 'oben', 'unten' +CREATE SEQUENCE EDGES_ID_SEQ; + +CREATE TABLE edges ( + id int PRIMARY KEY NOT NULL, + top NUMERIC, + bottom NUMERIC +); + -- Some object (eg. Hafen) at a segment of river -- plus its position. CREATE SEQUENCE ANNOTATIONS_ID_SEQ; @@ -44,7 +53,8 @@ id int PRIMARY KEY NOT NULL, range_id int NOT NULL REFERENCES ranges(id), attribute_id int NOT NULL REFERENCES attributes(id), - position_id int REFERENCES positions(id) + position_id int REFERENCES positions(id), + edge_id int REFERENCES edges(id) ); -- Pegel diff -r c19d4c643526 -r bf16268629d9 flys-backend/src/main/java/de/intevation/flys/model/Annotation.java --- a/flys-backend/src/main/java/de/intevation/flys/model/Annotation.java Wed Jun 08 19:03:44 2011 +0000 +++ b/flys-backend/src/main/java/de/intevation/flys/model/Annotation.java Tue Jun 14 12:34:08 2011 +0000 @@ -21,14 +21,25 @@ private Range range; private Attribute attribute; private Position position; + private Edge edge; public Annotation() { } public Annotation(Range range, Attribute attribute, Position position) { + this(range, attribute, position, null); + } + + public Annotation( + Range range, + Attribute attribute, + Position position, + Edge edge + ) { this.range = range; this.attribute = attribute; this.position = position; + this.edge = edge; } @Id @@ -77,5 +88,15 @@ public void setPosition(Position position) { this.position = position; } + + @OneToOne + @JoinColumn(name = "edge_id") + public Edge getEdge() { + return edge; + } + + public void setEdge(Edge edge) { + this.edge = edge; + } } // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 : diff -r c19d4c643526 -r bf16268629d9 flys-backend/src/main/java/de/intevation/flys/model/Edge.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/flys-backend/src/main/java/de/intevation/flys/model/Edge.java Tue Jun 14 12:34:08 2011 +0000 @@ -0,0 +1,67 @@ +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; + +@Entity +@Table(name = "edges") +public class Edge +implements Serializable +{ + private Integer id; + private BigDecimal top; + private BigDecimal bottom; + + public Edge() { + } + + public Edge(BigDecimal top, BigDecimal bottom) { + this.top = top; + this.bottom = bottom; + } + + @Id + @SequenceGenerator( + name = "SEQUENCE_EDGES_ID_SEQ", + sequenceName = "EDGES_ID_SEQ", + allocationSize = 1) + @GeneratedValue( + strategy = GenerationType.SEQUENCE, + generator = "SEQUENCE_EDGES_ID_SEQ") + @Column(name = "id") + public Integer getId() { + return id; + } + + public void setId(Integer id) { + this.id = id; + } + + @Column(name = "top") + public BigDecimal getTop() { + return top; + } + + public void setTop(BigDecimal top) { + this.top = top; + } + + @Column(name = "bottom") + public BigDecimal getBottom() { + return bottom; + } + + public void setBottom(BigDecimal bottom) { + this.bottom = bottom; + } +} +// vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :