Mercurial > dive4elements > gnv-client
annotate geo-backend/src/main/java/de/intevation/gnv/geobackend/sde/datasources/Row.java @ 1127:ebeb56428409
Added license headers and license file.
geo-backend/trunk@1261 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Ingo Weinzierl <ingo.weinzierl@intevation.de> |
---|---|
date | Tue, 02 Nov 2010 17:52:22 +0000 |
parents | 02cd2935b5fa |
children |
rev | line source |
---|---|
1127
ebeb56428409
Added license headers and license file.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
897
diff
changeset
|
1 /* |
ebeb56428409
Added license headers and license file.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
897
diff
changeset
|
2 * Copyright (c) 2010 by Intevation GmbH |
ebeb56428409
Added license headers and license file.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
897
diff
changeset
|
3 * |
ebeb56428409
Added license headers and license file.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
897
diff
changeset
|
4 * This program is free software under the LGPL (>=v2.1) |
ebeb56428409
Added license headers and license file.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
897
diff
changeset
|
5 * Read the file LGPL.txt coming with the software for details |
ebeb56428409
Added license headers and license file.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
897
diff
changeset
|
6 * or visit http://www.gnu.org/licenses/ if it does not exist. |
ebeb56428409
Added license headers and license file.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
897
diff
changeset
|
7 */ |
ebeb56428409
Added license headers and license file.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
897
diff
changeset
|
8 |
894
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
9 package de.intevation.gnv.geobackend.sde.datasources; |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
10 |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
11 import com.esri.sde.sdk.client.SDEPoint; |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
12 import com.esri.sde.sdk.client.SeException; |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
13 import com.esri.sde.sdk.client.SeShape; |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
14 |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
15 import de.intevation.gnv.geobackend.sde.datasources.exception.TechnicalException; |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
16 |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
17 import de.intevation.gnv.geobackend.util.DateUtils; |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
18 |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
19 import java.util.ArrayList; |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
20 import java.util.Calendar; |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
21 import java.util.Date; |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
22 |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
23 import org.apache.log4j.Logger; |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
24 |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
25 /** |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
26 * A Row represents a set of values. |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
27 * In a technical manner (e.g. database manner) a row contains all attributes of a single "hit". |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
28 * |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
29 * @author blume |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
30 * @author <a href="mailto:tim.englich@intevation.de">Tim Englich</a> |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
31 */ |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
32 public class Row { |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
33 /** |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
34 * Default Logging instance |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
35 */ |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
36 private static Logger sLogger = Logger.getLogger(Row.class); |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
37 |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
38 /** |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
39 * Data container. |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
40 */ |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
41 private Object[] mObjects; |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
42 |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
43 /** |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
44 * Constructor. |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
45 * @param pRowSize the number of attributes contained by this row. |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
46 */ |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
47 public Row(int pRowSize) { |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
48 mObjects = new Object[pRowSize]; |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
49 } |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
50 |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
51 /** |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
52 * Constructor. |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
53 * @param ArrayStr a line from CSV-File. |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
54 */ |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
55 public Row (String[] ArrayStr){ |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
56 this (ArrayStr.length); |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
57 int nLength = ArrayStr.length; |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
58 for (int i=0; i < nLength; i++){ |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
59 addObject(ArrayStr[i], i); |
897
02cd2935b5fa
Removed trailing whitespace.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
894
diff
changeset
|
60 |
02cd2935b5fa
Removed trailing whitespace.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
894
diff
changeset
|
61 } |
02cd2935b5fa
Removed trailing whitespace.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
894
diff
changeset
|
62 |
894
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
63 } |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
64 |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
65 /** |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
66 * Adds an attribute value to a specific position of this row. |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
67 * |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
68 * @param pObject the object to be stored. |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
69 * @param pPos the postion the value to be saved |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
70 */ |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
71 public void addObject(Object pObject, int pPos) { |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
72 mObjects[pPos] = pObject; |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
73 } |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
74 |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
75 /** |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
76 * Returns a Value out of the Row. |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
77 * |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
78 * @param pPos the position of the value to be returned. |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
79 * @return an Object! (not strongly typed) |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
80 * @throws TechnicalException |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
81 */ |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
82 public Object getValue(int pPos) throws TechnicalException { |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
83 if (pPos < mObjects.length) { |
897
02cd2935b5fa
Removed trailing whitespace.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
894
diff
changeset
|
84 |
894
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
85 Object o = mObjects[pPos]; |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
86 if (o instanceof SeShape){ |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
87 return this.getPosValue(pPos); |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
88 }else{ |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
89 return o; |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
90 } |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
91 } else { |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
92 throw new TechnicalException("Cannot access this field position. Size is: " + mObjects.length); |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
93 } |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
94 } |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
95 |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
96 /** |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
97 * This is a covenient method for getting strongly typed objects out of the row. |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
98 * It has to be ensured, that the type of the requested row position has been resolved out of the ColumnDefinition ({@link ResultSet#getColumnDefinitions()}). |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
99 * In fact, this method executes a simple cast to the desired type. |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
100 * |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
101 * @param pPos the position of the object to be resolved. |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
102 * @return a strongly typed Date |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
103 * @throws TechnicalException |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
104 * @see #getValue(int) |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
105 */ |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
106 public Date getDateValue(int pPos) throws TechnicalException { |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
107 Date date = null; |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
108 try { |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
109 Calendar lCalendar = (Calendar) getValue(pPos); |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
110 date = lCalendar.getTime(); |
897
02cd2935b5fa
Removed trailing whitespace.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
894
diff
changeset
|
111 } |
894
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
112 catch (ClassCastException e) { |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
113 try{ |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
114 //SimpleDateFormat formatter = new SimpleDateFormat("dd-MMM-yyyy HH:mm:ss"); |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
115 date = DateUtils.getDateFromString ((String)getValue(pPos)); //(Date)formatter.parse((String)getValue(pPos)); |
897
02cd2935b5fa
Removed trailing whitespace.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
894
diff
changeset
|
116 |
02cd2935b5fa
Removed trailing whitespace.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
894
diff
changeset
|
117 |
894
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
118 } |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
119 catch (Exception ex){ |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
120 sLogger.error(getValue(pPos) + " " + ex.getMessage(), ex); |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
121 throw new TechnicalException("Could not cast this value to the Date Type. Object is of value type: " + getValue(pPos).getClass().getName()); |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
122 } |
897
02cd2935b5fa
Removed trailing whitespace.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
894
diff
changeset
|
123 } |
02cd2935b5fa
Removed trailing whitespace.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
894
diff
changeset
|
124 |
894
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
125 return date; |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
126 } |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
127 |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
128 /** |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
129 * This is a covenient method for getting strongly typed objects out of the row. |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
130 * It has to be ensured, that the type of the requested row position has been resolved out of the ColumnDefinition ({@link ResultSet#getColumnDefinitions()}). |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
131 * In fact, this method executes a simple cast to the desired type. |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
132 * |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
133 * @param pPos the position of the object to be resolved. |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
134 * @return a strongly typed String |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
135 * @throws TechnicalException |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
136 * @see #getValue(int) |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
137 */ |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
138 public String getStringValue(int pPos) throws TechnicalException { |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
139 try { |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
140 Object o = this.getValue(pPos); |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
141 String returnValue = null; |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
142 if (o instanceof SeShape){ |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
143 returnValue = this.getPosValue(pPos); |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
144 }else{ |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
145 returnValue = (String)o; |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
146 } |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
147 return returnValue; |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
148 } catch (ClassCastException e) { |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
149 throw new TechnicalException("Could not cast this value to the String Type. Object is of value type: " + getValue(pPos).getClass().getName()); |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
150 } |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
151 } |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
152 |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
153 /** |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
154 * This is a covenient method for getting strongly typed objects out of the row. |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
155 * It has to be ensured, that the type of the requested row position has been resolved out of the ColumnDefinition ({@link ResultSet#getColumnDefinitions()}). |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
156 * In fact, this method executes a simple cast to the desired type. |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
157 * |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
158 * @param pPos the position of the object to be resolved. |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
159 * @throws TechnicalException |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
160 * @see #getValue(int) |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
161 * * @return a strongly typed int |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
162 */ |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
163 public int getIntValue(int pPos) throws TechnicalException { |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
164 try { |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
165 return (Integer) getValue(pPos); |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
166 } catch (ClassCastException e) { |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
167 throw new TechnicalException("Could not cast this value to the Integer Type. Object is of value type: " + getValue(pPos).getClass().getName()); |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
168 } |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
169 } |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
170 |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
171 /** |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
172 * This is a covenient method for getting strongly typed objects out of the row. |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
173 * It has to be ensured, that the type of the requested row position has been resolved out of the ColumnDefinition ({@link ResultSet#getColumnDefinitions()}). |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
174 * In fact, this method executes a simple cast to the desired type. |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
175 * |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
176 * @param pPos the position of the object to be resolved. |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
177 * @throws TechnicalException |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
178 * @see #getValue(int) |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
179 * * @return a strongly typed Double |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
180 */ |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
181 public Double getDoubleValue(int pPos) throws TechnicalException { |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
182 try { |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
183 return (Double) getValue(pPos); |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
184 } catch (ClassCastException e) { |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
185 try{ |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
186 return new Double ((String)getValue(pPos)); |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
187 } |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
188 catch(Exception ex){ |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
189 sLogger.error(getValue(pPos) + " " + ex.getMessage(), ex); |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
190 throw new TechnicalException("Could not cast this value to the Double Type. Object is of value type: " + getValue(pPos).getClass().getName()); |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
191 } |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
192 } |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
193 } |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
194 |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
195 /** |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
196 * This is a covenient method for getting strongly typed objects out of the row. |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
197 * It has to be ensured, that the type of the requested row position has been resolved out of the ColumnDefinition ({@link ResultSet#getColumnDefinitions()}). |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
198 * In fact, this method executes a simple cast to the desired type. |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
199 * |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
200 * @param pPos the position of the object to be resolved. |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
201 * @return a strongly typed Float |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
202 * @throws TechnicalException |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
203 * @see #getValue(int) |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
204 */ |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
205 public Float getFloatValue(int pPos) throws TechnicalException { |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
206 try { |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
207 return (Float) getValue(pPos); |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
208 } catch (ClassCastException e) { |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
209 throw new TechnicalException("Could not cast this value to the Float Type. Object is of value type: " + getValue(pPos).getClass().getName()); |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
210 } |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
211 } |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
212 /** |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
213 * This is a covenient method for getting strongly typed objects out of the row. |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
214 * It has to be ensured, that the type of the requested row position has been resolved out of the ColumnDefinition ({@link ResultSet#getColumnDefinitions()}). |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
215 * In fact, this method executes a simple cast to the desired type. |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
216 * |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
217 * @param pPos the position of the object to be resolved. |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
218 * @return a strongly typed Float |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
219 * @throws TechnicalException |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
220 * @see #getValue(int) |
897
02cd2935b5fa
Removed trailing whitespace.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
894
diff
changeset
|
221 */ |
894
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
222 public String getPosValue(int pPos)throws TechnicalException{ |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
223 StringBuffer returnValue = new StringBuffer(); |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
224 synchronized (returnValue) { |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
225 try { |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
226 SeShape val = (SeShape) this.mObjects[pPos]; |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
227 if (val.isPoint()){ |
897
02cd2935b5fa
Removed trailing whitespace.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
894
diff
changeset
|
228 // Cannot use val.asText() because the |
894
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
229 // generated WKT is invalid. |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
230 ArrayList aList = val.getAllPoints(0,false); |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
231 SDEPoint[] mPoint = (SDEPoint[])aList.get(0); |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
232 returnValue.append("POINT(") |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
233 .append(mPoint[0].getX()) |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
234 .append(" ") |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
235 .append(mPoint[0].getY()); |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
236 if (mPoint[0].is3D()){ |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
237 returnValue.append(" ").append(mPoint[0].getZ()); |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
238 } |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
239 returnValue.append(")"); |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
240 }else if (val.isLine() || val.isSimpleLine()){ |
897
02cd2935b5fa
Removed trailing whitespace.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
894
diff
changeset
|
241 // Cannot use val.asText() because the |
894
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
242 // generated WKT is invalid. |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
243 ArrayList aList = val.getAllPoints(0,false); |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
244 SDEPoint[] mPoint = (SDEPoint[])aList.get(0); |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
245 boolean isMultiLineString = val.isMultiPart(); |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
246 int length = mPoint.length; |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
247 int nextOffset = length; |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
248 int[] offsets = (int[])aList.get(1); |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
249 int offsetPos = 1; |
897
02cd2935b5fa
Removed trailing whitespace.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
894
diff
changeset
|
250 |
894
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
251 if(isMultiLineString){ |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
252 returnValue.append("MULTILINESTRING(("); |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
253 nextOffset = offsets.length-1 >= offsetPos ? offsets[offsetPos++] : length; |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
254 }else{ |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
255 returnValue.append("LINESTRING("); |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
256 } |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
257 |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
258 for (int i = 0; i< length;i++){ |
897
02cd2935b5fa
Removed trailing whitespace.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
894
diff
changeset
|
259 |
894
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
260 if (i == nextOffset){ |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
261 returnValue.append("),("); |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
262 nextOffset = offsets.length-1 >= offsetPos ? offsets[offsetPos++] : length; |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
263 } |
897
02cd2935b5fa
Removed trailing whitespace.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
894
diff
changeset
|
264 |
894
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
265 returnValue.append(mPoint[i].getX()) |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
266 .append(" ") |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
267 .append(mPoint[i].getY()); |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
268 if (mPoint[i].is3D()){ |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
269 returnValue.append(" ").append(mPoint[i].getZ()); |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
270 } |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
271 if (i < length-1 && i < nextOffset -1){ |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
272 returnValue.append(" , "); |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
273 } |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
274 } |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
275 |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
276 if(isMultiLineString){ |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
277 returnValue.append("))"); |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
278 }else{ |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
279 returnValue.append(")"); |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
280 } |
897
02cd2935b5fa
Removed trailing whitespace.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
894
diff
changeset
|
281 |
894
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
282 } else{ |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
283 returnValue.append(val.asText(val.getTextSize())); |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
284 } |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
285 } catch (SeException e) { |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
286 throw new TechnicalException("Could not cast this value to the " + |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
287 "Float Type. Object is of value " + |
897
02cd2935b5fa
Removed trailing whitespace.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
894
diff
changeset
|
288 "type: " + |
894
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
289 getValue(pPos).getClass().getName()); |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
290 } |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
291 } |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
292 return returnValue.toString(); |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
293 } |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
294 } |