diff gnv-artifacts/src/main/java/de/intevation/gnv/state/profile/horizontalcrosssection/HorizontalCrossSectionMeshOutputState.java @ 471:06887e2e3f7a

Some minor code cleanup gnv-artifacts/trunk@534 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Sascha L. Teichmann <sascha.teichmann@intevation.de>
date Tue, 12 Jan 2010 17:41:59 +0000
parents 7ba4c7222265
children ab29e4ff2fda
line wrap: on
line diff
--- a/gnv-artifacts/src/main/java/de/intevation/gnv/state/profile/horizontalcrosssection/HorizontalCrossSectionMeshOutputState.java	Tue Jan 12 15:25:32 2010 +0000
+++ b/gnv-artifacts/src/main/java/de/intevation/gnv/state/profile/horizontalcrosssection/HorizontalCrossSectionMeshOutputState.java	Tue Jan 12 17:41:59 2010 +0000
@@ -151,15 +151,22 @@
                     log.error("meshid is not defined");
                     throw new IllegalStateException("missing meshid");
                 }
+
+                Polygon p = WKTUtils.toPolygon(meshPolygon.getValue());
+
+                if (p == null) {
+                    log.error("no valid polygon");
+                    throw new IllegalStateException("no valid polygon");
+                }
+
                 try {
-                    // TODO: Refactore in own Method to WKTUtils?
-                    Polygon p = (Polygon)new WKTReader().read(meshPolygon.getValue());
                     Envelope env  = p.getEnvelopeInternal();
-                    Coordinate[] coords = new Coordinate[4];
-                    coords[0] = new Coordinate(env.getMinX(), env.getMinY());
-                    coords[1] = new Coordinate(env.getMinX(), env.getMaxY());
-                    coords[2] = new Coordinate(env.getMaxX(), env.getMaxY());
-                    coords[2] = new Coordinate(env.getMaxX(), env.getMinY());
+
+                    Coordinate [] coords = new Coordinate [] {
+                        new Coordinate(env.getMinX(), env.getMinY()),
+                        new Coordinate(env.getMinX(), env.getMaxY()),
+                        new Coordinate(env.getMaxX(), env.getMaxY()),
+                        new Coordinate(env.getMaxX(), env.getMinY()) };
 
                     String additionWhere =
                         WKTUtils.worldEnvelopeCoordinatesToIndex(
@@ -180,24 +187,20 @@
                         Arrays.asList(coords),
                         numSamples(callContext),
                         queryExecutor.executeQuery(
-                        queryID,
-                        addedFilterValues),
-                        p);
-                } catch (QueryException e) {
-                    log.error(e,e);
-                } catch (ParseException e) {
+                            queryID,
+                            addedFilterValues),
+                            p);
+                }
+                catch (QueryException e) {
                     log.error(e,e);
                 }
 
                 if (CacheFactory.getInstance().isInitialized()) {
                     CacheFactory.getInstance().getCache().put(new net.sf.ehcache.Element(key, result));
                 }
-
             }
         }
         return result;
-        
-        
     }
     
     public static Collection<Result> process(

http://dive4elements.wald.intevation.org