8 |
8 |
import org.geotools.feature.AttributeTypeFactory;
|
9 |
9 |
import org.geotools.feature.FeatureType;
|
10 |
10 |
import org.geotools.feature.FeatureTypeBuilder;
|
11 |
|
import org.gvsig.gpe.containers.LineString;
|
12 |
|
import org.gvsig.gpe.containers.MultiLineString;
|
13 |
|
import org.gvsig.gpe.containers.MultiPoint;
|
14 |
|
import org.gvsig.gpe.containers.MultiPolygon;
|
15 |
11 |
|
16 |
12 |
import com.hardcode.gdbms.engine.spatial.Geometry;
|
17 |
13 |
import com.iver.cit.gvsig.fmap.core.FShape;
|
... | ... | |
226 |
222 |
default:
|
227 |
223 |
return "gml:GeometryPropertyType";
|
228 |
224 |
}
|
229 |
|
}
|
230 |
|
|
231 |
|
/**
|
232 |
|
* From GML to Java types
|
233 |
|
* @param gmlType
|
234 |
|
* @return
|
235 |
|
*/
|
236 |
|
public static Class gmlToJavaTypes(String gmlType){
|
237 |
|
if (gmlType.toUpperCase().compareTo("STRING") == 0){
|
238 |
|
return String.class;
|
239 |
|
}
|
240 |
|
if (gmlType.toUpperCase().compareTo("\"\"") == 0){
|
241 |
|
return String.class;
|
242 |
|
}
|
243 |
|
if (gmlType.toUpperCase().compareTo("INTEGER") == 0){
|
244 |
|
return Integer.class;
|
245 |
|
}
|
246 |
|
if (gmlType.toUpperCase().compareTo("INT") == 0){
|
247 |
|
return Integer.class;
|
248 |
|
}
|
249 |
|
if (gmlType.toUpperCase().compareTo("LONG") == 0){
|
250 |
|
return Long.class;
|
251 |
|
}
|
252 |
|
if (gmlType.toUpperCase().compareTo("DOUBLE") == 0){
|
253 |
|
return Double.class;
|
254 |
|
}
|
255 |
|
if (gmlType.toUpperCase().compareTo("FLOAT") == 0){
|
256 |
|
return Float.class;
|
257 |
|
}
|
258 |
|
if (gmlType.toUpperCase().compareTo("GEOMETRY") == 0){
|
259 |
|
return Geometry.class;
|
260 |
|
}
|
261 |
|
if (gmlType.toUpperCase().compareTo("GEOMETRYPROPERTYTYPE") == 0){
|
262 |
|
return Geometry.class;
|
263 |
|
}
|
264 |
|
if (gmlType.toUpperCase().compareTo("POINT") == 0){
|
265 |
|
return Point.class;
|
266 |
|
}
|
267 |
|
if (gmlType.toUpperCase().compareTo("POINTPROPERTYTYPE") == 0){
|
268 |
|
return Point.class;
|
269 |
|
}
|
270 |
|
if (gmlType.toUpperCase().compareTo("LINESTRING") == 0){
|
271 |
|
return LineString.class;
|
272 |
|
}
|
273 |
|
if (gmlType.toUpperCase().compareTo("LINESTRINGPROPERTYTYPE") == 0){
|
274 |
|
return LineString.class;
|
275 |
|
}
|
276 |
|
if (gmlType.toUpperCase().compareTo("POLYGON") == 0){
|
277 |
|
return Polygon.class;
|
278 |
|
}
|
279 |
|
if (gmlType.toUpperCase().compareTo("POLYGONPROPERTYTYPE") == 0){
|
280 |
|
return Polygon.class;
|
281 |
|
}
|
282 |
|
if (gmlType.toUpperCase().compareTo("MULTIPOINT") == 0){
|
283 |
|
return MultiPoint.class;
|
284 |
|
}
|
285 |
|
if (gmlType.toUpperCase().compareTo("MULTIPOINTPROPERTYTYPE") == 0){
|
286 |
|
return MultiPoint.class;
|
287 |
|
}
|
288 |
|
if (gmlType.toUpperCase().compareTo("MULTILINESTRING") == 0){
|
289 |
|
return MultiLineString.class;
|
290 |
|
}
|
291 |
|
if (gmlType.toUpperCase().compareTo("MULTILINESTRINGPROPERTYTYPE") == 0){
|
292 |
|
return MultiLineString.class;
|
293 |
|
}
|
294 |
|
if (gmlType.toUpperCase().compareTo("MULTIPOLYGON") == 0){
|
295 |
|
return MultiPolygon.class;
|
296 |
|
}
|
297 |
|
if (gmlType.toUpperCase().compareTo("MULTIPOLYGONPROPERTYTYPE") == 0){
|
298 |
|
return MultiPolygon.class;
|
299 |
|
}
|
300 |
|
if (gmlType.toUpperCase().compareTo("MULTIGEOMETRYPROPERTYTYPE") == 0){
|
301 |
|
return GeometryCollection.class;
|
302 |
|
}
|
303 |
|
if (gmlType.toUpperCase().compareTo("GEOMETRYCOLLECTION") == 0){
|
304 |
|
return GeometryCollection.class;
|
305 |
|
}
|
306 |
|
if (gmlType.toUpperCase().compareTo("GEOMETRYASSOCIATIONTYPE") == 0){
|
307 |
|
return Geometry.class;
|
308 |
|
}
|
309 |
|
return String.class;
|
310 |
|
}
|
|
225 |
}
|
311 |
226 |
|
312 |
227 |
/**
|
313 |
228 |
* From Java to gvSIG types
|