comparison geo-backend/src/main/java/de/intevation/gnv/geobackend/sde/datasources/ArcSDEStatement.java @ 277:f304f2f12db4

Changed the splitting of the Statements for ARCSDE-Transformation. Now it is possible to use a Select-Statement as an Table. geo-backend/trunk@312 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Tim Englich <tim.englich@intevation.de>
date Tue, 10 Nov 2009 11:47:59 +0000
parents 9063c5fcebf7
children 6a585e87c18b
comparison
equal deleted inserted replaced
276:6503bc864017 277:f304f2f12db4
125 SeQuery query = null; 125 SeQuery query = null;
126 if (statement.toLowerCase().contains("st_astext") || statement.toLowerCase().contains("intersects")){ 126 if (statement.toLowerCase().contains("st_astext") || statement.toLowerCase().contains("intersects")){
127 127
128 String[] values = statement.toLowerCase().split("where", 2); 128 String[] values = statement.toLowerCase().split("where", 2);
129 String where = values.length > 1 ? values[1].trim() : ""; 129 String where = values.length > 1 ? values[1].trim() : "";
130 values = values[0].split("from", 2); 130 String[] tableNames = values[0].substring(values[0].indexOf("from")).replaceFirst("from", "").toUpperCase().trim().split(", ");
131 String[] tableNames = values[1].toUpperCase().trim().split(","); 131 String columnValueString = values[0].substring(0, values[0].indexOf("from")).trim();
132 String[] returnFields = values[0].replaceAll("select", "").trim().split(","); 132 columnValueString = columnValueString.replaceFirst("select", "").trim();
133 String[] returnFields = columnValueString.split(",");
133 String geometryColumnName = null; 134 String geometryColumnName = null;
134 String byClause = null; 135 String byClause = null;
135 int byClausePos = where.indexOf("group by"); 136 int byClausePos = where.indexOf("group by");
136 if (byClausePos < 0){ 137 if (byClausePos < 0){
137 byClausePos = where.indexOf("order by"); 138 byClausePos = where.indexOf("order by");

http://dive4elements.wald.intevation.org