annotate geo-backend/src/main/java/de/intevation/gnv/geobackend/sde/datasources/ArcSDEStatement.java @ 1127:ebeb56428409

Added license headers and license file. geo-backend/trunk@1261 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Ingo Weinzierl <ingo.weinzierl@intevation.de>
date Tue, 02 Nov 2010 17:52:22 +0000
parents f76541120bcb
children
rev   line source
1127
ebeb56428409 Added license headers and license file.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1123
diff changeset
1 /*
ebeb56428409 Added license headers and license file.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1123
diff changeset
2 * Copyright (c) 2010 by Intevation GmbH
ebeb56428409 Added license headers and license file.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1123
diff changeset
3 *
ebeb56428409 Added license headers and license file.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1123
diff changeset
4 * This program is free software under the LGPL (>=v2.1)
ebeb56428409 Added license headers and license file.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1123
diff changeset
5 * Read the file LGPL.txt coming with the software for details
ebeb56428409 Added license headers and license file.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1123
diff changeset
6 * or visit http://www.gnu.org/licenses/ if it does not exist.
ebeb56428409 Added license headers and license file.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1123
diff changeset
7 */
ebeb56428409 Added license headers and license file.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1123
diff changeset
8
266
1530890b28c9 Added SFS-Support to ArcSDE-Query-Part without any Spatial restriction in the where clause
Tim Englich <tim.englich@intevation.de>
parents: 263
diff changeset
9 package de.intevation.gnv.geobackend.sde.datasources;
130
e4eacd613356 Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
10
263
031ef9649cd1 Added SFS-Support to ArcSDE-Query-Part
Tim Englich <tim.englich@intevation.de>
parents: 143
diff changeset
11 import com.esri.sde.sdk.client.SDEPoint;
130
e4eacd613356 Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
12 import com.esri.sde.sdk.client.SeColumnDefinition;
263
031ef9649cd1 Added SFS-Support to ArcSDE-Query-Part
Tim Englich <tim.englich@intevation.de>
parents: 143
diff changeset
13 import com.esri.sde.sdk.client.SeConnection;
130
e4eacd613356 Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
14 import com.esri.sde.sdk.client.SeException;
543
fac02bf1c685 Added Rasterdatasupport to the ARCSDE-Statement
Tim Englich <tim.englich@intevation.de>
parents: 383
diff changeset
15 import com.esri.sde.sdk.client.SeExtent;
263
031ef9649cd1 Added SFS-Support to ArcSDE-Query-Part
Tim Englich <tim.englich@intevation.de>
parents: 143
diff changeset
16 import com.esri.sde.sdk.client.SeFilter;
031ef9649cd1 Added SFS-Support to ArcSDE-Query-Part
Tim Englich <tim.englich@intevation.de>
parents: 143
diff changeset
17 import com.esri.sde.sdk.client.SeLayer;
130
e4eacd613356 Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
18 import com.esri.sde.sdk.client.SeQuery;
267
000e00592ba5 Added InnerJoin, Order By and Group By Support to Spatial-Queries
Tim Englich <tim.englich@intevation.de>
parents: 266
diff changeset
19 import com.esri.sde.sdk.client.SeQueryInfo;
543
fac02bf1c685 Added Rasterdatasupport to the ARCSDE-Statement
Tim Englich <tim.englich@intevation.de>
parents: 383
diff changeset
20 import com.esri.sde.sdk.client.SeRaster;
fac02bf1c685 Added Rasterdatasupport to the ARCSDE-Statement
Tim Englich <tim.englich@intevation.de>
parents: 383
diff changeset
21 import com.esri.sde.sdk.client.SeRasterAttr;
fac02bf1c685 Added Rasterdatasupport to the ARCSDE-Statement
Tim Englich <tim.englich@intevation.de>
parents: 383
diff changeset
22 import com.esri.sde.sdk.client.SeRasterBand;
fac02bf1c685 Added Rasterdatasupport to the ARCSDE-Statement
Tim Englich <tim.englich@intevation.de>
parents: 383
diff changeset
23 import com.esri.sde.sdk.client.SeRasterConstraint;
fac02bf1c685 Added Rasterdatasupport to the ARCSDE-Statement
Tim Englich <tim.englich@intevation.de>
parents: 383
diff changeset
24 import com.esri.sde.sdk.client.SeRasterTile;
130
e4eacd613356 Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
25 import com.esri.sde.sdk.client.SeRow;
263
031ef9649cd1 Added SFS-Support to ArcSDE-Query-Part
Tim Englich <tim.englich@intevation.de>
parents: 143
diff changeset
26 import com.esri.sde.sdk.client.SeShape;
031ef9649cd1 Added SFS-Support to ArcSDE-Query-Part
Tim Englich <tim.englich@intevation.de>
parents: 143
diff changeset
27 import com.esri.sde.sdk.client.SeShapeFilter;
031ef9649cd1 Added SFS-Support to ArcSDE-Query-Part
Tim Englich <tim.englich@intevation.de>
parents: 143
diff changeset
28 import com.esri.sde.sdk.client.SeSqlConstruct;
886
8b442223741c Ordered imports. Removed empty headers.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 885
diff changeset
29
263
031ef9649cd1 Added SFS-Support to ArcSDE-Query-Part
Tim Englich <tim.englich@intevation.de>
parents: 143
diff changeset
30 import com.vividsolutions.jts.geom.Geometry;
879
9bcc423d8d76 Added Support for SpatialQueries using LineString as Geometry of Interest.
Tim Englich <tim.englich@intevation.de>
parents: 555
diff changeset
31 import com.vividsolutions.jts.geom.LineString;
383
0b813ae17173 Added Point in Polygon Query Support to ArcSDE-Statement-Processing
Tim Englich <tim.englich@intevation.de>
parents: 380
diff changeset
32 import com.vividsolutions.jts.geom.Point;
0b813ae17173 Added Point in Polygon Query Support to ArcSDE-Statement-Processing
Tim Englich <tim.englich@intevation.de>
parents: 380
diff changeset
33 import com.vividsolutions.jts.geom.Polygon;
886
8b442223741c Ordered imports. Removed empty headers.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 885
diff changeset
34
263
031ef9649cd1 Added SFS-Support to ArcSDE-Query-Part
Tim Englich <tim.englich@intevation.de>
parents: 143
diff changeset
35 import com.vividsolutions.jts.io.WKTReader;
031ef9649cd1 Added SFS-Support to ArcSDE-Query-Part
Tim Englich <tim.englich@intevation.de>
parents: 143
diff changeset
36
555
825781a39c70 Fixed gnv/issue107
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 552
diff changeset
37 import de.intevation.gnv.geobackend.util.RedundancyRemover;
825781a39c70 Fixed gnv/issue107
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 552
diff changeset
38
886
8b442223741c Ordered imports. Removed empty headers.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 885
diff changeset
39 import java.sql.Connection;
8b442223741c Ordered imports. Removed empty headers.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 885
diff changeset
40 import java.sql.ResultSet;
8b442223741c Ordered imports. Removed empty headers.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 885
diff changeset
41 import java.sql.SQLException;
8b442223741c Ordered imports. Removed empty headers.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 885
diff changeset
42 import java.sql.SQLWarning;
8b442223741c Ordered imports. Removed empty headers.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 885
diff changeset
43 import java.sql.Statement;
8b442223741c Ordered imports. Removed empty headers.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 885
diff changeset
44
8b442223741c Ordered imports. Removed empty headers.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 885
diff changeset
45 import org.apache.log4j.Logger;
8b442223741c Ordered imports. Removed empty headers.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 885
diff changeset
46
547
23d5cc37dd5b Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 546
diff changeset
47 /**
884
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
48 * This Class wrapps an SDE-Statment to an java.sql.Statement.
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
49 * This Class also handles the SDE-Specific -Spatial-Queries and
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
50 * RasterQueries.
887
b757def3ff55 Bring @author javadoc tags in form '@author <a href="john.doe@example.com">John Doe</a>'
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 886
diff changeset
51 * @author <a href="mailto:tim.englich@intevation.de">Tim Englich</a>
b757def3ff55 Bring @author javadoc tags in form '@author <a href="john.doe@example.com">John Doe</a>'
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 886
diff changeset
52 * @author <a href="mailto:sascha.teichmann@intevation.de">Sascha L. Teichmann</a>
130
e4eacd613356 Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
53 */
e4eacd613356 Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
54 public class ArcSDEStatement implements Statement {
e4eacd613356 Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
55
884
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
56 /**
130
e4eacd613356 Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
57 * the logger, used to log exceptions and additonaly information
e4eacd613356 Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
58 */
e4eacd613356 Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
59 private static Logger log = Logger.getLogger(ArcSDEStatement.class);
885
1c3efbd2fc5a Removes trailing whitespace.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 884
diff changeset
60
884
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
61 /**
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
62 * The Connection to the ArcSDE-Backend
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
63 */
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
64 private ArcSDEConnection connection = null;
885
1c3efbd2fc5a Removes trailing whitespace.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 884
diff changeset
65
884
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
66 /**
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
67 * Constructor
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
68 * @param connection the Connection to the ArcSDE-Backend.
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
69 */
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
70 public ArcSDEStatement(ArcSDEConnection connection) {
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
71 this.connection = connection;
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
72 }
130
e4eacd613356 Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
73
884
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
74 /**
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
75 * @see java.sql.Statement#addBatch(java.lang.String)
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
76 */
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
77 public void addBatch(String arg0) throws SQLException {
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
78 }
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
79
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
80 /**
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
81 * @see java.sql.Statement#cancel()
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
82 */
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
83 public void cancel() throws SQLException {
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
84 }
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
85
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
86 /**
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
87 * @see java.sql.Statement#clearBatch()
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
88 */
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
89 public void clearBatch() throws SQLException {
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
90 }
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
91
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
92 /**
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
93 * @see java.sql.Statement#clearWarnings()
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
94 */
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
95 public void clearWarnings() throws SQLException {
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
96 }
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
97
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
98 /**
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
99 * @see java.sql.Statement#close()
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
100 */
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
101 public void close() throws SQLException {
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
102 }
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
103
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
104 /**
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
105 * @see java.sql.Statement#execute(java.lang.String)
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
106 */
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
107 public boolean execute(String arg0) throws SQLException {
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
108 return false;
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
109 }
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
110
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
111 /**
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
112 * @see java.sql.Statement#execute(java.lang.String, int)
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
113 */
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
114 public boolean execute(String arg0, int arg1) throws SQLException {
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
115 return false;
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
116 }
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
117
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
118 /**
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
119 * @see java.sql.Statement#execute(java.lang.String, int[])
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
120 */
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
121 public boolean execute(String arg0, int[] arg1) throws SQLException {
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
122 return false;
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
123 }
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
124
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
125 /**
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
126 * @see java.sql.Statement#execute(java.lang.String, java.lang.String[])
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
127 */
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
128 public boolean execute(String arg0, String[] arg1) throws SQLException {
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
129 return false;
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
130 }
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
131
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
132 /**
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
133 * @see java.sql.Statement#executeBatch()
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
134 */
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
135 public int[] executeBatch() throws SQLException {
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
136 return null;
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
137 }
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
138
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
139 /**
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
140 * @see java.sql.Statement#executeQuery(java.lang.String)
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
141 */
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
142 public ResultSet executeQuery(String statement) throws SQLException {
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
143 try {
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
144 SeQuery query = null;
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
145 if (statement.toLowerCase().contains("st_astext") || statement.toLowerCase().contains("intersects")){
885
1c3efbd2fc5a Removes trailing whitespace.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 884
diff changeset
146
884
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
147 String[] values = statement.toLowerCase().split("where", 2);
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
148 String where = values.length > 1 ? values[1].trim() : "";
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
149 String[] tableNames = values[0].substring(values[0].indexOf("from")).replaceFirst("from", "").toUpperCase().trim().split(", ");
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
150 String columnValueString = values[0].substring(0, values[0].indexOf("from")).trim();
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
151 columnValueString = columnValueString.replaceFirst("select", "").trim();
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
152 String[] returnFields = columnValueString.split(", ");
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
153 String geometryColumnName = null;
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
154 String byClause = null;
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
155 int byClausePos = where.indexOf("group by");
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
156 if (byClausePos < 0){
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
157 byClausePos = where.indexOf("order by");
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
158 }
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
159 if (byClausePos > 0){
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
160 byClause = where.substring(byClausePos);
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
161 where = where.substring(0,byClausePos);
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
162 }
885
1c3efbd2fc5a Removes trailing whitespace.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 884
diff changeset
163
884
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
164 for (int i = 0; i < returnFields.length; i++){
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
165 returnFields[i] = returnFields[i].trim();
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
166 if (returnFields[i].startsWith("st_astext(")){
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
167 returnFields[i] = returnFields[i].replaceAll("st_astext", "");
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
168 returnFields[i] = returnFields[i].substring(1, returnFields[i].length()-1);
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
169 geometryColumnName = returnFields[i];
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
170 }
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
171 }
885
1c3efbd2fc5a Removes trailing whitespace.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 884
diff changeset
172
884
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
173 for (int i = 0; i < tableNames.length; i++){
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
174 tableNames[i] = tableNames[i].trim();
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
175 }
885
1c3efbd2fc5a Removes trailing whitespace.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 884
diff changeset
176
884
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
177 Geometry g = null;
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
178 int pos = where.indexOf("intersects");
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
179 if (pos >= 0 ){
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
180 String substr = where.substring(pos);
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
181 where = where.substring(0,where.lastIndexOf("intersects"));
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
182 int andPos = where.lastIndexOf("and");
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
183 if (andPos < 0){
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
184 andPos = 0;
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
185 }
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
186 where = where.substring(0,andPos); // TODO support or also
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
187 String intersectsStmt = substr.substring(0, substr.lastIndexOf(")")); // Spatial-Statment is the last one
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
188 String wkt = null;
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
189 if (intersectsStmt.contains("select")){
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
190 // Anstelle eines WKT ist ein InnerSelect zum Bestimmen der Comparatorgeometrie gegeben.
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
191 String stmt = intersectsStmt.substring(intersectsStmt.indexOf("select"),intersectsStmt.lastIndexOf(")"));
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
192 ResultSet resultSet = this.executeQuery(stmt);
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
193 if (resultSet != null && resultSet.next()){
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
194 // TODO: Support the selection of more than one Geometry
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
195 wkt = resultSet.getString("SHAPE");
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
196 }
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
197 }else{
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
198 wkt = intersectsStmt.substring(intersectsStmt.indexOf("\""), intersectsStmt.lastIndexOf("\"")).replace("\"", "").trim();
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
199 }
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
200 g = new WKTReader().read(wkt.toUpperCase());
885
1c3efbd2fc5a Removes trailing whitespace.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 884
diff changeset
201
884
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
202 if (geometryColumnName == null){
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
203 geometryColumnName = "SHAPE"; // TODO dynamisch aus Intersects auslesen.
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
204 }
885
1c3efbd2fc5a Removes trailing whitespace.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 884
diff changeset
205
884
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
206 }
885
1c3efbd2fc5a Removes trailing whitespace.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 884
diff changeset
207
884
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
208 return this.executeQuery(this.connection.getSeConnection(), tableNames, geometryColumnName, where, g, returnFields,byClause);
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
209 }else{
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
210 query = new SeQuery(this.connection.getSeConnection());
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
211 query.prepareSql(statement);
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
212 query.execute();
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
213 return this.handleResultSet(query,false,null);
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
214 }
885
1c3efbd2fc5a Removes trailing whitespace.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 884
diff changeset
215
884
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
216 } catch (Exception e) {
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
217 log.error(e,e);
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
218 throw new SQLException(e.getMessage());
130
e4eacd613356 Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
219 }
885
1c3efbd2fc5a Removes trailing whitespace.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 884
diff changeset
220
1c3efbd2fc5a Removes trailing whitespace.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 884
diff changeset
221
884
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
222 }
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
223 /**
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
224 * This Methods Executes the ArcSDE Query if Spatial-Restrictions
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
225 * are given
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
226 * @param con The Connection to the ArcSDE-Backend.
885
1c3efbd2fc5a Removes trailing whitespace.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 884
diff changeset
227 * @param pLayername The Name of tables which should be used in the Query
884
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
228 * @param pSpatialColumnName the Name of the Spatial Column.
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
229 * @param pWhere The where-Clause to limit the Data
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
230 * @param g the Geometry to limit the Data
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
231 * @param pReturnFields the Fileds that should be fetched from the Database
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
232 * @param byClause the byClaus to order the Results.
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
233 * @return the @see java.sql.ResultSet with the Data which was retrieved.
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
234 * @throws SQLException
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
235 */
267
000e00592ba5 Added InnerJoin, Order By and Group By Support to Spatial-Queries
Tim Englich <tim.englich@intevation.de>
parents: 266
diff changeset
236 private ResultSet executeQuery(SeConnection con, String[] pLayername,
263
031ef9649cd1 Added SFS-Support to ArcSDE-Query-Part
Tim Englich <tim.englich@intevation.de>
parents: 143
diff changeset
237 String pSpatialColumnName, String pWhere,
267
000e00592ba5 Added InnerJoin, Order By and Group By Support to Spatial-Queries
Tim Englich <tim.englich@intevation.de>
parents: 266
diff changeset
238 Geometry g, String[] pReturnFields, String byClause)
263
031ef9649cd1 Added SFS-Support to ArcSDE-Query-Part
Tim Englich <tim.englich@intevation.de>
parents: 143
diff changeset
239 throws SQLException {
031ef9649cd1 Added SFS-Support to ArcSDE-Query-Part
Tim Englich <tim.englich@intevation.de>
parents: 143
diff changeset
240 log.debug("executeQuery()");
031ef9649cd1 Added SFS-Support to ArcSDE-Query-Part
Tim Englich <tim.englich@intevation.de>
parents: 143
diff changeset
241 try {
031ef9649cd1 Added SFS-Support to ArcSDE-Query-Part
Tim Englich <tim.englich@intevation.de>
parents: 143
diff changeset
242 // get the layer for querying
543
fac02bf1c685 Added Rasterdatasupport to the ARCSDE-Statement
Tim Englich <tim.englich@intevation.de>
parents: 383
diff changeset
243 boolean isRaster = pSpatialColumnName.equalsIgnoreCase("raster");
885
1c3efbd2fc5a Removes trailing whitespace.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 884
diff changeset
244
266
1530890b28c9 Added SFS-Support to ArcSDE-Query-Part without any Spatial restriction in the where clause
Tim Englich <tim.englich@intevation.de>
parents: 263
diff changeset
245 SeShapeFilter[] filters = null;
1530890b28c9 Added SFS-Support to ArcSDE-Query-Part without any Spatial restriction in the where clause
Tim Englich <tim.englich@intevation.de>
parents: 263
diff changeset
246 if (g != null){
543
fac02bf1c685 Added Rasterdatasupport to the ARCSDE-Statement
Tim Englich <tim.englich@intevation.de>
parents: 383
diff changeset
247 if (!isRaster){
fac02bf1c685 Added Rasterdatasupport to the ARCSDE-Statement
Tim Englich <tim.englich@intevation.de>
parents: 383
diff changeset
248 SeLayer lLayer = new SeLayer(con, pLayername[0], pSpatialColumnName);
fac02bf1c685 Added Rasterdatasupport to the ARCSDE-Statement
Tim Englich <tim.englich@intevation.de>
parents: 383
diff changeset
249 SeShape shape = new SeShape();
fac02bf1c685 Added Rasterdatasupport to the ARCSDE-Statement
Tim Englich <tim.englich@intevation.de>
parents: 383
diff changeset
250 shape.setCoordRef(lLayer.getCoordRef());
885
1c3efbd2fc5a Removes trailing whitespace.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 884
diff changeset
251
543
fac02bf1c685 Added Rasterdatasupport to the ARCSDE-Statement
Tim Englich <tim.englich@intevation.de>
parents: 383
diff changeset
252 SDEPoint[] lPoints = new ArcSDEUtils().createPoints(g);
885
1c3efbd2fc5a Removes trailing whitespace.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 884
diff changeset
253
543
fac02bf1c685 Added Rasterdatasupport to the ARCSDE-Statement
Tim Englich <tim.englich@intevation.de>
parents: 383
diff changeset
254 int searchMode = SeFilter.METHOD_AI;
fac02bf1c685 Added Rasterdatasupport to the ARCSDE-Statement
Tim Englich <tim.englich@intevation.de>
parents: 383
diff changeset
255 if (g instanceof Polygon){
fac02bf1c685 Added Rasterdatasupport to the ARCSDE-Statement
Tim Englich <tim.englich@intevation.de>
parents: 383
diff changeset
256 shape.generatePolygon(lPoints.length, 1, null, lPoints);
fac02bf1c685 Added Rasterdatasupport to the ARCSDE-Statement
Tim Englich <tim.englich@intevation.de>
parents: 383
diff changeset
257 }else if (g instanceof Point){
fac02bf1c685 Added Rasterdatasupport to the ARCSDE-Statement
Tim Englich <tim.englich@intevation.de>
parents: 383
diff changeset
258 shape.generatePoint(1, lPoints);
fac02bf1c685 Added Rasterdatasupport to the ARCSDE-Statement
Tim Englich <tim.englich@intevation.de>
parents: 383
diff changeset
259 searchMode = SeFilter.METHOD_PC;
879
9bcc423d8d76 Added Support for SpatialQueries using LineString as Geometry of Interest.
Tim Englich <tim.englich@intevation.de>
parents: 555
diff changeset
260 }else if (g instanceof LineString){
9bcc423d8d76 Added Support for SpatialQueries using LineString as Geometry of Interest.
Tim Englich <tim.englich@intevation.de>
parents: 555
diff changeset
261 shape.generateLine(lPoints.length, 1, null, lPoints);
9bcc423d8d76 Added Support for SpatialQueries using LineString as Geometry of Interest.
Tim Englich <tim.englich@intevation.de>
parents: 555
diff changeset
262 searchMode = SeFilter.METHOD_LCROSS;
543
fac02bf1c685 Added Rasterdatasupport to the ARCSDE-Statement
Tim Englich <tim.englich@intevation.de>
parents: 383
diff changeset
263 }
885
1c3efbd2fc5a Removes trailing whitespace.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 884
diff changeset
264
543
fac02bf1c685 Added Rasterdatasupport to the ARCSDE-Statement
Tim Englich <tim.englich@intevation.de>
parents: 383
diff changeset
265 SeShapeFilter filter = new SeShapeFilter(pLayername[0],
fac02bf1c685 Added Rasterdatasupport to the ARCSDE-Statement
Tim Englich <tim.englich@intevation.de>
parents: 383
diff changeset
266 pSpatialColumnName, shape,searchMode);
fac02bf1c685 Added Rasterdatasupport to the ARCSDE-Statement
Tim Englich <tim.englich@intevation.de>
parents: 383
diff changeset
267 filters = new SeShapeFilter[1];
fac02bf1c685 Added Rasterdatasupport to the ARCSDE-Statement
Tim Englich <tim.englich@intevation.de>
parents: 383
diff changeset
268 filters[0] = filter;
383
0b813ae17173 Added Point in Polygon Query Support to ArcSDE-Statement-Processing
Tim Englich <tim.englich@intevation.de>
parents: 380
diff changeset
269 }
266
1530890b28c9 Added SFS-Support to ArcSDE-Query-Part without any Spatial restriction in the where clause
Tim Englich <tim.englich@intevation.de>
parents: 263
diff changeset
270 }
263
031ef9649cd1 Added SFS-Support to ArcSDE-Query-Part
Tim Englich <tim.englich@intevation.de>
parents: 143
diff changeset
271
031ef9649cd1 Added SFS-Support to ArcSDE-Query-Part
Tim Englich <tim.englich@intevation.de>
parents: 143
diff changeset
272 SeQuery spatialQuery = null;
031ef9649cd1 Added SFS-Support to ArcSDE-Query-Part
Tim Englich <tim.englich@intevation.de>
parents: 143
diff changeset
273 SeSqlConstruct sqlCons = new SeSqlConstruct(pLayername, pWhere);
267
000e00592ba5 Added InnerJoin, Order By and Group By Support to Spatial-Queries
Tim Englich <tim.englich@intevation.de>
parents: 266
diff changeset
274 spatialQuery = new SeQuery(con);//, pReturnFields, sqlCons);
885
1c3efbd2fc5a Removes trailing whitespace.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 884
diff changeset
275
267
000e00592ba5 Added InnerJoin, Order By and Group By Support to Spatial-Queries
Tim Englich <tim.englich@intevation.de>
parents: 266
diff changeset
276 SeQueryInfo queryInfo = new SeQueryInfo();
000e00592ba5 Added InnerJoin, Order By and Group By Support to Spatial-Queries
Tim Englich <tim.englich@intevation.de>
parents: 266
diff changeset
277 queryInfo.setColumns(pReturnFields);
885
1c3efbd2fc5a Removes trailing whitespace.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 884
diff changeset
278
267
000e00592ba5 Added InnerJoin, Order By and Group By Support to Spatial-Queries
Tim Englich <tim.englich@intevation.de>
parents: 266
diff changeset
279 if (byClause != null){
000e00592ba5 Added InnerJoin, Order By and Group By Support to Spatial-Queries
Tim Englich <tim.englich@intevation.de>
parents: 266
diff changeset
280 queryInfo.setByClause(byClause);
000e00592ba5 Added InnerJoin, Order By and Group By Support to Spatial-Queries
Tim Englich <tim.englich@intevation.de>
parents: 266
diff changeset
281 }
885
1c3efbd2fc5a Removes trailing whitespace.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 884
diff changeset
282
267
000e00592ba5 Added InnerJoin, Order By and Group By Support to Spatial-Queries
Tim Englich <tim.englich@intevation.de>
parents: 266
diff changeset
283 queryInfo.setConstruct(sqlCons);
000e00592ba5 Added InnerJoin, Order By and Group By Support to Spatial-Queries
Tim Englich <tim.englich@intevation.de>
parents: 266
diff changeset
284 spatialQuery.prepareQueryInfo(queryInfo);
000e00592ba5 Added InnerJoin, Order By and Group By Support to Spatial-Queries
Tim Englich <tim.englich@intevation.de>
parents: 266
diff changeset
285
263
031ef9649cd1 Added SFS-Support to ArcSDE-Query-Part
Tim Englich <tim.englich@intevation.de>
parents: 143
diff changeset
286 /*
031ef9649cd1 Added SFS-Support to ArcSDE-Query-Part
Tim Englich <tim.englich@intevation.de>
parents: 143
diff changeset
287 * Set spatial constraints
031ef9649cd1 Added SFS-Support to ArcSDE-Query-Part
Tim Englich <tim.englich@intevation.de>
parents: 143
diff changeset
288 */
266
1530890b28c9 Added SFS-Support to ArcSDE-Query-Part without any Spatial restriction in the where clause
Tim Englich <tim.englich@intevation.de>
parents: 263
diff changeset
289 if (filters != null){
1530890b28c9 Added SFS-Support to ArcSDE-Query-Part without any Spatial restriction in the where clause
Tim Englich <tim.englich@intevation.de>
parents: 263
diff changeset
290 spatialQuery.setSpatialConstraints(SeQuery.SE_OPTIMIZE, false,
1530890b28c9 Added SFS-Support to ArcSDE-Query-Part without any Spatial restriction in the where clause
Tim Englich <tim.englich@intevation.de>
parents: 263
diff changeset
291 filters);
1530890b28c9 Added SFS-Support to ArcSDE-Query-Part without any Spatial restriction in the where clause
Tim Englich <tim.englich@intevation.de>
parents: 263
diff changeset
292 }
885
1c3efbd2fc5a Removes trailing whitespace.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 884
diff changeset
293
543
fac02bf1c685 Added Rasterdatasupport to the ARCSDE-Statement
Tim Englich <tim.englich@intevation.de>
parents: 383
diff changeset
294 if (!isRaster){
fac02bf1c685 Added Rasterdatasupport to the ARCSDE-Statement
Tim Englich <tim.englich@intevation.de>
parents: 383
diff changeset
295 spatialQuery.execute();
fac02bf1c685 Added Rasterdatasupport to the ARCSDE-Statement
Tim Englich <tim.englich@intevation.de>
parents: 383
diff changeset
296 }
885
1c3efbd2fc5a Removes trailing whitespace.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 884
diff changeset
297
543
fac02bf1c685 Added Rasterdatasupport to the ARCSDE-Statement
Tim Englich <tim.englich@intevation.de>
parents: 383
diff changeset
298 return this.handleResultSet(spatialQuery,isRaster,g);
263
031ef9649cd1 Added SFS-Support to ArcSDE-Query-Part
Tim Englich <tim.englich@intevation.de>
parents: 143
diff changeset
299
031ef9649cd1 Added SFS-Support to ArcSDE-Query-Part
Tim Englich <tim.englich@intevation.de>
parents: 143
diff changeset
300 } catch (Exception e) {
267
000e00592ba5 Added InnerJoin, Order By and Group By Support to Spatial-Queries
Tim Englich <tim.englich@intevation.de>
parents: 266
diff changeset
301 if (e instanceof SeException){
000e00592ba5 Added InnerJoin, Order By and Group By Support to Spatial-Queries
Tim Englich <tim.englich@intevation.de>
parents: 266
diff changeset
302 ArcSDEUtils.printError((SeException)e);
000e00592ba5 Added InnerJoin, Order By and Group By Support to Spatial-Queries
Tim Englich <tim.englich@intevation.de>
parents: 266
diff changeset
303 }else{
000e00592ba5 Added InnerJoin, Order By and Group By Support to Spatial-Queries
Tim Englich <tim.englich@intevation.de>
parents: 266
diff changeset
304 log.error(e.getMessage(), e);
000e00592ba5 Added InnerJoin, Order By and Group By Support to Spatial-Queries
Tim Englich <tim.englich@intevation.de>
parents: 266
diff changeset
305 }
885
1c3efbd2fc5a Removes trailing whitespace.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 884
diff changeset
306
263
031ef9649cd1 Added SFS-Support to ArcSDE-Query-Part
Tim Englich <tim.englich@intevation.de>
parents: 143
diff changeset
307 throw new SQLException(e.getMessage());
031ef9649cd1 Added SFS-Support to ArcSDE-Query-Part
Tim Englich <tim.englich@intevation.de>
parents: 143
diff changeset
308 }
031ef9649cd1 Added SFS-Support to ArcSDE-Query-Part
Tim Englich <tim.englich@intevation.de>
parents: 143
diff changeset
309 }
130
e4eacd613356 Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
310
884
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
311 /**
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
312 * @see java.sql.Statement#executeUpdate(java.lang.String)
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
313 */
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
314 public int executeUpdate(String arg0) throws SQLException {
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
315 return 0;
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
316 }
130
e4eacd613356 Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
317
884
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
318 /**
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
319 * @see java.sql.Statement#executeUpdate(java.lang.String, int)
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
320 */
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
321 public int executeUpdate(String arg0, int arg1) throws SQLException {
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
322 return 0;
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
323 }
130
e4eacd613356 Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
324
884
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
325 /**
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
326 * @see java.sql.Statement#executeUpdate(java.lang.String, int[])
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
327 */
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
328 public int executeUpdate(String arg0, int[] arg1) throws SQLException {
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
329 return 0;
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
330 }
130
e4eacd613356 Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
331
884
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
332 /**
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
333 * @see java.sql.Statement#executeUpdate(java.lang.String, java.lang.String[])
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
334 */
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
335 public int executeUpdate(String arg0, String[] arg1) throws SQLException {
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
336 return 0;
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
337 }
130
e4eacd613356 Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
338
884
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
339 /**
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
340 * @see java.sql.Statement#getConnection()
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
341 */
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
342 public Connection getConnection() throws SQLException {
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
343 return this.connection;
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
344 }
130
e4eacd613356 Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
345
884
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
346 /**
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
347 * @see java.sql.Statement#getFetchDirection()
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
348 */
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
349 public int getFetchDirection() throws SQLException {
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
350 return 0;
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
351 }
547
23d5cc37dd5b Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 546
diff changeset
352
884
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
353 /**
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
354 * @see java.sql.Statement#getFetchSize()
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
355 */
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
356 public int getFetchSize() throws SQLException {
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
357 return 0;
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
358 }
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
359
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
360 /**
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
361 * @see java.sql.Statement#getGeneratedKeys()
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
362 */
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
363 public ResultSet getGeneratedKeys() throws SQLException {
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
364 return null;
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
365 }
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
366
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
367 /**
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
368 * @see java.sql.Statement#getMaxFieldSize()
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
369 */
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
370 public int getMaxFieldSize() throws SQLException {
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
371 return 0;
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
372 }
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
373
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
374 /**
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
375 * @see java.sql.Statement#getMaxRows()
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
376 */
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
377 public int getMaxRows() throws SQLException {
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
378 return 0;
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
379 }
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
380
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
381 /**
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
382 * @see java.sql.Statement#getMoreResults()
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
383 */
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
384 public boolean getMoreResults() throws SQLException {
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
385 return false;
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
386 }
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
387
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
388 /**
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
389 * @see java.sql.Statement#getMoreResults(int)
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
390 */
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
391 public boolean getMoreResults(int arg0) throws SQLException {
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
392 return false;
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
393 }
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
394
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
395 /**
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
396 * @see java.sql.Statement#getQueryTimeout()
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
397 */
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
398 public int getQueryTimeout() throws SQLException {
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
399 return 0;
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
400 }
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
401
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
402 /**
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
403 * @see java.sql.Statement#getResultSet()
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
404 */
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
405 public ResultSet getResultSet() throws SQLException {
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
406 return null;
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
407 }
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
408
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
409 /**
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
410 * @see java.sql.Statement#getResultSetConcurrency()
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
411 */
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
412 public int getResultSetConcurrency() throws SQLException {
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
413 return 0;
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
414 }
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
415
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
416 /**
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
417 * @see java.sql.Statement#getResultSetHoldability()
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
418 */
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
419 public int getResultSetHoldability() throws SQLException {
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
420 return 0;
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
421 }
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
422
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
423 /**
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
424 * @see java.sql.Statement#getResultSetType()
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
425 */
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
426 public int getResultSetType() throws SQLException {
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
427 return 0;
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
428 }
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
429
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
430 /**
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
431 * @see java.sql.Statement#getUpdateCount()
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
432 */
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
433 public int getUpdateCount() throws SQLException {
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
434 return 0;
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
435 }
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
436
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
437 /**
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
438 * @see java.sql.Statement#getWarnings()
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
439 */
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
440 public SQLWarning getWarnings() throws SQLException {
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
441 return null;
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
442 }
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
443
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
444 /**
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
445 * @see java.sql.Statement#setCursorName(java.lang.String)
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
446 */
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
447 public void setCursorName(String arg0) throws SQLException {
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
448 }
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
449
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
450 /**
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
451 * @see java.sql.Statement#setEscapeProcessing(boolean)
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
452 */
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
453 public void setEscapeProcessing(boolean arg0) throws SQLException {
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
454 }
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
455
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
456 /**
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
457 * @see java.sql.Statement#setFetchDirection(int)
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
458 */
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
459 public void setFetchDirection(int arg0) throws SQLException {
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
460 }
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
461
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
462 /**
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
463 * @see java.sql.Statement#setFetchSize(int)
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
464 */
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
465 public void setFetchSize(int arg0) throws SQLException {
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
466 }
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
467
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
468 /**
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
469 * @see java.sql.Statement#setMaxFieldSize(int)
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
470 */
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
471 public void setMaxFieldSize(int arg0) throws SQLException {
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
472 }
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
473
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
474 /**
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
475 * @see java.sql.Statement#setMaxRows(int)
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
476 */
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
477 public void setMaxRows(int arg0) throws SQLException {
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
478 }
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
479
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
480 /**
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
481 * @see java.sql.Statement#setQueryTimeout(int)
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
482 */
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
483 public void setQueryTimeout(int arg0) throws SQLException {
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
484 }
885
1c3efbd2fc5a Removes trailing whitespace.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 884
diff changeset
485
884
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
486 /**
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
487 * This Method fetches all Rows from the SeQuery-Object and convert it into
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
488 * an @see java.sql.ResultSet.
885
1c3efbd2fc5a Removes trailing whitespace.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 884
diff changeset
489 *
884
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
490 * @param pSeQuery the Queryobject where the Data should be fetched from.
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
491 * @param isRaster Flag which indicates if the Result is Rasterdata.
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
492 * @param geometry The Geometry which might be used to limit the data.
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
493 * @return an java.sql:ResultSet which contains the Data.
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
494 * @throws SeException
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
495 */
885
1c3efbd2fc5a Removes trailing whitespace.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 884
diff changeset
496 private ResultSet handleResultSet(SeQuery pSeQuery,
1c3efbd2fc5a Removes trailing whitespace.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 884
diff changeset
497 boolean isRaster,
884
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
498 Geometry geometry) throws SeException {
547
23d5cc37dd5b Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 546
diff changeset
499 boolean debug = log.isDebugEnabled();
23d5cc37dd5b Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 546
diff changeset
500
23d5cc37dd5b Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 546
diff changeset
501 if (debug) {
23d5cc37dd5b Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 546
diff changeset
502 log.debug("ArcSDEStatement.handleResultSet()");
23d5cc37dd5b Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 546
diff changeset
503 }
23d5cc37dd5b Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 546
diff changeset
504
1123
f76541120bcb Raster elements returned from ArcSDE are put into an UncacheableSDEResultSet container that is NOT cached.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 887
diff changeset
505 SDEResultSet lSet = isRaster
f76541120bcb Raster elements returned from ArcSDE are put into an UncacheableSDEResultSet container that is NOT cached.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 887
diff changeset
506 ? new UncacheableSDEResultSet()
f76541120bcb Raster elements returned from ArcSDE are put into an UncacheableSDEResultSet container that is NOT cached.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 887
diff changeset
507 : new SDEResultSet();
555
825781a39c70 Fixed gnv/issue107
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 552
diff changeset
508 SeRow row = null;
130
e4eacd613356 Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
509 int lCount;
543
fac02bf1c685 Added Rasterdatasupport to the ARCSDE-Statement
Tim Englich <tim.englich@intevation.de>
parents: 383
diff changeset
510 if (!isRaster){
555
825781a39c70 Fixed gnv/issue107
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 552
diff changeset
511 RedundancyRemover [] removers = null;
825781a39c70 Fixed gnv/issue107
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 552
diff changeset
512 SeColumnDefinition [] lCols = null;
825781a39c70 Fixed gnv/issue107
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 552
diff changeset
513
543
fac02bf1c685 Added Rasterdatasupport to the ARCSDE-Statement
Tim Englich <tim.englich@intevation.de>
parents: 383
diff changeset
514 for (lCount = 0; (row = pSeQuery.fetch()) != null; lCount++) {
fac02bf1c685 Added Rasterdatasupport to the ARCSDE-Statement
Tim Englich <tim.englich@intevation.de>
parents: 383
diff changeset
515 // one time execution
fac02bf1c685 Added Rasterdatasupport to the ARCSDE-Statement
Tim Englich <tim.englich@intevation.de>
parents: 383
diff changeset
516 if (lCount == 0) {
fac02bf1c685 Added Rasterdatasupport to the ARCSDE-Statement
Tim Englich <tim.englich@intevation.de>
parents: 383
diff changeset
517 // analyze cols of result set
555
825781a39c70 Fixed gnv/issue107
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 552
diff changeset
518 lCols = row.getColumns();
543
fac02bf1c685 Added Rasterdatasupport to the ARCSDE-Statement
Tim Englich <tim.englich@intevation.de>
parents: 383
diff changeset
519 for (SeColumnDefinition lCol : lCols) {
547
23d5cc37dd5b Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 546
diff changeset
520 lSet.addCol(new ColDefinition(lCol.getName(), lCol.getType()));
23d5cc37dd5b Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 546
diff changeset
521 // notice: esri-types have been copied into colDefinition class!
543
fac02bf1c685 Added Rasterdatasupport to the ARCSDE-Statement
Tim Englich <tim.englich@intevation.de>
parents: 383
diff changeset
522 }
555
825781a39c70 Fixed gnv/issue107
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 552
diff changeset
523 removers = new RedundancyRemover[lCols.length];
825781a39c70 Fixed gnv/issue107
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 552
diff changeset
524 for (int i = 0; i < removers.length; ++i) {
825781a39c70 Fixed gnv/issue107
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 552
diff changeset
525 removers[i] = new RedundancyRemover();
825781a39c70 Fixed gnv/issue107
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 552
diff changeset
526 }
130
e4eacd613356 Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
527 }
543
fac02bf1c685 Added Rasterdatasupport to the ARCSDE-Statement
Tim Englich <tim.englich@intevation.de>
parents: 383
diff changeset
528 short lNumCols = row.getNumColumns();
fac02bf1c685 Added Rasterdatasupport to the ARCSDE-Statement
Tim Englich <tim.englich@intevation.de>
parents: 383
diff changeset
529 Row lBackingRow = new Row(lNumCols);
fac02bf1c685 Added Rasterdatasupport to the ARCSDE-Statement
Tim Englich <tim.englich@intevation.de>
parents: 383
diff changeset
530 for (int i = 0; i < lNumCols; i++) {
555
825781a39c70 Fixed gnv/issue107
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 552
diff changeset
531 lBackingRow.addObject(
885
1c3efbd2fc5a Removes trailing whitespace.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 884
diff changeset
532 removers[i].filter(row.getObject(i)),
555
825781a39c70 Fixed gnv/issue107
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 552
diff changeset
533 i);
543
fac02bf1c685 Added Rasterdatasupport to the ARCSDE-Statement
Tim Englich <tim.englich@intevation.de>
parents: 383
diff changeset
534 }
fac02bf1c685 Added Rasterdatasupport to the ARCSDE-Statement
Tim Englich <tim.englich@intevation.de>
parents: 383
diff changeset
535 lSet.addRow(lBackingRow);
130
e4eacd613356 Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
536 }
555
825781a39c70 Fixed gnv/issue107
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 552
diff changeset
537
825781a39c70 Fixed gnv/issue107
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 552
diff changeset
538 if (debug && removers != null) {
825781a39c70 Fixed gnv/issue107
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 552
diff changeset
539 log.debug("datasets: " + lCount);
825781a39c70 Fixed gnv/issue107
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 552
diff changeset
540 StringBuilder sb = new StringBuilder("removed redundancy: ");
825781a39c70 Fixed gnv/issue107
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 552
diff changeset
541 float percent = 100f/lCount;
825781a39c70 Fixed gnv/issue107
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 552
diff changeset
542 for (int i = 0; i < removers.length; ++i) {
825781a39c70 Fixed gnv/issue107
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 552
diff changeset
543 if (i > 0) sb.append(", ");
825781a39c70 Fixed gnv/issue107
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 552
diff changeset
544 sb.append(lCols[i].getName())
825781a39c70 Fixed gnv/issue107
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 552
diff changeset
545 .append(": ").append(removers[i].numRemoved())
825781a39c70 Fixed gnv/issue107
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 552
diff changeset
546 .append(" (").append(removers[i].numRemoved()*percent)
825781a39c70 Fixed gnv/issue107
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 552
diff changeset
547 .append("%)");
825781a39c70 Fixed gnv/issue107
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 552
diff changeset
548 }
825781a39c70 Fixed gnv/issue107
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 552
diff changeset
549 log.debug(sb.toString());
825781a39c70 Fixed gnv/issue107
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 552
diff changeset
550 }
543
fac02bf1c685 Added Rasterdatasupport to the ARCSDE-Statement
Tim Englich <tim.englich@intevation.de>
parents: 383
diff changeset
551 }else{
fac02bf1c685 Added Rasterdatasupport to the ARCSDE-Statement
Tim Englich <tim.englich@intevation.de>
parents: 383
diff changeset
552 try {
544
33f93898cbbf Added RasterObject for caching the Rastertiles to get a better performance
Tim Englich <tim.englich@intevation.de>
parents: 543
diff changeset
553 pSeQuery.execute();
33f93898cbbf Added RasterObject for caching the Rastertiles to get a better performance
Tim Englich <tim.englich@intevation.de>
parents: 543
diff changeset
554 row = pSeQuery.fetch();
547
23d5cc37dd5b Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 546
diff changeset
555 SeRasterAttr attr = row.getRaster(0);
23d5cc37dd5b Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 546
diff changeset
556 SeRaster raster = attr.getRasterInfo();
23d5cc37dd5b Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 546
diff changeset
557 SeRasterBand [] bands = raster.getBands();
23d5cc37dd5b Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 546
diff changeset
558 SeRasterBand rasterBand = bands[0];
885
1c3efbd2fc5a Removes trailing whitespace.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 884
diff changeset
559
543
fac02bf1c685 Added Rasterdatasupport to the ARCSDE-Statement
Tim Englich <tim.englich@intevation.de>
parents: 383
diff changeset
560 SeExtent extent = rasterBand.getExtent();
547
23d5cc37dd5b Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 546
diff changeset
561
543
fac02bf1c685 Added Rasterdatasupport to the ARCSDE-Statement
Tim Englich <tim.englich@intevation.de>
parents: 383
diff changeset
562 double x = ((Point)geometry).getX();
fac02bf1c685 Added Rasterdatasupport to the ARCSDE-Statement
Tim Englich <tim.englich@intevation.de>
parents: 383
diff changeset
563 double y = ((Point)geometry).getY();
547
23d5cc37dd5b Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 546
diff changeset
564
23d5cc37dd5b Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 546
diff changeset
565 boolean isPointInRaster =
885
1c3efbd2fc5a Removes trailing whitespace.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 884
diff changeset
566 x >= extent.getMinX() && x <= extent.getMaxX()
547
23d5cc37dd5b Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 546
diff changeset
567 && y >= extent.getMinY() && y <= extent.getMaxY();
885
1c3efbd2fc5a Removes trailing whitespace.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 884
diff changeset
568
543
fac02bf1c685 Added Rasterdatasupport to the ARCSDE-Statement
Tim Englich <tim.englich@intevation.de>
parents: 383
diff changeset
569 if (isPointInRaster){
885
1c3efbd2fc5a Removes trailing whitespace.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 884
diff changeset
570
544
33f93898cbbf Added RasterObject for caching the Rastertiles to get a better performance
Tim Englich <tim.englich@intevation.de>
parents: 543
diff changeset
571 if (row == null){
33f93898cbbf Added RasterObject for caching the Rastertiles to get a better performance
Tim Englich <tim.englich@intevation.de>
parents: 543
diff changeset
572 pSeQuery.execute();
33f93898cbbf Added RasterObject for caching the Rastertiles to get a better performance
Tim Englich <tim.englich@intevation.de>
parents: 543
diff changeset
573 row = pSeQuery.fetch();
33f93898cbbf Added RasterObject for caching the Rastertiles to get a better performance
Tim Englich <tim.englich@intevation.de>
parents: 543
diff changeset
574 }
547
23d5cc37dd5b Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 546
diff changeset
575
23d5cc37dd5b Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 546
diff changeset
576 double midX = 0.5d*(extent.getMinX() + extent.getMaxX());
23d5cc37dd5b Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 546
diff changeset
577 double midY = 0.5d*(extent.getMinY() + extent.getMaxY());
23d5cc37dd5b Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 546
diff changeset
578
23d5cc37dd5b Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 546
diff changeset
579 SDEPoint origin = rasterBand.getTileOrigin();
23d5cc37dd5b Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 546
diff changeset
580
885
1c3efbd2fc5a Removes trailing whitespace.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 884
diff changeset
581 double maxX = origin.getX() < midX
547
23d5cc37dd5b Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 546
diff changeset
582 ? extent.getMaxX()
23d5cc37dd5b Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 546
diff changeset
583 : extent.getMinX();
23d5cc37dd5b Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 546
diff changeset
584
23d5cc37dd5b Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 546
diff changeset
585 double maxY = origin.getY() < midY
23d5cc37dd5b Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 546
diff changeset
586 ? extent.getMaxY()
23d5cc37dd5b Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 546
diff changeset
587 : extent.getMinY();
23d5cc37dd5b Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 546
diff changeset
588
23d5cc37dd5b Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 546
diff changeset
589 double mx = rasterBand.getBandWidth()/(maxX-origin.getX());
23d5cc37dd5b Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 546
diff changeset
590 double bx = -origin.getX()*mx;
23d5cc37dd5b Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 546
diff changeset
591 double px = mx*x + bx;
23d5cc37dd5b Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 546
diff changeset
592
23d5cc37dd5b Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 546
diff changeset
593 double my = rasterBand.getBandHeight()/(maxY-origin.getY());
23d5cc37dd5b Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 546
diff changeset
594 double by = -origin.getY()*my;
23d5cc37dd5b Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 546
diff changeset
595 double py = my*y + by;
23d5cc37dd5b Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 546
diff changeset
596
544
33f93898cbbf Added RasterObject for caching the Rastertiles to get a better performance
Tim Englich <tim.englich@intevation.de>
parents: 543
diff changeset
597 SeRasterConstraint constraint = new SeRasterConstraint();
547
23d5cc37dd5b Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 546
diff changeset
598 constraint.setLevel(0); // best resolution
23d5cc37dd5b Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 546
diff changeset
599 constraint.setBands(rasterBand.getBandNumber());
23d5cc37dd5b Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 546
diff changeset
600 int tx = (int)Math.floor(px / rasterBand.getTileWidth());
23d5cc37dd5b Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 546
diff changeset
601 int ty = (int)Math.floor(py / rasterBand.getTileHeight());
23d5cc37dd5b Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 546
diff changeset
602 constraint.setEnvelope(tx, ty, tx, ty);
23d5cc37dd5b Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 546
diff changeset
603
544
33f93898cbbf Added RasterObject for caching the Rastertiles to get a better performance
Tim Englich <tim.englich@intevation.de>
parents: 543
diff changeset
604 pSeQuery.queryRasterTile(constraint);
33f93898cbbf Added RasterObject for caching the Rastertiles to get a better performance
Tim Englich <tim.englich@intevation.de>
parents: 543
diff changeset
605 SeRasterTile tile = row.getRasterTile();
547
23d5cc37dd5b Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 546
diff changeset
606
23d5cc37dd5b Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 546
diff changeset
607 if (tile != null){
544
33f93898cbbf Added RasterObject for caching the Rastertiles to get a better performance
Tim Englich <tim.englich@intevation.de>
parents: 543
diff changeset
608 double[] tileValues = new double[tile.getNumPixels()];
33f93898cbbf Added RasterObject for caching the Rastertiles to get a better performance
Tim Englich <tim.englich@intevation.de>
parents: 543
diff changeset
609 tileValues = tile.getPixels(tileValues);
547
23d5cc37dd5b Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 546
diff changeset
610 lSet.addCol(new ColDefinition("tile", ColDefinition.FLOAT64));
544
33f93898cbbf Added RasterObject for caching the Rastertiles to get a better performance
Tim Englich <tim.englich@intevation.de>
parents: 543
diff changeset
611 Row lBackingRow = new Row(1);
547
23d5cc37dd5b Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 546
diff changeset
612
23d5cc37dd5b Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 546
diff changeset
613 double wx1 = (rasterBand.getTileWidth()*tx - bx)/mx;
23d5cc37dd5b Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 546
diff changeset
614 double wx2 = (rasterBand.getTileWidth()*(tx+1) - bx)/mx;
23d5cc37dd5b Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 546
diff changeset
615 double mxt = (rasterBand.getTileWidth()-1e-5d)/(wx2 - wx1);
23d5cc37dd5b Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 546
diff changeset
616 double bxt = -wx1*mxt;
23d5cc37dd5b Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 546
diff changeset
617
23d5cc37dd5b Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 546
diff changeset
618 double wy1 = (rasterBand.getTileHeight()*ty - by)/my;
23d5cc37dd5b Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 546
diff changeset
619 double wy2 = (rasterBand.getTileHeight()*(ty+1) - by)/my;
23d5cc37dd5b Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 546
diff changeset
620 double myt = (rasterBand.getTileHeight()-1e-5d)/(wy2 - wy1);
23d5cc37dd5b Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 546
diff changeset
621 double byt = -wy1*myt;
23d5cc37dd5b Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 546
diff changeset
622
23d5cc37dd5b Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 546
diff changeset
623 RasterObject ro = new RasterObject(
23d5cc37dd5b Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 546
diff changeset
624 mxt, bxt,
23d5cc37dd5b Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 546
diff changeset
625 myt, byt,
23d5cc37dd5b Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 546
diff changeset
626 tile.getColumnIndex(),
23d5cc37dd5b Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 546
diff changeset
627 tile.getRowIndex(),
23d5cc37dd5b Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 546
diff changeset
628 tileValues,
23d5cc37dd5b Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 546
diff changeset
629 rasterBand.getTileWidth(),
23d5cc37dd5b Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 546
diff changeset
630 rasterBand.getTileHeight());
23d5cc37dd5b Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 546
diff changeset
631 lBackingRow.addObject(ro, 0);
544
33f93898cbbf Added RasterObject for caching the Rastertiles to get a better performance
Tim Englich <tim.englich@intevation.de>
parents: 543
diff changeset
632 lSet.addRow(lBackingRow);
547
23d5cc37dd5b Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 546
diff changeset
633
544
33f93898cbbf Added RasterObject for caching the Rastertiles to get a better performance
Tim Englich <tim.englich@intevation.de>
parents: 543
diff changeset
634 }
547
23d5cc37dd5b Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 546
diff changeset
635 }
23d5cc37dd5b Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 546
diff changeset
636 else{
23d5cc37dd5b Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 546
diff changeset
637 log.debug("The Query doesn't deliver any Information " +
23d5cc37dd5b Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 546
diff changeset
638 "because the Point is located outside the Raster.");
543
fac02bf1c685 Added Rasterdatasupport to the ARCSDE-Statement
Tim Englich <tim.englich@intevation.de>
parents: 383
diff changeset
639 }
fac02bf1c685 Added Rasterdatasupport to the ARCSDE-Statement
Tim Englich <tim.englich@intevation.de>
parents: 383
diff changeset
640 } catch (Exception e) {
fac02bf1c685 Added Rasterdatasupport to the ARCSDE-Statement
Tim Englich <tim.englich@intevation.de>
parents: 383
diff changeset
641 log.error(e,e);
130
e4eacd613356 Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
642 }
e4eacd613356 Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
643 }
e4eacd613356 Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
644 pSeQuery.close();
e4eacd613356 Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
645 return lSet;
e4eacd613356 Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
646 }
e4eacd613356 Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
647
884
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
648 /**
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
649 * @see java.sql.Statement#isClosed()
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
650 */
380
0100ebf6630f Added missing Methodstubs for Java 1.6 compability.
Tim Englich <tim.englich@intevation.de>
parents: 377
diff changeset
651 public boolean isClosed() throws SQLException {
0100ebf6630f Added missing Methodstubs for Java 1.6 compability.
Tim Englich <tim.englich@intevation.de>
parents: 377
diff changeset
652 return false;
0100ebf6630f Added missing Methodstubs for Java 1.6 compability.
Tim Englich <tim.englich@intevation.de>
parents: 377
diff changeset
653 }
0100ebf6630f Added missing Methodstubs for Java 1.6 compability.
Tim Englich <tim.englich@intevation.de>
parents: 377
diff changeset
654
884
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
655 /**
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
656 * @see java.sql.Statement#isPoolable()
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
657 */
380
0100ebf6630f Added missing Methodstubs for Java 1.6 compability.
Tim Englich <tim.englich@intevation.de>
parents: 377
diff changeset
658 public boolean isPoolable() throws SQLException {
0100ebf6630f Added missing Methodstubs for Java 1.6 compability.
Tim Englich <tim.englich@intevation.de>
parents: 377
diff changeset
659 return false;
0100ebf6630f Added missing Methodstubs for Java 1.6 compability.
Tim Englich <tim.englich@intevation.de>
parents: 377
diff changeset
660 }
0100ebf6630f Added missing Methodstubs for Java 1.6 compability.
Tim Englich <tim.englich@intevation.de>
parents: 377
diff changeset
661
884
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
662 /**
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
663 * @see java.sql.Statement#setPoolable(boolean)
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
664 */
380
0100ebf6630f Added missing Methodstubs for Java 1.6 compability.
Tim Englich <tim.englich@intevation.de>
parents: 377
diff changeset
665 public void setPoolable(boolean arg0) throws SQLException {
0100ebf6630f Added missing Methodstubs for Java 1.6 compability.
Tim Englich <tim.englich@intevation.de>
parents: 377
diff changeset
666 }
0100ebf6630f Added missing Methodstubs for Java 1.6 compability.
Tim Englich <tim.englich@intevation.de>
parents: 377
diff changeset
667
884
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
668 /**
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
669 * @see java.sql.Wrapper#isWrapperFor(java.lang.Class)
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
670 */
380
0100ebf6630f Added missing Methodstubs for Java 1.6 compability.
Tim Englich <tim.englich@intevation.de>
parents: 377
diff changeset
671 public boolean isWrapperFor(Class<?> iface) throws SQLException {
0100ebf6630f Added missing Methodstubs for Java 1.6 compability.
Tim Englich <tim.englich@intevation.de>
parents: 377
diff changeset
672 return false;
0100ebf6630f Added missing Methodstubs for Java 1.6 compability.
Tim Englich <tim.englich@intevation.de>
parents: 377
diff changeset
673 }
0100ebf6630f Added missing Methodstubs for Java 1.6 compability.
Tim Englich <tim.englich@intevation.de>
parents: 377
diff changeset
674
884
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
675 /**
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
676 * @see java.sql.Wrapper#unwrap(java.lang.Class)
12f88239fb33 Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents: 879
diff changeset
677 */
380
0100ebf6630f Added missing Methodstubs for Java 1.6 compability.
Tim Englich <tim.englich@intevation.de>
parents: 377
diff changeset
678 public <T> T unwrap(Class<T> iface) throws SQLException {
0100ebf6630f Added missing Methodstubs for Java 1.6 compability.
Tim Englich <tim.englich@intevation.de>
parents: 377
diff changeset
679 return null;
885
1c3efbd2fc5a Removes trailing whitespace.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 884
diff changeset
680
380
0100ebf6630f Added missing Methodstubs for Java 1.6 compability.
Tim Englich <tim.englich@intevation.de>
parents: 377
diff changeset
681 }
130
e4eacd613356 Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
682 }

http://dive4elements.wald.intevation.org