# HG changeset patch # User Tim Englich # Date 1253533293 0 # Node ID 9f2eaefe9dd4790ffc7eb01eef4db5bdc2757c19 # Parent c5d50a4bb1e1b2c0417c81e6a82b29dad797dacd Some Log Messages Added. Testcases modified to test Spatialquery support. geo-backend/trunk@105 c6561f87-3c4e-4783-a992-168aeb5c3f6f diff -r c5d50a4bb1e1 -r 9f2eaefe9dd4 geo-backend/Changelog --- a/geo-backend/Changelog Sat Sep 12 09:56:09 2009 +0000 +++ b/geo-backend/Changelog Mon Sep 21 11:41:33 2009 +0000 @@ -1,3 +1,11 @@ +2009-09-21 Tim Englich + + * src/test/ressources/QueryExecutorTestCase.properties Edited, + src/test/java/de/intevation/gnv/geobackend/base/query/QueryExecutorTestCase.java Edited: + Some tests for Spatialqueries added + * src/main/java/de/intevation/gnv/geobackend/base/query/DefaultQueryExceutor.java Edited: + Put the final Querystring into a Logmessage + 2009-09-09 Tim Englich * target/**: Removed. diff -r c5d50a4bb1e1 -r 9f2eaefe9dd4 geo-backend/src/main/java/de/intevation/gnv/geobackend/base/query/DefaultQueryExceutor.java --- a/geo-backend/src/main/java/de/intevation/gnv/geobackend/base/query/DefaultQueryExceutor.java Sat Sep 12 09:56:09 2009 +0000 +++ b/geo-backend/src/main/java/de/intevation/gnv/geobackend/base/query/DefaultQueryExceutor.java Mon Sep 21 11:41:33 2009 +0000 @@ -58,6 +58,9 @@ queryString = super.setFilterValues(queryString, filter); } + log.debug("############ QUERY ##################"); + log.debug(queryString); + log.debug("#######################################"); Connection connection = null; ConnectionPool connectionPool = ConnectionPoolFactory.getInstance().getConnectionPool(); try { diff -r c5d50a4bb1e1 -r 9f2eaefe9dd4 geo-backend/src/test/java/de/intevation/gnv/geobackend/base/query/QueryExecutorTestCase.java --- a/geo-backend/src/test/java/de/intevation/gnv/geobackend/base/query/QueryExecutorTestCase.java Sat Sep 12 09:56:09 2009 +0000 +++ b/geo-backend/src/test/java/de/intevation/gnv/geobackend/base/query/QueryExecutorTestCase.java Mon Sep 21 11:41:33 2009 +0000 @@ -45,6 +45,18 @@ super(name); } + + public void testSpatialQuery(){ + try { + + this.testQuery(27031, "spatial_query", null); + } catch (QueryException e) { + log.error(e,e); + fail(); + } + } + + /** * Tests if the Databaseconnection can be established and * Data could be read from the Database @@ -52,54 +64,69 @@ public void testQueryExecutor(){ try { - QueryExecutor queryExecutor = QueryExecutorFactory.getInstance().getQueryExecutor(); - Collection results = queryExecutor.executeQuery("mesh", null); - if (results == null || results.size() == 0){ - log.error("Keine Daten erhalten"); - fail(); - }else { - assertEquals(6, results.size()); - log.debug("6 Datensätze erhalten"); - Iterator it = results.iterator(); - while (it.hasNext()){ - Result tmpResult = it.next(); - ResultDescriptor resultDescriptor = tmpResult.getResultDescriptor(); - int columns = resultDescriptor.getColumnCount(); - for (int i = 0; i < columns; i++){ - String columnName = resultDescriptor.getColumnName(i); - Object value = tmpResult.getObject(columnName); - log.debug(columnName + " ==> "+value.toString()); - } - } - } - // Quering Data with where clause - results = queryExecutor.executeQuery("mesh_id", new String[]{"5"}); - if (results == null || results.size() == 0){ - log.error("Keine Daten erhalten"); - fail(); - }else { - assertEquals(1, results.size()); - log.debug("1 Datensatz erhalten"); - log.debug("Daten erhalten"); - Iterator it = results.iterator(); - while (it.hasNext()){ - Result tmpResult = it.next(); - ResultDescriptor resultDescriptor = tmpResult.getResultDescriptor(); - int columns = resultDescriptor.getColumnCount(); - for (int i = 0; i < columns; i++){ - String columnName = resultDescriptor.getColumnName(i); - Object value = tmpResult.getObject(columnName); - log.debug(columnName + " ==> "+value.toString()); - } - } - } + this.testQuery(6, "mesh", null); + + this.testQuery(1, "mesh_id", new String[]{"5"}); + + } catch (QueryException e) { log.error(e,e); fail(); } } + + public void testTimeSeriesQueries(){ + + try{ + // Test zum initialisieren der umgebung + this.testQuery(6, "mesh", null); + + + this.testQuery(11, "timeseries_stations", new String[]{"4"}); + this.testQuery(11, "timeseries_stations_op", new String[]{"4"}); + this.testQuery(1, "timeseries_interval", new String[]{"500042 ", "54"}); + + } catch (QueryException e) { + log.error(e,e); + fail(); + } + + } + + /** + * @param resultsize + * @param queryID + * @param filter + * @throws QueryException + */ + private void testQuery(int resultsize, String queryID, String[] filter) + throws QueryException { + long start = System.currentTimeMillis(); + QueryExecutor queryExecutor = QueryExecutorFactory.getInstance().getQueryExecutor(); + Collection results = queryExecutor.executeQuery(queryID, filter); + if (results == null || results.size() == 0){ + log.error("Keine Daten erhalten"); + fail(); + }else { + assertEquals(resultsize, results.size()); + log.debug(resultsize+" Datensätze erhalten"); + Iterator it = results.iterator(); + while (it.hasNext()){ + Result tmpResult = it.next(); + ResultDescriptor resultDescriptor = tmpResult.getResultDescriptor(); + int columns = resultDescriptor.getColumnCount(); + for (int i = 0; i < columns; i++){ + String columnName = resultDescriptor.getColumnName(i); + Object value = tmpResult.getObject(columnName); + log.debug(columnName + " ==> "+value.toString()); + } + } + } + log.debug("Query dauerte: "+(System.currentTimeMillis()-start) +"ms"); + } + /** diff -r c5d50a4bb1e1 -r 9f2eaefe9dd4 geo-backend/src/test/ressources/QueryExecutorTestCase.properties --- a/geo-backend/src/test/ressources/QueryExecutorTestCase.properties Sat Sep 12 09:56:09 2009 +0000 +++ b/geo-backend/src/test/ressources/QueryExecutorTestCase.properties Mon Sep 21 11:41:33 2009 +0000 @@ -1,2 +1,12 @@ mesh=Select MESHID, NAME from MEDIAN.MESH -mesh_id=Select MESHID, NAME from MEDIAN.MESH where MESHID = ? \ No newline at end of file +mesh_id=Select MESHID, NAME from MEDIAN.MESH where MESHID = ? + + + +# Timeseries +timeseries_stations=SELECT tsp.FEATUREID, tsp.NAME FROM MEDIAN.TIMESERIESPOINT tsp WHERE tsp.FEATUREID IN (SELECT DISTINCT mmt.FEATUREID FROM MEDIAN.MEASUREMENT mmt WHERE mmt.SOURCEID IN ( 4 )) order by tsp.name +timeseries_stations_op=SELECT DISTINCT tsp.FEATUREID, tsp.NAME FROM MEDIAN.TIMESERIESPOINT tsp, MEDIAN.MEASUREMENT mmt WHERE tsp.FEATUREID = mmt.FEATUREID AND mmt.SOURCEID IN ( 4 ) order by tsp.name +timeseries_interval=select min(tv.TIMEVALUE) MIN, max(tv.TIMEVALUE) MAX from MEDIAN.TIMESERIES t , MEDIAN.TIMESERIESVALUE tv where tv.TIMESERIESID = t.TIMESERIESID and tv.MEASUREMENTID IN ( ? ) AND t.PARAMETERID IN ( ? ) + + + spatial_query=SELECT FEATUREID, SHAPE FROM MEDIAN.MESHPOINT WHERE MESHID = 3 AND KPOSITION = 1 \ No newline at end of file diff -r c5d50a4bb1e1 -r 9f2eaefe9dd4 geo-backend/target/surefire-reports/TEST-de.intevation.gnv.geobackend.base.query.QueryExecutorTestCase.xml --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/geo-backend/target/surefire-reports/TEST-de.intevation.gnv.geobackend.base.query.QueryExecutorTestCase.xml Mon Sep 21 11:41:33 2009 +0000 @@ -0,0 +1,60 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff -r c5d50a4bb1e1 -r 9f2eaefe9dd4 geo-backend/target/surefire-reports/TEST-de.intevation.gnv.geobackend.sde.datasources.ArcSDEConnectionPoolTestCase.xml --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/geo-backend/target/surefire-reports/TEST-de.intevation.gnv.geobackend.sde.datasources.ArcSDEConnectionPoolTestCase.xml Mon Sep 21 11:41:33 2009 +0000 @@ -0,0 +1,60 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff -r c5d50a4bb1e1 -r 9f2eaefe9dd4 geo-backend/target/surefire-reports/de.intevation.gnv.geobackend.base.query.QueryExecutorTestCase.txt --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/geo-backend/target/surefire-reports/de.intevation.gnv.geobackend.base.query.QueryExecutorTestCase.txt Mon Sep 21 11:41:33 2009 +0000 @@ -0,0 +1,4 @@ +------------------------------------------------------------------------------- +Test set: de.intevation.gnv.geobackend.base.query.QueryExecutorTestCase +------------------------------------------------------------------------------- +Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 1.142 sec diff -r c5d50a4bb1e1 -r 9f2eaefe9dd4 geo-backend/target/surefire-reports/de.intevation.gnv.geobackend.sde.datasources.ArcSDEConnectionPoolTestCase.txt --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/geo-backend/target/surefire-reports/de.intevation.gnv.geobackend.sde.datasources.ArcSDEConnectionPoolTestCase.txt Mon Sep 21 11:41:33 2009 +0000 @@ -0,0 +1,4 @@ +------------------------------------------------------------------------------- +Test set: de.intevation.gnv.geobackend.sde.datasources.ArcSDEConnectionPoolTestCase +------------------------------------------------------------------------------- +Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 1.716 sec