root / trunk / libraries / libFMap_dataDB / src / org / gvsig / data / datastores / vectorial / db / jdbc / h2 / H2Feature.java @ 20908
History | View | Annotate | Download (2.08 KB)
1 | 19845 | vcaballero | package org.gvsig.data.datastores.vectorial.db.jdbc.h2; |
---|---|---|---|
2 | 19541 | vcaballero | |
3 | 20473 | jmvivo | import java.sql.ResultSet; |
4 | import java.sql.SQLException; |
||
5 | 19541 | vcaballero | |
6 | 19906 | jmvivo | import org.gvsig.data.datastores.vectorial.db.jdbc.JDBCFeature; |
7 | 19893 | jmvivo | import org.gvsig.data.datastores.vectorial.db.jdbc.JDBCStore; |
8 | 20473 | jmvivo | import org.gvsig.data.datastores.vectorial.db.jdbc.WKBParser2; |
9 | 20578 | jmvivo | import org.gvsig.data.exception.DataException; |
10 | 20473 | jmvivo | import org.gvsig.data.exception.ReadException; |
11 | import org.gvsig.data.vectorial.IFeature; |
||
12 | import org.gvsig.data.vectorial.IFeatureAttributeDescriptor; |
||
13 | 19541 | vcaballero | import org.gvsig.data.vectorial.IFeatureID; |
14 | import org.gvsig.data.vectorial.IFeatureType; |
||
15 | 20473 | jmvivo | import org.gvsig.data.vectorial.IsNotFeatureSettingException; |
16 | 19541 | vcaballero | |
17 | 20473 | jmvivo | import com.iver.cit.gvsig.fmap.core.IGeometry; |
18 | 19738 | vcaballero | |
19 | 19742 | vcaballero | |
20 | 20473 | jmvivo | |
21 | 19906 | jmvivo | public class H2Feature extends JDBCFeature{ |
22 | 19541 | vcaballero | |
23 | 20473 | jmvivo | H2Feature(IFeatureType featureType, JDBCStore store, ResultSet rs) throws ReadException { |
24 | super(featureType, store, rs);
|
||
25 | 20439 | vcaballero | } |
26 | |||
27 | 20578 | jmvivo | protected H2Feature(H2Feature feature) throws ReadException{ |
28 | super(feature);
|
||
29 | } |
||
30 | |||
31 | 19610 | jmvivo | /**
|
32 | *
|
||
33 | */
|
||
34 | private static final long serialVersionUID = -5836612523458472800L; |
||
35 | 20473 | jmvivo | private static WKBParser2 wkbParser = new WKBParser2(); |
36 | 19541 | vcaballero | |
37 | public IFeatureID getID() {
|
||
38 | 19781 | jmvivo | return new H2FeatureID(this.store,featureKey); |
39 | 19541 | vcaballero | } |
40 | |||
41 | 20473 | jmvivo | protected void loadValueFromResulset(ResultSet rs, IFeatureAttributeDescriptor attr) throws ReadException { |
42 | IGeometry geom; |
||
43 | String name = attr.getName();
|
||
44 | try{
|
||
45 | if (attr.getDataType().equals(IFeatureAttributeDescriptor.TYPE_GEOMETRY)) {
|
||
46 | byte[] data = rs.getBytes(name); |
||
47 | |||
48 | if (data == null) { |
||
49 | geom = null;
|
||
50 | } else{
|
||
51 | geom = wkbParser.parse(data); |
||
52 | } |
||
53 | // feature.setDefaultGeometry(geom);
|
||
54 | this.setGeometry(name,geom);
|
||
55 | } else {
|
||
56 | this.set(name, rs.getObject(name));
|
||
57 | } |
||
58 | } catch (SQLException e) { |
||
59 | throw new ReadException(this.store.getName(),e); |
||
60 | } catch (IsNotFeatureSettingException e) {
|
||
61 | throw new ReadException(this.store.getName(),e); |
||
62 | } |
||
63 | |||
64 | |||
65 | } |
||
66 | 20578 | jmvivo | |
67 | /* (non-Javadoc)
|
||
68 | * @see org.gvsig.data.vectorial.Feature#cloneFeature()
|
||
69 | */
|
||
70 | protected IFeature cloneFeature() throws DataException { |
||
71 | return new H2Feature(this); |
||
72 | } |
||
73 | 19541 | vcaballero | } |