Mercurial > dive4elements > gnv-client
annotate geo-backend/src/main/java/de/intevation/gnv/geobackend/sde/datasources/Row.java @ 888:65dd801fbee6
Added package description with text 'DOCUMENT ME!'.
geo-backend/trunk@862 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Sascha L. Teichmann <sascha.teichmann@intevation.de> |
---|---|
date | Mon, 29 Mar 2010 10:37:04 +0000 |
parents | b757def3ff55 |
children | d674cef2ca0d |
rev | line source |
---|---|
129
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
1 package de.intevation.gnv.geobackend.sde.datasources; |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
2 |
886
8b442223741c
Ordered imports. Removed empty headers.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
884
diff
changeset
|
3 import com.esri.sde.sdk.client.SDEPoint; |
8b442223741c
Ordered imports. Removed empty headers.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
884
diff
changeset
|
4 import com.esri.sde.sdk.client.SeException; |
8b442223741c
Ordered imports. Removed empty headers.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
884
diff
changeset
|
5 import com.esri.sde.sdk.client.SeShape; |
8b442223741c
Ordered imports. Removed empty headers.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
884
diff
changeset
|
6 |
8b442223741c
Ordered imports. Removed empty headers.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
884
diff
changeset
|
7 import de.intevation.gnv.geobackend.sde.datasources.exception.TechnicalException; |
8b442223741c
Ordered imports. Removed empty headers.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
884
diff
changeset
|
8 |
8b442223741c
Ordered imports. Removed empty headers.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
884
diff
changeset
|
9 import de.intevation.gnv.geobackend.util.DateUtils; |
8b442223741c
Ordered imports. Removed empty headers.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
884
diff
changeset
|
10 |
129
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
11 import java.util.ArrayList; |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
12 import java.util.Calendar; |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
13 import java.util.Date; |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
14 |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
15 import org.apache.log4j.Logger; |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
16 |
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 * A Row represents a set of values. |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
19 * 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
|
20 * |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
21 * @author blume |
887
b757def3ff55
Bring @author javadoc tags in form '@author <a href="john.doe@example.com">John Doe</a>'
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
886
diff
changeset
|
22 * @author <a href="mailto:tim.englich@intevation.de">Tim Englich</a> |
129
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 public class Row { |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
25 /** |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
26 * Default Logging instance |
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 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
|
29 |
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 * Data container. |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
32 */ |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
33 private Object[] mObjects; |
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 /** |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
36 * Constructor. |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
37 * @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
|
38 */ |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
39 public Row(int pRowSize) { |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
40 mObjects = new Object[pRowSize]; |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
41 } |
884
12f88239fb33
Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents:
878
diff
changeset
|
42 |
129
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 * Constructor. |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
45 * @param ArrayStr a line from CSV-File. |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
46 */ |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
47 public Row (String[] ArrayStr){ |
884
12f88239fb33
Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents:
878
diff
changeset
|
48 this (ArrayStr.length); |
12f88239fb33
Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents:
878
diff
changeset
|
49 int nLength = ArrayStr.length; |
12f88239fb33
Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents:
878
diff
changeset
|
50 for (int i=0; i < nLength; i++){ |
12f88239fb33
Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents:
878
diff
changeset
|
51 addObject(ArrayStr[i], i); |
12f88239fb33
Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents:
878
diff
changeset
|
52 |
12f88239fb33
Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents:
878
diff
changeset
|
53 } |
12f88239fb33
Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents:
878
diff
changeset
|
54 |
129
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
55 } |
884
12f88239fb33
Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents:
878
diff
changeset
|
56 |
129
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 * 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
|
59 * |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
60 * @param pObject the object to be stored. |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
61 * @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
|
62 */ |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
63 public void addObject(Object pObject, int pPos) { |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
64 mObjects[pPos] = pObject; |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
65 } |
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 /** |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
68 * Returns a Value out of the Row. |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
69 * |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
70 * @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
|
71 * @return an Object! (not strongly typed) |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
72 * @throws TechnicalException |
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 public Object getValue(int pPos) throws TechnicalException { |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
75 if (pPos < mObjects.length) { |
263
031ef9649cd1
Added SFS-Support to ArcSDE-Query-Part
Tim Englich <tim.englich@intevation.de>
parents:
129
diff
changeset
|
76 |
031ef9649cd1
Added SFS-Support to ArcSDE-Query-Part
Tim Englich <tim.englich@intevation.de>
parents:
129
diff
changeset
|
77 Object o = mObjects[pPos]; |
031ef9649cd1
Added SFS-Support to ArcSDE-Query-Part
Tim Englich <tim.englich@intevation.de>
parents:
129
diff
changeset
|
78 if (o instanceof SeShape){ |
031ef9649cd1
Added SFS-Support to ArcSDE-Query-Part
Tim Englich <tim.englich@intevation.de>
parents:
129
diff
changeset
|
79 return this.getPosValue(pPos); |
031ef9649cd1
Added SFS-Support to ArcSDE-Query-Part
Tim Englich <tim.englich@intevation.de>
parents:
129
diff
changeset
|
80 }else{ |
031ef9649cd1
Added SFS-Support to ArcSDE-Query-Part
Tim Englich <tim.englich@intevation.de>
parents:
129
diff
changeset
|
81 return o; |
031ef9649cd1
Added SFS-Support to ArcSDE-Query-Part
Tim Englich <tim.englich@intevation.de>
parents:
129
diff
changeset
|
82 } |
129
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
83 } else { |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
84 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
|
85 } |
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 * 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
|
90 * 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
|
91 * 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
|
92 * |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
93 * @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
|
94 * @return a strongly typed Date |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
95 * @throws TechnicalException |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
96 * @see #getValue(int) |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
97 */ |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
98 public Date getDateValue(int pPos) throws TechnicalException { |
884
12f88239fb33
Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents:
878
diff
changeset
|
99 Date date = null; |
129
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
100 try { |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
101 Calendar lCalendar = (Calendar) getValue(pPos); |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
102 date = lCalendar.getTime(); |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
103 } |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
104 catch (ClassCastException e) { |
884
12f88239fb33
Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents:
878
diff
changeset
|
105 try{ |
12f88239fb33
Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents:
878
diff
changeset
|
106 //SimpleDateFormat formatter = new SimpleDateFormat("dd-MMM-yyyy HH:mm:ss"); |
12f88239fb33
Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents:
878
diff
changeset
|
107 date = DateUtils.getDateFromString ((String)getValue(pPos)); //(Date)formatter.parse((String)getValue(pPos)); |
12f88239fb33
Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents:
878
diff
changeset
|
108 |
12f88239fb33
Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents:
878
diff
changeset
|
109 |
12f88239fb33
Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents:
878
diff
changeset
|
110 } |
12f88239fb33
Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents:
878
diff
changeset
|
111 catch (Exception ex){ |
12f88239fb33
Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents:
878
diff
changeset
|
112 sLogger.error(getValue(pPos) + " " + ex.getMessage(), ex); |
12f88239fb33
Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents:
878
diff
changeset
|
113 throw new TechnicalException("Could not cast this value to the Date Type. Object is of value type: " + getValue(pPos).getClass().getName()); |
12f88239fb33
Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents:
878
diff
changeset
|
114 } |
12f88239fb33
Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents:
878
diff
changeset
|
115 } |
129
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
116 |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
117 return date; |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
118 } |
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 /** |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
121 * 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
|
122 * 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
|
123 * 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
|
124 * |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
125 * @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
|
126 * @return a strongly typed String |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
127 * @throws TechnicalException |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
128 * @see #getValue(int) |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
129 */ |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
130 public String getStringValue(int pPos) throws TechnicalException { |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
131 try { |
263
031ef9649cd1
Added SFS-Support to ArcSDE-Query-Part
Tim Englich <tim.englich@intevation.de>
parents:
129
diff
changeset
|
132 Object o = this.getValue(pPos); |
031ef9649cd1
Added SFS-Support to ArcSDE-Query-Part
Tim Englich <tim.englich@intevation.de>
parents:
129
diff
changeset
|
133 String returnValue = null; |
031ef9649cd1
Added SFS-Support to ArcSDE-Query-Part
Tim Englich <tim.englich@intevation.de>
parents:
129
diff
changeset
|
134 if (o instanceof SeShape){ |
031ef9649cd1
Added SFS-Support to ArcSDE-Query-Part
Tim Englich <tim.englich@intevation.de>
parents:
129
diff
changeset
|
135 returnValue = this.getPosValue(pPos); |
031ef9649cd1
Added SFS-Support to ArcSDE-Query-Part
Tim Englich <tim.englich@intevation.de>
parents:
129
diff
changeset
|
136 }else{ |
031ef9649cd1
Added SFS-Support to ArcSDE-Query-Part
Tim Englich <tim.englich@intevation.de>
parents:
129
diff
changeset
|
137 returnValue = (String)o; |
031ef9649cd1
Added SFS-Support to ArcSDE-Query-Part
Tim Englich <tim.englich@intevation.de>
parents:
129
diff
changeset
|
138 } |
031ef9649cd1
Added SFS-Support to ArcSDE-Query-Part
Tim Englich <tim.englich@intevation.de>
parents:
129
diff
changeset
|
139 return returnValue; |
129
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
140 } catch (ClassCastException e) { |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
141 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
|
142 } |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
143 } |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
144 |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
145 /** |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
146 * 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
|
147 * 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
|
148 * 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
|
149 * |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
150 * @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
|
151 * @throws TechnicalException |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
152 * @see #getValue(int) |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
153 * * @return a strongly typed int |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
154 */ |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
155 public int getIntValue(int pPos) throws TechnicalException { |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
156 try { |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
157 return (Integer) getValue(pPos); |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
158 } catch (ClassCastException e) { |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
159 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
|
160 } |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
161 } |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
162 |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
163 /** |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
164 * 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
|
165 * 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
|
166 * 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
|
167 * |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
168 * @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
|
169 * @throws TechnicalException |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
170 * @see #getValue(int) |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
171 * * @return a strongly typed Double |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
172 */ |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
173 public Double getDoubleValue(int pPos) throws TechnicalException { |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
174 try { |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
175 return (Double) getValue(pPos); |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
176 } catch (ClassCastException e) { |
884
12f88239fb33
Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents:
878
diff
changeset
|
177 try{ |
12f88239fb33
Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents:
878
diff
changeset
|
178 return new Double ((String)getValue(pPos)); |
12f88239fb33
Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents:
878
diff
changeset
|
179 } |
12f88239fb33
Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents:
878
diff
changeset
|
180 catch(Exception ex){ |
12f88239fb33
Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents:
878
diff
changeset
|
181 sLogger.error(getValue(pPos) + " " + ex.getMessage(), ex); |
12f88239fb33
Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents:
878
diff
changeset
|
182 throw new TechnicalException("Could not cast this value to the Double Type. Object is of value type: " + getValue(pPos).getClass().getName()); |
12f88239fb33
Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents:
878
diff
changeset
|
183 } |
129
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 |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
187 /** |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
188 * 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
|
189 * 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
|
190 * 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
|
191 * |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
192 * @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
|
193 * @return a strongly typed Float |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
194 * @throws TechnicalException |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
195 * @see #getValue(int) |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
196 */ |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
197 public Float getFloatValue(int pPos) throws TechnicalException { |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
198 try { |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
199 return (Float) getValue(pPos); |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
200 } catch (ClassCastException e) { |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
201 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
|
202 } |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
203 } |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
204 /** |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
205 * 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
|
206 * 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
|
207 * 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
|
208 * |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
209 * @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
|
210 * @return a strongly typed Float |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
211 * @throws TechnicalException |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
212 * @see #getValue(int) |
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 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
|
215 StringBuffer returnValue = new StringBuffer(); |
71b2f263f036
Add WKT-Syntaxt to Shape ReturnValue
Tim Englich <tim.englich@intevation.de>
parents:
263
diff
changeset
|
216 synchronized (returnValue) { |
71b2f263f036
Add WKT-Syntaxt to Shape ReturnValue
Tim Englich <tim.englich@intevation.de>
parents:
263
diff
changeset
|
217 try { |
876
3d0c06f99686
Switched to using asText(...)-Function of SeShapes-Objects for generating an WKT-String for Polygons.
Tim Englich <tim.englich@intevation.de>
parents:
661
diff
changeset
|
218 SeShape val = (SeShape) this.mObjects[pPos]; |
273
69ddef25e822
Polygon and 3D Support was added to the WKT-Representation.
Tim Englich <tim.englich@intevation.de>
parents:
268
diff
changeset
|
219 if (val.isPoint()){ |
876
3d0c06f99686
Switched to using asText(...)-Function of SeShapes-Objects for generating an WKT-String for Polygons.
Tim Englich <tim.englich@intevation.de>
parents:
661
diff
changeset
|
220 // Cannot use val.asText() because the |
3d0c06f99686
Switched to using asText(...)-Function of SeShapes-Objects for generating an WKT-String for Polygons.
Tim Englich <tim.englich@intevation.de>
parents:
661
diff
changeset
|
221 // generated WKT is invalid. |
3d0c06f99686
Switched to using asText(...)-Function of SeShapes-Objects for generating an WKT-String for Polygons.
Tim Englich <tim.englich@intevation.de>
parents:
661
diff
changeset
|
222 ArrayList aList = val.getAllPoints(0,false); |
3d0c06f99686
Switched to using asText(...)-Function of SeShapes-Objects for generating an WKT-String for Polygons.
Tim Englich <tim.englich@intevation.de>
parents:
661
diff
changeset
|
223 SDEPoint[] 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
|
224 returnValue.append("POINT(") |
69ddef25e822
Polygon and 3D Support was added to the WKT-Representation.
Tim Englich <tim.englich@intevation.de>
parents:
268
diff
changeset
|
225 .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
|
226 .append(" ") |
275
9063c5fcebf7
Added the possibility to use Innerselects in SpatialQueries
Tim Englich <tim.englich@intevation.de>
parents:
273
diff
changeset
|
227 .append(mPoint[0].getY()); |
876
3d0c06f99686
Switched to using asText(...)-Function of SeShapes-Objects for generating an WKT-String for Polygons.
Tim Englich <tim.englich@intevation.de>
parents:
661
diff
changeset
|
228 if (mPoint[0].is3D()){ |
3d0c06f99686
Switched to using asText(...)-Function of SeShapes-Objects for generating an WKT-String for Polygons.
Tim Englich <tim.englich@intevation.de>
parents:
661
diff
changeset
|
229 returnValue.append(" ").append(mPoint[0].getZ()); |
3d0c06f99686
Switched to using asText(...)-Function of SeShapes-Objects for generating an WKT-String for Polygons.
Tim Englich <tim.englich@intevation.de>
parents:
661
diff
changeset
|
230 } |
3d0c06f99686
Switched to using asText(...)-Function of SeShapes-Objects for generating an WKT-String for Polygons.
Tim Englich <tim.englich@intevation.de>
parents:
661
diff
changeset
|
231 returnValue.append(")"); |
660
b4c7de93d5e8
Added Suport for the Geometrytyp SimpleLine.
Tim Englich <tim.englich@intevation.de>
parents:
546
diff
changeset
|
232 }else if (val.isLine() || val.isSimpleLine()){ |
876
3d0c06f99686
Switched to using asText(...)-Function of SeShapes-Objects for generating an WKT-String for Polygons.
Tim Englich <tim.englich@intevation.de>
parents:
661
diff
changeset
|
233 // Cannot use val.asText() because the |
3d0c06f99686
Switched to using asText(...)-Function of SeShapes-Objects for generating an WKT-String for Polygons.
Tim Englich <tim.englich@intevation.de>
parents:
661
diff
changeset
|
234 // generated WKT is invalid. |
3d0c06f99686
Switched to using asText(...)-Function of SeShapes-Objects for generating an WKT-String for Polygons.
Tim Englich <tim.englich@intevation.de>
parents:
661
diff
changeset
|
235 ArrayList aList = val.getAllPoints(0,false); |
3d0c06f99686
Switched to using asText(...)-Function of SeShapes-Objects for generating an WKT-String for Polygons.
Tim Englich <tim.englich@intevation.de>
parents:
661
diff
changeset
|
236 SDEPoint[] mPoint = (SDEPoint[])aList.get(0); |
878
203f95af5b2c
Added support for MultiLineString-Geometries.
Tim Englich <tim.englich@intevation.de>
parents:
876
diff
changeset
|
237 boolean isMultiLineString = val.isMultiPart(); |
203f95af5b2c
Added support for MultiLineString-Geometries.
Tim Englich <tim.englich@intevation.de>
parents:
876
diff
changeset
|
238 int length = mPoint.length; |
203f95af5b2c
Added support for MultiLineString-Geometries.
Tim Englich <tim.englich@intevation.de>
parents:
876
diff
changeset
|
239 int nextOffset = length; |
203f95af5b2c
Added support for MultiLineString-Geometries.
Tim Englich <tim.englich@intevation.de>
parents:
876
diff
changeset
|
240 int[] offsets = (int[])aList.get(1); |
203f95af5b2c
Added support for MultiLineString-Geometries.
Tim Englich <tim.englich@intevation.de>
parents:
876
diff
changeset
|
241 int offsetPos = 1; |
203f95af5b2c
Added support for MultiLineString-Geometries.
Tim Englich <tim.englich@intevation.de>
parents:
876
diff
changeset
|
242 |
203f95af5b2c
Added support for MultiLineString-Geometries.
Tim Englich <tim.englich@intevation.de>
parents:
876
diff
changeset
|
243 if(isMultiLineString){ |
203f95af5b2c
Added support for MultiLineString-Geometries.
Tim Englich <tim.englich@intevation.de>
parents:
876
diff
changeset
|
244 returnValue.append("MULTILINESTRING(("); |
203f95af5b2c
Added support for MultiLineString-Geometries.
Tim Englich <tim.englich@intevation.de>
parents:
876
diff
changeset
|
245 nextOffset = offsets.length-1 >= offsetPos ? offsets[offsetPos++] : length; |
203f95af5b2c
Added support for MultiLineString-Geometries.
Tim Englich <tim.englich@intevation.de>
parents:
876
diff
changeset
|
246 }else{ |
203f95af5b2c
Added support for MultiLineString-Geometries.
Tim Englich <tim.englich@intevation.de>
parents:
876
diff
changeset
|
247 returnValue.append("LINESTRING("); |
203f95af5b2c
Added support for MultiLineString-Geometries.
Tim Englich <tim.englich@intevation.de>
parents:
876
diff
changeset
|
248 } |
203f95af5b2c
Added support for MultiLineString-Geometries.
Tim Englich <tim.englich@intevation.de>
parents:
876
diff
changeset
|
249 |
203f95af5b2c
Added support for MultiLineString-Geometries.
Tim Englich <tim.englich@intevation.de>
parents:
876
diff
changeset
|
250 for (int i = 0; i< length;i++){ |
203f95af5b2c
Added support for MultiLineString-Geometries.
Tim Englich <tim.englich@intevation.de>
parents:
876
diff
changeset
|
251 |
203f95af5b2c
Added support for MultiLineString-Geometries.
Tim Englich <tim.englich@intevation.de>
parents:
876
diff
changeset
|
252 if (i == nextOffset){ |
203f95af5b2c
Added support for MultiLineString-Geometries.
Tim Englich <tim.englich@intevation.de>
parents:
876
diff
changeset
|
253 returnValue.append("),("); |
203f95af5b2c
Added support for MultiLineString-Geometries.
Tim Englich <tim.englich@intevation.de>
parents:
876
diff
changeset
|
254 nextOffset = offsets.length-1 >= offsetPos ? offsets[offsetPos++] : length; |
203f95af5b2c
Added support for MultiLineString-Geometries.
Tim Englich <tim.englich@intevation.de>
parents:
876
diff
changeset
|
255 } |
203f95af5b2c
Added support for MultiLineString-Geometries.
Tim Englich <tim.englich@intevation.de>
parents:
876
diff
changeset
|
256 |
273
69ddef25e822
Polygon and 3D Support was added to the WKT-Representation.
Tim Englich <tim.englich@intevation.de>
parents:
268
diff
changeset
|
257 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
|
258 .append(" ") |
275
9063c5fcebf7
Added the possibility to use Innerselects in SpatialQueries
Tim Englich <tim.englich@intevation.de>
parents:
273
diff
changeset
|
259 .append(mPoint[i].getY()); |
876
3d0c06f99686
Switched to using asText(...)-Function of SeShapes-Objects for generating an WKT-String for Polygons.
Tim Englich <tim.englich@intevation.de>
parents:
661
diff
changeset
|
260 if (mPoint[i].is3D()){ |
3d0c06f99686
Switched to using asText(...)-Function of SeShapes-Objects for generating an WKT-String for Polygons.
Tim Englich <tim.englich@intevation.de>
parents:
661
diff
changeset
|
261 returnValue.append(" ").append(mPoint[i].getZ()); |
3d0c06f99686
Switched to using asText(...)-Function of SeShapes-Objects for generating an WKT-String for Polygons.
Tim Englich <tim.englich@intevation.de>
parents:
661
diff
changeset
|
262 } |
878
203f95af5b2c
Added support for MultiLineString-Geometries.
Tim Englich <tim.englich@intevation.de>
parents:
876
diff
changeset
|
263 if (i < length-1 && i < nextOffset -1){ |
268
71b2f263f036
Add WKT-Syntaxt to Shape ReturnValue
Tim Englich <tim.englich@intevation.de>
parents:
263
diff
changeset
|
264 returnValue.append(" , "); |
71b2f263f036
Add WKT-Syntaxt to Shape ReturnValue
Tim Englich <tim.englich@intevation.de>
parents:
263
diff
changeset
|
265 } |
71b2f263f036
Add WKT-Syntaxt to Shape ReturnValue
Tim Englich <tim.englich@intevation.de>
parents:
263
diff
changeset
|
266 } |
884
12f88239fb33
Updated Javadocs to the Listed Classes.
Tim Englich <tim.englich@intevation.de>
parents:
878
diff
changeset
|
267 |
878
203f95af5b2c
Added support for MultiLineString-Geometries.
Tim Englich <tim.englich@intevation.de>
parents:
876
diff
changeset
|
268 if(isMultiLineString){ |
203f95af5b2c
Added support for MultiLineString-Geometries.
Tim Englich <tim.englich@intevation.de>
parents:
876
diff
changeset
|
269 returnValue.append("))"); |
203f95af5b2c
Added support for MultiLineString-Geometries.
Tim Englich <tim.englich@intevation.de>
parents:
876
diff
changeset
|
270 }else{ |
203f95af5b2c
Added support for MultiLineString-Geometries.
Tim Englich <tim.englich@intevation.de>
parents:
876
diff
changeset
|
271 returnValue.append(")"); |
203f95af5b2c
Added support for MultiLineString-Geometries.
Tim Englich <tim.englich@intevation.de>
parents:
876
diff
changeset
|
272 } |
203f95af5b2c
Added support for MultiLineString-Geometries.
Tim Englich <tim.englich@intevation.de>
parents:
876
diff
changeset
|
273 |
876
3d0c06f99686
Switched to using asText(...)-Function of SeShapes-Objects for generating an WKT-String for Polygons.
Tim Englich <tim.englich@intevation.de>
parents:
661
diff
changeset
|
274 } else{ |
3d0c06f99686
Switched to using asText(...)-Function of SeShapes-Objects for generating an WKT-String for Polygons.
Tim Englich <tim.englich@intevation.de>
parents:
661
diff
changeset
|
275 returnValue.append(val.asText(val.getTextSize())); |
268
71b2f263f036
Add WKT-Syntaxt to Shape ReturnValue
Tim Englich <tim.englich@intevation.de>
parents:
263
diff
changeset
|
276 } |
71b2f263f036
Add WKT-Syntaxt to Shape ReturnValue
Tim Englich <tim.englich@intevation.de>
parents:
263
diff
changeset
|
277 } catch (SeException e) { |
876
3d0c06f99686
Switched to using asText(...)-Function of SeShapes-Objects for generating an WKT-String for Polygons.
Tim Englich <tim.englich@intevation.de>
parents:
661
diff
changeset
|
278 throw new TechnicalException("Could not cast this value to the " + |
3d0c06f99686
Switched to using asText(...)-Function of SeShapes-Objects for generating an WKT-String for Polygons.
Tim Englich <tim.englich@intevation.de>
parents:
661
diff
changeset
|
279 "Float Type. Object is of value " + |
3d0c06f99686
Switched to using asText(...)-Function of SeShapes-Objects for generating an WKT-String for Polygons.
Tim Englich <tim.englich@intevation.de>
parents:
661
diff
changeset
|
280 "type: " + |
3d0c06f99686
Switched to using asText(...)-Function of SeShapes-Objects for generating an WKT-String for Polygons.
Tim Englich <tim.englich@intevation.de>
parents:
661
diff
changeset
|
281 getValue(pPos).getClass().getName()); |
268
71b2f263f036
Add WKT-Syntaxt to Shape ReturnValue
Tim Englich <tim.englich@intevation.de>
parents:
263
diff
changeset
|
282 } |
129
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
283 } |
268
71b2f263f036
Add WKT-Syntaxt to Shape ReturnValue
Tim Englich <tim.englich@intevation.de>
parents:
263
diff
changeset
|
284 return returnValue.toString(); |
129
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
285 } |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
286 } |