comparison flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/sq/MeasurementFactory.java @ 3308:5ccd51ca11ce

SQ relation: Fixed problem with string operation precedence. flys-artifacts/trunk@4997 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Sascha L. Teichmann <sascha.teichmann@intevation.de>
date Fri, 13 Jul 2012 14:25:16 +0000
parents e06036fdf0c7
children 8af1111af180
comparison
equal deleted inserted replaced
3307:81a98f360553 3308:5ccd51ca11ce
38 "RSIEB17", "RSIEB18", "RSIEB19", "RSIEB20", 38 "RSIEB17", "RSIEB18", "RSIEB19", "RSIEB20",
39 "RSIEB21", "REST" 39 "RSIEB21", "REST"
40 }; 40 };
41 41
42 public static final String SQL_MEASSURE = 42 public static final String SQL_MEASSURE =
43 "SELECT " + 43 ("SELECT " +
44 "m.TSAND AS TSAND," + 44 "m.TSAND AS TSAND," +
45 "m.TSCHWEB AS TSCHWEB," + 45 "m.TSCHWEB AS TSCHWEB," +
46 "m.CSCHWEB AS CSCHWEB," + 46 "m.CSCHWEB AS CSCHWEB," +
47 "m.Q AS Q," + 47 "m.Q AS Q," +
48 "%GSIEBSATZ%" + 48 "%GSIEBSATZ%" +
54 "LEFT JOIN SSIEBUNG ss ON gs.gsiebsatzid = ss.gewaesserid " + 54 "LEFT JOIN SSIEBUNG ss ON gs.gsiebsatzid = ss.gewaesserid " +
55 "WHERE " + 55 "WHERE " +
56 "g.name = :river_name AND " + 56 "g.name = :river_name AND " +
57 "s.km BETWEEN :location - 0.001 AND :location + 0.001 AND " + 57 "s.km BETWEEN :location - 0.001 AND :location + 0.001 AND " +
58 "m.datum BETWEEN :from AND :to AND " + 58 "m.datum BETWEEN :from AND :to AND " +
59 "m.Q IS NOT NULL" 59 "m.Q IS NOT NULL")
60 .replace("%GSIEBSATZ%", projection("gs", GSIEBSATZ)) 60 .replace("%GSIEBSATZ%", projection("gs", GSIEBSATZ))
61 .replace("%SSIEBUNG%", projection("ss", SSIEBUNG)); 61 .replace("%SSIEBUNG%", projection("ss", SSIEBUNG));
62 62
63 private static final String projection( 63 private static final String projection(
64 String prefix, 64 String prefix,
104 Session session, 104 Session session,
105 String river, 105 String river,
106 double location, 106 double location,
107 DateRange dateRange 107 DateRange dateRange
108 ) { 108 ) {
109 boolean debug = log.isDebugEnabled();
110
111 if (debug) {
112 log.debug(SQL_MEASSURE);
113 }
114
109 SQLQuery query = session.createSQLQuery(SQL_MEASSURE) 115 SQLQuery query = session.createSQLQuery(SQL_MEASSURE)
110 .addScalar("TSAND", StandardBasicTypes.DOUBLE) 116 .addScalar("TSAND", StandardBasicTypes.DOUBLE)
111 .addScalar("TSCHWEB", StandardBasicTypes.DOUBLE) 117 .addScalar("TSCHWEB", StandardBasicTypes.DOUBLE)
112 .addScalar("CSCHWEB", StandardBasicTypes.DOUBLE) 118 .addScalar("CSCHWEB", StandardBasicTypes.DOUBLE)
113 .addScalar("Q", StandardBasicTypes.DOUBLE); 119 .addScalar("Q", StandardBasicTypes.DOUBLE);

http://dive4elements.wald.intevation.org