annotate flys-backend/src/main/java/de/intevation/seddb/model/Gfaenger.java @ 5779:ebec12def170

Datacage: Add a pool of builders to make it multi threadable. XML DOM is not thread safe. Therefore the old implementation only allowed one thread to use the builder at a time. As the complexity of the configuration has increased over time this has become a bottleneck of the whole application because it took quiet some time to build a result. Furthermore the builder code path is visited very frequent. So many concurrent requests were piled up resulting in long waits for the users. To mitigate this problem a round robin pool of builders is used now. Each of the pooled builders has an independent copy of the XML template and can be run in parallel. The number of builders is determined by the system property 'flys.datacage.pool.size'. It defaults to 4.
author Sascha L. Teichmann <teichmann@intevation.de>
date Sun, 21 Apr 2013 12:48:09 +0200
parents 2ae732e2c65c
children 18619c1e7c2a
rev   line source
3332
aa8ed778c8cc Added Hibernate access class to SedDB
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
1 package de.intevation.seddb.model;
aa8ed778c8cc Added Hibernate access class to SedDB
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
2 // Generated 14.06.2012 11:30:57 by Hibernate Tools 3.4.0.CR1
aa8ed778c8cc Added Hibernate access class to SedDB
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
3
aa8ed778c8cc Added Hibernate access class to SedDB
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
4
aa8ed778c8cc Added Hibernate access class to SedDB
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
5 import java.math.BigDecimal;
aa8ed778c8cc Added Hibernate access class to SedDB
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
6 import java.util.HashSet;
aa8ed778c8cc Added Hibernate access class to SedDB
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
7 import java.util.Set;
aa8ed778c8cc Added Hibernate access class to SedDB
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
8 import javax.persistence.Column;
aa8ed778c8cc Added Hibernate access class to SedDB
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
9 import javax.persistence.Entity;
aa8ed778c8cc Added Hibernate access class to SedDB
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
10 import javax.persistence.FetchType;
aa8ed778c8cc Added Hibernate access class to SedDB
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
11 import javax.persistence.Id;
aa8ed778c8cc Added Hibernate access class to SedDB
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
12 import javax.persistence.OneToMany;
aa8ed778c8cc Added Hibernate access class to SedDB
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
13 import javax.persistence.Table;
aa8ed778c8cc Added Hibernate access class to SedDB
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
14 import javax.persistence.UniqueConstraint;
aa8ed778c8cc Added Hibernate access class to SedDB
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
15
aa8ed778c8cc Added Hibernate access class to SedDB
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
16 /**
aa8ed778c8cc Added Hibernate access class to SedDB
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
17 * Gfaenger generated by hbm2java
aa8ed778c8cc Added Hibernate access class to SedDB
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
18 */
aa8ed778c8cc Added Hibernate access class to SedDB
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
19 @Entity
aa8ed778c8cc Added Hibernate access class to SedDB
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
20 @Table(name="GFAENGER"
aa8ed778c8cc Added Hibernate access class to SedDB
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
21 ,schema="SEDDB"
3334
2ae732e2c65c FLYS backend: Removed trailing whitespace.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3332
diff changeset
22 , uniqueConstraints = @UniqueConstraint(columnNames="NAME")
3332
aa8ed778c8cc Added Hibernate access class to SedDB
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
23 )
aa8ed778c8cc Added Hibernate access class to SedDB
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
24 public class Gfaenger implements java.io.Serializable {
aa8ed778c8cc Added Hibernate access class to SedDB
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
25
aa8ed778c8cc Added Hibernate access class to SedDB
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
26
aa8ed778c8cc Added Hibernate access class to SedDB
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
27 private long gfaengerid;
aa8ed778c8cc Added Hibernate access class to SedDB
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
28 private boolean istaktiv;
aa8ed778c8cc Added Hibernate access class to SedDB
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
29 private String name;
aa8ed778c8cc Added Hibernate access class to SedDB
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
30 private BigDecimal breite;
aa8ed778c8cc Added Hibernate access class to SedDB
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
31 private BigDecimal maschenweite;
aa8ed778c8cc Added Hibernate access class to SedDB
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
32 private String bemerkung;
aa8ed778c8cc Added Hibernate access class to SedDB
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
33 private Set<Messung> messungs = new HashSet<Messung>(0);
aa8ed778c8cc Added Hibernate access class to SedDB
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
34
aa8ed778c8cc Added Hibernate access class to SedDB
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
35 public Gfaenger() {
aa8ed778c8cc Added Hibernate access class to SedDB
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
36 }
aa8ed778c8cc Added Hibernate access class to SedDB
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
37
aa8ed778c8cc Added Hibernate access class to SedDB
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
38 public Gfaenger(long gfaengerid, boolean istaktiv, String name, BigDecimal breite, BigDecimal maschenweite) {
aa8ed778c8cc Added Hibernate access class to SedDB
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
39 this.gfaengerid = gfaengerid;
aa8ed778c8cc Added Hibernate access class to SedDB
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
40 this.istaktiv = istaktiv;
aa8ed778c8cc Added Hibernate access class to SedDB
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
41 this.name = name;
aa8ed778c8cc Added Hibernate access class to SedDB
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
42 this.breite = breite;
aa8ed778c8cc Added Hibernate access class to SedDB
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
43 this.maschenweite = maschenweite;
aa8ed778c8cc Added Hibernate access class to SedDB
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
44 }
aa8ed778c8cc Added Hibernate access class to SedDB
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
45 public Gfaenger(long gfaengerid, boolean istaktiv, String name, BigDecimal breite, BigDecimal maschenweite, String bemerkung, Set<Messung> messungs) {
aa8ed778c8cc Added Hibernate access class to SedDB
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
46 this.gfaengerid = gfaengerid;
aa8ed778c8cc Added Hibernate access class to SedDB
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
47 this.istaktiv = istaktiv;
aa8ed778c8cc Added Hibernate access class to SedDB
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
48 this.name = name;
aa8ed778c8cc Added Hibernate access class to SedDB
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
49 this.breite = breite;
aa8ed778c8cc Added Hibernate access class to SedDB
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
50 this.maschenweite = maschenweite;
aa8ed778c8cc Added Hibernate access class to SedDB
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
51 this.bemerkung = bemerkung;
aa8ed778c8cc Added Hibernate access class to SedDB
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
52 this.messungs = messungs;
aa8ed778c8cc Added Hibernate access class to SedDB
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
53 }
aa8ed778c8cc Added Hibernate access class to SedDB
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
54
3334
2ae732e2c65c FLYS backend: Removed trailing whitespace.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3332
diff changeset
55 @Id
2ae732e2c65c FLYS backend: Removed trailing whitespace.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3332
diff changeset
56
2ae732e2c65c FLYS backend: Removed trailing whitespace.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3332
diff changeset
57
3332
aa8ed778c8cc Added Hibernate access class to SedDB
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
58 @Column(name="GFAENGERID", unique=true, nullable=false, precision=11, scale=0)
aa8ed778c8cc Added Hibernate access class to SedDB
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
59 public long getGfaengerid() {
aa8ed778c8cc Added Hibernate access class to SedDB
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
60 return this.gfaengerid;
aa8ed778c8cc Added Hibernate access class to SedDB
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
61 }
3334
2ae732e2c65c FLYS backend: Removed trailing whitespace.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3332
diff changeset
62
3332
aa8ed778c8cc Added Hibernate access class to SedDB
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
63 public void setGfaengerid(long gfaengerid) {
aa8ed778c8cc Added Hibernate access class to SedDB
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
64 this.gfaengerid = gfaengerid;
aa8ed778c8cc Added Hibernate access class to SedDB
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
65 }
aa8ed778c8cc Added Hibernate access class to SedDB
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
66
3334
2ae732e2c65c FLYS backend: Removed trailing whitespace.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3332
diff changeset
67
3332
aa8ed778c8cc Added Hibernate access class to SedDB
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
68 @Column(name="ISTAKTIV", nullable=false, precision=1, scale=0)
aa8ed778c8cc Added Hibernate access class to SedDB
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
69 public boolean isIstaktiv() {
aa8ed778c8cc Added Hibernate access class to SedDB
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
70 return this.istaktiv;
aa8ed778c8cc Added Hibernate access class to SedDB
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
71 }
3334
2ae732e2c65c FLYS backend: Removed trailing whitespace.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3332
diff changeset
72
3332
aa8ed778c8cc Added Hibernate access class to SedDB
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
73 public void setIstaktiv(boolean istaktiv) {
aa8ed778c8cc Added Hibernate access class to SedDB
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
74 this.istaktiv = istaktiv;
aa8ed778c8cc Added Hibernate access class to SedDB
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
75 }
aa8ed778c8cc Added Hibernate access class to SedDB
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
76
3334
2ae732e2c65c FLYS backend: Removed trailing whitespace.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3332
diff changeset
77
3332
aa8ed778c8cc Added Hibernate access class to SedDB
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
78 @Column(name="NAME", unique=true, nullable=false, length=30)
aa8ed778c8cc Added Hibernate access class to SedDB
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
79 public String getName() {
aa8ed778c8cc Added Hibernate access class to SedDB
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
80 return this.name;
aa8ed778c8cc Added Hibernate access class to SedDB
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
81 }
3334
2ae732e2c65c FLYS backend: Removed trailing whitespace.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3332
diff changeset
82
3332
aa8ed778c8cc Added Hibernate access class to SedDB
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
83 public void setName(String name) {
aa8ed778c8cc Added Hibernate access class to SedDB
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
84 this.name = name;
aa8ed778c8cc Added Hibernate access class to SedDB
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
85 }
aa8ed778c8cc Added Hibernate access class to SedDB
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
86
3334
2ae732e2c65c FLYS backend: Removed trailing whitespace.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3332
diff changeset
87
3332
aa8ed778c8cc Added Hibernate access class to SedDB
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
88 @Column(name="BREITE", nullable=false, precision=6, scale=3)
aa8ed778c8cc Added Hibernate access class to SedDB
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
89 public BigDecimal getBreite() {
aa8ed778c8cc Added Hibernate access class to SedDB
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
90 return this.breite;
aa8ed778c8cc Added Hibernate access class to SedDB
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
91 }
3334
2ae732e2c65c FLYS backend: Removed trailing whitespace.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3332
diff changeset
92
3332
aa8ed778c8cc Added Hibernate access class to SedDB
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
93 public void setBreite(BigDecimal breite) {
aa8ed778c8cc Added Hibernate access class to SedDB
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
94 this.breite = breite;
aa8ed778c8cc Added Hibernate access class to SedDB
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
95 }
aa8ed778c8cc Added Hibernate access class to SedDB
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
96
3334
2ae732e2c65c FLYS backend: Removed trailing whitespace.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3332
diff changeset
97
3332
aa8ed778c8cc Added Hibernate access class to SedDB
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
98 @Column(name="MASCHENWEITE", nullable=false, precision=7, scale=4)
aa8ed778c8cc Added Hibernate access class to SedDB
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
99 public BigDecimal getMaschenweite() {
aa8ed778c8cc Added Hibernate access class to SedDB
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
100 return this.maschenweite;
aa8ed778c8cc Added Hibernate access class to SedDB
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
101 }
3334
2ae732e2c65c FLYS backend: Removed trailing whitespace.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3332
diff changeset
102
3332
aa8ed778c8cc Added Hibernate access class to SedDB
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
103 public void setMaschenweite(BigDecimal maschenweite) {
aa8ed778c8cc Added Hibernate access class to SedDB
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
104 this.maschenweite = maschenweite;
aa8ed778c8cc Added Hibernate access class to SedDB
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
105 }
aa8ed778c8cc Added Hibernate access class to SedDB
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
106
3334
2ae732e2c65c FLYS backend: Removed trailing whitespace.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3332
diff changeset
107
3332
aa8ed778c8cc Added Hibernate access class to SedDB
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
108 @Column(name="BEMERKUNG", length=240)
aa8ed778c8cc Added Hibernate access class to SedDB
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
109 public String getBemerkung() {
aa8ed778c8cc Added Hibernate access class to SedDB
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
110 return this.bemerkung;
aa8ed778c8cc Added Hibernate access class to SedDB
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
111 }
3334
2ae732e2c65c FLYS backend: Removed trailing whitespace.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3332
diff changeset
112
3332
aa8ed778c8cc Added Hibernate access class to SedDB
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
113 public void setBemerkung(String bemerkung) {
aa8ed778c8cc Added Hibernate access class to SedDB
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
114 this.bemerkung = bemerkung;
aa8ed778c8cc Added Hibernate access class to SedDB
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
115 }
aa8ed778c8cc Added Hibernate access class to SedDB
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
116
aa8ed778c8cc Added Hibernate access class to SedDB
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
117 @OneToMany(fetch=FetchType.LAZY, mappedBy="gfaenger")
aa8ed778c8cc Added Hibernate access class to SedDB
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
118 public Set<Messung> getMessungs() {
aa8ed778c8cc Added Hibernate access class to SedDB
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
119 return this.messungs;
aa8ed778c8cc Added Hibernate access class to SedDB
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
120 }
3334
2ae732e2c65c FLYS backend: Removed trailing whitespace.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3332
diff changeset
121
3332
aa8ed778c8cc Added Hibernate access class to SedDB
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
122 public void setMessungs(Set<Messung> messungs) {
aa8ed778c8cc Added Hibernate access class to SedDB
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
123 this.messungs = messungs;
aa8ed778c8cc Added Hibernate access class to SedDB
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
124 }
aa8ed778c8cc Added Hibernate access class to SedDB
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
125 }

http://dive4elements.wald.intevation.org