Mercurial > dive4elements > river
diff backend/src/main/java/org/dive4elements/river/backend/FLYSCredentials.java @ 5838:5aa05a7a34b7
Rename modules to more fitting names.
author | Sascha L. Teichmann <teichmann@intevation.de> |
---|---|
date | Thu, 25 Apr 2013 15:23:37 +0200 |
parents | flys-backend/src/main/java/org/dive4elements/river/backend/FLYSCredentials.java@18619c1e7c2a |
children | 4dd33b86dc61 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/backend/src/main/java/org/dive4elements/river/backend/FLYSCredentials.java Thu Apr 25 15:23:37 2013 +0200 @@ -0,0 +1,253 @@ +package org.dive4elements.river.backend; + +import org.dive4elements.artifacts.common.utils.Config; + +import org.dive4elements.river.model.Annotation; +import org.dive4elements.river.model.AnnotationType; +import org.dive4elements.river.model.Attribute; +import org.dive4elements.river.model.AxisKind; +import org.dive4elements.river.model.BedHeightEpoch; +import org.dive4elements.river.model.BedHeightEpochValue; +import org.dive4elements.river.model.BedHeightSingle; +import org.dive4elements.river.model.BedHeightSingleValue; +import org.dive4elements.river.model.BedHeightType; +import org.dive4elements.river.model.Building; +import org.dive4elements.river.model.BoundaryKind; +import org.dive4elements.river.model.CrossSection; +import org.dive4elements.river.model.CrossSectionLine; +import org.dive4elements.river.model.CrossSectionPoint; +import org.dive4elements.river.model.CrossSectionTrack; +import org.dive4elements.river.model.CrossSectionTrackKind; +import org.dive4elements.river.model.DGM; +import org.dive4elements.river.model.Depth; +import org.dive4elements.river.model.DischargeTable; +import org.dive4elements.river.model.DischargeTableValue; +import org.dive4elements.river.model.DischargeZone; +import org.dive4elements.river.model.Edge; +import org.dive4elements.river.model.ElevationModel; +import org.dive4elements.river.model.FedState; +import org.dive4elements.river.model.Fixpoint; +import org.dive4elements.river.model.Floodmaps; +import org.dive4elements.river.model.Floodmark; +import org.dive4elements.river.model.Floodplain; +import org.dive4elements.river.model.FloodplainKind; +import org.dive4elements.river.model.FlowVelocityMeasurement; +import org.dive4elements.river.model.FlowVelocityMeasurementValue; +import org.dive4elements.river.model.FlowVelocityModel; +import org.dive4elements.river.model.FlowVelocityModelValue; +import org.dive4elements.river.model.Gauge; +import org.dive4elements.river.model.GaugeLocation; +import org.dive4elements.river.model.GrainFraction; +import org.dive4elements.river.model.HWSKind; +import org.dive4elements.river.model.HWSLine; +import org.dive4elements.river.model.HWSPoint; +import org.dive4elements.river.model.HYK; +import org.dive4elements.river.model.HYKEntry; +import org.dive4elements.river.model.HYKFlowZone; +import org.dive4elements.river.model.HYKFlowZoneType; +import org.dive4elements.river.model.HYKFormation; +import org.dive4elements.river.model.HydrBoundary; +import org.dive4elements.river.model.HydrBoundaryPoly; +import org.dive4elements.river.model.Jetty; +import org.dive4elements.river.model.LocationSystem; +import org.dive4elements.river.model.MainValue; +import org.dive4elements.river.model.MainValueType; +import org.dive4elements.river.model.MeasurementStation; +import org.dive4elements.river.model.MorphologicalWidth; +import org.dive4elements.river.model.MorphologicalWidthValue; +import org.dive4elements.river.model.NamedMainValue; +import org.dive4elements.river.model.Position; +import org.dive4elements.river.model.Range; +import org.dive4elements.river.model.River; +import org.dive4elements.river.model.RiverAxis; +import org.dive4elements.river.model.RiverAxisKm; +import org.dive4elements.river.model.SQRelation; +import org.dive4elements.river.model.SQRelationValue; +import org.dive4elements.river.model.SectieKind; +import org.dive4elements.river.model.SobekKind; +import org.dive4elements.river.model.SedimentDensity; +import org.dive4elements.river.model.SedimentDensityValue; +import org.dive4elements.river.model.SedimentYield; +import org.dive4elements.river.model.SedimentYieldValue; +import org.dive4elements.river.model.TimeInterval; +import org.dive4elements.river.model.Unit; +import org.dive4elements.river.model.Wst; +import org.dive4elements.river.model.WstColumn; +import org.dive4elements.river.model.WstColumnQRange; +import org.dive4elements.river.model.WstColumnValue; +import org.dive4elements.river.model.WstQRange; + +public class FLYSCredentials +extends Credentials +{ + public static final String XPATH_USER = + "/artifact-database/backend-database/user/text()"; + + public static final String XPATH_PASSWORD = + "/artifact-database/backend-database/password/text()"; + + public static final String XPATH_DIALECT = + "/artifact-database/backend-database/dialect/text()"; + + public static final String XPATH_DRIVER = + "/artifact-database/backend-database/driver/text()"; + + public static final String XPATH_URL = + "/artifact-database/backend-database/url/text()"; + + public static final String XPATH_CONNECTION_INIT_SQLS = + "/artifact-database/backend-database/connection-init-sqls/text()"; + + public static final String DEFAULT_USER = + System.getProperty("flys.backend.user", "flys"); + + public static final String DEFAULT_PASSWORD = + System.getProperty("flys.backend.password", "flys"); + + public static final String DEFAULT_DIALECT = + System.getProperty( + "flys.backend.dialect", + "org.hibernate.dialect.PostgreSQLDialect"); + + public static final String DEFAULT_DRIVER = + System.getProperty( + "flys.backend.driver", + "org.postgresql.Driver"); + + public static final String DEFAULT_URL = + System.getProperty( + "flys.backend.url", + "jdbc:postgresql://localhost:5432/flys"); + + public static final String DEFAULT_CONNECTION_INIT_SQLS = + System.getProperty( + "flys.backend.connection.init.sqls"); + + public static final Class [] CLASSES = { + Annotation.class, + AnnotationType.class, + Attribute.class, + AxisKind.class, + BedHeightEpoch.class, + BedHeightEpochValue.class, + BedHeightSingle.class, + BedHeightSingleValue.class, + BedHeightType.class, + Building.class, + BoundaryKind.class, + CrossSection.class, + CrossSectionLine.class, + CrossSectionPoint.class, + CrossSectionTrack.class, + CrossSectionTrackKind.class, + Depth.class, + DGM.class, + DischargeTable.class, + DischargeTableValue.class, + DischargeZone.class, + Edge.class, + ElevationModel.class, + FedState.class, + Fixpoint.class, + Floodmark.class, + Floodplain.class, + FloodplainKind.class, + Floodmaps.class, + FlowVelocityMeasurement.class, + FlowVelocityMeasurementValue.class, + FlowVelocityModel.class, + FlowVelocityModelValue.class, + Gauge.class, + GaugeLocation.class, + GrainFraction.class, + HWSKind.class, + HWSLine.class, + HWSPoint.class, + HydrBoundary.class, + HydrBoundaryPoly.class, + HYK.class, + HYKEntry.class, + HYKFormation.class, + HYKFlowZoneType.class, + HYKFlowZone.class, + Jetty.class, + LocationSystem.class, + MainValueType.class, + MeasurementStation.class, + MorphologicalWidth.class, + MorphologicalWidthValue.class, + NamedMainValue.class, + MainValue.class, + Position.class, + Range.class, + River.class, + RiverAxis.class, + RiverAxisKm.class, + SectieKind.class, + SobekKind.class, + SedimentDensity.class, + SedimentDensityValue.class, + SedimentYield.class, + SedimentYieldValue.class, + SQRelation.class, + SQRelationValue.class, + TimeInterval.class, + Unit.class, + WstColumn.class, + WstColumnQRange.class, + WstColumnValue.class, + Wst.class, + WstQRange.class + }; + + public FLYSCredentials() { + } + + public FLYSCredentials( + String user, + String password, + String dialect, + String driver, + String url, + String connectionInitSqls + ) { + super( + user, password, dialect, driver, url, connectionInitSqls, CLASSES); + } + + private static Credentials instance; + + public static synchronized Credentials getInstance() { + if (instance == null) { + String user = + Config.getStringXPath(XPATH_USER, DEFAULT_USER); + String password = + Config.getStringXPath(XPATH_PASSWORD, DEFAULT_PASSWORD); + String dialect = + Config.getStringXPath(XPATH_DIALECT, DEFAULT_DIALECT); + String driver = + Config.getStringXPath(XPATH_DRIVER, DEFAULT_DRIVER); + String url = + Config.getStringXPath(XPATH_URL, DEFAULT_URL); + String connectionInitSqls = + Config.getStringXPath( + XPATH_CONNECTION_INIT_SQLS, + DEFAULT_CONNECTION_INIT_SQLS); + + instance = new FLYSCredentials( + user, password, dialect, driver, url, connectionInitSqls); + } + return instance; + } + + public static Credentials getDefault() { + return new FLYSCredentials( + DEFAULT_USER, + DEFAULT_PASSWORD, + DEFAULT_DIALECT, + DEFAULT_DRIVER, + DEFAULT_URL, + DEFAULT_CONNECTION_INIT_SQLS); + } +} +// vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :