Mercurial > dive4elements > river
comparison flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/sq/MeasurementFactory.java @ 3310:8af1111af180
SQ relation: More fixes.
flys-artifacts/trunk@4999 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Sascha L. Teichmann <sascha.teichmann@intevation.de> |
---|---|
date | Fri, 13 Jul 2012 15:41:56 +0000 |
parents | 5ccd51ca11ce |
children | 816ceb0418b9 |
comparison
equal
deleted
inserted
replaced
3309:fd3243d892a9 | 3310:8af1111af180 |
---|---|
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%," + |
49 "%SSIEBUNG%" + | 49 "%SSIEBUNG% " + |
50 "FROM messung m " + | 50 "FROM messung m " + |
51 "JOIN station s ON m.stationid = s.stationid " + | 51 "JOIN station s ON m.stationid = s.stationid " + |
52 "JOIN gewaesser g ON s.gewaesserid = g.gewaesserid " + | 52 "JOIN gewaesser g ON s.gewaesserid = g.gewaesserid " + |
53 "LEFT JOIN GSIEBSATZ gs ON m.gsiebsatzid = gs.gewaesserid " + | 53 "LEFT JOIN GSIEBSATZ gs ON m.gsiebsatzid = gs.gsiebsatzid " + |
54 "LEFT JOIN SSIEBUNG ss ON gs.gsiebsatzid = ss.gewaesserid " + | 54 "LEFT JOIN SSIEBUNG ss ON gs.gsiebsatzid = ss.gsiebsatzid " + |
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, |
65 String [] columnNames | 65 String [] columnNames |
66 ) { | 66 ) { |
67 StringBuilder sb = new StringBuilder(); | 67 StringBuilder sb = new StringBuilder(); |
68 for (String columnName: columnNames) { | 68 for (int i = 0; i < columnNames.length; ++i) { |
69 if (i > 0) { | |
70 sb.append(','); | |
71 } | |
69 sb.append(prefix) | 72 sb.append(prefix) |
70 .append('.') | 73 .append('.') |
71 .append(columnName) | 74 .append(columnNames[i]) |
72 .append(" AS ") | 75 .append(" AS ") |
73 .append(columnName) | 76 .append(columnNames[i]); |
74 .append(','); | |
75 } | 77 } |
76 return sb.toString(); | 78 return sb.toString(); |
77 } | 79 } |
78 | 80 |
79 public static final class MeasurementResultTransformer | 81 public static final class MeasurementResultTransformer |