changeset 894:d674cef2ca0d

Using unix line endings only. geo-backend/trunk@939 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Sascha L. Teichmann <sascha.teichmann@intevation.de>
date Sun, 18 Apr 2010 09:22:38 +0000 (2010-04-18)
parents 8a652a451bc6
children eb777022b628
files geo-backend/ChangeLog geo-backend/src/main/java/de/intevation/gnv/geobackend/base/connectionpool/exception/ConnectionException.java geo-backend/src/main/java/de/intevation/gnv/geobackend/sde/datasources/ArcSDEUtils.java geo-backend/src/main/java/de/intevation/gnv/geobackend/sde/datasources/ColDefinition.java geo-backend/src/main/java/de/intevation/gnv/geobackend/sde/datasources/ResultSet.java geo-backend/src/main/java/de/intevation/gnv/geobackend/sde/datasources/Row.java geo-backend/src/main/java/de/intevation/gnv/geobackend/sde/datasources/SDEResultSet.java geo-backend/src/main/java/de/intevation/gnv/geobackend/sde/datasources/exception/DatasourceException.java geo-backend/src/main/java/de/intevation/gnv/geobackend/sde/datasources/exception/TechnicalException.java geo-backend/src/main/java/de/intevation/gnv/geobackend/util/DateUtils.java
diffstat 10 files changed, 2328 insertions(+), 2315 deletions(-) [+]
line wrap: on
line diff
--- a/geo-backend/ChangeLog	Sat Apr 17 09:28:02 2010 +0000
+++ b/geo-backend/ChangeLog	Sun Apr 18 09:22:38 2010 +0000
@@ -1,3 +1,16 @@
+2010-04-16	Sascha L. Teichmann	<sascha.teichmann@intevation.de>
+
+	* src/main/java/de/intevation/gnv/geobackend/base/connectionpool/exception/ConnectionException.java,
+	  src/main/java/de/intevation/gnv/geobackend/sde/datasources/ArcSDEUtils.java,
+	  src/main/java/de/intevation/gnv/geobackend/sde/datasources/ColDefinition.java,
+	  src/main/java/de/intevation/gnv/geobackend/sde/datasources/SDEResultSet.java,
+	  src/main/java/de/intevation/gnv/geobackend/sde/datasources/Row.java,
+	  src/main/java/de/intevation/gnv/geobackend/sde/datasources/ResultSet.java,
+	  src/main/java/de/intevation/gnv/geobackend/sde/datasources/exception/DatasourceException.java,
+	  src/main/java/de/intevation/gnv/geobackend/sde/datasources/exception/TechnicalException.java,
+	  src/main/java/de/intevation/gnv/geobackend/util/DateUtils.java:
+	  Using unix line endings only.
+
 2010-04-17	Sascha L. Teichmann	<sascha.teichmann@intevation.de>
 
 	* src/main/java/de/intevation/gnv/geobackend/base/query/container/QueryContainerFactory.java:
