comparison flys-backend/src/main/java/de/intevation/flys/backend/FLYSCredentials.java @ 3333:76c75c8b9ee0

SedDB: Make access to SedDB configurable over conf.xml and provide access to sessions. flys-backend/trunk@4666 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Sascha L. Teichmann <sascha.teichmann@intevation.de>
date Thu, 14 Jun 2012 15:39:42 +0000
parents
children f63b39799d2d
comparison
equal deleted inserted replaced
3332:aa8ed778c8cc 3333:76c75c8b9ee0
1 package de.intevation.flys.backend;
2
3 import de.intevation.artifacts.common.utils.Config;
4
5 import de.intevation.flys.model.Annotation;
6 import de.intevation.flys.model.AnnotationType;
7 import de.intevation.flys.model.Attribute;
8 import de.intevation.flys.model.BedHeightEpoch;
9 import de.intevation.flys.model.BedHeightEpochValue;
10 import de.intevation.flys.model.BedHeightSingle;
11 import de.intevation.flys.model.BedHeightSingleValue;
12 import de.intevation.flys.model.BedHeightType;
13 import de.intevation.flys.model.Building;
14 import de.intevation.flys.model.Catchment;
15 import de.intevation.flys.model.CrossSection;
16 import de.intevation.flys.model.CrossSectionLine;
17 import de.intevation.flys.model.CrossSectionPoint;
18 import de.intevation.flys.model.CrossSectionTrack;
19 import de.intevation.flys.model.DGM;
20 import de.intevation.flys.model.Depth;
21 import de.intevation.flys.model.DischargeTable;
22 import de.intevation.flys.model.DischargeTableValue;
23 import de.intevation.flys.model.DischargeZone;
24 import de.intevation.flys.model.Edge;
25 import de.intevation.flys.model.ElevationModel;
26 import de.intevation.flys.model.Fixpoint;
27 import de.intevation.flys.model.Floodmaps;
28 import de.intevation.flys.model.Floodplain;
29 import de.intevation.flys.model.FlowVelocityMeasurement;
30 import de.intevation.flys.model.FlowVelocityMeasurementValue;
31 import de.intevation.flys.model.FlowVelocityModel;
32 import de.intevation.flys.model.FlowVelocityModelValue;
33 import de.intevation.flys.model.Gauge;
34 import de.intevation.flys.model.GaugeLocation;
35 import de.intevation.flys.model.GrainFraction;
36 import de.intevation.flys.model.HYK;
37 import de.intevation.flys.model.HYKEntry;
38 import de.intevation.flys.model.HYKFlowZone;
39 import de.intevation.flys.model.HYKFlowZoneType;
40 import de.intevation.flys.model.HYKFormation;
41 import de.intevation.flys.model.Hws;
42 import de.intevation.flys.model.HydrBoundary;
43 import de.intevation.flys.model.HydrBoundaryPoly;
44 import de.intevation.flys.model.Line;
45 import de.intevation.flys.model.LocationSystem;
46 import de.intevation.flys.model.MainValue;
47 import de.intevation.flys.model.MainValueType;
48 import de.intevation.flys.model.MorphologicalWidth;
49 import de.intevation.flys.model.MorphologicalWidthValue;
50 import de.intevation.flys.model.NamedMainValue;
51 import de.intevation.flys.model.Position;
52 import de.intevation.flys.model.Range;
53 import de.intevation.flys.model.River;
54 import de.intevation.flys.model.RiverAxis;
55 import de.intevation.flys.model.RiverAxisKm;
56 import de.intevation.flys.model.SQRelation;
57 import de.intevation.flys.model.SQRelationValue;
58 import de.intevation.flys.model.SedimentDensity;
59 import de.intevation.flys.model.SedimentDensityValue;
60 import de.intevation.flys.model.SedimentYield;
61 import de.intevation.flys.model.SedimentYieldValue;
62 import de.intevation.flys.model.TimeInterval;
63 import de.intevation.flys.model.Unit;
64 import de.intevation.flys.model.Waterlevel;
65 import de.intevation.flys.model.WaterlevelDifference;
66 import de.intevation.flys.model.WaterlevelDifferenceColumn;
67 import de.intevation.flys.model.WaterlevelDifferenceValue;
68 import de.intevation.flys.model.WaterlevelQRange;
69 import de.intevation.flys.model.WaterlevelValue;
70 import de.intevation.flys.model.Wst;
71 import de.intevation.flys.model.WstColumn;
72 import de.intevation.flys.model.WstColumnQRange;
73 import de.intevation.flys.model.WstColumnValue;
74 import de.intevation.flys.model.WstQRange;
75
76 public class FLYSCredentials
77 extends Credentials
78 {
79 public static final String XPATH_USER =
80 "/artifact-database/backend-database/user/text()";
81
82 public static final String XPATH_PASSWORD =
83 "/artifact-database/backend-database/password/text()";
84
85 public static final String XPATH_DIALECT =
86 "/artifact-database/backend-database/dialect/text()";
87
88 public static final String XPATH_DRIVER =
89 "/artifact-database/backend-database/driver/text()";
90
91 public static final String XPATH_URL =
92 "/artifact-database/backend-database/url/text()";
93
94 public static final String DEFAULT_USER =
95 System.getProperty("flys.backend.user", "flys");
96
97 public static final String DEFAULT_PASSWORD =
98 System.getProperty("flys.backend.password", "flys");
99
100 public static final String DEFAULT_DIALECT =
101 System.getProperty(
102 "flys.backend.dialect",
103 "org.hibernate.dialect.PostgreSQLDialect");
104
105 public static final String DEFAULT_DRIVER =
106 System.getProperty(
107 "flys.backend.driver",
108 "org.postgresql.Driver");
109
110 public static final String DEFAULT_URL =
111 System.getProperty(
112 "flys.backend.url",
113 "jdbc:postgresql://localhost:5432/flys");
114
115 public static final Class [] CLASSES = {
116 Annotation.class,
117 AnnotationType.class,
118 Attribute.class,
119 BedHeightEpoch.class,
120 BedHeightEpochValue.class,
121 BedHeightSingle.class,
122 BedHeightSingleValue.class,
123 BedHeightType.class,
124 Building.class,
125 Catchment.class,
126 CrossSection.class,
127 CrossSectionLine.class,
128 CrossSectionPoint.class,
129 CrossSectionTrack.class,
130 Depth.class,
131 DGM.class,
132 DischargeTable.class,
133 DischargeTableValue.class,
134 DischargeZone.class,
135 Edge.class,
136 ElevationModel.class,
137 Fixpoint.class,
138 Floodplain.class,
139 Floodmaps.class,
140 FlowVelocityMeasurement.class,
141 FlowVelocityMeasurementValue.class,
142 FlowVelocityModel.class,
143 FlowVelocityModelValue.class,
144 Gauge.class,
145 GaugeLocation.class,
146 GrainFraction.class,
147 Hws.class,
148 HydrBoundary.class,
149 HydrBoundaryPoly.class,
150 HYK.class,
151 HYKEntry.class,
152 HYKFormation.class,
153 HYKFlowZoneType.class,
154 HYKFlowZone.class,
155 Line.class,
156 LocationSystem.class,
157 MainValueType.class,
158 MorphologicalWidth.class,
159 MorphologicalWidthValue.class,
160 NamedMainValue.class,
161 MainValue.class,
162 Position.class,
163 Range.class,
164 River.class,
165 RiverAxis.class,
166 RiverAxisKm.class,
167 SedimentDensity.class,
168 SedimentDensityValue.class,
169 SedimentYield.class,
170 SedimentYieldValue.class,
171 SQRelation.class,
172 SQRelationValue.class,
173 TimeInterval.class,
174 Unit.class,
175 Waterlevel.class,
176 WaterlevelDifference.class,
177 WaterlevelDifferenceColumn.class,
178 WaterlevelDifferenceValue.class,
179 WaterlevelQRange.class,
180 WaterlevelValue.class,
181 WstColumn.class,
182 WstColumnQRange.class,
183 WstColumnValue.class,
184 Wst.class,
185 WstQRange.class
186 };
187
188 public FLYSCredentials() {
189 }
190
191 public FLYSCredentials(
192 String user,
193 String password,
194 String dialect,
195 String driver,
196 String url
197 ) {
198 super(user, password, dialect, driver, url, CLASSES);
199 }
200
201 private static Credentials instance;
202
203 public static synchronized Credentials getInstance() {
204 if (instance == null) {
205 String user =
206 Config.getStringXPath(XPATH_USER, DEFAULT_USER);
207 String password =
208 Config.getStringXPath(XPATH_PASSWORD, DEFAULT_PASSWORD);
209 String dialect =
210 Config.getStringXPath(XPATH_DIALECT, DEFAULT_DIALECT);
211 String driver =
212 Config.getStringXPath(XPATH_DRIVER, DEFAULT_DRIVER);
213 String url =
214 Config.getStringXPath(XPATH_URL, DEFAULT_URL);
215
216 instance = new FLYSCredentials(
217 user, password, dialect, driver, url);
218 }
219 return instance;
220 }
221
222 public static Credentials getDefault() {
223 return new FLYSCredentials(
224 DEFAULT_USER,
225 DEFAULT_PASSWORD,
226 DEFAULT_DIALECT,
227 DEFAULT_DRIVER,
228 DEFAULT_URL);
229 }
230 }
231 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :

http://dive4elements.wald.intevation.org