annotate geo-backend/src/main/java/de/intevation/gnv/geobackend/sde/datasources/Row.java @ 275:9063c5fcebf7

Added the possibility to use Innerselects in SpatialQueries geo-backend/trunk@286 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Tim Englich <tim.englich@intevation.de>
date Thu, 05 Nov 2009 15:03:51 +0000
parents 69ddef25e822
children 210716612c30
rev   line source
129
110e3ac1b7d2 Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
1 /**
110e3ac1b7d2 Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
2 * Title: Row, $Header: /share/gdi/SDI-Suite/Repository/projekte/BSH-GDI/genericViewer/src/main/java/de/conterra/bsh/gdi/gnviewer/datasources/Row.java,v 1.4 2008/01/30 12:38:34 blume Exp $
110e3ac1b7d2 Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
3 * Source: $Source: /share/gdi/SDI-Suite/Repository/projekte/BSH-GDI/genericViewer/src/main/java/de/conterra/bsh/gdi/gnviewer/datasources/Row.java,v $
110e3ac1b7d2 Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
4 * created by: Stefan Blume (blume)
110e3ac1b7d2 Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
5 * erstellt am: 21.11.2007
110e3ac1b7d2 Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
6 * Copyright: con terra GmbH, 2005
110e3ac1b7d2 Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
7 *
110e3ac1b7d2 Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
8 * modified by: $Author: blume $
110e3ac1b7d2 Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
9 * modified on: $Date: 2008/01/30 12:38:34 $
110e3ac1b7d2 Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
10 * Version: $Revision: 1.4 $
110e3ac1b7d2 Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
11 * TAG: $Name: $
110e3ac1b7d2 Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
12 * locked from: $Locker: $
110e3ac1b7d2 Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
13 * CVS State: $State: Exp $
110e3ac1b7d2 Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
14 * Project: $ProjectName$
110e3ac1b7d2 Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
15 */
110e3ac1b7d2 Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
16 package de.intevation.gnv.geobackend.sde.datasources;
110e3ac1b7d2 Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
17
110e3ac1b7d2 Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
18 import java.util.ArrayList;
110e3ac1b7d2 Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
19 import java.util.Calendar;
110e3ac1b7d2 Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
20 import java.util.Date;
110e3ac1b7d2 Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
21
110e3ac1b7d2 Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
22 import org.apache.log4j.Logger;
110e3ac1b7d2 Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
23
110e3ac1b7d2 Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
24 import com.esri.sde.sdk.client.SDEPoint;
110e3ac1b7d2 Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
25 import com.esri.sde.sdk.client.SeException;
110e3ac1b7d2 Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
26 import com.esri.sde.sdk.client.SeShape;
110e3ac1b7d2 Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
27
110e3ac1b7d2 Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
28 import de.intevation.gnv.geobackend.sde.datasources.exception.TechnicalException;
110e3ac1b7d2 Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
29 import de.intevation.gnv.geobackend.util.DateUtils;
110e3ac1b7d2 Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
30
110e3ac1b7d2 Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
31 /**
110e3ac1b7d2 Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
32 * A Row represents a set of values.
110e3ac1b7d2 Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
33 * In a technical manner (e.g. database manner) a row contains all attributes of a single "hit".
110e3ac1b7d2 Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
34 *
110e3ac1b7d2 Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
35 * @author blume
110e3ac1b7d2 Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
36 * @version 1.0
110e3ac1b7d2 Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
37 * @serial 1.0
110e3ac1b7d2 Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
38 * @see
110e3ac1b7d2 Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
39 * @since 21.11.2007 11:00:54
110e3ac1b7d2 Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
40 */
110e3ac1b7d2 Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
41 public class Row {
110e3ac1b7d2 Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
42
110e3ac1b7d2 Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
43 /**
110e3ac1b7d2 Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
44 * Default Logging instance
110e3ac1b7d2 Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
45 */
110e3ac1b7d2 Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
46 private static Logger sLogger = Logger.getLogger(Row.class);
110e3ac1b7d2 Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
47
110e3ac1b7d2 Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
48 /**
110e3ac1b7d2 Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
49 * Data container.
110e3ac1b7d2 Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
50 */
110e3ac1b7d2 Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
51 private Object[] mObjects;
110e3ac1b7d2 Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
52
110e3ac1b7d2 Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
53 /**
110e3ac1b7d2 Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
54 * Constructor.
110e3ac1b7d2 Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
55 *
110e3ac1b7d2 Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
56 * @param pRowSize the number of attributes contained by this row.
110e3ac1b7d2 Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
57 */
110e3ac1b7d2 Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
58 public Row(int pRowSize) {
110e3ac1b7d2 Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
59 mObjects = new Object[pRowSize];
110e3ac1b7d2 Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
60 }
110e3ac1b7d2 Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
61
110e3ac1b7d2 Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
62 /**
110e3ac1b7d2 Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
63 * Constructor.
110e3ac1b7d2 Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
64 *
110e3ac1b7d2 Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
65 * @param ArrayStr a line from CSV-File.
110e3ac1b7d2 Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
66 */
110e3ac1b7d2 Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
67 public Row (String[] ArrayStr){
110e3ac1b7d2 Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
68 this (ArrayStr.length);
110e3ac1b7d2 Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
69 int nLength = ArrayStr.length;
110e3ac1b7d2 Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
70 for (int i=0; i < nLength; i++){
110e3ac1b7d2 Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
71 addObject(ArrayStr[i], i);
110e3ac1b7d2 Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
72
110e3ac1b7d2 Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
73 }
110e3ac1b7d2 Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
74
110e3ac1b7d2 Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
75 }
110e3ac1b7d2 Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
76
110e3ac1b7d2 Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
77
110e3ac1b7d2 Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
78 /**
110e3ac1b7d2 Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
79 * Adds an attribute value to a specific position of this row.
110e3ac1b7d2 Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
80 *
110e3ac1b7d2 Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
81 * @param pObject the object to be stored.
110e3ac1b7d2 Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
82 * @param pPos the postion the value to be saved
110e3ac1b7d2 Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
83 */
110e3ac1b7d2 Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
84 public void addObject(Object pObject, int pPos) {
110e3ac1b7d2 Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
85 mObjects[pPos] = pObject;
110e3ac1b7d2 Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
86 }
110e3ac1b7d2 Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
87
110e3ac1b7d2 Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
88 /**
110e3ac1b7d2 Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
89 * Returns a Value out of the Row.
110e3ac1b7d2 Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
90 *
110e3ac1b7d2 Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
91 * @param pPos the position of the value to be returned.
110e3ac1b7d2 Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
92 * @return an Object! (not strongly typed)
110e3ac1b7d2 Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
93 * @throws TechnicalException
110e3ac1b7d2 Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
94 */
110e3ac1b7d2 Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
95 public Object getValue(int pPos) throws TechnicalException {
110e3ac1b7d2 Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
96 if (pPos < mObjects.length) {
263
031ef9649cd1 Added SFS-Support to ArcSDE-Query-Part
Tim Englich <tim.englich@intevation.de>
parents: 129
diff changeset
97
031ef9649cd1 Added SFS-Support to ArcSDE-Query-Part
Tim Englich <tim.englich@intevation.de>
parents: 129
diff changeset
98 Object o = mObjects[pPos];
031ef9649cd1 Added SFS-Support to ArcSDE-Query-Part
Tim Englich <tim.englich@intevation.de>
parents: 129
diff changeset
99 if (o instanceof SeShape){
031ef9649cd1 Added SFS-Support to ArcSDE-Query-Part
Tim Englich <tim.englich@intevation.de>
parents: 129
diff changeset
100 return this.getPosValue(pPos);
031ef9649cd1 Added SFS-Support to ArcSDE-Query-Part
Tim Englich <tim.englich@intevation.de>
parents: 129
diff changeset
101 }else{
031ef9649cd1 Added SFS-Support to ArcSDE-Query-Part
Tim Englich <tim.englich@intevation.de>
parents: 129
diff changeset
102 return o;
031ef9649cd1 Added SFS-Support to ArcSDE-Query-Part
Tim Englich <tim.englich@intevation.de>
parents: 129
diff changeset
103 }
129
110e3ac1b7d2 Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
104 } else {
110e3ac1b7d2 Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
105 throw new TechnicalException("Cannot access this field position. Size is: " + mObjects.length);
110e3ac1b7d2 Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
106 }
110e3ac1b7d2 Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
107 }
110e3ac1b7d2 Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
108
110e3ac1b7d2 Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
109
110e3ac1b7d2 Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
110 /**
110e3ac1b7d2 Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
111 * This is a covenient method for getting strongly typed objects out of the row.
110e3ac1b7d2 Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
112 * It has to be ensured, that the type of the requested row position has been resolved out of the ColumnDefinition ({@link ResultSet#getColumnDefinitions()}).
110e3ac1b7d2 Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
113 * In fact, this method executes a simple cast to the desired type.
110e3ac1b7d2 Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
114 *
110e3ac1b7d2 Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
115 * @param pPos the position of the object to be resolved.
110e3ac1b7d2 Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
116 * @return a strongly typed Date
110e3ac1b7d2 Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
117 * @throws TechnicalException
110e3ac1b7d2 Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
118 * @see #getValue(int)
110e3ac1b7d2 Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
119 */
110e3ac1b7d2 Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
120 public Date getDateValue(int pPos) throws TechnicalException {
110e3ac1b7d2 Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
121 Date date = null;
110e3ac1b7d2 Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
122 try {
110e3ac1b7d2 Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
123 Calendar lCalendar = (Calendar) getValue(pPos);
110e3ac1b7d2 Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
124 date = lCalendar.getTime();
110e3ac1b7d2 Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
125 }
110e3ac1b7d2 Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
126 catch (ClassCastException e) {
110e3ac1b7d2 Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
127 try{
110e3ac1b7d2 Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
128 //SimpleDateFormat formatter = new SimpleDateFormat("dd-MMM-yyyy HH:mm:ss");
110e3ac1b7d2 Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
129 date = DateUtils.getDateFromString ((String)getValue(pPos)); //(Date)formatter.parse((String)getValue(pPos));
110e3ac1b7d2 Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
130
110e3ac1b7d2 Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
131
110e3ac1b7d2 Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
132 }
110e3ac1b7d2 Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
133 catch (Exception ex){
110e3ac1b7d2 Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
134 sLogger.error(getValue(pPos) + " " + ex.getMessage(), ex);
110e3ac1b7d2 Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
135 throw new TechnicalException("Could not cast this value to the Date Type. Object is of value type: " + getValue(pPos).getClass().getName());
110e3ac1b7d2 Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
136 }
110e3ac1b7d2 Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
137 }
110e3ac1b7d2 Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
138
110e3ac1b7d2 Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
139 return date;
110e3ac1b7d2 Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
140 }
110e3ac1b7d2 Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
141
110e3ac1b7d2 Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
142 /**
110e3ac1b7d2 Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
143 * This is a covenient method for getting strongly typed objects out of the row.
110e3ac1b7d2 Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
144 * It has to be ensured, that the type of the requested row position has been resolved out of the ColumnDefinition ({@link ResultSet#getColumnDefinitions()}).
110e3ac1b7d2 Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
145 * In fact, this method executes a simple cast to the desired type.
110e3ac1b7d2 Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
146 *
110e3ac1b7d2 Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
147 * @param pPos the position of the object to be resolved.
110e3ac1b7d2 Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
148 * @return a strongly typed String
110e3ac1b7d2 Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
149 * @throws TechnicalException
110e3ac1b7d2 Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
150 * @see #getValue(int)
110e3ac1b7d2 Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
151 */
110e3ac1b7d2 Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
152 public String getStringValue(int pPos) throws TechnicalException {
110e3ac1b7d2 Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
153 try {
263
031ef9649cd1 Added SFS-Support to ArcSDE-Query-Part
Tim Englich <tim.englich@intevation.de>
parents: 129
diff changeset
154 Object o = this.getValue(pPos);
031ef9649cd1 Added SFS-Support to ArcSDE-Query-Part
Tim Englich <tim.englich@intevation.de>
parents: 129
diff changeset
155 String returnValue = null;
031ef9649cd1 Added SFS-Support to ArcSDE-Query-Part
Tim Englich <tim.englich@intevation.de>
parents: 129
diff changeset
156 if (o instanceof SeShape){
031ef9649cd1 Added SFS-Support to ArcSDE-Query-Part
Tim Englich <tim.englich@intevation.de>
parents: 129
diff changeset
157 returnValue = this.getPosValue(pPos);
031ef9649cd1 Added SFS-Support to ArcSDE-Query-Part
Tim Englich <tim.englich@intevation.de>
parents: 129
diff changeset
158 }else{
031ef9649cd1 Added SFS-Support to ArcSDE-Query-Part
Tim Englich <tim.englich@intevation.de>
parents: 129
diff changeset
159 returnValue = (String)o;
031ef9649cd1 Added SFS-Support to ArcSDE-Query-Part
Tim Englich <tim.englich@intevation.de>
parents: 129
diff changeset
160 }
031ef9649cd1 Added SFS-Support to ArcSDE-Query-Part
Tim Englich <tim.englich@intevation.de>
parents: 129
diff changeset
161 return returnValue;
129
110e3ac1b7d2 Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
162 } catch (ClassCastException e) {
110e3ac1b7d2 Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
163 throw new TechnicalException("Could not cast this value to the String Type. Object is of value type: " + getValue(pPos).getClass().getName());
110e3ac1b7d2 Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
164 }
110e3ac1b7d2 Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
165 }
110e3ac1b7d2 Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
166
110e3ac1b7d2 Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
167 /**
110e3ac1b7d2 Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
168 * This is a covenient method for getting strongly typed objects out of the row.
110e3ac1b7d2 Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
169 * It has to be ensured, that the type of the requested row position has been resolved out of the ColumnDefinition ({@link ResultSet#getColumnDefinitions()}).
110e3ac1b7d2 Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
170 * In fact, this method executes a simple cast to the desired type.
110e3ac1b7d2 Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
171 *
110e3ac1b7d2 Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
172 * @param pPos the position of the object to be resolved.
110e3ac1b7d2 Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
173 * @throws TechnicalException
110e3ac1b7d2 Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
174 * @see #getValue(int)
110e3ac1b7d2 Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
175 * * @return a strongly typed int
110e3ac1b7d2 Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
176 */
110e3ac1b7d2 Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
177 public int getIntValue(int pPos) throws TechnicalException {
110e3ac1b7d2 Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
178 try {
110e3ac1b7d2 Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
179 return (Integer) getValue(pPos);
110e3ac1b7d2 Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
180 } catch (ClassCastException e) {
110e3ac1b7d2 Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
181 throw new TechnicalException("Could not cast this value to the Integer Type. Object is of value type: " + getValue(pPos).getClass().getName());
110e3ac1b7d2 Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
182 }
110e3ac1b7d2 Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
183 }
110e3ac1b7d2 Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
184
110e3ac1b7d2 Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
185 /**
110e3ac1b7d2 Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
186 * This is a covenient method for getting strongly typed objects out of the row.
110e3ac1b7d2 Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
187 * It has to be ensured, that the type of the requested row position has been resolved out of the ColumnDefinition ({@link ResultSet#getColumnDefinitions()}).
110e3ac1b7d2 Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
188 * In fact, this method executes a simple cast to the desired type.
110e3ac1b7d2 Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
189 *
110e3ac1b7d2 Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
190 * @param pPos the position of the object to be resolved.
110e3ac1b7d2 Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
191 * @throws TechnicalException
110e3ac1b7d2 Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
192 * @see #getValue(int)
110e3ac1b7d2 Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
193 * * @return a strongly typed Double
110e3ac1b7d2 Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
194 */
110e3ac1b7d2 Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
195 public Double getDoubleValue(int pPos) throws TechnicalException {
110e3ac1b7d2 Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
196 try {
110e3ac1b7d2 Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
197 return (Double) getValue(pPos);
110e3ac1b7d2 Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
198 } catch (ClassCastException e) {
110e3ac1b7d2 Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
199 try{
110e3ac1b7d2 Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
200 return new Double ((String)getValue(pPos));
110e3ac1b7d2 Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
201 }
110e3ac1b7d2 Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
202 catch(Exception ex){
110e3ac1b7d2 Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
203 sLogger.error(getValue(pPos) + " " + ex.getMessage(), ex);
110e3ac1b7d2 Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
204 throw new TechnicalException("Could not cast this value to the Double Type. Object is of value type: " + getValue(pPos).getClass().getName());
110e3ac1b7d2 Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
205 }
110e3ac1b7d2 Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
206 }
110e3ac1b7d2 Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
207 }
110e3ac1b7d2 Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
208
110e3ac1b7d2 Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
209 /**
110e3ac1b7d2 Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
210 * This is a covenient method for getting strongly typed objects out of the row.
110e3ac1b7d2 Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
211 * It has to be ensured, that the type of the requested row position has been resolved out of the ColumnDefinition ({@link ResultSet#getColumnDefinitions()}).
110e3ac1b7d2 Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
212 * In fact, this method executes a simple cast to the desired type.
110e3ac1b7d2 Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
213 *
110e3ac1b7d2 Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
214 * @param pPos the position of the object to be resolved.
110e3ac1b7d2 Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
215 * @return a strongly typed Float
110e3ac1b7d2 Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
216 * @throws TechnicalException
110e3ac1b7d2 Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
217 * @see #getValue(int)
110e3ac1b7d2 Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
218 */
110e3ac1b7d2 Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
219 public Float getFloatValue(int pPos) throws TechnicalException {
110e3ac1b7d2 Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
220 try {
110e3ac1b7d2 Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
221 return (Float) getValue(pPos);
110e3ac1b7d2 Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
222 } catch (ClassCastException e) {
110e3ac1b7d2 Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
223 throw new TechnicalException("Could not cast this value to the Float Type. Object is of value type: " + getValue(pPos).getClass().getName());
110e3ac1b7d2 Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
224 }
110e3ac1b7d2 Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
225 }
110e3ac1b7d2 Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
226 /**
110e3ac1b7d2 Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
227 * This is a covenient method for getting strongly typed objects out of the row.
110e3ac1b7d2 Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
228 * It has to be ensured, that the type of the requested row position has been resolved out of the ColumnDefinition ({@link ResultSet#getColumnDefinitions()}).
110e3ac1b7d2 Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
229 * In fact, this method executes a simple cast to the desired type.
110e3ac1b7d2 Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
230 *
110e3ac1b7d2 Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
231 * @param pPos the position of the object to be resolved.
110e3ac1b7d2 Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
232 * @return a strongly typed Float
110e3ac1b7d2 Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
233 * @throws TechnicalException
110e3ac1b7d2 Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
234 * @see #getValue(int)
110e3ac1b7d2 Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
235 */
110e3ac1b7d2 Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
236 public String getPosValue(int pPos)throws TechnicalException{
268
71b2f263f036 Add WKT-Syntaxt to Shape ReturnValue
Tim Englich <tim.englich@intevation.de>
parents: 263
diff changeset
237 SeShape val;
71b2f263f036 Add WKT-Syntaxt to Shape ReturnValue
Tim Englich <tim.englich@intevation.de>
parents: 263
diff changeset
238 ArrayList aList;
71b2f263f036 Add WKT-Syntaxt to Shape ReturnValue
Tim Englich <tim.englich@intevation.de>
parents: 263
diff changeset
239 SDEPoint mPoint[];
71b2f263f036 Add WKT-Syntaxt to Shape ReturnValue
Tim Englich <tim.englich@intevation.de>
parents: 263
diff changeset
240 StringBuffer returnValue = new StringBuffer();
71b2f263f036 Add WKT-Syntaxt to Shape ReturnValue
Tim Englich <tim.englich@intevation.de>
parents: 263
diff changeset
241 synchronized (returnValue) {
71b2f263f036 Add WKT-Syntaxt to Shape ReturnValue
Tim Englich <tim.englich@intevation.de>
parents: 263
diff changeset
242 try {
71b2f263f036 Add WKT-Syntaxt to Shape ReturnValue
Tim Englich <tim.englich@intevation.de>
parents: 263
diff changeset
243 val = (SeShape) this.mObjects[pPos];
71b2f263f036 Add WKT-Syntaxt to Shape ReturnValue
Tim Englich <tim.englich@intevation.de>
parents: 263
diff changeset
244 aList = val.getAllPoints(0,false);
71b2f263f036 Add WKT-Syntaxt to Shape ReturnValue
Tim Englich <tim.englich@intevation.de>
parents: 263
diff changeset
245 mPoint = (SDEPoint[])aList.get(0);
273
69ddef25e822 Polygon and 3D Support was added to the WKT-Representation.
Tim Englich <tim.englich@intevation.de>
parents: 268
diff changeset
246 if (val.isPoint()){
69ddef25e822 Polygon and 3D Support was added to the WKT-Representation.
Tim Englich <tim.englich@intevation.de>
parents: 268
diff changeset
247 returnValue.append("POINT(")
69ddef25e822 Polygon and 3D Support was added to the WKT-Representation.
Tim Englich <tim.englich@intevation.de>
parents: 268
diff changeset
248 .append(mPoint[0].getX())
69ddef25e822 Polygon and 3D Support was added to the WKT-Representation.
Tim Englich <tim.englich@intevation.de>
parents: 268
diff changeset
249 .append(" ")
275
9063c5fcebf7 Added the possibility to use Innerselects in SpatialQueries
Tim Englich <tim.englich@intevation.de>
parents: 273
diff changeset
250 .append(mPoint[0].getY());
9063c5fcebf7 Added the possibility to use Innerselects in SpatialQueries
Tim Englich <tim.englich@intevation.de>
parents: 273
diff changeset
251 if (mPoint[0].is3D()){
9063c5fcebf7 Added the possibility to use Innerselects in SpatialQueries
Tim Englich <tim.englich@intevation.de>
parents: 273
diff changeset
252 returnValue.append(" ")
9063c5fcebf7 Added the possibility to use Innerselects in SpatialQueries
Tim Englich <tim.englich@intevation.de>
parents: 273
diff changeset
253 .append(mPoint[0].getZ());
9063c5fcebf7 Added the possibility to use Innerselects in SpatialQueries
Tim Englich <tim.englich@intevation.de>
parents: 273
diff changeset
254 }
9063c5fcebf7 Added the possibility to use Innerselects in SpatialQueries
Tim Englich <tim.englich@intevation.de>
parents: 273
diff changeset
255 returnValue.append(")");
273
69ddef25e822 Polygon and 3D Support was added to the WKT-Representation.
Tim Englich <tim.englich@intevation.de>
parents: 268
diff changeset
256 }else if (val.isLine()){
268
71b2f263f036 Add WKT-Syntaxt to Shape ReturnValue
Tim Englich <tim.englich@intevation.de>
parents: 263
diff changeset
257 returnValue.append("LINESTRING(");
71b2f263f036 Add WKT-Syntaxt to Shape ReturnValue
Tim Englich <tim.englich@intevation.de>
parents: 263
diff changeset
258 for (int i = 0; i< mPoint.length;i++){
273
69ddef25e822 Polygon and 3D Support was added to the WKT-Representation.
Tim Englich <tim.englich@intevation.de>
parents: 268
diff changeset
259 returnValue.append(mPoint[i].getX())
69ddef25e822 Polygon and 3D Support was added to the WKT-Representation.
Tim Englich <tim.englich@intevation.de>
parents: 268
diff changeset
260 .append(" ")
275
9063c5fcebf7 Added the possibility to use Innerselects in SpatialQueries
Tim Englich <tim.englich@intevation.de>
parents: 273
diff changeset
261 .append(mPoint[i].getY());
9063c5fcebf7 Added the possibility to use Innerselects in SpatialQueries
Tim Englich <tim.englich@intevation.de>
parents: 273
diff changeset
262 if (mPoint[i].is3D()){
9063c5fcebf7 Added the possibility to use Innerselects in SpatialQueries
Tim Englich <tim.englich@intevation.de>
parents: 273
diff changeset
263 returnValue.append(" ")
9063c5fcebf7 Added the possibility to use Innerselects in SpatialQueries
Tim Englich <tim.englich@intevation.de>
parents: 273
diff changeset
264 .append(mPoint[i].getZ());
9063c5fcebf7 Added the possibility to use Innerselects in SpatialQueries
Tim Englich <tim.englich@intevation.de>
parents: 273
diff changeset
265 }
268
71b2f263f036 Add WKT-Syntaxt to Shape ReturnValue
Tim Englich <tim.englich@intevation.de>
parents: 263
diff changeset
266 if (i < mPoint.length-1){
71b2f263f036 Add WKT-Syntaxt to Shape ReturnValue
Tim Englich <tim.englich@intevation.de>
parents: 263
diff changeset
267 returnValue.append(" , ");
71b2f263f036 Add WKT-Syntaxt to Shape ReturnValue
Tim Englich <tim.englich@intevation.de>
parents: 263
diff changeset
268 }
71b2f263f036 Add WKT-Syntaxt to Shape ReturnValue
Tim Englich <tim.englich@intevation.de>
parents: 263
diff changeset
269 }
71b2f263f036 Add WKT-Syntaxt to Shape ReturnValue
Tim Englich <tim.englich@intevation.de>
parents: 263
diff changeset
270 returnValue.append(")");
273
69ddef25e822 Polygon and 3D Support was added to the WKT-Representation.
Tim Englich <tim.englich@intevation.de>
parents: 268
diff changeset
271 } else if (val.isPolygon()){
69ddef25e822 Polygon and 3D Support was added to the WKT-Representation.
Tim Englich <tim.englich@intevation.de>
parents: 268
diff changeset
272 returnValue.append("POLYGON((");
275
9063c5fcebf7 Added the possibility to use Innerselects in SpatialQueries
Tim Englich <tim.englich@intevation.de>
parents: 273
diff changeset
273 int length = mPoint.length;
9063c5fcebf7 Added the possibility to use Innerselects in SpatialQueries
Tim Englich <tim.englich@intevation.de>
parents: 273
diff changeset
274 for (int i = 0; i< length ;i++){
9063c5fcebf7 Added the possibility to use Innerselects in SpatialQueries
Tim Englich <tim.englich@intevation.de>
parents: 273
diff changeset
275 SDEPoint p = mPoint[i];
9063c5fcebf7 Added the possibility to use Innerselects in SpatialQueries
Tim Englich <tim.englich@intevation.de>
parents: 273
diff changeset
276 returnValue.append(p.getX())
273
69ddef25e822 Polygon and 3D Support was added to the WKT-Representation.
Tim Englich <tim.englich@intevation.de>
parents: 268
diff changeset
277 .append(" ")
275
9063c5fcebf7 Added the possibility to use Innerselects in SpatialQueries
Tim Englich <tim.englich@intevation.de>
parents: 273
diff changeset
278 .append(p.getY());
9063c5fcebf7 Added the possibility to use Innerselects in SpatialQueries
Tim Englich <tim.englich@intevation.de>
parents: 273
diff changeset
279 if (p.is3D()){
9063c5fcebf7 Added the possibility to use Innerselects in SpatialQueries
Tim Englich <tim.englich@intevation.de>
parents: 273
diff changeset
280 returnValue.append(" ")
9063c5fcebf7 Added the possibility to use Innerselects in SpatialQueries
Tim Englich <tim.englich@intevation.de>
parents: 273
diff changeset
281 .append(p.getZ());
9063c5fcebf7 Added the possibility to use Innerselects in SpatialQueries
Tim Englich <tim.englich@intevation.de>
parents: 273
diff changeset
282 }
9063c5fcebf7 Added the possibility to use Innerselects in SpatialQueries
Tim Englich <tim.englich@intevation.de>
parents: 273
diff changeset
283 if (i < length-1){
9063c5fcebf7 Added the possibility to use Innerselects in SpatialQueries
Tim Englich <tim.englich@intevation.de>
parents: 273
diff changeset
284 returnValue.append(" , ");
9063c5fcebf7 Added the possibility to use Innerselects in SpatialQueries
Tim Englich <tim.englich@intevation.de>
parents: 273
diff changeset
285 }
273
69ddef25e822 Polygon and 3D Support was added to the WKT-Representation.
Tim Englich <tim.englich@intevation.de>
parents: 268
diff changeset
286 }
69ddef25e822 Polygon and 3D Support was added to the WKT-Representation.
Tim Englich <tim.englich@intevation.de>
parents: 268
diff changeset
287 returnValue.append(")");
69ddef25e822 Polygon and 3D Support was added to the WKT-Representation.
Tim Englich <tim.englich@intevation.de>
parents: 268
diff changeset
288 // TODO Wie werden innere Ringe unterst�tzt.
69ddef25e822 Polygon and 3D Support was added to the WKT-Representation.
Tim Englich <tim.englich@intevation.de>
parents: 268
diff changeset
289 // for (int i =1 ; i < aList.size(); i++){
69ddef25e822 Polygon and 3D Support was added to the WKT-Representation.
Tim Englich <tim.englich@intevation.de>
parents: 268
diff changeset
290 // returnValue.append("(");
69ddef25e822 Polygon and 3D Support was added to the WKT-Representation.
Tim Englich <tim.englich@intevation.de>
parents: 268
diff changeset
291 // mPoint = (SDEPoint[])aList.get(i);
69ddef25e822 Polygon and 3D Support was added to the WKT-Representation.
Tim Englich <tim.englich@intevation.de>
parents: 268
diff changeset
292 // for (int j = 0; j < mPoint.length;j++){
69ddef25e822 Polygon and 3D Support was added to the WKT-Representation.
Tim Englich <tim.englich@intevation.de>
parents: 268
diff changeset
293 // returnValue.append(mPoint[j].getX())
69ddef25e822 Polygon and 3D Support was added to the WKT-Representation.
Tim Englich <tim.englich@intevation.de>
parents: 268
diff changeset
294 // .append(" ")
69ddef25e822 Polygon and 3D Support was added to the WKT-Representation.
Tim Englich <tim.englich@intevation.de>
parents: 268
diff changeset
295 // .append(mPoint[j].getY())
69ddef25e822 Polygon and 3D Support was added to the WKT-Representation.
Tim Englich <tim.englich@intevation.de>
parents: 268
diff changeset
296 // .append(" ")
69ddef25e822 Polygon and 3D Support was added to the WKT-Representation.
Tim Englich <tim.englich@intevation.de>
parents: 268
diff changeset
297 // .append(mPoint[i].getZ());
69ddef25e822 Polygon and 3D Support was added to the WKT-Representation.
Tim Englich <tim.englich@intevation.de>
parents: 268
diff changeset
298 // if (i < mPoint.length-1){
69ddef25e822 Polygon and 3D Support was added to the WKT-Representation.
Tim Englich <tim.englich@intevation.de>
parents: 268
diff changeset
299 // returnValue.append(" , ");
69ddef25e822 Polygon and 3D Support was added to the WKT-Representation.
Tim Englich <tim.englich@intevation.de>
parents: 268
diff changeset
300 // }
69ddef25e822 Polygon and 3D Support was added to the WKT-Representation.
Tim Englich <tim.englich@intevation.de>
parents: 268
diff changeset
301 // }
69ddef25e822 Polygon and 3D Support was added to the WKT-Representation.
Tim Englich <tim.englich@intevation.de>
parents: 268
diff changeset
302 // returnValue.append(")");
69ddef25e822 Polygon and 3D Support was added to the WKT-Representation.
Tim Englich <tim.englich@intevation.de>
parents: 268
diff changeset
303 // }
69ddef25e822 Polygon and 3D Support was added to the WKT-Representation.
Tim Englich <tim.englich@intevation.de>
parents: 268
diff changeset
304 returnValue.append(")");
268
71b2f263f036 Add WKT-Syntaxt to Shape ReturnValue
Tim Englich <tim.englich@intevation.de>
parents: 263
diff changeset
305 }
71b2f263f036 Add WKT-Syntaxt to Shape ReturnValue
Tim Englich <tim.englich@intevation.de>
parents: 263
diff changeset
306 } catch (SeException e) {
71b2f263f036 Add WKT-Syntaxt to Shape ReturnValue
Tim Englich <tim.englich@intevation.de>
parents: 263
diff changeset
307 throw new TechnicalException("Could not cast this value to the Float Type. Object is of value type: " + getValue(pPos).getClass().getName());
71b2f263f036 Add WKT-Syntaxt to Shape ReturnValue
Tim Englich <tim.englich@intevation.de>
parents: 263
diff changeset
308 }
129
110e3ac1b7d2 Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
309 }
268
71b2f263f036 Add WKT-Syntaxt to Shape ReturnValue
Tim Englich <tim.englich@intevation.de>
parents: 263
diff changeset
310 return returnValue.toString();
129
110e3ac1b7d2 Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
311 }
110e3ac1b7d2 Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
312 }

http://dive4elements.wald.intevation.org