--- a/geo-backend/src/main/java/de/intevation/gnv/geobackend/base/connectionpool/exception/ConnectionException.java	Sat Apr 17 09:28:02 2010 +0000
+++ b/geo-backend/src/main/java/de/intevation/gnv/geobackend/base/connectionpool/exception/ConnectionException.java	Sun Apr 18 09:22:38 2010 +0000
@@ -1,103 +1,103 @@
-package de.intevation.gnv.geobackend.base.connectionpool.exception;
-
-import com.esri.sde.sdk.client.SeError;
-import com.esri.sde.sdk.client.SeException;
-
-import de.intevation.gnv.geobackend.sde.datasources.exception.TechnicalException;
-
-import org.apache.log4j.Logger;
-
-/**
- * The class <code>lConnectionException</code> fulfills the following purposes:
- *
- * @author blume
- * @author <a href="mailto:tim.englich@intevation.de">Tim Englich</a>
- */
-public class ConnectionException extends TechnicalException {
-
-    /**
-     * The UID of this Class.
-     */
-    private static final long serialVersionUID = 102459262123219617L;
-
-    /**
-     * Default Logging instance
-     */
-    private static Logger sLogger = Logger.getLogger(ConnectionException.class);
-
-    /**
-     * Constructs a new exception with <code>null</code> as its detail message.
-     * The cause is not initialized, and may subsequently be initialized by a
-     * call to {@link #initCause}.
-     */
-    public ConnectionException() {
-    }
-
-    /**
-     * Constructs a new exception with the specified detail message.  The
-     * cause is not initialized, and may subsequently be initialized by
-     * a call to {@link #initCause}.
-     *
-     * @param message the detail message. The detail message is saved for
-     *                later retrieval by the {@link #getMessage()} method.
-     */
-    public ConnectionException(String message) {
-        super(message);
-    }
-
-    /**
-     * Constructor
-     * @param pCause the Throwable which cause this exception
-     */
-    public ConnectionException(Throwable pCause) {
-        super(pCause);
-    }
-
-    /**
-     * Constructs a new exception with the specified detail message and
-     * cause.  <p>Note that the detail message associated with
-     * <code>cause</code> is <i>not</i> automatically incorporated in
-     * this exception's detail message.
-     *
-     * @param message the detail message (which is saved for later retrieval
-     *                by the {@link #getMessage()} method).
-     * @param cause   the cause (which is saved for later retrieval by the
-     *                {@link #getCause()} method).  (A <tt>null</tt> value is
-     *                permitted, and indicates that the cause is nonexistent or
-     *                unknown.)
-     * @since 1.4
-     */
-    public ConnectionException(String message, Throwable cause) {
-        super(message, cause);
-    }
-
-    /**
-     * Displays the details of an SeException (if available).
-     *
-     */
-    public void printError() {
-        if (getCause() != null && getCause() instanceof SeException) {
-            SeException exception = (SeException) getCause();
-            SeError error = exception.getSeError();
-
-            sLogger.debug("\n ArcSDE Error Number        : " + error.getSdeError());
-            sLogger.debug(" Error Description          : " + error.getErrDesc());
-
-            int extError = error.getExtError();
-            if (extError != 0)
-                sLogger.debug(" Extended Error Number      : " + extError);
-
-            String desc = error.getSdeErrMsg();
-            if (desc != null && desc.length() != 0)
-                sLogger.debug(" Extended Error Description : " + desc);
-
-            desc = error.getExtErrMsg();
-            if (desc != null && desc.length() != 0)
-                sLogger.debug(" Extended Error Description : " + desc);
-
-            sLogger.debug(exception);
-
-        }
-
-    }
-}
+package de.intevation.gnv.geobackend.base.connectionpool.exception;
+
+import com.esri.sde.sdk.client.SeError;
+import com.esri.sde.sdk.client.SeException;
+
+import de.intevation.gnv.geobackend.sde.datasources.exception.TechnicalException;
+
+import org.apache.log4j.Logger;
+
+/**
+ * The class <code>lConnectionException</code> fulfills the following purposes:
+ *
+ * @author blume
+ * @author <a href="mailto:tim.englich@intevation.de">Tim Englich</a>
+ */
+public class ConnectionException extends TechnicalException {
+
+    /**
+     * The UID of this Class.
+     */
+    private static final long serialVersionUID = 102459262123219617L;
+
+    /**
+     * Default Logging instance
+     */
+    private static Logger sLogger = Logger.getLogger(ConnectionException.class);
+
+    /**
+     * Constructs a new exception with <code>null</code> as its detail message.
+     * The cause is not initialized, and may subsequently be initialized by a
+     * call to {@link #initCause}.
+     */
+    public ConnectionException() {
+    }
+
+    /**
+     * Constructs a new exception with the specified detail message.  The
+     * cause is not initialized, and may subsequently be initialized by
+     * a call to {@link #initCause}.
+     *
+     * @param message the detail message. The detail message is saved for
+     *                later retrieval by the {@link #getMessage()} method.
+     */
+    public ConnectionException(String message) {
+        super(message);
+    }
+
+    /**
+     * Constructor
+     * @param pCause the Throwable which cause this exception
+     */
+    public ConnectionException(Throwable pCause) {
+        super(pCause);
+    }
+
+    /**
+     * Constructs a new exception with the specified detail message and
+     * cause.  <p>Note that the detail message associated with
+     * <code>cause</code> is <i>not</i> automatically incorporated in
+     * this exception's detail message.
+     *
+     * @param message the detail message (which is saved for later retrieval
+     *                by the {@link #getMessage()} method).
+     * @param cause   the cause (which is saved for later retrieval by the
+     *                {@link #getCause()} method).  (A <tt>null</tt> value is
+     *                permitted, and indicates that the cause is nonexistent or
+     *                unknown.)
+     * @since 1.4
+     */
+    public ConnectionException(String message, Throwable cause) {
+        super(message, cause);
+    }
+
+    /**
+     * Displays the details of an SeException (if available).
+     *
+     */
+    public void printError() {
+        if (getCause() != null && getCause() instanceof SeException) {
+            SeException exception = (SeException) getCause();
+            SeError error = exception.getSeError();
+
+            sLogger.debug("\n ArcSDE Error Number        : " + error.getSdeError());
+            sLogger.debug(" Error Description          : " + error.getErrDesc());
+
+            int extError = error.getExtError();
+            if (extError != 0)
+                sLogger.debug(" Extended Error Number      : " + extError);
+
+            String desc = error.getSdeErrMsg();
+            if (desc != null && desc.length() != 0)
+                sLogger.debug(" Extended Error Description : " + desc);
+
+            desc = error.getExtErrMsg();
+            if (desc != null && desc.length() != 0)
+                sLogger.debug(" Extended Error Description : " + desc);
+
+            sLogger.debug(exception);
+
+        }
+
+    }
+}
--- a/geo-backend/src/main/java/de/intevation/gnv/geobackend/sde/datasources/ArcSDEUtils.java	Sat Apr 17 09:28:02 2010 +0000
+++ b/geo-backend/src/main/java/de/intevation/gnv/geobackend/sde/datasources/ArcSDEUtils.java	Sun Apr 18 09:22:38 2010 +0000
@@ -1,84 +1,84 @@
-package de.intevation.gnv.geobackend.sde.datasources;
-
-import com.esri.sde.sdk.client.SDEPoint;
-import com.esri.sde.sdk.client.SeError;
-import com.esri.sde.sdk.client.SeException;
-
-import com.vividsolutions.jts.geom.Coordinate;
-import com.vividsolutions.jts.geom.Geometry;
-import com.vividsolutions.jts.geom.LineString;
-import com.vividsolutions.jts.geom.Point;
-import com.vividsolutions.jts.geom.Polygon;
-
-import org.apache.log4j.Logger;
-
-/**
- * The class <code>ArcSDEUtils</code> fulfills the following purposes:
- * 
- * @author blume
- * @author <a href="mailto:tim.englich@intevation.de">Tim Englich</a>
- */
-public class ArcSDEUtils {
-
-    /**
-     * Default Logging instance
-     */
-    private static Logger sLogger = Logger.getLogger(ArcSDEUtils.class);
-
-    /**
-     * Prints an SEEsception into the Logger of this Class
-     * @param exception
-     */
-    public static void printError(SeException exception) {
-
-        SeError error = exception.getSeError();
-
-        sLogger.debug("\n ArcSDE Error Number        : " + error.getSdeError());
-        sLogger.debug(" Error Description          : " + error.getErrDesc());
-
-        int extError = error.getExtError();
-        if (extError != 0)
-            sLogger.debug(" Extended Error Number      : " + extError);
-
-        String desc = error.getSdeErrMsg();
-        if (desc != null && desc.length() != 0)
-            sLogger.debug(" Extended Error Description : " + desc);
-
-        desc = error.getExtErrMsg();
-        if (desc != null && desc.length() != 0)
-            sLogger.debug(" Extended Error Description : " + desc);
-
-        sLogger.debug(exception);
-
-    }
-
-    /**
-     * Generate an SDEPoint-Array from a given Geometry.
-     * This Method did not put the Holes to the Array.
-     * @param g The Geometry which should be converted.
-     * @return an SDEPoint-Array from a given Ggeometry.
-     */
-    public SDEPoint[] createPoints(Geometry g) {
-        sLogger.debug("createPoints()");
-        Coordinate[] coords = null;
-        if (g instanceof Polygon) {
-            coords = ((Polygon) g).getCoordinates();
-        }else if (g instanceof Point){
-            coords = ((Point)g).getCoordinates();
-        }else if (g instanceof LineString){
-            coords = ((LineString)g).getCoordinates();
-        }else{
-            coords = g.getCoordinates();
-        }
-
-        if (coords != null){
-            SDEPoint[] lSDEPoints = new SDEPoint[coords.length];
-            for (int i = 0; i < coords.length; i++) {
-                lSDEPoints[i] = new SDEPoint(coords[i].x, coords[i].y);
-            }
-            return lSDEPoints;
-        }else{
-            return null;
-        }
-    }
-}
+package de.intevation.gnv.geobackend.sde.datasources;
+
+import com.esri.sde.sdk.client.SDEPoint;
+import com.esri.sde.sdk.client.SeError;
+import com.esri.sde.sdk.client.SeException;
+
+import com.vividsolutions.jts.geom.Coordinate;
+import com.vividsolutions.jts.geom.Geometry;
+import com.vividsolutions.jts.geom.LineString;
+import com.vividsolutions.jts.geom.Point;
+import com.vividsolutions.jts.geom.Polygon;
+
+import org.apache.log4j.Logger;
+
+/**
+ * The class <code>ArcSDEUtils</code> fulfills the following purposes:
+ * 
+ * @author blume
+ * @author <a href="mailto:tim.englich@intevation.de">Tim Englich</a>
+ */
+public class ArcSDEUtils {
+
+    /**
+     * Default Logging instance
+     */
+    private static Logger sLogger = Logger.getLogger(ArcSDEUtils.class);
+
+    /**
+     * Prints an SEEsception into the Logger of this Class
+     * @param exception
+     */
+    public static void printError(SeException exception) {
+
+        SeError error = exception.getSeError();
+
+        sLogger.debug("\n ArcSDE Error Number        : " + error.getSdeError());
+        sLogger.debug(" Error Description          : " + error.getErrDesc());
+
+        int extError = error.getExtError();
+        if (extError != 0)
+            sLogger.debug(" Extended Error Number      : " + extError);
+
+        String desc = error.getSdeErrMsg();
+        if (desc != null && desc.length() != 0)
+            sLogger.debug(" Extended Error Description : " + desc);
+
+        desc = error.getExtErrMsg();
+        if (desc != null && desc.length() != 0)
+            sLogger.debug(" Extended Error Description : " + desc);
+
+        sLogger.debug(exception);
+
+    }
+
+    /**
+     * Generate an SDEPoint-Array from a given Geometry.
+     * This Method did not put the Holes to the Array.
+     * @param g The Geometry which should be converted.
+     * @return an SDEPoint-Array from a given Ggeometry.
+     */
+    public SDEPoint[] createPoints(Geometry g) {
+        sLogger.debug("createPoints()");
+        Coordinate[] coords = null;
+        if (g instanceof Polygon) {
+            coords = ((Polygon) g).getCoordinates();
+        }else if (g instanceof Point){
+            coords = ((Point)g).getCoordinates();
+        }else if (g instanceof LineString){
+            coords = ((LineString)g).getCoordinates();
+        }else{
+            coords = g.getCoordinates();
+        }
+
+        if (coords != null){
+            SDEPoint[] lSDEPoints = new SDEPoint[coords.length];
+            for (int i = 0; i < coords.length; i++) {
+                lSDEPoints[i] = new SDEPoint(coords[i].x, coords[i].y);
+            }
+            return lSDEPoints;
+        }else{
+            return null;
+        }
+    }
+}
--- a/geo-backend/src/main/java/de/intevation/gnv/geobackend/sde/datasources/ColDefinition.java	Sat Apr 17 09:28:02 2010 +0000
+++ b/geo-backend/src/main/java/de/intevation/gnv/geobackend/sde/datasources/ColDefinition.java	Sun Apr 18 09:22:38 2010 +0000
@@ -1,77 +1,77 @@
-package de.intevation.gnv.geobackend.sde.datasources;
-
-import org.apache.log4j.Logger;
-
-/**
- * The class <code>ColDefinition</code> fulfills the following purposes:
- * @author blume
- * @author <a href="mailto:tim.englich@intevation.de">Tim Englich</a>
- */
-public class ColDefinition {
-
-    /**
-     * Default Logging instance
-     */
-    private static Logger sLogger = Logger.getLogger(ColDefinition.class);
-
-    /**
-     * @deprecated
-     */
-    public static final int SMALLINT = 1;
-    /**
-     * @deprecated
-     */
-    public static final int INTEGER = 2;
-    /**
-     * @deprecated
-     */
-    public static final int FLOAT = 3;
-    /**
-     * @deprecated
-     */
-    public static final int DOUBLE = 4;
-    public static final int INT16 = 1;
-    public static final int INT32 = 2;
-    public static final int FLOAT32 = 3;
-    public static final int FLOAT64 = 4;
-    public static final int STRING = 5;
-    public static final int BLOB = 6;
-    public static final int DATE = 7;
-    public static final int SHAPE = 8;
-    public static final int RASTER = 9;
-    public static final int XML = 10;
-    public static final int INT64 = 11;
-    public static final int UUID = 12;
-    public static final int CLOB = 13;
-    public static final int NSTRING = 14;
-    public static final int NCLOB = 15;
-
-    private String mName;
-    private int mType;
-
-    /**
-     * Constructor
-     * @param pName the Name of an Column.
-     * @param pType the Type of an Column.
-     */
-    public ColDefinition(String pName, int pType) {
-        mName = pName;
-        mType = pType;
-    }
-
-    /**
-     * Returns the Name of an Column.
-     * @return the Name of an Column.
-     */
-    public String getName() {
-        return mName;
-    }
-
-    /**
-     * Returns the Type of an Column.
-     * @return the Type of an Column.
-     */
-    public int getType() {
-        return mType;
-    }
-}
+package de.intevation.gnv.geobackend.sde.datasources;
+
+import org.apache.log4j.Logger;
+
+/**
+ * The class <code>ColDefinition</code> fulfills the following purposes:
+ * @author blume
+ * @author <a href="mailto:tim.englich@intevation.de">Tim Englich</a>
+ */
+public class ColDefinition {
+
+    /**
+     * Default Logging instance
+     */
+    private static Logger sLogger = Logger.getLogger(ColDefinition.class);
+
+    /**
+     * @deprecated
+     */
+    public static final int SMALLINT = 1;
+    /**
+     * @deprecated
+     */
+    public static final int INTEGER = 2;
+    /**
+     * @deprecated
+     */
+    public static final int FLOAT = 3;
+    /**
+     * @deprecated
+     */
+    public static final int DOUBLE = 4;
+    public static final int INT16 = 1;
+    public static final int INT32 = 2;
+    public static final int FLOAT32 = 3;
+    public static final int FLOAT64 = 4;
+    public static final int STRING = 5;
+    public static final int BLOB = 6;
+    public static final int DATE = 7;
+    public static final int SHAPE = 8;
+    public static final int RASTER = 9;
+    public static final int XML = 10;
+    public static final int INT64 = 11;
+    public static final int UUID = 12;
+    public static final int CLOB = 13;
+    public static final int NSTRING = 14;
+    public static final int NCLOB = 15;
+
+    private String mName;
+    private int mType;
+
+    /**
+     * Constructor
+     * @param pName the Name of an Column.
+     * @param pType the Type of an Column.
+     */
+    public ColDefinition(String pName, int pType) {
+        mName = pName;
+        mType = pType;
+    }
+
+    /**
+     * Returns the Name of an Column.
+     * @return the Name of an Column.
+     */
+    public String getName() {
+        return mName;
+    }
+
+    /**
+     * Returns the Type of an Column.
+     * @return the Type of an Column.
+     */
+    public int getType() {
+        return mType;
+    }
+}
--- a/geo-backend/src/main/java/de/intevation/gnv/geobackend/sde/datasources/ResultSet.java	Sat Apr 17 09:28:02 2010 +0000
+++ b/geo-backend/src/main/java/de/intevation/gnv/geobackend/sde/datasources/ResultSet.java	Sun Apr 18 09:22:38 2010 +0000
@@ -1,47 +1,47 @@
-package de.intevation.gnv.geobackend.sde.datasources;
-
-import org.apache.log4j.Logger;
-
-/**
- * The class <code>ResultSet</code> fulfills the following purposes:
- * <ol>
- * <li>Providing an abstract object for dealing with result sets.</li>
- * </ol>
- *
- * @author blume
- * @author <a href="mailto:tim.englich@intevation.de">Tim Englich</a>
- */
-public abstract class ResultSet implements java.sql.ResultSet {
-
-    /**
-     * Default Logging instance
-     */
-    private static Logger sLogger = Logger.getLogger(ResultSet.class);
-
-    /**
-     * Returns the number of hits.
-     * @return count of results.
-     */
-    public abstract int getCount();
-
-    /**
-     * Returns the number of columns returned through the query.
-     * @return the number of columns.
-     */
-    public abstract int getNumberOfColumns();
-
-    /**
-     * A ResultSet can tell about the concrete definition of each column.
-     * This method returns an array of ColDefinition-Objects.
-     * @return the definitions describing the result set.
-     */
-    public abstract ColDefinition[] getColumnDefinitions();
-
-    /**
-     * Returns an array of Rows. The rows contain the "content" of the current ResultSet.
-     *
-     * @return the results itself.
-     */
-    public abstract Row[] getResults();
-
-}
+package de.intevation.gnv.geobackend.sde.datasources;
+
+import org.apache.log4j.Logger;
+
+/**
+ * The class <code>ResultSet</code> fulfills the following purposes:
+ * <ol>
+ * <li>Providing an abstract object for dealing with result sets.</li>
+ * </ol>
+ *
+ * @author blume
+ * @author <a href="mailto:tim.englich@intevation.de">Tim Englich</a>
+ */
+public abstract class ResultSet implements java.sql.ResultSet {
+
+    /**
+     * Default Logging instance
+     */
+    private static Logger sLogger = Logger.getLogger(ResultSet.class);
+
+    /**
+     * Returns the number of hits.
+     * @return count of results.
+     */
+    public abstract int getCount();
+
+    /**
+     * Returns the number of columns returned through the query.
+     * @return the number of columns.
+     */
+    public abstract int getNumberOfColumns();
+
+    /**
+     * A ResultSet can tell about the concrete definition of each column.
+     * This method returns an array of ColDefinition-Objects.
+     * @return the definitions describing the result set.
+     */
+    public abstract ColDefinition[] getColumnDefinitions();
+
+    /**
+     * Returns an array of Rows. The rows contain the "content" of the current ResultSet.
+     *
+     * @return the results itself.
+     */
+    public abstract Row[] getResults();
+
+}
--- a/geo-backend/src/main/java/de/intevation/gnv/geobackend/sde/datasources/Row.java	Sat Apr 17 09:28:02 2010 +0000
+++ b/geo-backend/src/main/java/de/intevation/gnv/geobackend/sde/datasources/Row.java	Sun Apr 18 09:22:38 2010 +0000
@@ -1,286 +1,286 @@
-package de.intevation.gnv.geobackend.sde.datasources;
-
-import com.esri.sde.sdk.client.SDEPoint;
-import com.esri.sde.sdk.client.SeException;
-import com.esri.sde.sdk.client.SeShape;
-
-import de.intevation.gnv.geobackend.sde.datasources.exception.TechnicalException;
-
-import de.intevation.gnv.geobackend.util.DateUtils;
-
-import java.util.ArrayList;
-import java.util.Calendar;
-import java.util.Date;
-
-import org.apache.log4j.Logger;
-
-/**
- * A Row represents a set of values.
- * In a technical manner (e.g. database manner) a row contains all attributes of a single "hit".
- *
- * @author blume
- * @author <a href="mailto:tim.englich@intevation.de">Tim Englich</a>
- */
-public class Row {
-    /**
-     * Default Logging instance
-     */
-    private static Logger sLogger = Logger.getLogger(Row.class);
-
-    /**
-     * Data container.
-     */
-    private Object[] mObjects;
-
-    /**
-     * Constructor.
-     * @param pRowSize the number of attributes contained by this row.
-     */
-    public Row(int pRowSize) {
-        mObjects = new Object[pRowSize];
-    }
-
-    /**
-     * Constructor.
-     * @param ArrayStr a line from CSV-File.
-     */
-    public Row (String[] ArrayStr){
-        this (ArrayStr.length);
-        int nLength = ArrayStr.length;
-        for (int i=0; i < nLength; i++){
-            addObject(ArrayStr[i], i);
-            
-        }    
-        
-    }
-
-    /**
-     * Adds an attribute value to a specific position of this row.
-     *
-     * @param pObject the object to be stored.
-     * @param pPos    the postion the value to be saved
-     */
-    public void addObject(Object pObject, int pPos) {
-        mObjects[pPos] = pObject;
-    }
-
-    /**
-     * Returns a Value out of the Row.
-     *
-     * @param pPos the position of the value to be returned.
-     * @return an Object! (not strongly typed)
-     * @throws TechnicalException
-     */
-    public Object getValue(int pPos) throws TechnicalException {
-        if (pPos < mObjects.length) {
-            
-            Object o =  mObjects[pPos];
-            if (o instanceof SeShape){
-                return this.getPosValue(pPos);
-            }else{
-                return o;
-            }
-        } else {
-            throw new TechnicalException("Cannot access this field position. Size is: " + mObjects.length);
-        }
-    }
-
-    /**
-     * This is a covenient method for getting strongly typed objects out of the row.
-     * It has to be ensured, that the type of the requested row position has been resolved out of the ColumnDefinition ({@link ResultSet#getColumnDefinitions()}).
-     * In fact, this method executes a simple cast to the desired type.
-     *
-     * @param pPos the position of the object to be resolved.
-     * @return a strongly typed Date
-     * @throws TechnicalException
-     * @see #getValue(int)
-     */
-    public Date getDateValue(int pPos) throws TechnicalException {
-        Date date =  null;
-        try {
-            Calendar lCalendar = (Calendar) getValue(pPos);
-            date = lCalendar.getTime();
-        } 
-        catch (ClassCastException e) {
-            try{
-                //SimpleDateFormat formatter = new SimpleDateFormat("dd-MMM-yyyy HH:mm:ss");
-                date = DateUtils.getDateFromString ((String)getValue(pPos)); //(Date)formatter.parse((String)getValue(pPos));
-                
-                
-            }
-            catch (Exception ex){
-                sLogger.error(getValue(pPos) + " " + ex.getMessage(), ex);
-                throw new TechnicalException("Could not cast this value to the Date Type. Object is of value type: " + getValue(pPos).getClass().getName());
-            }
-        }    
-      
-        return date;
-    }
-
-    /**
-     * This is a covenient method for getting strongly typed objects out of the row.
-     * It has to be ensured, that the type of the requested row position has been resolved out of the ColumnDefinition ({@link ResultSet#getColumnDefinitions()}).
-     * In fact, this method executes a simple cast to the desired type.
-     *
-     * @param pPos the position of the object to be resolved.
-     * @return a strongly typed String
-     * @throws TechnicalException
-     * @see #getValue(int)
-     */
-    public String getStringValue(int pPos) throws TechnicalException {
-        try {
-            Object o = this.getValue(pPos);
-            String returnValue = null;
-            if (o instanceof SeShape){
-                returnValue = this.getPosValue(pPos);
-            }else{
-                returnValue = (String)o;
-            }
-            return returnValue;
-        } catch (ClassCastException e) {
-            throw new TechnicalException("Could not cast this value to the String Type. Object is of value type: " + getValue(pPos).getClass().getName());
-        }
-    }
-
-    /**
-     * This is a covenient method for getting strongly typed objects out of the row.
-     * It has to be ensured, that the type of the requested row position has been resolved out of the ColumnDefinition ({@link ResultSet#getColumnDefinitions()}).
-     * In fact, this method executes a simple cast to the desired type.
-     *
-     * @param pPos the position of the object to be resolved.
-     * @throws TechnicalException
-     * @see #getValue(int)
-     *      * @return a strongly typed int
-     */
-    public int getIntValue(int pPos) throws TechnicalException {
-        try {
-            return (Integer) getValue(pPos);
-        } catch (ClassCastException e) {
-            throw new TechnicalException("Could not cast this value to the Integer Type. Object is of value type: " + getValue(pPos).getClass().getName());
-        }
-    }
-
-    /**
-     * This is a covenient method for getting strongly typed objects out of the row.
-     * It has to be ensured, that the type of the requested row position has been resolved out of the ColumnDefinition ({@link ResultSet#getColumnDefinitions()}).
-     * In fact, this method executes a simple cast to the desired type.
-     *
-     * @param pPos the position of the object to be resolved.
-     * @throws TechnicalException
-     * @see #getValue(int)
-     *      * @return a strongly typed Double
-     */
-    public Double getDoubleValue(int pPos) throws TechnicalException {
-        try {
-            return (Double) getValue(pPos);
-        } catch (ClassCastException e) {
-            try{
-                return new Double ((String)getValue(pPos));
-            }
-            catch(Exception ex){
-                sLogger.error(getValue(pPos) + " " + ex.getMessage(), ex);
-                throw new TechnicalException("Could not cast this value to the Double Type. Object is of value type: " + getValue(pPos).getClass().getName());
-            }
-        }
-    }
-
-    /**
-     * This is a covenient method for getting strongly typed objects out of the row.
-     * It has to be ensured, that the type of the requested row position has been resolved out of the ColumnDefinition ({@link ResultSet#getColumnDefinitions()}).
-     * In fact, this method executes a simple cast to the desired type.
-     *
-     * @param pPos the position of the object to be resolved.
-     * @return a strongly typed Float
-     * @throws TechnicalException
-     * @see #getValue(int)
-     */
-    public Float getFloatValue(int pPos) throws TechnicalException {
-        try {
-            return (Float) getValue(pPos);
-        } catch (ClassCastException e) {
-            throw new TechnicalException("Could not cast this value to the Float Type. Object is of value type: " + getValue(pPos).getClass().getName());
-        }
-    }
-    /**
-     * This is a covenient method for getting strongly typed objects out of the row.
-     * It has to be ensured, that the type of the requested row position has been resolved out of the ColumnDefinition ({@link ResultSet#getColumnDefinitions()}).
-     * In fact, this method executes a simple cast to the desired type.
-     *
-     * @param pPos the position of the object to be resolved.
-     * @return a strongly typed Float
-     * @throws TechnicalException
-     * @see #getValue(int)
-     */    
-    public String getPosValue(int pPos)throws TechnicalException{
-        StringBuffer returnValue = new StringBuffer();
-        synchronized (returnValue) {
-            try {
-                SeShape val = (SeShape) this.mObjects[pPos];
-                if (val.isPoint()){
-                    // Cannot use val.asText() because the 
-                    // generated WKT is invalid.
-                    ArrayList aList = val.getAllPoints(0,false);
-                    SDEPoint[] mPoint = (SDEPoint[])aList.get(0);
-                    returnValue.append("POINT(")
-                               .append(mPoint[0].getX())
-                               .append(" ")
-                               .append(mPoint[0].getY());
-                    if (mPoint[0].is3D()){
-                       returnValue.append(" ").append(mPoint[0].getZ());
-                    }
-                    returnValue.append(")");
-                }else if (val.isLine() || val.isSimpleLine()){
-                    // Cannot use val.asText() because the 
-                    // generated WKT is invalid.
-                    ArrayList aList = val.getAllPoints(0,false);
-                    SDEPoint[] mPoint = (SDEPoint[])aList.get(0);
-                    boolean isMultiLineString = val.isMultiPart();
-                    int length = mPoint.length;
-                    int nextOffset = length;
-                    int[] offsets = (int[])aList.get(1);
-                    int offsetPos = 1;
-                    
-                    if(isMultiLineString){
-                        returnValue.append("MULTILINESTRING((");
-                        nextOffset = offsets.length-1 >= offsetPos ? offsets[offsetPos++] : length;
-                    }else{
-                        returnValue.append("LINESTRING(");
-                    }
-
-                    for (int i = 0; i< length;i++){
-                        
-                        if (i == nextOffset){
-                            returnValue.append("),(");
-                            nextOffset = offsets.length-1 >= offsetPos ? offsets[offsetPos++] : length;
-                        }
-                        
-                        returnValue.append(mPoint[i].getX())
-                                   .append(" ")
-                                   .append(mPoint[i].getY());
-                        if (mPoint[i].is3D()){
-                            returnValue.append(" ").append(mPoint[i].getZ());
-                        }
-                        if (i < length-1 && i < nextOffset -1){
-                            returnValue.append(" , ");
-                        }
-                    }
-
-                    if(isMultiLineString){
-                        returnValue.append("))");
-                    }else{
-                        returnValue.append(")");
-                    }
-                    
-                } else{
-                    returnValue.append(val.asText(val.getTextSize()));
-                }
-            } catch (SeException e) {
-                throw new TechnicalException("Could not cast this value to the " +
-                                             "Float Type. Object is of value " +
-                                             "type: " + 
-                                             getValue(pPos).getClass().getName());
-            }
-        }
-        return returnValue.toString();
-    }
-}
+package de.intevation.gnv.geobackend.sde.datasources;
+
+import com.esri.sde.sdk.client.SDEPoint;
+import com.esri.sde.sdk.client.SeException;
+import com.esri.sde.sdk.client.SeShape;
+
+import de.intevation.gnv.geobackend.sde.datasources.exception.TechnicalException;
+
+import de.intevation.gnv.geobackend.util.DateUtils;
+
+import java.util.ArrayList;
+import java.util.Calendar;
+import java.util.Date;
+
+import org.apache.log4j.Logger;
+
+/**
+ * A Row represents a set of values.
+ * In a technical manner (e.g. database manner) a row contains all attributes of a single "hit".
+ *
+ * @author blume
+ * @author <a href="mailto:tim.englich@intevation.de">Tim Englich</a>
+ */
+public class Row {
+    /**
+     * Default Logging instance
+     */
+    private static Logger sLogger = Logger.getLogger(Row.class);
+
+    /**
+     * Data container.
+     */
+    private Object[] mObjects;
+
+    /**
+     * Constructor.
+     * @param pRowSize the number of attributes contained by this row.
+     */
+    public Row(int pRowSize) {
+        mObjects = new Object[pRowSize];
+    }
+
+    /**
+     * Constructor.
+     * @param ArrayStr a line from CSV-File.
+     */
+    public Row (String[] ArrayStr){
+        this (ArrayStr.length);
+        int nLength = ArrayStr.length;
+        for (int i=0; i < nLength; i++){
+            addObject(ArrayStr[i], i);
+            
+        }    
+        
+    }
+
+    /**
+     * Adds an attribute value to a specific position of this row.
+     *
+     * @param pObject the object to be stored.
+     * @param pPos    the postion the value to be saved
+     */
+    public void addObject(Object pObject, int pPos) {
+        mObjects[pPos] = pObject;
+    }
+
+    /**
+     * Returns a Value out of the Row.
+     *
+     * @param pPos the position of the value to be returned.
+     * @return an Object! (not strongly typed)
+     * @throws TechnicalException
+     */
+    public Object getValue(int pPos) throws TechnicalException {
+        if (pPos < mObjects.length) {
+            
+            Object o =  mObjects[pPos];
+            if (o instanceof SeShape){
+                return this.getPosValue(pPos);
+            }else{
+                return o;
+            }
+        } else {
+            throw new TechnicalException("Cannot access this field position. Size is: " + mObjects.length);
+        }
+    }
+
+    /**
+     * This is a covenient method for getting strongly typed objects out of the row.
+     * It has to be ensured, that the type of the requested row position has been resolved out of the ColumnDefinition ({@link ResultSet#getColumnDefinitions()}).
+     * In fact, this method executes a simple cast to the desired type.
+     *
+     * @param pPos the position of the object to be resolved.
+     * @return a strongly typed Date
+     * @throws TechnicalException
+     * @see #getValue(int)
+     */
+    public Date getDateValue(int pPos) throws TechnicalException {
+        Date date =  null;
+        try {
+            Calendar lCalendar = (Calendar) getValue(pPos);
+            date = lCalendar.getTime();
+        } 
+        catch (ClassCastException e) {
+            try{
+                //SimpleDateFormat formatter = new SimpleDateFormat("dd-MMM-yyyy HH:mm:ss");
+                date = DateUtils.getDateFromString ((String)getValue(pPos)); //(Date)formatter.parse((String)getValue(pPos));
+                
+                
+            }
+            catch (Exception ex){
+                sLogger.error(getValue(pPos) + " " + ex.getMessage(), ex);
+                throw new TechnicalException("Could not cast this value to the Date Type. Object is of value type: " + getValue(pPos).getClass().getName());
+            }
+        }    
+      
+        return date;
+    }
+
+    /**
+     * This is a covenient method for getting strongly typed objects out of the row.
+     * It has to be ensured, that the type of the requested row position has been resolved out of the ColumnDefinition ({@link ResultSet#getColumnDefinitions()}).
+     * In fact, this method executes a simple cast to the desired type.
+     *
+     * @param pPos the position of the object to be resolved.
+     * @return a strongly typed String
+     * @throws TechnicalException
+     * @see #getValue(int)
+     */
+    public String getStringValue(int pPos) throws TechnicalException {
+        try {
+            Object o = this.getValue(pPos);
+            String returnValue = null;
+            if (o instanceof SeShape){
+                returnValue = this.getPosValue(pPos);
+            }else{
+                returnValue = (String)o;
+            }
+            return returnValue;
+        } catch (ClassCastException e) {
+            throw new TechnicalException("Could not cast this value to the String Type. Object is of value type: " + getValue(pPos).getClass().getName());
+        }
+    }
+
+    /**
+     * This is a covenient method for getting strongly typed objects out of the row.
+     * It has to be ensured, that the type of the requested row position has been resolved out of the ColumnDefinition ({@link ResultSet#getColumnDefinitions()}).
+     * In fact, this method executes a simple cast to the desired type.
+     *
+     * @param pPos the position of the object to be resolved.
+     * @throws TechnicalException
+     * @see #getValue(int)
+     *      * @return a strongly typed int
+     */
+    public int getIntValue(int pPos) throws TechnicalException {
+        try {
+            return (Integer) getValue(pPos);
+        } catch (ClassCastException e) {
+            throw new TechnicalException("Could not cast this value to the Integer Type. Object is of value type: " + getValue(pPos).getClass().getName());
+        }
+    }
+
+    /**
+     * This is a covenient method for getting strongly typed objects out of the row.
+     * It has to be ensured, that the type of the requested row position has been resolved out of the ColumnDefinition ({@link ResultSet#getColumnDefinitions()}).
+     * In fact, this method executes a simple cast to the desired type.
+     *
+     * @param pPos the position of the object to be resolved.
+     * @throws TechnicalException
+     * @see #getValue(int)
+     *      * @return a strongly typed Double
+     */
+    public Double getDoubleValue(int pPos) throws TechnicalException {
+        try {
+            return (Double) getValue(pPos);
+        } catch (ClassCastException e) {
+            try{
+                return new Double ((String)getValue(pPos));
+            }
+            catch(Exception ex){
+                sLogger.error(getValue(pPos) + " " + ex.getMessage(), ex);
+                throw new TechnicalException("Could not cast this value to the Double Type. Object is of value type: " + getValue(pPos).getClass().getName());
+            }
+        }
+    }
+
+    /**
+     * This is a covenient method for getting strongly typed objects out of the row.
+     * It has to be ensured, that the type of the requested row position has been resolved out of the ColumnDefinition ({@link ResultSet#getColumnDefinitions()}).
+     * In fact, this method executes a simple cast to the desired type.
+     *
+     * @param pPos the position of the object to be resolved.
+     * @return a strongly typed Float
+     * @throws TechnicalException
+     * @see #getValue(int)
+     */
+    public Float getFloatValue(int pPos) throws TechnicalException {
+        try {
+            return (Float) getValue(pPos);
+        } catch (ClassCastException e) {
+            throw new TechnicalException("Could not cast this value to the Float Type. Object is of value type: " + getValue(pPos).getClass().getName());
+        }
+    }
+    /**
+     * This is a covenient method for getting strongly typed objects out of the row.
+     * It has to be ensured, that the type of the requested row position has been resolved out of the ColumnDefinition ({@link ResultSet#getColumnDefinitions()}).
+     * In fact, this method executes a simple cast to the desired type.
+     *
+     * @param pPos the position of the object to be resolved.
+     * @return a strongly typed Float
+     * @throws TechnicalException
+     * @see #getValue(int)
+     */    
+    public String getPosValue(int pPos)throws TechnicalException{
+        StringBuffer returnValue = new StringBuffer();
+        synchronized (returnValue) {
+            try {
+                SeShape val = (SeShape) this.mObjects[pPos];
+                if (val.isPoint()){
+                    // Cannot use val.asText() because the 
+                    // generated WKT is invalid.
+                    ArrayList aList = val.getAllPoints(0,false);
+                    SDEPoint[] mPoint = (SDEPoint[])aList.get(0);
+                    returnValue.append("POINT(")
+                               .append(mPoint[0].getX())
+                               .append(" ")
+                               .append(mPoint[0].getY());
+                    if (mPoint[0].is3D()){
+                       returnValue.append(" ").append(mPoint[0].getZ());
+                    }
+                    returnValue.append(")");
+                }else if (val.isLine() || val.isSimpleLine()){
+                    // Cannot use val.asText() because the 
+                    // generated WKT is invalid.
+                    ArrayList aList = val.getAllPoints(0,false);
+                    SDEPoint[] mPoint = (SDEPoint[])aList.get(0);
+                    boolean isMultiLineString = val.isMultiPart();
+                    int length = mPoint.length;
+                    int nextOffset = length;
+                    int[] offsets = (int[])aList.get(1);
+                    int offsetPos = 1;
+                    
+                    if(isMultiLineString){
+                        returnValue.append("MULTILINESTRING((");
+                        nextOffset = offsets.length-1 >= offsetPos ? offsets[offsetPos++] : length;
+                    }else{
+                        returnValue.append("LINESTRING(");
+                    }
+
+                    for (int i = 0; i< length;i++){
+                        
+                        if (i == nextOffset){
+                            returnValue.append("),(");
+                            nextOffset = offsets.length-1 >= offsetPos ? offsets[offsetPos++] : length;
+                        }
+                        
+                        returnValue.append(mPoint[i].getX())
+                                   .append(" ")
+                                   .append(mPoint[i].getY());
+                        if (mPoint[i].is3D()){
+                            returnValue.append(" ").append(mPoint[i].getZ());
+                        }
+                        if (i < length-1 && i < nextOffset -1){
+                            returnValue.append(" , ");
+                        }
+                    }
+
+                    if(isMultiLineString){
+                        returnValue.append("))");
+                    }else{
+                        returnValue.append(")");
+                    }
+                    
+                } else{
+                    returnValue.append(val.asText(val.getTextSize()));
+                }
+            } catch (SeException e) {
+                throw new TechnicalException("Could not cast this value to the " +
+                                             "Float Type. Object is of value " +
+                                             "type: " + 
+                                             getValue(pPos).getClass().getName());
+            }
+        }
+        return returnValue.toString();
+    }
+}
--- a/geo-backend/src/main/java/de/intevation/gnv/geobackend/sde/datasources/SDEResultSet.java	Sat Apr 17 09:28:02 2010 +0000
+++ b/geo-backend/src/main/java/de/intevation/gnv/geobackend/sde/datasources/SDEResultSet.java	Sun Apr 18 09:22:38 2010 +0000
@@ -1,1508 +1,1508 @@
-package de.intevation.gnv.geobackend.sde.datasources;
-
-import de.intevation.gnv.geobackend.sde.datasources.exception.TechnicalException;
-
-import java.io.InputStream;
-import java.io.Reader;
-
-import java.math.BigDecimal;
-
-import java.net.URL;
-
-import java.sql.Array;
-import java.sql.Blob;
-import java.sql.Clob;
-import java.sql.Date;
-import java.sql.NClob;
-import java.sql.Ref;
-import java.sql.ResultSetMetaData;
-import java.sql.RowId;
-import java.sql.SQLException;
-import java.sql.SQLWarning;
-import java.sql.SQLXML;
-import java.sql.Statement;
-import java.sql.Time;
-import java.sql.Timestamp;
-
-import java.util.ArrayList;
-import java.util.Calendar;
-import java.util.Collections;
-import java.util.List;
-import java.util.Map;
-
-import org.apache.log4j.Logger;
-
-/**
- * SDEResultSet is an Implementation of the Interface @see java.sql.resultSet
- * It is an Wrapper between the resultsets whcih are produced using the ArcSDE 
- * and the Java-Interface for the Representation of ResultSets.
- * @author blume
- * @author <a href="mailto:tim.englich@intevation.de">Tim Englich</a>
- */
-public class SDEResultSet extends ResultSet {
-    
-   /**
-     * Default Logging instance
-     */
-    private static Logger log = Logger.getLogger(SDEResultSet.class);
-    
-    private List<Row> mRows = Collections.synchronizedList(new ArrayList<Row>());
-    private List<ColDefinition> mCols = Collections.synchronizedList(new ArrayList<ColDefinition>());
-    
-    private Row currentRow = null;
-    private int cursor = 0;
-    
-    /**
-     * Constructor
-     */
-    public SDEResultSet() {
-    }
-    
-    /**
-     * @see de.intevation.gnv.geobackend.sde.datasources.ResultSet#getCount()
-     */
-    public int getCount() {
-        return mRows.size();
-    }
-    
-    /**
-     * @see de.intevation.gnv.geobackend.sde.datasources.ResultSet#getNumberOfColumns()
-     */
-    public int getNumberOfColumns() {
-        return mCols.size();
-    }
-    
-    /**
-     * @see de.intevation.gnv.geobackend.sde.datasources.ResultSet#getColumnDefinitions()
-     */
-    public ColDefinition[] getColumnDefinitions() {
-        ColDefinition[] lColDefinitions = new ColDefinition[mCols.size()];
-        return mCols.toArray(lColDefinitions);
-    }
-    
-    /**
-     * @see de.intevation.gnv.geobackend.sde.datasources.ResultSet#getResults()
-     */
-    public Row[] getResults() {
-        Row[] lRows = new Row[mRows.size()];
-        return mRows.toArray(lRows);
-    }
-    
-    /**
-     * Add an Row to the Resultset
-     * @param pRow The Row that should be added.
-     */
-    public void addRow(Row pRow) {
-        mRows.add(pRow);
-    }
-
-    /**
-     * Adds a Column to the Resultset.
-     * @param pColDefinition The Definition of the Column
-     */
-    public void addCol(ColDefinition pColDefinition) {
-        mCols.add(pColDefinition);
-    }
-    
-    /**
-     * @see java.sql.ResultSet#absolute(int)
-     */
-    public boolean absolute(int row) throws SQLException {
-    
-        return false;
-    }
-    
-    /**
-     * @see java.sql.ResultSet#afterLast()
-     */
-    public void afterLast() throws SQLException {
-    }
-    
-    /**
-     * @see java.sql.ResultSet#beforeFirst()
-     */
-    public void beforeFirst() throws SQLException {
-    }
-    
-    /**
-     * @see java.sql.ResultSet#cancelRowUpdates()
-     */
-    public void cancelRowUpdates() throws SQLException {
-    }
-    
-    /**
-     * @see java.sql.ResultSet#clearWarnings()
-     */
-    public void clearWarnings() throws SQLException {
-    }
-    
-    /**
-     * @see java.sql.ResultSet#close()
-     */
-    public void close() throws SQLException {
-    }
-    
-    /**
-     * @see java.sql.ResultSet#deleteRow()
-     */
-    public void deleteRow() throws SQLException {
-    }
-    
-    /**
-     * @see java.sql.ResultSet#findColumn(java.lang.String)
-     */
-    public int findColumn(String columnName) throws SQLException {
-    
-        return 0;
-    }
-    
-    /**
-     * @see java.sql.ResultSet#first()
-     */
-    public boolean first() throws SQLException {
-    
-        return false;
-    }
-    
-    /**
-     * @see java.sql.ResultSet#getArray(int)
-     */
-    public Array getArray(int i) throws SQLException {
-    
-        return null;
-    }
-    
-    /**
-     * @see java.sql.ResultSet#getArray(java.lang.String)
-     */
-    public Array getArray(String colName) throws SQLException {
-    
-        return null;
-    }
-    
-    /**
-     * @see java.sql.ResultSet#getAsciiStream(int)
-     */
-    public InputStream getAsciiStream(int columnIndex) throws SQLException {
-    
-        return null;
-    }
-    
-    /**
-     * @see java.sql.ResultSet#getAsciiStream(java.lang.String)
-     */
-    public InputStream getAsciiStream(String columnName) throws SQLException {
-    
-        return null;
-    }
-    
-    /**
-     * @see java.sql.ResultSet#getBigDecimal(int)
-     */
-    public BigDecimal getBigDecimal(int columnIndex) throws SQLException {
-    
-        return null;
-    }
-    
-    /**
-     * @see java.sql.ResultSet#getBigDecimal(java.lang.String)
-     */
-    public BigDecimal getBigDecimal(String columnName) throws SQLException {
-    
-        return null;
-    }
-    
-    /**
-     * @see java.sql.ResultSet#getBigDecimal(int, int)
-     */
-    public BigDecimal getBigDecimal(int columnIndex, int scale)
-            throws SQLException {
-    
-        return null;
-    }
-    
-    /**
-     * @see java.sql.ResultSet#getBigDecimal(java.lang.String, int)
-     */
-    public BigDecimal getBigDecimal(String columnName, int scale)
-            throws SQLException {
-    
-        return null;
-    }
-    
-    /**
-     * @see java.sql.ResultSet#getBinaryStream(int)
-     */
-    public InputStream getBinaryStream(int columnIndex) throws SQLException {
-    
-        return null;
-    }
-    
-    /**
-     * @see java.sql.ResultSet#getBinaryStream(java.lang.String)
-     */
-    public InputStream getBinaryStream(String columnName) throws SQLException {
-    
-        return null;
-    }
-    
-    /**
-     * @see java.sql.ResultSet#getBlob(int)
-     */
-    public Blob getBlob(int i) throws SQLException {
-    
-        return null;
-    }
-    
-    /**
-     * @see java.sql.ResultSet#getBlob(java.lang.String)
-     */
-    public Blob getBlob(String colName) throws SQLException {
-    
-        return null;
-    }
-    
-    /**
-     * @see java.sql.ResultSet#getBoolean(int)
-     */
-    public boolean getBoolean(int columnIndex) throws SQLException {
-    
-        return false;
-    }
-    
-    /**
-     * @see java.sql.ResultSet#getBoolean(java.lang.String)
-     */
-    public boolean getBoolean(String columnName) throws SQLException {
-    
-        return false;
-    }
-    
-    /**
-     * @see java.sql.ResultSet#getByte(int)
-     */
-    public byte getByte(int columnIndex) throws SQLException {
-    
-        return 0;
-    }
-    
-    /**
-     * @see java.sql.ResultSet#getByte(java.lang.String)
-     */
-    public byte getByte(String columnName) throws SQLException {
-    
-        return 0;
-    }
-    
-    /**
-     * @see java.sql.ResultSet#getBytes(int)
-     */
-    public byte[] getBytes(int columnIndex) throws SQLException {
-    
-        return null;
-    }
-    
-    /**
-     * @see java.sql.ResultSet#getBytes(java.lang.String)
-     */
-    public byte[] getBytes(String columnName) throws SQLException {
-    
-        return null;
-    }
-    
-    /**
-     * @see java.sql.ResultSet#getCharacterStream(int)
-     */
-    public Reader getCharacterStream(int columnIndex) throws SQLException {
-    
-        return null;
-    }
-    
-    /**
-     * @see java.sql.ResultSet#getCharacterStream(java.lang.String)
-     */
-    public Reader getCharacterStream(String columnName) throws SQLException {
-    
-        return null;
-    }
-    
-    /**
-     * @see java.sql.ResultSet#getClob(int)
-     */
-    public Clob getClob(int i) throws SQLException {
-    
-        return null;
-    }
-    
-    /**
-     * @see java.sql.ResultSet#getClob(java.lang.String)
-     */
-    public Clob getClob(String colName) throws SQLException {
-    
-        return null;
-    }
-    
-    /**
-     * @see java.sql.ResultSet#getConcurrency()
-     */
-    public int getConcurrency() throws SQLException {
-    
-        return 0;
-    }
-    
-    /**
-     * @see java.sql.ResultSet#getCursorName()
-     */
-    public String getCursorName() throws SQLException {
-    
-        return null;
-    }
-    
-    /**
-     * @see java.sql.ResultSet#getDate(int)
-     */
-    public Date getDate(int columnIndex) throws SQLException {
-        try {
-            return new java.sql.Date(this.currentRow.getDateValue(columnIndex-1).getTime());
-        } catch (TechnicalException e) {
-            log.error(e,e);
-            throw new SQLException(e.getMessage());
-        }
-    }
-    
-    /**
-     * @see java.sql.ResultSet#getDate(java.lang.String)
-     */
-    public Date getDate(String columnName) throws SQLException {
-        int columnIndex = this.getColumnIndex(columnName);
-        return this.getDate(columnIndex);
-    }
-    
-    /**
-     * @see java.sql.ResultSet#getDate(int, java.util.Calendar)
-     */
-    public Date getDate(int columnIndex, Calendar cal) throws SQLException {
-    
-        return null;
-    }
-    
-    /**
-     * @see java.sql.ResultSet#getDate(java.lang.String, java.util.Calendar)
-     */
-    public Date getDate(String columnName, Calendar cal) throws SQLException {
-    
-        return null;
-    }
-    
-    /**
-     * @see java.sql.ResultSet#getDouble(int)
-     */
-    public double getDouble(int columnIndex) throws SQLException {
-        try {
-            return this.currentRow.getDoubleValue(columnIndex-1);
-        } catch (TechnicalException e) {
-            log.error(e,e);
-            throw new SQLException(e.getMessage());
-        }
-    }
-    
-    /**
-     * @see java.sql.ResultSet#getDouble(java.lang.String)
-     */
-    public double getDouble(String columnName) throws SQLException {
-        int columnIndex = this.getColumnIndex(columnName);
-        return this.getDouble(columnIndex);
-    }
-    
-    /**
-     * @see java.sql.ResultSet#getFetchDirection()
-     */
-    public int getFetchDirection() throws SQLException {
-    
-        return 0;
-    }
-    
-    /**
-     * @see java.sql.ResultSet#getFetchSize()
-     */
-    public int getFetchSize() throws SQLException {
-    
-        return 0;
-    }
-    
-    /**
-     * @see java.sql.ResultSet#getFloat(int)
-     */
-    public float getFloat(int columnIndex) throws SQLException {
-        try {
-            return this.currentRow.getFloatValue(columnIndex-1);
-        } catch (TechnicalException e) {
-            log.error(e,e);
-            throw new SQLException(e.getMessage());
-        }
-    }
-    
-    /**
-     * @see java.sql.ResultSet#getFloat(java.lang.String)
-     */
-    public float getFloat(String columnName) throws SQLException {
-        int columnIndex = this.getColumnIndex(columnName);
-        return this.getFloat(columnIndex);
-    }
-    
-    /**
-     * @see java.sql.ResultSet#getInt(int)
-     */
-    public int getInt(int columnIndex) throws SQLException {
-    
-        try {
-            return this.currentRow.getIntValue(columnIndex-1);
-        } catch (TechnicalException e) {
-            log.error(e,e);
-            throw new SQLException(e.getMessage());
-        }
-    }
-    
-    /**
-     * @see java.sql.ResultSet#getInt(java.lang.String)
-     */
-    public int getInt(String columnName) throws SQLException {
-        int columnIndex = this.getColumnIndex(columnName);
-        return this.getInt(columnIndex);
-    }
-    
-    /**
-     * @see java.sql.ResultSet#getLong(int)
-     */
-    public long getLong(int columnIndex) throws SQLException {
-    
-        return 0;
-    }
-    
-    /**
-     * @see java.sql.ResultSet#getLong(java.lang.String)
-     */
-    public long getLong(String columnName) throws SQLException {
-    
-        return 0;
-    }
-    
-    /**
-     * @see java.sql.ResultSet#getMetaData()
-     */
-    public ResultSetMetaData getMetaData() throws SQLException {
-        log.debug("SDEREsultSet.getMetaData");
-        return new ArcSDEResultSetMetaData(this.mCols);
-    }
-    
-    /**
-     * @see java.sql.ResultSet#getObject(int)
-     */
-    public Object getObject(int columnIndex) throws SQLException {
-        try {
-            return this.currentRow.getValue(columnIndex-1);
-        } catch (TechnicalException e) {
-            log.error(e,e);
-            throw new SQLException(e.getMessage());
-        }
-    }
-    
-    /**
-     * @see java.sql.ResultSet#getObject(java.lang.String)
-     */
-    public Object getObject(String columnName) throws SQLException {
-        int columnIndex = this.getColumnIndex(columnName);
-        return this.getObject(columnIndex);
-    }
-    
-    /**
-     * @see java.sql.ResultSet#getObject(int, java.util.Map)
-     */
-    public Object getObject(int i, Map<String, Class<?>> map)
-            throws SQLException {
-    
-        return null;
-    }
-    
-    /**
-     * @see java.sql.ResultSet#getObject(java.lang.String, java.util.Map)
-     */
-    public Object getObject(String colName, Map<String, Class<?>> map)
-            throws SQLException {
-    
-        return null;
-    }
-    
-    /**
-     * @see java.sql.ResultSet#getRef(int)
-     */
-    public Ref getRef(int i) throws SQLException {
-    
-        return null;
-    }
-    
-    /**
-     * @see java.sql.ResultSet#getRef(java.lang.String)
-     */
-    public Ref getRef(String colName) throws SQLException {
-    
-        return null;
-    }
-    
-    /**
-     * @see java.sql.ResultSet#getRow()
-     */
-    public int getRow() throws SQLException {
-    
-        return 0;
-    }
-    
-    /**
-     * @see java.sql.ResultSet#getShort(int)
-     */
-    public short getShort(int columnIndex) throws SQLException {
-    
-        return 0;
-    }
-    
-    /**
-     * @see java.sql.ResultSet#getShort(java.lang.String)
-     */
-    public short getShort(String columnName) throws SQLException {
-    
-        return 0;
-    }
-    
-    /**
-     * @see java.sql.ResultSet#getStatement()
-     */
-    public Statement getStatement() throws SQLException {
-    
-        return null;
-    }
-    
-    /**
-     * @see java.sql.ResultSet#getString(int)
-     */
-    public String getString(int columnIndex) throws SQLException {
-    
-        try {
-            return this.currentRow.getStringValue(columnIndex-1);
-        } catch (TechnicalException e) {
-            log.error(e,e);
-            throw new SQLException(e.getMessage());
-        }
-    }
-    
-    /**
-     * @see java.sql.ResultSet#getString(java.lang.String)
-     */
-    public String getString(String columnName) throws SQLException {
-        int columnIndex = this.getColumnIndex(columnName);
-        return this.getString(columnIndex);
-    }
-    
-    /**
-     * @see java.sql.ResultSet#getTime(int)
-     */
-    public Time getTime(int columnIndex) throws SQLException {
-    
-        return null;
-    }
-    
-    /**
-     * @see java.sql.ResultSet#getTime(java.lang.String)
-     */
-    public Time getTime(String columnName) throws SQLException {
-    
-        return null;
-    }
-    
-    /**
-     * @see java.sql.ResultSet#getTime(int, java.util.Calendar)
-     */
-    public Time getTime(int columnIndex, Calendar cal) throws SQLException {
-    
-        return null;
-    }
-    
-    /**
-     * @see java.sql.ResultSet#getTime(java.lang.String, java.util.Calendar)
-     */
-    public Time getTime(String columnName, Calendar cal) throws SQLException {
-    
-        return null;
-    }
-    
-    /**
-     * @see java.sql.ResultSet#getTimestamp(int)
-     */
-    public Timestamp getTimestamp(int columnIndex) throws SQLException {
-    
-        return null;
-    }
-    
-    /**
-     * @see java.sql.ResultSet#getTimestamp(java.lang.String)
-     */
-    public Timestamp getTimestamp(String columnName) throws SQLException {
-    
-        return null;
-    }
-    
-    /**
-     * @see java.sql.ResultSet#getTimestamp(int, java.util.Calendar)
-     */
-    public Timestamp getTimestamp(int columnIndex, Calendar cal)
-            throws SQLException {
-    
-        return null;
-    }
-    
-    /**
-     * @see java.sql.ResultSet#getTimestamp(java.lang.String,
-     *      java.util.Calendar)
-     */
-    public Timestamp getTimestamp(String columnName, Calendar cal)
-            throws SQLException {
-    
-        return null;
-    }
-    
-    /**
-     * @see java.sql.ResultSet#getType()
-     */
-    public int getType() throws SQLException {
-    
-        return 0;
-    }
-    
-    /**
-     * @see java.sql.ResultSet#getURL(int)
-     */
-    public URL getURL(int columnIndex) throws SQLException {
-    
-        return null;
-    }
-    
-    /**
-     * @see java.sql.ResultSet#getURL(java.lang.String)
-     */
-    public URL getURL(String columnName) throws SQLException {
-    
-        return null;
-    }
-    
-    /**
-     * @see java.sql.ResultSet#getUnicodeStream(int)
-     */
-    public InputStream getUnicodeStream(int columnIndex) throws SQLException {
-    
-        return null;
-    }
-    
-    /**
-     * @see java.sql.ResultSet#getUnicodeStream(java.lang.String)
-     */
-    public InputStream getUnicodeStream(String columnName) throws SQLException {
-    
-        return null;
-    }
-    
-    /**
-     * @see java.sql.ResultSet#getWarnings()
-     */
-    public SQLWarning getWarnings() throws SQLException {
-    
-        return null;
-    }
-    
-    /**
-     * @see java.sql.ResultSet#insertRow()
-     */
-    public void insertRow() throws SQLException {
-    }
-    
-    /**
-     * @see java.sql.ResultSet#isAfterLast()
-     */
-    public boolean isAfterLast() throws SQLException {
-    
-        return false;
-    }
-    
-    /**
-     * @see java.sql.ResultSet#isBeforeFirst()
-     */
-    public boolean isBeforeFirst() throws SQLException {
-    
-        return false;
-    }
-    
-    /**
-     * @see java.sql.ResultSet#isFirst()
-     */
-    public boolean isFirst() throws SQLException {
-    
-        return false;
-    }
-    
-    /**
-     * @see java.sql.ResultSet#isLast()
-     */
-    public boolean isLast() throws SQLException {
-    
-        return false;
-    }
-    
-    /**
-     * @see java.sql.ResultSet#last()
-     */
-    public boolean last() throws SQLException {
-    
-        return false;
-    }
-    
-    /**
-     * @see java.sql.ResultSet#moveToCurrentRow()
-     */
-    public void moveToCurrentRow() throws SQLException {
-    }
-    
-    /**
-     * @see java.sql.ResultSet#moveToInsertRow()
-     */
-    public void moveToInsertRow() throws SQLException {
-    }
-    
-    /**
-     * @see java.sql.ResultSet#next()
-     */
-    public boolean next() throws SQLException {
-        
-        boolean next = this.mRows.size() > this.cursor;
-        if (next){
-            //log.debug("Zeile "+(cursor+1)+" von "+this.mRows.size()+" wird angesteuert.");
-            this.currentRow = this.mRows.get(this.cursor);
-            this.cursor++;
-        }else{
-            this.currentRow = null;
-        }
-        return next;
-    }
-    
-    /**
-     * @see java.sql.ResultSet#previous()
-     */
-    public boolean previous() throws SQLException {
-    
-        return false;
-    }
-    
-    /**
-     * @see java.sql.ResultSet#refreshRow()
-     */
-    public void refreshRow() throws SQLException {
-    }
-    
-    /**
-     * @see java.sql.ResultSet#relative(int)
-     */
-    public boolean relative(int rows) throws SQLException {
-    
-        return false;
-    }
-    
-    /**
-     * @see java.sql.ResultSet#rowDeleted()
-     */
-    public boolean rowDeleted() throws SQLException {
-    
-        return false;
-    }
-    
-    /**
-     * @see java.sql.ResultSet#rowInserted()
-     */
-    public boolean rowInserted() throws SQLException {
-    
-        return false;
-    }
-    
-    /**
-     * @see java.sql.ResultSet#rowUpdated()
-     */
-    public boolean rowUpdated() throws SQLException {
-    
-        return false;
-    }
-    
-    /**
-     * @see java.sql.ResultSet#setFetchDirection(int)
-     */
-    public void setFetchDirection(int direction) throws SQLException {
-    }
-    
-    /**
-     * @see java.sql.ResultSet#setFetchSize(int)
-     */
-    public void setFetchSize(int rows) throws SQLException {
-    }
-    
-    /**
-     * @see java.sql.ResultSet#updateArray(int, java.sql.Array)
-     */
-    public void updateArray(int columnIndex, Array x) throws SQLException {
-    }
-    
-    /**
-     * @see java.sql.ResultSet#updateArray(java.lang.String, java.sql.Array)
-     */
-    public void updateArray(String columnName, Array x) throws SQLException {
-    }
-    
-    /**
-     * @see java.sql.ResultSet#updateAsciiStream(int, java.io.InputStream, int)
-     */
-    public void updateAsciiStream(int columnIndex, InputStream x, int length)
-            throws SQLException {
-    }
-    
-    /**
-     * @see java.sql.ResultSet#updateAsciiStream(java.lang.String,
-     *      java.io.InputStream, int)
-     */
-    public void updateAsciiStream(String columnName, InputStream x, int length)
-            throws SQLException {
-    }
-    
-    /**
-     * @see java.sql.ResultSet#updateBigDecimal(int, java.math.BigDecimal)
-     */
-    public void updateBigDecimal(int columnIndex, BigDecimal x)
-            throws SQLException {
-    }
-    
-    /**
-     * @see java.sql.ResultSet#updateBigDecimal(java.lang.String,
-     *      java.math.BigDecimal)
-     */
-    public void updateBigDecimal(String columnName, BigDecimal x)
-            throws SQLException {
-    }
-    
-    /**
-     * @see java.sql.ResultSet#updateBinaryStream(int, java.io.InputStream, int)
-     */
-    public void updateBinaryStream(int columnIndex, InputStream x, int length)
-            throws SQLException {
-    }
-    
-    /**
-     * @see java.sql.ResultSet#updateBinaryStream(java.lang.String,
-     *      java.io.InputStream, int)
-     */
-    public void updateBinaryStream(String columnName, InputStream x, int length)
-            throws SQLException {
-    }
-    
-    /**
-     * @see java.sql.ResultSet#updateBlob(int, java.sql.Blob)
-     */
-    public void updateBlob(int columnIndex, Blob x) throws SQLException {
-    }
-    
-    /**
-     * @see java.sql.ResultSet#updateBlob(java.lang.String, java.sql.Blob)
-     */
-    public void updateBlob(String columnName, Blob x) throws SQLException {
-    }
-    
-    /**
-     * @see java.sql.ResultSet#updateBoolean(int, boolean)
-     */
-    public void updateBoolean(int columnIndex, boolean x) throws SQLException {
-    }
-    
-    /**
-     * @see java.sql.ResultSet#updateBoolean(java.lang.String, boolean)
-     */
-    public void updateBoolean(String columnName, boolean x) throws SQLException {
-    }
-    
-    /**
-     * @see java.sql.ResultSet#updateByte(int, byte)
-     */
-    public void updateByte(int columnIndex, byte x) throws SQLException {
-    }
-    
-    /**
-     * @see java.sql.ResultSet#updateByte(java.lang.String, byte)
-     */
-    public void updateByte(String columnName, byte x) throws SQLException {
-    }
-    
-    /**
-     * @see java.sql.ResultSet#updateBytes(int, byte[])
-     */
-    public void updateBytes(int columnIndex, byte[] x) throws SQLException {
-    }
-    
-    /**
-     * @see java.sql.ResultSet#updateBytes(java.lang.String, byte[])
-     */
-    public void updateBytes(String columnName, byte[] x) throws SQLException {
-    }
-    
-    /**
-     * @see java.sql.ResultSet#updateCharacterStream(int, java.io.Reader, int)
-     */
-    public void updateCharacterStream(int columnIndex, Reader x, int length)
-            throws SQLException {
-    }
-    
-    /**
-     * @see java.sql.ResultSet#updateCharacterStream(java.lang.String,
-     *      java.io.Reader, int)
-     */
-    public void updateCharacterStream(String columnName, Reader reader,
-            int length) throws SQLException {
-    }
-    
-    /**
-     * @see java.sql.ResultSet#updateClob(int, java.sql.Clob)
-     */
-    public void updateClob(int columnIndex, Clob x) throws SQLException {
-    }
-    
-    /**
-     * @see java.sql.ResultSet#updateClob(java.lang.String, java.sql.Clob)
-     */
-    public void updateClob(String columnName, Clob x) throws SQLException {
-    }
-    
-    /**
-     * @see java.sql.ResultSet#updateDate(int, java.sql.Date)
-     */
-    public void updateDate(int columnIndex, Date x) throws SQLException {
-    }
-    
-    /**
-     * @see java.sql.ResultSet#updateDate(java.lang.String, java.sql.Date)
-     */
-    public void updateDate(String columnName, Date x) throws SQLException {
-    }
-    
-    /**
-     * @see java.sql.ResultSet#updateDouble(int, double)
-     */
-    public void updateDouble(int columnIndex, double x) throws SQLException {
-    }
-    
-    /**
-     * @see java.sql.ResultSet#updateDouble(java.lang.String, double)
-     */
-    public void updateDouble(String columnName, double x) throws SQLException {
-    }
-    
-    /**
-     * @see java.sql.ResultSet#updateFloat(int, float)
-     */
-    public void updateFloat(int columnIndex, float x) throws SQLException {
-    }
-    
-    /**
-     * @see java.sql.ResultSet#updateFloat(java.lang.String, float)
-     */
-    public void updateFloat(String columnName, float x) throws SQLException {
-    }
-    
-    /**
-     * @see java.sql.ResultSet#updateInt(int, int)
-     */
-    public void updateInt(int columnIndex, int x) throws SQLException {
-    }
-    
-    /**
-     * @see java.sql.ResultSet#updateInt(java.lang.String, int)
-     */
-    public void updateInt(String columnName, int x) throws SQLException {
-    }
-    
-    /**
-     * @see java.sql.ResultSet#updateLong(int, long)
-     */
-    public void updateLong(int columnIndex, long x) throws SQLException {
-    }
-    
-    /**
-     * @see java.sql.ResultSet#updateLong(java.lang.String, long)
-     */
-    public void updateLong(String columnName, long x) throws SQLException {
-    }
-    
-    /**
-     * @see java.sql.ResultSet#updateNull(int)
-     */
-    public void updateNull(int columnIndex) throws SQLException {
-    }
-    
-    /**
-     * @see java.sql.ResultSet#updateNull(java.lang.String)
-     */
-    public void updateNull(String columnName) throws SQLException {
-    }
-    
-    /**
-     * @see java.sql.ResultSet#updateObject(int, java.lang.Object)
-     */
-    public void updateObject(int columnIndex, Object x) throws SQLException {
-    }
-    
-    /**
-     * @see java.sql.ResultSet#updateObject(java.lang.String, java.lang.Object)
-     */
-    public void updateObject(String columnName, Object x) throws SQLException {
-    }
-    
-    /**
-     * @see java.sql.ResultSet#updateObject(int, java.lang.Object, int)
-     */
-    public void updateObject(int columnIndex, Object x, int scale)
-            throws SQLException {
-    }
-    
-    /**
-     * @see java.sql.ResultSet#updateObject(java.lang.String, java.lang.Object,
-     *      int)
-     */
-    public void updateObject(String columnName, Object x, int scale)
-            throws SQLException {
-    }
-    
-    /**
-     * @see java.sql.ResultSet#updateRef(int, java.sql.Ref)
-     */
-    public void updateRef(int columnIndex, Ref x) throws SQLException {
-    }
-    
-    /**
-     * @see java.sql.ResultSet#updateRef(java.lang.String, java.sql.Ref)
-     */
-    public void updateRef(String columnName, Ref x) throws SQLException {
-    }
-    
-    /**
-     * @see java.sql.ResultSet#updateRow()
-     */
-    public void updateRow() throws SQLException {
-    }
-    
-    /**
-     * @see java.sql.ResultSet#updateShort(int, short)
-     */
-    public void updateShort(int columnIndex, short x) throws SQLException {
-    }
-    
-    /**
-     * @see java.sql.ResultSet#updateShort(java.lang.String, short)
-     */
-    public void updateShort(String columnName, short x) throws SQLException {
-    }
-    
-    /**
-     * @see java.sql.ResultSet#updateString(int, java.lang.String)
-     */
-    public void updateString(int columnIndex, String x) throws SQLException {
-    }
-    
-    /**
-     * @see java.sql.ResultSet#updateString(java.lang.String, java.lang.String)
-     */
-    public void updateString(String columnName, String x) throws SQLException {
-    }
-    
-    /**
-     * @see java.sql.ResultSet#updateTime(int, java.sql.Time)
-     */
-    public void updateTime(int columnIndex, Time x) throws SQLException {
-    }
-    
-    /**
-     * @see java.sql.ResultSet#updateTime(java.lang.String, java.sql.Time)
-     */
-    public void updateTime(String columnName, Time x) throws SQLException {
-    }
-    
-    /**
-     * @see java.sql.ResultSet#updateTimestamp(int, java.sql.Timestamp)
-     */
-    public void updateTimestamp(int columnIndex, Timestamp x)
-            throws SQLException {
-    }
-    
-    /**
-     * @see java.sql.ResultSet#updateTimestamp(java.lang.String,
-     *      java.sql.Timestamp)
-     */
-    public void updateTimestamp(String columnName, Timestamp x)
-            throws SQLException {
-    }
-    
-    /**
-     * @see java.sql.ResultSet#wasNull()
-     */
-    public boolean wasNull() throws SQLException {
-    
-            return false;
-    }
-
-    /**
-     * TODO: DOCUMENT ME
-     * @param columnName
-     * @return
-     * @throws SQLException
-     */
-    private int getColumnIndex(String columnName) throws SQLException{
-        for (int i = 0 ; i < this.mCols.size();i++){
-            if(this.mCols.get(i).getName().equalsIgnoreCase(columnName)){
-                return i +1; // PLUS 1 da SQL-Cursor 1 basiert sind
-            }
-        }
-        throw new SQLException("Column "+columnName+" does not exist in ResulSet");
-    }
-
-    /**
-     * @see java.sql.ResultSet#getHoldability()
-     */
-    public int getHoldability() throws SQLException {
-        return 0;
-    }
-
-    /**
-     * @see java.sql.ResultSet#getNCharacterStream(int)
-     */
-    public Reader getNCharacterStream(int arg0) throws SQLException {
-        return null;
-    }
-
-    /**
-     * @see java.sql.ResultSet#getNCharacterStream(java.lang.String)
-     */
-    public Reader getNCharacterStream(String arg0) throws SQLException {
-        return null;
-    }
-
-    /**
-     * @see java.sql.ResultSet#getNClob(int)
-     */
-    public NClob getNClob(int arg0) throws SQLException {
-        return null;
-    }
-
-    /**
-     * @see java.sql.ResultSet#getNClob(java.lang.String)
-     */
-    public NClob getNClob(String arg0) throws SQLException {
-        return null;
-    }
-
-    /**
-     * @see java.sql.ResultSet#getNString(int)
-     */
-    public String getNString(int arg0) throws SQLException {
-        return null;
-    }
-
-    /**
-     * @see java.sql.ResultSet#getNString(java.lang.String)
-     */
-    public String getNString(String arg0) throws SQLException {
-        return null;
-    }
-
-    /**
-     * @see java.sql.ResultSet#getRowId(int)
-     */
-    public RowId getRowId(int arg0) throws SQLException {
-        return null;
-    }
-
-    /**
-     * @see java.sql.ResultSet#getRowId(java.lang.String)
-     */
-    public RowId getRowId(String arg0) throws SQLException {
-        return null;
-    }
-
-    /**
-     * @see java.sql.ResultSet#getSQLXML(int)
-     */
-    public SQLXML getSQLXML(int arg0) throws SQLException {
-        return null;
-    }
-
-    /**
-     * @see java.sql.ResultSet#getSQLXML(java.lang.String)
-     */
-    public SQLXML getSQLXML(String arg0) throws SQLException {
-        return null;
-    }
-
-    /**
-     * @see java.sql.ResultSet#isClosed()
-     */
-    public boolean isClosed() throws SQLException {
-        return false;
-    }
-
-    /**
-     * @see java.sql.ResultSet#updateAsciiStream(int, java.io.InputStream)
-     */
-    public void updateAsciiStream(int arg0, InputStream arg1)
-                                                             throws SQLException {
-    }
-
-    /**
-     * @see java.sql.ResultSet#updateAsciiStream(java.lang.String, java.io.InputStream)
-     */
-    public void updateAsciiStream(String arg0, InputStream arg1)
-                                                                throws SQLException {
-    }
-
-    /**
-     * @see java.sql.ResultSet#updateAsciiStream(int, java.io.InputStream, long)
-     */
-    public void updateAsciiStream(int arg0, InputStream arg1, long arg2)
-                                                                        throws SQLException {
-    }
-
-    /**
-     * @see java.sql.ResultSet#updateAsciiStream(java.lang.String, java.io.InputStream, long)
-     */
-    public void updateAsciiStream(String arg0, InputStream arg1, long arg2)
-                                                                           throws SQLException {
-    }
-
-    /**
-     * @see java.sql.ResultSet#updateBinaryStream(int, java.io.InputStream)
-     */
-    public void updateBinaryStream(int arg0, InputStream arg1)
-                                                              throws SQLException {
-    }
-
-    /**
-     * @see java.sql.ResultSet#updateBinaryStream(java.lang.String, java.io.InputStream)
-     */
-    public void updateBinaryStream(String arg0, InputStream arg1)
-                                                                 throws SQLException {
-    }
-
-    /**
-     * @see java.sql.ResultSet#updateBinaryStream(int, java.io.InputStream, long)
-     */
-    public void updateBinaryStream(int arg0, InputStream arg1, long arg2)
-                                                                         throws SQLException {
-    }
-
-    /**
-     * @see java.sql.ResultSet#updateBinaryStream(java.lang.String, java.io.InputStream, long)
-     */
-    public void updateBinaryStream(String arg0, InputStream arg1, long arg2)
-                                                                            throws SQLException {
-    }
-
-    /**
-     * @see java.sql.ResultSet#updateBlob(int, java.io.InputStream)
-     */
-    public void updateBlob(int arg0, InputStream arg1) throws SQLException {
-    }
-
-    /**
-     * @see java.sql.ResultSet#updateBlob(java.lang.String, java.io.InputStream)
-     */
-    public void updateBlob(String arg0, InputStream arg1) throws SQLException {
-    }
-
-    /**
-     * @see java.sql.ResultSet#updateBlob(int, java.io.InputStream, long)
-     */
-    public void updateBlob(int arg0, InputStream arg1, long arg2)
-                                                                 throws SQLException {
-    }
-
-    /**
-     * @see java.sql.ResultSet#updateBlob(java.lang.String, java.io.InputStream, long)
-     */
-    public void updateBlob(String arg0, InputStream arg1, long arg2)
-                                                                    throws SQLException {
-    }
-
-    /**
-     * @see java.sql.ResultSet#updateCharacterStream(int, java.io.Reader)
-     */
-    public void updateCharacterStream(int arg0, Reader arg1)
-                                                            throws SQLException {
-    }
-
-    /**
-     * @see java.sql.ResultSet#updateCharacterStream(java.lang.String, java.io.Reader)
-     */
-    public void updateCharacterStream(String arg0, Reader arg1)
-                                                               throws SQLException {
-    }
-
-    /**
-     * @see java.sql.ResultSet#updateCharacterStream(int, java.io.Reader, long)
-     */
-    public void updateCharacterStream(int arg0, Reader arg1, long arg2)
-                                                                       throws SQLException {
-    }
-
-    /**
-     * @see java.sql.ResultSet#updateCharacterStream(java.lang.String, java.io.Reader, long)
-     */
-    public void updateCharacterStream(String arg0, Reader arg1, long arg2)
-                                                                          throws SQLException {
-    }
-
-    /**
-     * @see java.sql.ResultSet#updateClob(int, java.io.Reader)
-     */
-    public void updateClob(int arg0, Reader arg1) throws SQLException {
-    }
-
-    /**
-     * @see java.sql.ResultSet#updateClob(java.lang.String, java.io.Reader)
-     */
-    public void updateClob(String arg0, Reader arg1) throws SQLException {
-    }
-
-    /**
-     * @see java.sql.ResultSet#updateClob(int, java.io.Reader, long)
-     */
-    public void updateClob(int arg0, Reader arg1, long arg2)
-                                                            throws SQLException {
-    }
-
-    /**
-     * @see java.sql.ResultSet#updateClob(java.lang.String, java.io.Reader, long)
-     */
-    public void updateClob(String arg0, Reader arg1, long arg2)
-                                                               throws SQLException {
-    }
-
-    /**
-     * @see java.sql.ResultSet#updateNCharacterStream(int, java.io.Reader)
-     */
-    public void updateNCharacterStream(int arg0, Reader arg1)
-                                                             throws SQLException {
-    }
-
-    /**
-     * @see java.sql.ResultSet#updateNCharacterStream(java.lang.String, java.io.Reader)
-     */
-    public void updateNCharacterStream(String arg0, Reader arg1)
-                                                                throws SQLException {
-    }
-
-    /**
-     * @see java.sql.ResultSet#updateNCharacterStream(int, java.io.Reader, long)
-     */
-    public void updateNCharacterStream(int arg0, Reader arg1, long arg2)
-                                                                        throws SQLException {
-    }
-
-    /**
-     * @see java.sql.ResultSet#updateNCharacterStream(java.lang.String, java.io.Reader, long)
-     */
-    public void updateNCharacterStream(String arg0, Reader arg1, long arg2)
-                                                                           throws SQLException {
-    }
-
-    /**
-     * @see java.sql.ResultSet#updateNClob(int, java.sql.NClob)
-     */
-    public void updateNClob(int arg0, NClob arg1) throws SQLException {
-    }
-
-    /**
-     * @see java.sql.ResultSet#updateNClob(java.lang.String, java.sql.NClob)
-     */
-    public void updateNClob(String arg0, NClob arg1) throws SQLException {
-    }
-
-    /**
-     * @see java.sql.ResultSet#updateNClob(int, java.io.Reader)
-     */
-    public void updateNClob(int arg0, Reader arg1) throws SQLException {
-    }
-
-    /**
-     * @see java.sql.ResultSet#updateNClob(java.lang.String, java.io.Reader)
-     */
-    public void updateNClob(String arg0, Reader arg1) throws SQLException {
-    }
-
-    /**
-     * @see java.sql.ResultSet#updateNClob(int, java.io.Reader, long)
-     */
-    public void updateNClob(int arg0, Reader arg1, long arg2)
-                                                             throws SQLException {
-    }
-
-    public void updateNClob(String arg0, Reader arg1, long arg2)
-                                                                throws SQLException {
-    }
-
-    /**
-     * @see java.sql.ResultSet#updateNString(int, java.lang.String)
-     */
-    public void updateNString(int arg0, String arg1) throws SQLException {
-    }
-
-    /**
-     * @see java.sql.ResultSet#updateNString(java.lang.String, java.lang.String)
-     */
-    public void updateNString(String arg0, String arg1) throws SQLException {
-    }
-
-    /**
-     * @see java.sql.ResultSet#updateRowId(int, java.sql.RowId)
-     */
-    public void updateRowId(int arg0, RowId arg1) throws SQLException {
-    }
-
-    /**
-     * @see java.sql.ResultSet#updateRowId(java.lang.String, java.sql.RowId)
-     */
-    public void updateRowId(String arg0, RowId arg1) throws SQLException {
-    }
-
-    /**
-     * @see java.sql.ResultSet#updateSQLXML(int, java.sql.SQLXML)
-     */
-    public void updateSQLXML(int arg0, SQLXML arg1) throws SQLException {
-    }
-
-    /**
-     * @see java.sql.ResultSet#updateSQLXML(java.lang.String, java.sql.SQLXML)
-     */
-    public void updateSQLXML(String arg0, SQLXML arg1) throws SQLException {
-    }
-
-    /**
-     * @see java.sql.Wrapper#isWrapperFor(java.lang.Class)
-     */
-    public boolean isWrapperFor(Class<?> arg0) throws SQLException {
-        return false;
-    }
-
-    /**
-     * @see java.sql.Wrapper#unwrap(java.lang.Class)
-     */
-    public <T> T unwrap(Class<T> arg0) throws SQLException {
-        return null;
-    }
-
-}
+package de.intevation.gnv.geobackend.sde.datasources;
+
+import de.intevation.gnv.geobackend.sde.datasources.exception.TechnicalException;
+
+import java.io.InputStream;
+import java.io.Reader;
+
+import java.math.BigDecimal;
+
+import java.net.URL;
+
+import java.sql.Array;
+import java.sql.Blob;
+import java.sql.Clob;
+import java.sql.Date;
+import java.sql.NClob;
+import java.sql.Ref;
+import java.sql.ResultSetMetaData;
+import java.sql.RowId;
+import java.sql.SQLException;
+import java.sql.SQLWarning;
+import java.sql.SQLXML;
+import java.sql.Statement;
+import java.sql.Time;
+import java.sql.Timestamp;
+
+import java.util.ArrayList;
+import java.util.Calendar;
+import java.util.Collections;
+import java.util.List;
+import java.util.Map;
+
+import org.apache.log4j.Logger;
+
+/**
+ * SDEResultSet is an Implementation of the Interface @see java.sql.resultSet
+ * It is an Wrapper between the resultsets whcih are produced using the ArcSDE 
+ * and the Java-Interface for the Representation of ResultSets.
+ * @author blume
+ * @author <a href="mailto:tim.englich@intevation.de">Tim Englich</a>
+ */
+public class SDEResultSet extends ResultSet {
+    
+   /**
+     * Default Logging instance
+     */
+    private static Logger log = Logger.getLogger(SDEResultSet.class);
+    
+    private List<Row> mRows = Collections.synchronizedList(new ArrayList<Row>());
+    private List<ColDefinition> mCols = Collections.synchronizedList(new ArrayList<ColDefinition>());
+    
+    private Row currentRow = null;
+    private int cursor = 0;
+    
+    /**
+     * Constructor
+     */
+    public SDEResultSet() {
+    }
+    
+    /**
+     * @see de.intevation.gnv.geobackend.sde.datasources.ResultSet#getCount()
+     */
+    public int getCount() {
+        return mRows.size();
+    }
+    
+    /**
+     * @see de.intevation.gnv.geobackend.sde.datasources.ResultSet#getNumberOfColumns()
+     */
+    public int getNumberOfColumns() {
+        return mCols.size();
+    }
+    
+    /**
+     * @see de.intevation.gnv.geobackend.sde.datasources.ResultSet#getColumnDefinitions()
+     */
+    public ColDefinition[] getColumnDefinitions() {
+        ColDefinition[] lColDefinitions = new ColDefinition[mCols.size()];
+        return mCols.toArray(lColDefinitions);
+    }
+    
+    /**
+     * @see de.intevation.gnv.geobackend.sde.datasources.ResultSet#getResults()
+     */
+    public Row[] getResults() {
+        Row[] lRows = new Row[mRows.size()];
+        return mRows.toArray(lRows);
+    }
+    
+    /**
+     * Add an Row to the Resultset
+     * @param pRow The Row that should be added.
+     */
+    public void addRow(Row pRow) {
+        mRows.add(pRow);
+    }
+
+    /**
+     * Adds a Column to the Resultset.
+     * @param pColDefinition The Definition of the Column
+     */
+    public void addCol(ColDefinition pColDefinition) {
+        mCols.add(pColDefinition);
+    }
+    
+    /**
+     * @see java.sql.ResultSet#absolute(int)
+     */
+    public boolean absolute(int row) throws SQLException {
+    
+        return false;
+    }
+    
+    /**
+     * @see java.sql.ResultSet#afterLast()
+     */
+    public void afterLast() throws SQLException {
+    }
+    
+    /**
+     * @see java.sql.ResultSet#beforeFirst()
+     */
+    public void beforeFirst() throws SQLException {
+    }
+    
+    /**
+     * @see java.sql.ResultSet#cancelRowUpdates()
+     */
+    public void cancelRowUpdates() throws SQLException {
+    }
+    
+    /**
+     * @see java.sql.ResultSet#clearWarnings()
+     */
+    public void clearWarnings() throws SQLException {
+    }
+    
+    /**
+     * @see java.sql.ResultSet#close()
+     */
+    public void close() throws SQLException {
+    }
+    
+    /**
+     * @see java.sql.ResultSet#deleteRow()
+     */
+    public void deleteRow() throws SQLException {
+    }
+    
+    /**
+     * @see java.sql.ResultSet#findColumn(java.lang.String)
+     */
+    public int findColumn(String columnName) throws SQLException {
+    
+        return 0;
+    }
+    
+    /**
+     * @see java.sql.ResultSet#first()
+     */
+    public boolean first() throws SQLException {
+    
+        return false;
+    }
+    
+    /**
+     * @see java.sql.ResultSet#getArray(int)
+     */
+    public Array getArray(int i) throws SQLException {
+    
+        return null;
+    }
+    
+    /**
+     * @see java.sql.ResultSet#getArray(java.lang.String)
+     */
+    public Array getArray(String colName) throws SQLException {
+    
+        return null;
+    }
+    
+    /**
+     * @see java.sql.ResultSet#getAsciiStream(int)
+     */
+    public InputStream getAsciiStream(int columnIndex) throws SQLException {
+    
+        return null;
+    }
+    
+    /**
+     * @see java.sql.ResultSet#getAsciiStream(java.lang.String)
+     */
+    public InputStream getAsciiStream(String columnName) throws SQLException {
+    
+        return null;
+    }
+    
+    /**
+     * @see java.sql.ResultSet#getBigDecimal(int)
+     */
+    public BigDecimal getBigDecimal(int columnIndex) throws SQLException {
+    
+        return null;
+    }
+    
+    /**
+     * @see java.sql.ResultSet#getBigDecimal(java.lang.String)
+     */
+    public BigDecimal getBigDecimal(String columnName) throws SQLException {
+    
+        return null;
+    }
+    
+    /**
+     * @see java.sql.ResultSet#getBigDecimal(int, int)
+     */
+    public BigDecimal getBigDecimal(int columnIndex, int scale)
+            throws SQLException {
+    
+        return null;
+    }
+    
+    /**
+     * @see java.sql.ResultSet#getBigDecimal(java.lang.String, int)
+     */
+    public BigDecimal getBigDecimal(String columnName, int scale)
+            throws SQLException {
+    
+        return null;
+    }
+    
+    /**
+     * @see java.sql.ResultSet#getBinaryStream(int)
+     */
+    public InputStream getBinaryStream(int columnIndex) throws SQLException {
+    
+        return null;
+    }
+    
+    /**
+     * @see java.sql.ResultSet#getBinaryStream(java.lang.String)
+     */
+    public InputStream getBinaryStream(String columnName) throws SQLException {
+    
+        return null;
+    }
+    
+    /**
+     * @see java.sql.ResultSet#getBlob(int)
+     */
+    public Blob getBlob(int i) throws SQLException {
+    
+        return null;
+    }
+    
+    /**
+     * @see java.sql.ResultSet#getBlob(java.lang.String)
+     */
+    public Blob getBlob(String colName) throws SQLException {
+    
+        return null;
+    }
+    
+    /**
+     * @see java.sql.ResultSet#getBoolean(int)
+     */
+    public boolean getBoolean(int columnIndex) throws SQLException {
+    
+        return false;
+    }
+    
+    /**
+     * @see java.sql.ResultSet#getBoolean(java.lang.String)
+     */
+    public boolean getBoolean(String columnName) throws SQLException {
+    
+        return false;
+    }
+    
+    /**
+     * @see java.sql.ResultSet#getByte(int)
+     */
+    public byte getByte(int columnIndex) throws SQLException {
+    
+        return 0;
+    }
+    
+    /**
+     * @see java.sql.ResultSet#getByte(java.lang.String)
+     */
+    public byte getByte(String columnName) throws SQLException {
+    
+        return 0;
+    }
+    
+    /**
+     * @see java.sql.ResultSet#getBytes(int)
+     */
+    public byte[] getBytes(int columnIndex) throws SQLException {
+    
+        return null;
+    }
+    
+    /**
+     * @see java.sql.ResultSet#getBytes(java.lang.String)
+     */
+    public byte[] getBytes(String columnName) throws SQLException {
+    
+        return null;
+    }
+    
+    /**
+     * @see java.sql.ResultSet#getCharacterStream(int)
+     */
+    public Reader getCharacterStream(int columnIndex) throws SQLException {
+    
+        return null;
+    }
+    
+    /**
+     * @see java.sql.ResultSet#getCharacterStream(java.lang.String)
+     */
+    public Reader getCharacterStream(String columnName) throws SQLException {
+    
+        return null;
+    }
+    
+    /**
+     * @see java.sql.ResultSet#getClob(int)
+     */
+    public Clob getClob(int i) throws SQLException {
+    
+        return null;
+    }
+    
+    /**
+     * @see java.sql.ResultSet#getClob(java.lang.String)
+     */
+    public Clob getClob(String colName) throws SQLException {
+    
+        return null;
+    }
+    
+    /**
+     * @see java.sql.ResultSet#getConcurrency()
+     */
+    public int getConcurrency() throws SQLException {
+    
+        return 0;
+    }
+    
+    /**
+     * @see java.sql.ResultSet#getCursorName()
+     */
+    public String getCursorName() throws SQLException {
+    
+        return null;
+    }
+    
+    /**
+     * @see java.sql.ResultSet#getDate(int)
+     */
+    public Date getDate(int columnIndex) throws SQLException {
+        try {
+            return new java.sql.Date(this.currentRow.getDateValue(columnIndex-1).getTime());
+        } catch (TechnicalException e) {
+            log.error(e,e);
+            throw new SQLException(e.getMessage());
+        }
+    }
+    
+    /**
+     * @see java.sql.ResultSet#getDate(java.lang.String)
+     */
+    public Date getDate(String columnName) throws SQLException {
+        int columnIndex = this.getColumnIndex(columnName);
+        return this.getDate(columnIndex);
+    }
+    
+    /**
+     * @see java.sql.ResultSet#getDate(int, java.util.Calendar)
+     */
+    public Date getDate(int columnIndex, Calendar cal) throws SQLException {
+    
+        return null;
+    }
+    
+    /**
+     * @see java.sql.ResultSet#getDate(java.lang.String, java.util.Calendar)
+     */
+    public Date getDate(String columnName, Calendar cal) throws SQLException {
+    
+        return null;
+    }
+    
+    /**
+     * @see java.sql.ResultSet#getDouble(int)
+     */
+    public double getDouble(int columnIndex) throws SQLException {
+        try {
+            return this.currentRow.getDoubleValue(columnIndex-1);
+        } catch (TechnicalException e) {
+            log.error(e,e);
+            throw new SQLException(e.getMessage());
+        }
+    }
+    
+    /**
+     * @see java.sql.ResultSet#getDouble(java.lang.String)
+     */
+    public double getDouble(String columnName) throws SQLException {
+        int columnIndex = this.getColumnIndex(columnName);
+        return this.getDouble(columnIndex);
+    }
+    
+    /**
+     * @see java.sql.ResultSet#getFetchDirection()
+     */
+    public int getFetchDirection() throws SQLException {
+    
+        return 0;
+    }
+    
+    /**
+     * @see java.sql.ResultSet#getFetchSize()
+     */
+    public int getFetchSize() throws SQLException {
+    
+        return 0;
+    }
+    
+    /**
+     * @see java.sql.ResultSet#getFloat(int)
+     */
+    public float getFloat(int columnIndex) throws SQLException {
+        try {
+            return this.currentRow.getFloatValue(columnIndex-1);
+        } catch (TechnicalException e) {
+            log.error(e,e);
+            throw new SQLException(e.getMessage());
+        }
+    }
+    
+    /**
+     * @see java.sql.ResultSet#getFloat(java.lang.String)
+     */
+    public float getFloat(String columnName) throws SQLException {
+        int columnIndex = this.getColumnIndex(columnName);
+        return this.getFloat(columnIndex);
+    }
+    
+    /**
+     * @see java.sql.ResultSet#getInt(int)
+     */
+    public int getInt(int columnIndex) throws SQLException {
+    
+        try {
+            return this.currentRow.getIntValue(columnIndex-1);
+        } catch (TechnicalException e) {
+            log.error(e,e);
+            throw new SQLException(e.getMessage());
+        }
+    }
+    
+    /**
+     * @see java.sql.ResultSet#getInt(java.lang.String)
+     */
+    public int getInt(String columnName) throws SQLException {
+        int columnIndex = this.getColumnIndex(columnName);
+        return this.getInt(columnIndex);
+    }
+    
+    /**
+     * @see java.sql.ResultSet#getLong(int)
+     */
+    public long getLong(int columnIndex) throws SQLException {
+    
+        return 0;
+    }
+    
+    /**
+     * @see java.sql.ResultSet#getLong(java.lang.String)
+     */
+    public long getLong(String columnName) throws SQLException {
+    
+        return 0;
+    }
+    
+    /**
+     * @see java.sql.ResultSet#getMetaData()
+     */
+    public ResultSetMetaData getMetaData() throws SQLException {
+        log.debug("SDEREsultSet.getMetaData");
+        return new ArcSDEResultSetMetaData(this.mCols);
+    }
+    
+    /**
+     * @see java.sql.ResultSet#getObject(int)
+     */
+    public Object getObject(int columnIndex) throws SQLException {
+        try {
+            return this.currentRow.getValue(columnIndex-1);
+        } catch (TechnicalException e) {
+            log.error(e,e);
+            throw new SQLException(e.getMessage());
+        }
+    }
+    
+    /**
+     * @see java.sql.ResultSet#getObject(java.lang.String)
+     */
+    public Object getObject(String columnName) throws SQLException {
+        int columnIndex = this.getColumnIndex(columnName);
+        return this.getObject(columnIndex);
+    }
+    
+    /**
+     * @see java.sql.ResultSet#getObject(int, java.util.Map)
+     */
+    public Object getObject(int i, Map<String, Class<?>> map)
+            throws SQLException {
+    
+        return null;
+    }
+    
+    /**
+     * @see java.sql.ResultSet#getObject(java.lang.String, java.util.Map)
+     */
+    public Object getObject(String colName, Map<String, Class<?>> map)
+            throws SQLException {
+    
+        return null;
+    }
+    
+    /**
+     * @see java.sql.ResultSet#getRef(int)
+     */
+    public Ref getRef(int i) throws SQLException {
+    
+        return null;
+    }
+    
+    /**
+     * @see java.sql.ResultSet#getRef(java.lang.String)
+     */
+    public Ref getRef(String colName) throws SQLException {
+    
+        return null;
+    }
+    
+    /**
+     * @see java.sql.ResultSet#getRow()
+     */
+    public int getRow() throws SQLException {
+    
+        return 0;
+    }
+    
+    /**
+     * @see java.sql.ResultSet#getShort(int)
+     */
+    public short getShort(int columnIndex) throws SQLException {
+    
+        return 0;
+    }
+    
+    /**
+     * @see java.sql.ResultSet#getShort(java.lang.String)
+     */
+    public short getShort(String columnName) throws SQLException {
+    
+        return 0;
+    }
+    
+    /**
+     * @see java.sql.ResultSet#getStatement()
+     */
+    public Statement getStatement() throws SQLException {
+    
+        return null;
+    }
+    
+    /**
+     * @see java.sql.ResultSet#getString(int)
+     */
+    public String getString(int columnIndex) throws SQLException {
+    
+        try {
+            return this.currentRow.getStringValue(columnIndex-1);
+        } catch (TechnicalException e) {
+            log.error(e,e);
+            throw new SQLException(e.getMessage());
+        }
+    }
+    
+    /**
+     * @see java.sql.ResultSet#getString(java.lang.String)
+     */
+    public String getString(String columnName) throws SQLException {
+        int columnIndex = this.getColumnIndex(columnName);
+        return this.getString(columnIndex);
+    }
+    
+    /**
+     * @see java.sql.ResultSet#getTime(int)
+     */
+    public Time getTime(int columnIndex) throws SQLException {
+    
+        return null;
+    }
+    
+    /**
+     * @see java.sql.ResultSet#getTime(java.lang.String)
+     */
+    public Time getTime(String columnName) throws SQLException {
+    
+        return null;
+    }
+    
+    /**
+     * @see java.sql.ResultSet#getTime(int, java.util.Calendar)
+     */
+    public Time getTime(int columnIndex, Calendar cal) throws SQLException {
+    
+        return null;
+    }
+    
+    /**
+     * @see java.sql.ResultSet#getTime(java.lang.String, java.util.Calendar)
+     */
+    public Time getTime(String columnName, Calendar cal) throws SQLException {
+    
+        return null;
+    }
+    
+    /**
+     * @see java.sql.ResultSet#getTimestamp(int)
+     */
+    public Timestamp getTimestamp(int columnIndex) throws SQLException {
+    
+        return null;
+    }
+    
+    /**
+     * @see java.sql.ResultSet#getTimestamp(java.lang.String)
+     */
+    public Timestamp getTimestamp(String columnName) throws SQLException {
+    
+        return null;
+    }
+    
+    /**
+     * @see java.sql.ResultSet#getTimestamp(int, java.util.Calendar)
+     */
+    public Timestamp getTimestamp(int columnIndex, Calendar cal)
+            throws SQLException {
+    
+        return null;
+    }
+    
+    /**
+     * @see java.sql.ResultSet#getTimestamp(java.lang.String,
+     *      java.util.Calendar)
+     */
+    public Timestamp getTimestamp(String columnName, Calendar cal)
+            throws SQLException {
+    
+        return null;
+    }
+    
+    /**
+     * @see java.sql.ResultSet#getType()
+     */
+    public int getType() throws SQLException {
+    
+        return 0;
+    }
+    
+    /**
+     * @see java.sql.ResultSet#getURL(int)
+     */
+    public URL getURL(int columnIndex) throws SQLException {
+    
+        return null;
+    }
+    
+    /**
+     * @see java.sql.ResultSet#getURL(java.lang.String)
+     */
+    public URL getURL(String columnName) throws SQLException {
+    
+        return null;
+    }
+    
+    /**
+     * @see java.sql.ResultSet#getUnicodeStream(int)
+     */
+    public InputStream getUnicodeStream(int columnIndex) throws SQLException {
+    
+        return null;
+    }
+    
+    /**
+     * @see java.sql.ResultSet#getUnicodeStream(java.lang.String)
+     */
+    public InputStream getUnicodeStream(String columnName) throws SQLException {
+    
+        return null;
+    }
+    
+    /**
+     * @see java.sql.ResultSet#getWarnings()
+     */
+    public SQLWarning getWarnings() throws SQLException {
+    
+        return null;
+    }
+    
+    /**
+     * @see java.sql.ResultSet#insertRow()
+     */
+    public void insertRow() throws SQLException {
+    }
+    
+    /**
+     * @see java.sql.ResultSet#isAfterLast()
+     */
+    public boolean isAfterLast() throws SQLException {
+    
+        return false;
+    }
+    
+    /**
+     * @see java.sql.ResultSet#isBeforeFirst()
+     */
+    public boolean isBeforeFirst() throws SQLException {
+    
+        return false;
+    }
+    
+    /**
+     * @see java.sql.ResultSet#isFirst()
+     */
+    public boolean isFirst() throws SQLException {
+    
+        return false;
+    }
+    
+    /**
+     * @see java.sql.ResultSet#isLast()
+     */
+    public boolean isLast() throws SQLException {
+    
+        return false;
+    }
+    
+    /**
+     * @see java.sql.ResultSet#last()
+     */
+    public boolean last() throws SQLException {
+    
+        return false;
+    }
+    
+    /**
+     * @see java.sql.ResultSet#moveToCurrentRow()
+     */
+    public void moveToCurrentRow() throws SQLException {
+    }
+    
+    /**
+     * @see java.sql.ResultSet#moveToInsertRow()
+     */
+    public void moveToInsertRow() throws SQLException {
+    }
+    
+    /**
+     * @see java.sql.ResultSet#next()
+     */
+    public boolean next() throws SQLException {
+        
+        boolean next = this.mRows.size() > this.cursor;
+        if (next){
+            //log.debug("Zeile "+(cursor+1)+" von "+this.mRows.size()+" wird angesteuert.");
+            this.currentRow = this.mRows.get(this.cursor);
+            this.cursor++;
+        }else{
+            this.currentRow = null;
+        }
+        return next;
+    }
+    
+    /**
+     * @see java.sql.ResultSet#previous()
+     */
+    public boolean previous() throws SQLException {
+    
+        return false;
+    }
+    
+    /**
+     * @see java.sql.ResultSet#refreshRow()
+     */
+    public void refreshRow() throws SQLException {
+    }
+    
+    /**
+     * @see java.sql.ResultSet#relative(int)
+     */
+    public boolean relative(int rows) throws SQLException {
+    
+        return false;
+    }
+    
+    /**
+     * @see java.sql.ResultSet#rowDeleted()
+     */
+    public boolean rowDeleted() throws SQLException {
+    
+        return false;
+    }
+    
+    /**
+     * @see java.sql.ResultSet#rowInserted()
+     */
+    public boolean rowInserted() throws SQLException {
+    
+        return false;
+    }
+    
+    /**
+     * @see java.sql.ResultSet#rowUpdated()
+     */
+    public boolean rowUpdated() throws SQLException {
+    
+        return false;
+    }
+    
+    /**
+     * @see java.sql.ResultSet#setFetchDirection(int)
+     */
+    public void setFetchDirection(int direction) throws SQLException {
+    }
+    
+    /**
+     * @see java.sql.ResultSet#setFetchSize(int)
+     */
+    public void setFetchSize(int rows) throws SQLException {
+    }
+    
+    /**
+     * @see java.sql.ResultSet#updateArray(int, java.sql.Array)
+     */
+    public void updateArray(int columnIndex, Array x) throws SQLException {
+    }
+    
+    /**
+     * @see java.sql.ResultSet#updateArray(java.lang.String, java.sql.Array)
+     */
+    public void updateArray(String columnName, Array x) throws SQLException {
+    }
+    
+    /**
+     * @see java.sql.ResultSet#updateAsciiStream(int, java.io.InputStream, int)
+     */
+    public void updateAsciiStream(int columnIndex, InputStream x, int length)
+            throws SQLException {
+    }
+    
+    /**
+     * @see java.sql.ResultSet#updateAsciiStream(java.lang.String,
+     *      java.io.InputStream, int)
+     */
+    public void updateAsciiStream(String columnName, InputStream x, int length)
+            throws SQLException {
+    }
+    
+    /**
+     * @see java.sql.ResultSet#updateBigDecimal(int, java.math.BigDecimal)
+     */
+    public void updateBigDecimal(int columnIndex, BigDecimal x)
+            throws SQLException {
+    }
+    
+    /**
+     * @see java.sql.ResultSet#updateBigDecimal(java.lang.String,
+     *      java.math.BigDecimal)
+     */
+    public void updateBigDecimal(String columnName, BigDecimal x)
+            throws SQLException {
+    }
+    
+    /**
+     * @see java.sql.ResultSet#updateBinaryStream(int, java.io.InputStream, int)
+     */
+    public void updateBinaryStream(int columnIndex, InputStream x, int length)
+            throws SQLException {
+    }
+    
+    /**
+     * @see java.sql.ResultSet#updateBinaryStream(java.lang.String,
+     *      java.io.InputStream, int)
+     */
+    public void updateBinaryStream(String columnName, InputStream x, int length)
+            throws SQLException {
+    }
+    
+    /**
+     * @see java.sql.ResultSet#updateBlob(int, java.sql.Blob)
+     */
+    public void updateBlob(int columnIndex, Blob x) throws SQLException {
+    }
+    
+    /**
+     * @see java.sql.ResultSet#updateBlob(java.lang.String, java.sql.Blob)
+     */
+    public void updateBlob(String columnName, Blob x) throws SQLException {
+    }
+    
+    /**
+     * @see java.sql.ResultSet#updateBoolean(int, boolean)
+     */
+    public void updateBoolean(int columnIndex, boolean x) throws SQLException {
+    }
+    
+    /**
+     * @see java.sql.ResultSet#updateBoolean(java.lang.String, boolean)
+     */
+    public void updateBoolean(String columnName, boolean x) throws SQLException {
+    }
+    
+    /**
+     * @see java.sql.ResultSet#updateByte(int, byte)
+     */
+    public void updateByte(int columnIndex, byte x) throws SQLException {
+    }
+    
+    /**
+     * @see java.sql.ResultSet#updateByte(java.lang.String, byte)
+     */
+    public void updateByte(String columnName, byte x) throws SQLException {
+    }
+    
+    /**
+     * @see java.sql.ResultSet#updateBytes(int, byte[])
+     */
+    public void updateBytes(int columnIndex, byte[] x) throws SQLException {
+    }
+    
+    /**
+     * @see java.sql.ResultSet#updateBytes(java.lang.String, byte[])
+     */
+    public void updateBytes(String columnName, byte[] x) throws SQLException {
+    }
+    
+    /**
+     * @see java.sql.ResultSet#updateCharacterStream(int, java.io.Reader, int)
+     */
+    public void updateCharacterStream(int columnIndex, Reader x, int length)
+            throws SQLException {
+    }
+    
+    /**
+     * @see java.sql.ResultSet#updateCharacterStream(java.lang.String,
+     *      java.io.Reader, int)
+     */
+    public void updateCharacterStream(String columnName, Reader reader,
+            int length) throws SQLException {
+    }
+    
+    /**
+     * @see java.sql.ResultSet#updateClob(int, java.sql.Clob)
+     */
+    public void updateClob(int columnIndex, Clob x) throws SQLException {
+    }
+    
+    /**
+     * @see java.sql.ResultSet#updateClob(java.lang.String, java.sql.Clob)
+     */
+    public void updateClob(String columnName, Clob x) throws SQLException {
+    }
+    
+    /**
+     * @see java.sql.ResultSet#updateDate(int, java.sql.Date)
+     */
+    public void updateDate(int columnIndex, Date x) throws SQLException {
+    }
+    
+    /**
+     * @see java.sql.ResultSet#updateDate(java.lang.String, java.sql.Date)
+     */
+    public void updateDate(String columnName, Date x) throws SQLException {
+    }
+    
+    /**
+     * @see java.sql.ResultSet#updateDouble(int, double)
+     */
+    public void updateDouble(int columnIndex, double x) throws SQLException {
+    }
+    
+    /**
+     * @see java.sql.ResultSet#updateDouble(java.lang.String, double)
+     */
+    public void updateDouble(String columnName, double x) throws SQLException {
+    }
+    
+    /**
+     * @see java.sql.ResultSet#updateFloat(int, float)
+     */
+    public void updateFloat(int columnIndex, float x) throws SQLException {
+    }
+    
+    /**
+     * @see java.sql.ResultSet#updateFloat(java.lang.String, float)
+     */
+    public void updateFloat(String columnName, float x) throws SQLException {
+    }
+    
+    /**
+     * @see java.sql.ResultSet#updateInt(int, int)
+     */
+    public void updateInt(int columnIndex, int x) throws SQLException {
+    }
+    
+    /**
+     * @see java.sql.ResultSet#updateInt(java.lang.String, int)
+     */
+    public void updateInt(String columnName, int x) throws SQLException {
+    }
+    
+    /**
+     * @see java.sql.ResultSet#updateLong(int, long)
+     */
+    public void updateLong(int columnIndex, long x) throws SQLException {
+    }
+    
+    /**
+     * @see java.sql.ResultSet#updateLong(java.lang.String, long)
+     */
+    public void updateLong(String columnName, long x) throws SQLException {
+    }
+    
+    /**
+     * @see java.sql.ResultSet#updateNull(int)
+     */
+    public void updateNull(int columnIndex) throws SQLException {
+    }
+    
+    /**
+     * @see java.sql.ResultSet#updateNull(java.lang.String)
+     */
+    public void updateNull(String columnName) throws SQLException {
+    }
+    
+    /**
+     * @see java.sql.ResultSet#updateObject(int, java.lang.Object)
+     */
+    public void updateObject(int columnIndex, Object x) throws SQLException {
+    }
+    
+    /**
+     * @see java.sql.ResultSet#updateObject(java.lang.String, java.lang.Object)
+     */
+    public void updateObject(String columnName, Object x) throws SQLException {
+    }
+    
+    /**
+     * @see java.sql.ResultSet#updateObject(int, java.lang.Object, int)
+     */
+    public void updateObject(int columnIndex, Object x, int scale)
+            throws SQLException {
+    }
+    
+    /**
+     * @see java.sql.ResultSet#updateObject(java.lang.String, java.lang.Object,
+     *      int)
+     */
+    public void updateObject(String columnName, Object x, int scale)
+            throws SQLException {
+    }
+    
+    /**
+     * @see java.sql.ResultSet#updateRef(int, java.sql.Ref)
+     */
+    public void updateRef(int columnIndex, Ref x) throws SQLException {
+    }
+    
+    /**
+     * @see java.sql.ResultSet#updateRef(java.lang.String, java.sql.Ref)
+     */
+    public void updateRef(String columnName, Ref x) throws SQLException {
+    }
+    
+    /**
+     * @see java.sql.ResultSet#updateRow()
+     */
+    public void updateRow() throws SQLException {
+    }
+    
+    /**
+     * @see java.sql.ResultSet#updateShort(int, short)
+     */
+    public void updateShort(int columnIndex, short x) throws SQLException {
+    }
+    
+    /**
+     * @see java.sql.ResultSet#updateShort(java.lang.String, short)
+     */
+    public void updateShort(String columnName, short x) throws SQLException {
+    }
+    
+    /**
+     * @see java.sql.ResultSet#updateString(int, java.lang.String)
+     */
+    public void updateString(int columnIndex, String x) throws SQLException {
+    }
+    
+    /**
+     * @see java.sql.ResultSet#updateString(java.lang.String, java.lang.String)
+     */
+    public void updateString(String columnName, String x) throws SQLException {
+    }
+    
+    /**
+     * @see java.sql.ResultSet#updateTime(int, java.sql.Time)
+     */
+    public void updateTime(int columnIndex, Time x) throws SQLException {
+    }
+    
+    /**
+     * @see java.sql.ResultSet#updateTime(java.lang.String, java.sql.Time)
+     */
+    public void updateTime(String columnName, Time x) throws SQLException {
+    }
+    
+    /**
+     * @see java.sql.ResultSet#updateTimestamp(int, java.sql.Timestamp)
+     */
+    public void updateTimestamp(int columnIndex, Timestamp x)
+            throws SQLException {
+    }
+    
+    /**
+     * @see java.sql.ResultSet#updateTimestamp(java.lang.String,
+     *      java.sql.Timestamp)
+     */
+    public void updateTimestamp(String columnName, Timestamp x)
+            throws SQLException {
+    }
+    
+    /**
+     * @see java.sql.ResultSet#wasNull()
+     */
+    public boolean wasNull() throws SQLException {
+    
+            return false;
+    }
+
+    /**
+     * TODO: DOCUMENT ME
+     * @param columnName
+     * @return
+     * @throws SQLException
+     */
+    private int getColumnIndex(String columnName) throws SQLException{
+        for (int i = 0 ; i < this.mCols.size();i++){
+            if(this.mCols.get(i).getName().equalsIgnoreCase(columnName)){
+                return i +1; // PLUS 1 da SQL-Cursor 1 basiert sind
+            }
+        }
+        throw new SQLException("Column "+columnName+" does not exist in ResulSet");
+    }
+
+    /**
+     * @see java.sql.ResultSet#getHoldability()
+     */
+    public int getHoldability() throws SQLException {
+        return 0;
+    }
+
+    /**
+     * @see java.sql.ResultSet#getNCharacterStream(int)
+     */
+    public Reader getNCharacterStream(int arg0) throws SQLException {
+        return null;
+    }
+
+    /**
+     * @see java.sql.ResultSet#getNCharacterStream(java.lang.String)
+     */
+    public Reader getNCharacterStream(String arg0) throws SQLException {
+        return null;
+    }
+
+    /**
+     * @see java.sql.ResultSet#getNClob(int)
+     */
+    public NClob getNClob(int arg0) throws SQLException {
+        return null;
+    }
+
+    /**
+     * @see java.sql.ResultSet#getNClob(java.lang.String)
+     */
+    public NClob getNClob(String arg0) throws SQLException {
+        return null;
+    }
+
+    /**
+     * @see java.sql.ResultSet#getNString(int)
+     */
+    public String getNString(int arg0) throws SQLException {
+        return null;
+    }
+
+    /**
+     * @see java.sql.ResultSet#getNString(java.lang.String)
+     */
+    public String getNString(String arg0) throws SQLException {
+        return null;
+    }
+
+    /**
+     * @see java.sql.ResultSet#getRowId(int)
+     */
+    public RowId getRowId(int arg0) throws SQLException {
+        return null;
+    }
+
+    /**
+     * @see java.sql.ResultSet#getRowId(java.lang.String)
+     */
+    public RowId getRowId(String arg0) throws SQLException {
+        return null;
+    }
+
+    /**
+     * @see java.sql.ResultSet#getSQLXML(int)
+     */
+    public SQLXML getSQLXML(int arg0) throws SQLException {
+        return null;
+    }
+
+    /**
+     * @see java.sql.ResultSet#getSQLXML(java.lang.String)
+     */
+    public SQLXML getSQLXML(String arg0) throws SQLException {
+        return null;
+    }
+
+    /**
+     * @see java.sql.ResultSet#isClosed()
+     */
+    public boolean isClosed() throws SQLException {
+        return false;
+    }
+
+    /**
+     * @see java.sql.ResultSet#updateAsciiStream(int, java.io.InputStream)
+     */
+    public void updateAsciiStream(int arg0, InputStream arg1)
+                                                             throws SQLException {
+    }
+
+    /**
+     * @see java.sql.ResultSet#updateAsciiStream(java.lang.String, java.io.InputStream)
+     */
+    public void updateAsciiStream(String arg0, InputStream arg1)
+                                                                throws SQLException {
+    }
+
+    /**
+     * @see java.sql.ResultSet#updateAsciiStream(int, java.io.InputStream, long)
+     */
+    public void updateAsciiStream(int arg0, InputStream arg1, long arg2)
+                                                                        throws SQLException {
+    }
+
+    /**
+     * @see java.sql.ResultSet#updateAsciiStream(java.lang.String, java.io.InputStream, long)
+     */
+    public void updateAsciiStream(String arg0, InputStream arg1, long arg2)
+                                                                           throws SQLException {
+    }
+
+    /**
+     * @see java.sql.ResultSet#updateBinaryStream(int, java.io.InputStream)
+     */
+    public void updateBinaryStream(int arg0, InputStream arg1)
+                                                              throws SQLException {
+    }
+
+    /**
+     * @see java.sql.ResultSet#updateBinaryStream(java.lang.String, java.io.InputStream)
+     */
+    public void updateBinaryStream(String arg0, InputStream arg1)
+                                                                 throws SQLException {
+    }
+
+    /**
+     * @see java.sql.ResultSet#updateBinaryStream(int, java.io.InputStream, long)
+     */
+    public void updateBinaryStream(int arg0, InputStream arg1, long arg2)
+                                                                         throws SQLException {
+    }
+
+    /**
+     * @see java.sql.ResultSet#updateBinaryStream(java.lang.String, java.io.InputStream, long)
+     */
+    public void updateBinaryStream(String arg0, InputStream arg1, long arg2)
+                                                                            throws SQLException {
+    }
+
+    /**
+     * @see java.sql.ResultSet#updateBlob(int, java.io.InputStream)
+     */
+    public void updateBlob(int arg0, InputStream arg1) throws SQLException {
+    }
+
+    /**
+     * @see java.sql.ResultSet#updateBlob(java.lang.String, java.io.InputStream)
+     */
+    public void updateBlob(String arg0, InputStream arg1) throws SQLException {
+    }
+
+    /**
+     * @see java.sql.ResultSet#updateBlob(int, java.io.InputStream, long)
+     */
+    public void updateBlob(int arg0, InputStream arg1, long arg2)
+                                                                 throws SQLException {
+    }
+
+    /**
+     * @see java.sql.ResultSet#updateBlob(java.lang.String, java.io.InputStream, long)
+     */
+    public void updateBlob(String arg0, InputStream arg1, long arg2)
+                                                                    throws SQLException {
+    }
+
+    /**
+     * @see java.sql.ResultSet#updateCharacterStream(int, java.io.Reader)
+     */
+    public void updateCharacterStream(int arg0, Reader arg1)
+                                                            throws SQLException {
+    }
+
+    /**
+     * @see java.sql.ResultSet#updateCharacterStream(java.lang.String, java.io.Reader)
+     */
+    public void updateCharacterStream(String arg0, Reader arg1)
+                                                               throws SQLException {
+    }
+
+    /**
+     * @see java.sql.ResultSet#updateCharacterStream(int, java.io.Reader, long)
+     */
+    public void updateCharacterStream(int arg0, Reader arg1, long arg2)
+                                                                       throws SQLException {
+    }
+
+    /**
+     * @see java.sql.ResultSet#updateCharacterStream(java.lang.String, java.io.Reader, long)
+     */
+    public void updateCharacterStream(String arg0, Reader arg1, long arg2)
+                                                                          throws SQLException {
+    }
+
+    /**
+     * @see java.sql.ResultSet#updateClob(int, java.io.Reader)
+     */
+    public void updateClob(int arg0, Reader arg1) throws SQLException {
+    }
+
+    /**
+     * @see java.sql.ResultSet#updateClob(java.lang.String, java.io.Reader)
+     */
+    public void updateClob(String arg0, Reader arg1) throws SQLException {
+    }
+
+    /**
+     * @see java.sql.ResultSet#updateClob(int, java.io.Reader, long)
+     */
+    public void updateClob(int arg0, Reader arg1, long arg2)
+                                                            throws SQLException {
+    }
+
+    /**
+     * @see java.sql.ResultSet#updateClob(java.lang.String, java.io.Reader, long)
+     */
+    public void updateClob(String arg0, Reader arg1, long arg2)
+                                                               throws SQLException {
+    }
+
+    /**
+     * @see java.sql.ResultSet#updateNCharacterStream(int, java.io.Reader)
+     */
+    public void updateNCharacterStream(int arg0, Reader arg1)
+                                                             throws SQLException {
+    }
+
+    /**
+     * @see java.sql.ResultSet#updateNCharacterStream(java.lang.String, java.io.Reader)
+     */
+    public void updateNCharacterStream(String arg0, Reader arg1)
+                                                                throws SQLException {
+    }
+
+    /**
+     * @see java.sql.ResultSet#updateNCharacterStream(int, java.io.Reader, long)
+     */
+    public void updateNCharacterStream(int arg0, Reader arg1, long arg2)
+                                                                        throws SQLException {
+    }
+
+    /**
+     * @see java.sql.ResultSet#updateNCharacterStream(java.lang.String, java.io.Reader, long)
+     */
+    public void updateNCharacterStream(String arg0, Reader arg1, long arg2)
+                                                                           throws SQLException {
+    }
+
+    /**
+     * @see java.sql.ResultSet#updateNClob(int, java.sql.NClob)
+     */
+    public void updateNClob(int arg0, NClob arg1) throws SQLException {
+    }
+
+    /**
+     * @see java.sql.ResultSet#updateNClob(java.lang.String, java.sql.NClob)
+     */
+    public void updateNClob(String arg0, NClob arg1) throws SQLException {
+    }
+
+    /**
+     * @see java.sql.ResultSet#updateNClob(int, java.io.Reader)
+     */
+    public void updateNClob(int arg0, Reader arg1) throws SQLException {
+    }
+
+    /**
+     * @see java.sql.ResultSet#updateNClob(java.lang.String, java.io.Reader)
+     */
+    public void updateNClob(String arg0, Reader arg1) throws SQLException {
+    }
+
+    /**
+     * @see java.sql.ResultSet#updateNClob(int, java.io.Reader, long)
+     */
+    public void updateNClob(int arg0, Reader arg1, long arg2)
+                                                             throws SQLException {
+    }
+
+    public void updateNClob(String arg0, Reader arg1, long arg2)
+                                                                throws SQLException {
+    }
+
+    /**
+     * @see java.sql.ResultSet#updateNString(int, java.lang.String)
+     */
+    public void updateNString(int arg0, String arg1) throws SQLException {
+    }
+
+    /**
+     * @see java.sql.ResultSet#updateNString(java.lang.String, java.lang.String)
+     */
+    public void updateNString(String arg0, String arg1) throws SQLException {
+    }
+
+    /**
+     * @see java.sql.ResultSet#updateRowId(int, java.sql.RowId)
+     */
+    public void updateRowId(int arg0, RowId arg1) throws SQLException {
+    }
+
+    /**
+     * @see java.sql.ResultSet#updateRowId(java.lang.String, java.sql.RowId)
+     */
+    public void updateRowId(String arg0, RowId arg1) throws SQLException {
+    }
+
+    /**
+     * @see java.sql.ResultSet#updateSQLXML(int, java.sql.SQLXML)
+     */
+    public void updateSQLXML(int arg0, SQLXML arg1) throws SQLException {
+    }
+
+    /**
+     * @see java.sql.ResultSet#updateSQLXML(java.lang.String, java.sql.SQLXML)
+     */
+    public void updateSQLXML(String arg0, SQLXML arg1) throws SQLException {
+    }
+
+    /**
+     * @see java.sql.Wrapper#isWrapperFor(java.lang.Class)
+     */
+    public boolean isWrapperFor(Class<?> arg0) throws SQLException {
+        return false;
+    }
+
+    /**
+     * @see java.sql.Wrapper#unwrap(java.lang.Class)
+     */
+    public <T> T unwrap(Class<T> arg0) throws SQLException {
+        return null;
+    }
+
+}
--- a/geo-backend/src/main/java/de/intevation/gnv/geobackend/sde/datasources/exception/DatasourceException.java	Sat Apr 17 09:28:02 2010 +0000
+++ b/geo-backend/src/main/java/de/intevation/gnv/geobackend/sde/datasources/exception/DatasourceException.java	Sun Apr 18 09:22:38 2010 +0000
@@ -1,51 +1,51 @@
-package de.intevation.gnv.geobackend.sde.datasources.exception;
-
-/**
- * A Class for encapsulating implementation specific datasource exceptions.
- * This exception class can be used for all exceptions occuring in connection 
- * to "datasources actions".
- * 
- * @author blume
- * @author drewnak
- * @author <a href="mailto:tim.englich@intevation.de">Tim Englich</a>
- */
-public class DatasourceException extends Exception {
-
-    /**
-     * The UID of this Class.
-     */
-    private static final long serialVersionUID = 2593142889158383466L;
-
-    /**
-     * Constructor
-     */
-    public DatasourceException() {
-        super();
-    }
-
-    /**
-     * Constructor
-     * @param pMessage the Exceptionmessage
-     */
-    public DatasourceException(String pMessage) {
-        super(pMessage);
-    }
-
-    /**
-     * Constructor
-     * @param pMessage the Exceptionmessage
-     * @param pCause the Throwable which cause this exception
-     */
-    public DatasourceException(String pMessage, Throwable pCause) {
-        super(pMessage, pCause);
-    }
-
-    /**
-     * Constructor
-     * @param pCause the Throwable which cause this exception
-     */
-    public DatasourceException(Throwable pCause) {
-        super(pCause);
-    }
-
-}
+package de.intevation.gnv.geobackend.sde.datasources.exception;
+
+/**
+ * A Class for encapsulating implementation specific datasource exceptions.
+ * This exception class can be used for all exceptions occuring in connection 
+ * to "datasources actions".
+ * 
+ * @author blume
+ * @author drewnak
+ * @author <a href="mailto:tim.englich@intevation.de">Tim Englich</a>
+ */
+public class DatasourceException extends Exception {
+
+    /**
+     * The UID of this Class.
+     */
+    private static final long serialVersionUID = 2593142889158383466L;
+
+    /**
+     * Constructor
+     */
+    public DatasourceException() {
+        super();
+    }
+
+    /**
+     * Constructor
+     * @param pMessage the Exceptionmessage
+     */
+    public DatasourceException(String pMessage) {
+        super(pMessage);
+    }
+
+    /**
+     * Constructor
+     * @param pMessage the Exceptionmessage
+     * @param pCause the Throwable which cause this exception
+     */
+    public DatasourceException(String pMessage, Throwable pCause) {
+        super(pMessage, pCause);
+    }
+
+    /**
+     * Constructor
+     * @param pCause the Throwable which cause this exception
+     */
+    public DatasourceException(Throwable pCause) {
+        super(pCause);
+    }
+
+}
--- a/geo-backend/src/main/java/de/intevation/gnv/geobackend/sde/datasources/exception/TechnicalException.java	Sat Apr 17 09:28:02 2010 +0000
+++ b/geo-backend/src/main/java/de/intevation/gnv/geobackend/sde/datasources/exception/TechnicalException.java	Sun Apr 18 09:22:38 2010 +0000
@@ -1,68 +1,68 @@
-package de.intevation.gnv.geobackend.sde.datasources.exception;
-
-import org.apache.log4j.Logger;
-
-/**
- * The class <code>TechnicalException</code> fulfills the following purposes:
- *
- * @author blume
- * @author <a href="mailto:tim.englich@intevation.de">Tim Englich</a>
- */
-public class TechnicalException extends Exception{
-
-    /**
-     * The UID of this Class.
-     */
-    private static final long serialVersionUID = -5296559414323169553L;
-
-    /**
-     * Default Logging instance
-     */
-    private static Logger sLogger = Logger.getLogger(TechnicalException.class);
-
-    /**
-     * Constructs a new exception with <code>null</code> as its detail message.
-     * The cause is not initialized, and may subsequently be initialized by a
-     * call to {@link #initCause}.
-     */
-    public TechnicalException() {
-    }
-
-    /**
-     * Constructs a new exception with the specified detail message.  The
-     * cause is not initialized, and may subsequently be initialized by
-     * a call to {@link #initCause}.
-     *
-     * @param message the detail message. The detail message is saved for
-     *                later retrieval by the {@link #getMessage()} method.
-     */
-    public TechnicalException(String message) {
-        super(message);
-    }
-
-    /**
-     * Constructor
-     * @param pCause the Throwable which cause this exception
-     */
-    public TechnicalException(Throwable pCause) {
-        super(pCause);
-    }
-
-    /**
-     * Constructs a new exception with the specified detail message and
-     * cause.  <p>Note that the detail message associated with
-     * <code>cause</code> is <i>not</i> automatically incorporated in
-     * this exception's detail message.
-     *
-     * @param message the detail message (which is saved for later retrieval
-     *                by the {@link #getMessage()} method).
-     * @param cause   the cause (which is saved for later retrieval by the
-     *                {@link #getCause()} method).  (A <tt>null</tt> value is
-     *                permitted, and indicates that the cause is nonexistent or
-     *                unknown.)
-     * @since 1.4
-     */
-    public TechnicalException(String message, Throwable cause) {
-        super(message, cause);
-    }
-}
+package de.intevation.gnv.geobackend.sde.datasources.exception;
+
+import org.apache.log4j.Logger;
+
+/**
+ * The class <code>TechnicalException</code> fulfills the following purposes:
+ *
+ * @author blume
+ * @author <a href="mailto:tim.englich@intevation.de">Tim Englich</a>
+ */
+public class TechnicalException extends Exception{
+
+    /**
+     * The UID of this Class.
+     */
+    private static final long serialVersionUID = -5296559414323169553L;
+
+    /**
+     * Default Logging instance
+     */
+    private static Logger sLogger = Logger.getLogger(TechnicalException.class);
+
+    /**
+     * Constructs a new exception with <code>null</code> as its detail message.
+     * The cause is not initialized, and may subsequently be initialized by a
+     * call to {@link #initCause}.
+     */
+    public TechnicalException() {
+    }
+
+    /**
+     * Constructs a new exception with the specified detail message.  The
+     * cause is not initialized, and may subsequently be initialized by
+     * a call to {@link #initCause}.
+     *
+     * @param message the detail message. The detail message is saved for
+     *                later retrieval by the {@link #getMessage()} method.
+     */
+    public TechnicalException(String message) {
+        super(message);
+    }
+
+    /**
+     * Constructor
+     * @param pCause the Throwable which cause this exception
+     */
+    public TechnicalException(Throwable pCause) {
+        super(pCause);
+    }
+
+    /**
+     * Constructs a new exception with the specified detail message and
+     * cause.  <p>Note that the detail message associated with
+     * <code>cause</code> is <i>not</i> automatically incorporated in
+     * this exception's detail message.
+     *
+     * @param message the detail message (which is saved for later retrieval
+     *                by the {@link #getMessage()} method).
+     * @param cause   the cause (which is saved for later retrieval by the
+     *                {@link #getCause()} method).  (A <tt>null</tt> value is
+     *                permitted, and indicates that the cause is nonexistent or
+     *                unknown.)
+     * @since 1.4
+     */
+    public TechnicalException(String message, Throwable cause) {
+        super(message, cause);
+    }
+}
--- a/geo-backend/src/main/java/de/intevation/gnv/geobackend/util/DateUtils.java	Sat Apr 17 09:28:02 2010 +0000
+++ b/geo-backend/src/main/java/de/intevation/gnv/geobackend/util/DateUtils.java	Sun Apr 18 09:22:38 2010 +0000
@@ -1,91 +1,91 @@
-/**
- * Title:           DateUtisl, $Header: /share/gdi/SDI-Suite/Repository/projekte/BSH-GDI/genericViewer/src/main/java/de/conterra/bsh/gdi/gnviewer/util/DateUtils.java,v 1.2 2008/08/18 14:50:33 drewnak Exp $
- * Source:          $Source: /share/gdi/SDI-Suite/Repository/projekte/BSH-GDI/genericViewer/src/main/java/de/conterra/bsh/gdi/gnviewer/util/DateUtils.java,v $
- * created by:      Stefan Blume (blume)
- * erstellt am:     21.12.2007
- * Copyright:       con terra GmbH, 2005
- *
- * modified by:     $Author: drewnak $
- * modified on:     $Date: 2008/08/18 14:50:33 $
- * Version:         $Revision: 1.2 $
- * TAG:             $Name:  $
- * locked from:     $Locker:  $
- * CVS State:       $State: Exp $
- * Project:         $ProjectName$
- */
-package de.intevation.gnv.geobackend.util;
-
-import java.text.SimpleDateFormat;
-import java.util.Date;
-
-import org.apache.log4j.Logger;
-
-/**
- * The class <code>DateUtils</code> fulfills the following purposes:
- * @author blume
- * @author <a href="mailto:tim.englich@intevation.de">Tim Englich</a>
- */
-public class DateUtils {
-
-    /**
-     * Default Logging instance
-     */
-    private static Logger sLogger = Logger.getLogger(DateUtils.class);
-
-    /**
-     * The Dateformat which will be used e.g for Querying the Database 
-     */
-    public static final String DATE_PATTERN = "yyyy.MM.dd HH:mm:ss";
-
-    private static final String DATE_PATTERN1 = "dd-MMM-yyyy HH:mm:ss";
-
-    /**
-     * The Method returns a Date using the given pattern as a String
-     * @param pDate The Date which should be formatted
-     * @param sPattern The Pattern which should be used.
-     * @return the Date formatted a a String
-     */
-    public static String getPatternedDate(Date pDate, String  sPattern) {
-         SimpleDateFormat fmt = new SimpleDateFormat();
-         fmt.applyPattern(sPattern);
-         return fmt.format(pDate);
-    }
-
-    /**
-     * Returns the Date as a String formated using the 
-     * <code>DateUtils.DATE_PATTERN</code> format-
-     * @param pDate the Date which should be formatted
-     * @return the given Data as a String
-     */
-    public static String getPatternedDateAmer(Date pDate) {
-        String sStr = getPatternedDate(pDate, DATE_PATTERN);
-        return sStr;
-    }
-
-    /**
-     * This method decodes a Datevalue from the given String useing the
-     * <code>DateUtils.DATE_PATTERN1</code> format-
-     * @param sStr The String which contains the encoded Datevalue
-     * @return the decoded Datevalue as an Date-object.
-     * @throws Exception throws all Expetion which occurs during the Process.
-     */
-    public static Date getDateFromString (String sStr)throws Exception {
-        Date   date = getDateFromString (sStr, DATE_PATTERN1);
-        return date;
-    }
-
-    /**
-     * Formats a given Date encoded as a String using the given Pattern
-     * into a Date Object.
-     * @param sStr The String with the encoded DateValue
-     * @param sPattern The pattern which should be used to decode the Date
-     * @return the given Datevalue as an Date-Object.
-     * @throws Exception throws all Expetion which occurs during the Process.
-     */
-    public static Date getDateFromString (String sStr, 
-                                          String sPattern)throws Exception {
-        SimpleDateFormat fmt = new SimpleDateFormat();
-        fmt.applyPattern(sPattern);
-        return fmt.parse(sStr);
-    }
-}
+/**
+ * Title:           DateUtisl, $Header: /share/gdi/SDI-Suite/Repository/projekte/BSH-GDI/genericViewer/src/main/java/de/conterra/bsh/gdi/gnviewer/util/DateUtils.java,v 1.2 2008/08/18 14:50:33 drewnak Exp $
+ * Source:          $Source: /share/gdi/SDI-Suite/Repository/projekte/BSH-GDI/genericViewer/src/main/java/de/conterra/bsh/gdi/gnviewer/util/DateUtils.java,v $
+ * created by:      Stefan Blume (blume)
+ * erstellt am:     21.12.2007
+ * Copyright:       con terra GmbH, 2005
+ *
+ * modified by:     $Author: drewnak $
+ * modified on:     $Date: 2008/08/18 14:50:33 $
+ * Version:         $Revision: 1.2 $
+ * TAG:             $Name:  $
+ * locked from:     $Locker:  $
+ * CVS State:       $State: Exp $
+ * Project:         $ProjectName$
+ */
+package de.intevation.gnv.geobackend.util;
+
+import java.text.SimpleDateFormat;
+import java.util.Date;
+
+import org.apache.log4j.Logger;
+
+/**
+ * The class <code>DateUtils</code> fulfills the following purposes:
+ * @author blume
+ * @author <a href="mailto:tim.englich@intevation.de">Tim Englich</a>
+ */
+public class DateUtils {
+
+    /**
+     * Default Logging instance
+     */
+    private static Logger sLogger = Logger.getLogger(DateUtils.class);
+
+    /**
+     * The Dateformat which will be used e.g for Querying the Database 
+     */
+    public static final String DATE_PATTERN = "yyyy.MM.dd HH:mm:ss";
+
+    private static final String DATE_PATTERN1 = "dd-MMM-yyyy HH:mm:ss";
+
+    /**
+     * The Method returns a Date using the given pattern as a String
+     * @param pDate The Date which should be formatted
+     * @param sPattern The Pattern which should be used.
+     * @return the Date formatted a a String
+     */
+    public static String getPatternedDate(Date pDate, String  sPattern) {
+         SimpleDateFormat fmt = new SimpleDateFormat();
+         fmt.applyPattern(sPattern);
+         return fmt.format(pDate);
+    }
+
+    /**
+     * Returns the Date as a String formated using the 
+     * <code>DateUtils.DATE_PATTERN</code> format-
+     * @param pDate the Date which should be formatted
+     * @return the given Data as a String
+     */
+    public static String getPatternedDateAmer(Date pDate) {
+        String sStr = getPatternedDate(pDate, DATE_PATTERN);
+        return sStr;
+    }
+
+    /**
+     * This method decodes a Datevalue from the given String useing the
+     * <code>DateUtils.DATE_PATTERN1</code> format-
+     * @param sStr The String which contains the encoded Datevalue
+     * @return the decoded Datevalue as an Date-object.
+     * @throws Exception throws all Expetion which occurs during the Process.
+     */
+    public static Date getDateFromString (String sStr)throws Exception {
+        Date   date = getDateFromString (sStr, DATE_PATTERN1);
+        return date;
+    }
+
+    /**
+     * Formats a given Date encoded as a String using the given Pattern
+     * into a Date Object.
+     * @param sStr The String with the encoded DateValue
+     * @param sPattern The pattern which should be used to decode the Date
+     * @return the given Datevalue as an Date-Object.
+     * @throws Exception throws all Expetion which occurs during the Process.
+     */
+    public static Date getDateFromString (String sStr, 
+                                          String sPattern)throws Exception {
+        SimpleDateFormat fmt = new SimpleDateFormat();
+        fmt.applyPattern(sPattern);
+        return fmt.parse(sStr);
+    }
+}

http://dive4elements.wald.intevation.org