Revision 29289
branches/v2_0_0_prep/extensions/extDwg/src/org/gvsig/dwg/fmap/dal/store/dwg/legend/DWGLegendBuilder.java | ||
---|---|---|
33 | 33 |
import org.gvsig.dwg.fmap.dal.store.dwg.DWGStoreProvider; |
34 | 34 |
import org.gvsig.dwg.fmap.dal.store.dwg.LegendBuilder; |
35 | 35 |
import org.gvsig.fmap.dal.DataTypes; |
36 |
import org.gvsig.fmap.dal.feature.spi.FeatureData;
|
|
36 |
import org.gvsig.fmap.dal.feature.spi.FeatureProvider;
|
|
37 | 37 |
import org.gvsig.fmap.dal.feature.spi.FeatureStoreProvider; |
38 | 38 |
import org.gvsig.fmap.geom.Geometry; |
39 | 39 |
import org.gvsig.fmap.mapcontext.rendering.legend.LegendFactory; |
... | ... | |
84 | 84 |
return this; |
85 | 85 |
} |
86 | 86 |
|
87 |
public void process(FeatureData feature) {
|
|
87 |
public void process(FeatureProvider feature) {
|
|
88 | 88 |
Integer clave = (Integer) feature.get("Color"); |
89 | 89 |
if (clave == null) { |
90 | 90 |
return; |
branches/v2_0_0_prep/extensions/extDwg/src/org/gvsig/dwg/fmap/dal/store/dwg/LegendBuilder.java | ||
---|---|---|
1 | 1 |
package org.gvsig.dwg.fmap.dal.store.dwg; |
2 | 2 |
|
3 |
import org.gvsig.fmap.dal.feature.spi.FeatureData;
|
|
3 |
import org.gvsig.fmap.dal.feature.spi.FeatureProvider;
|
|
4 | 4 |
import org.gvsig.fmap.dal.feature.spi.FeatureStoreProvider; |
5 | 5 |
|
6 | 6 |
|
... | ... | |
14 | 14 |
|
15 | 15 |
public void begin(); |
16 | 16 |
|
17 |
public void process(FeatureData feature);
|
|
17 |
public void process(FeatureProvider feature);
|
|
18 | 18 |
|
19 | 19 |
public void end(); |
20 | 20 |
|
branches/v2_0_0_prep/extensions/extDwg/src/org/gvsig/dwg/fmap/dal/store/dwg/DWGStoreProvider.java | ||
---|---|---|
32 | 32 |
import org.gvsig.fmap.dal.feature.FeatureType; |
33 | 33 |
import org.gvsig.fmap.dal.feature.exception.CreateGeometryException; |
34 | 34 |
import org.gvsig.fmap.dal.feature.exception.PerformEditingException; |
35 |
import org.gvsig.fmap.dal.feature.spi.FeatureData;
|
|
35 |
import org.gvsig.fmap.dal.feature.spi.FeatureProvider;
|
|
36 | 36 |
import org.gvsig.fmap.dal.feature.spi.FeatureStoreProvider; |
37 | 37 |
import org.gvsig.fmap.dal.feature.spi.FeatureStoreProviderServices; |
38 | 38 |
import org.gvsig.fmap.dal.feature.spi.memory.AbstractMemoryStoreProvider; |
... | ... | |
68 | 68 |
|
69 | 69 |
public static final String NAME = "DWG"; |
70 | 70 |
public static final String DESCRIPTION = "DWG file"; |
71 |
public static final String DYNCLASS_NAME = "DWGFile";
|
|
71 |
public static final String DYNCLASS_NAME = "DWGStore";
|
|
72 | 72 |
protected static DynClass DYNCLASS = null; |
73 | 73 |
|
74 | 74 |
public static final String NAME_FIELD_ID = "ID"; |
... | ... | |
102 | 102 |
|
103 | 103 |
|
104 | 104 |
|
105 |
private DWGStoreParameters getParameters() { |
|
105 |
private DWGStoreParameters getDWGParameters() {
|
|
106 | 106 |
return (DWGStoreParameters) this.parameters; |
107 | 107 |
} |
108 | 108 |
|
... | ... | |
114 | 114 |
throws InitializeException { |
115 | 115 |
super.initialize(store); |
116 | 116 |
|
117 |
this.dynObject = (DelegatedDynObject) ToolsLocator
|
|
117 |
this.metadata = (DelegatedDynObject) ToolsLocator
|
|
118 | 118 |
.getDynObjectManager().createDynObject(DYNCLASS); |
119 | 119 |
|
120 | 120 |
counterNewsOIDs = 0; |
121 | 121 |
// projection = CRSFactory.getCRS(getParameters().getSRSID()); |
122 | 122 |
|
123 |
File file = getParameters().getFile(); |
|
123 |
File file = getDWGParameters().getFile();
|
|
124 | 124 |
resource = this.createResource( |
125 | 125 |
FileResource.NAME, |
126 | 126 |
new Object[] { file.getAbsolutePath() } |
... | ... | |
128 | 128 |
|
129 | 129 |
resource.addConsumer(this); |
130 | 130 |
|
131 |
this.projection = this.getParameters().getSRS(); |
|
131 |
this.projection = this.getDWGParameters().getSRS();
|
|
132 | 132 |
|
133 | 133 |
|
134 | 134 |
try { |
... | ... | |
264 | 264 |
this.data = dwgData.data; |
265 | 265 |
this.store.setFeatureTypes(dwgData.fTypes, dwgData.defaultFType); |
266 | 266 |
this.legendBuilder = dwgData.legendBuilder; |
267 |
this.dynObject.setDynValue("Envelope", dwgData.getEnvelopeCopy());
|
|
268 |
this.dynObject
|
|
267 |
this.metadata.setDynValue("Envelope", dwgData.getEnvelopeCopy());
|
|
268 |
this.metadata
|
|
269 | 269 |
.setDynValue("DefaultSRS", this.projection.getAbrev()); |
270 | 270 |
this.counterNewsOIDs = this.data.size(); |
271 | 271 |
} catch (Exception e) { |
... | ... | |
287 | 287 |
try { |
288 | 288 |
params = (FilesystemServerExplorerParameters) manager |
289 | 289 |
.createServerExplorerParameters(FilesystemServerExplorer.NAME); |
290 |
params.setRoot(this.getParameters().getFile().getParent()); |
|
290 |
params.setRoot(this.getDWGParameters().getFile().getParent());
|
|
291 | 291 |
return manager.createServerExplorer(params); |
292 | 292 |
} catch (DataException e) { |
293 | 293 |
throw new ReadException(this.getName(), e); |
... | ... | |
299 | 299 |
|
300 | 300 |
|
301 | 301 |
|
302 |
public void performEditing(Iterator deleteds, Iterator inserteds, Iterator updateds, Iterator originalFeatureTypesUpdated) throws PerformEditingException {
|
|
302 |
public void performChanges(Iterator deleteds, Iterator inserteds, Iterator updateds, Iterator originalFeatureTypesUpdated) throws PerformEditingException {
|
|
303 | 303 |
// FIXME Exception |
304 | 304 |
throw new UnsupportedOperationException(); |
305 | 305 |
} |
... | ... | |
475 | 475 |
|
476 | 476 |
Iterator iter = entities.iterator(); |
477 | 477 |
|
478 |
FeatureData featureData;
|
|
478 |
FeatureProvider featureData;
|
|
479 | 479 |
Envelope gEnvelope; |
480 | 480 |
|
481 | 481 |
while (iter.hasNext()) { |
... | ... | |
483 | 483 |
DwgObject entity = (DwgObject) iter.next(); |
484 | 484 |
|
485 | 485 |
if (!(entity instanceof IDwg2FMap)) { |
486 |
getLogger()
|
|
486 |
logger
|
|
487 | 487 |
.warn( |
488 | 488 |
"load: entity type {}(id:{}) not loadded", |
489 | 489 |
new Object[] { entity |
... | ... | |
497 | 497 |
Geometry geometry = dwgEnt.toFMapGeometry(is3dFile); |
498 | 498 |
if (geometry == null) { // || geometry.getGeneralPath() == |
499 | 499 |
// null) { |
500 |
getLogger()
|
|
500 |
logger
|
|
501 | 501 |
.warn( |
502 | 502 |
"load: entity {}(id:{}) with null geometry", |
503 | 503 |
new Object[] { |
... | ... | |
516 | 516 |
gEnvelope = null; |
517 | 517 |
} |
518 | 518 |
if (gEnvelope == null) { |
519 |
getLogger()
|
|
519 |
logger
|
|
520 | 520 |
.warn( |
521 | 521 |
"load: entity {}(id:{}) with null envelope", |
522 | 522 |
new Object[] { entity.getType(), id }); |
... | ... | |
525 | 525 |
} |
526 | 526 |
// we check for Region of Interest of the CAD file |
527 | 527 |
if (!this.envelope.intersects(geometry.getEnvelope())) { |
528 |
getLogger()
|
|
528 |
logger
|
|
529 | 529 |
.warn( |
530 | 530 |
"load: entity {}(id:{}) out of envelope", |
531 | 531 |
new Object[] { entity.getType(), id }); |
... | ... | |
600 | 600 |
return true; |
601 | 601 |
} |
602 | 602 |
|
603 |
public int getFeatureReferenceOIDType() {
|
|
603 |
public int getOIDType() { |
|
604 | 604 |
return DataTypes.LONG; |
605 | 605 |
} |
606 | 606 |
|
... | ... | |
608 | 608 |
return false; |
609 | 609 |
} |
610 | 610 |
|
611 |
public void append(FeatureData featureData) {
|
|
611 |
public void append(FeatureProvider featureData) {
|
|
612 | 612 |
// FIXME Exception |
613 | 613 |
throw new UnsupportedOperationException(); |
614 | 614 |
} |
... | ... | |
648 | 648 |
|
649 | 649 |
public Envelope getEnvelope() throws DataException { |
650 | 650 |
this.open(); |
651 |
return (Envelope) this.dynObject.getDynValue("Envelope");
|
|
651 |
return (Envelope) this.metadata.getDynValue("Envelope");
|
|
652 | 652 |
} |
653 | 653 |
|
654 | 654 |
public Iterator getChilds() { |
... | ... | |
683 | 683 |
} |
684 | 684 |
|
685 | 685 |
public Object getSourceId() { |
686 |
return this.getParameters().getFile(); |
|
686 |
return this.getDWGParameters().getFile();
|
|
687 | 687 |
} |
688 | 688 |
|
689 | 689 |
} |
branches/v2_0_0_prep/libraries/libFMap_dalfile/src/org/gvsig/fmap/dal/store/dgn/LegendBuilder.java | ||
---|---|---|
1 | 1 |
package org.gvsig.fmap.dal.store.dgn; |
2 | 2 |
|
3 |
import org.gvsig.fmap.dal.feature.spi.FeatureData;
|
|
3 |
import org.gvsig.fmap.dal.feature.spi.FeatureProvider;
|
|
4 | 4 |
import org.gvsig.fmap.dal.feature.spi.FeatureStoreProvider; |
5 | 5 |
import org.gvsig.fmap.dal.store.dgn.lib.DGNReader; |
6 | 6 |
|
... | ... | |
15 | 15 |
|
16 | 16 |
public void begin(); |
17 | 17 |
|
18 |
public void process(FeatureData feature, DGNReader dgnReader);
|
|
18 |
public void process(FeatureProvider feature, DGNReader dgnReader);
|
|
19 | 19 |
|
20 | 20 |
public void end(); |
21 | 21 |
|
branches/v2_0_0_prep/libraries/libFMap_dalfile/src/org/gvsig/fmap/dal/store/dgn/legend/DGNLegendBuilder.java | ||
---|---|---|
30 | 30 |
import java.awt.Color; |
31 | 31 |
|
32 | 32 |
import org.gvsig.fmap.dal.DataTypes; |
33 |
import org.gvsig.fmap.dal.feature.spi.FeatureData;
|
|
33 |
import org.gvsig.fmap.dal.feature.spi.FeatureProvider;
|
|
34 | 34 |
import org.gvsig.fmap.dal.feature.spi.FeatureStoreProvider; |
35 | 35 |
import org.gvsig.fmap.dal.store.dgn.DGNStoreProvider; |
36 | 36 |
import org.gvsig.fmap.dal.store.dgn.LegendBuilder; |
... | ... | |
85 | 85 |
return this; |
86 | 86 |
} |
87 | 87 |
|
88 |
public void process(FeatureData feature, DGNReader dgnReader) {
|
|
88 |
public void process(FeatureProvider feature, DGNReader dgnReader) {
|
|
89 | 89 |
Integer clave = (Integer) feature.get("Color"); |
90 | 90 |
if (clave == null) { |
91 | 91 |
return; |
branches/v2_0_0_prep/libraries/libFMap_dalfile/src/org/gvsig/fmap/dal/store/dgn/DGNStoreProvider.java | ||
---|---|---|
25 | 25 |
import org.gvsig.fmap.dal.feature.FeatureStore; |
26 | 26 |
import org.gvsig.fmap.dal.feature.FeatureType; |
27 | 27 |
import org.gvsig.fmap.dal.feature.exception.PerformEditingException; |
28 |
import org.gvsig.fmap.dal.feature.spi.FeatureData;
|
|
28 |
import org.gvsig.fmap.dal.feature.spi.FeatureProvider;
|
|
29 | 29 |
import org.gvsig.fmap.dal.feature.spi.FeatureStoreProvider; |
30 | 30 |
import org.gvsig.fmap.dal.feature.spi.FeatureStoreProviderServices; |
31 | 31 |
import org.gvsig.fmap.dal.feature.spi.memory.AbstractMemoryStoreProvider; |
... | ... | |
72 | 72 |
|
73 | 73 |
public static final String NAME = "DGN"; |
74 | 74 |
public static final String DESCRIPTION = "DGN file"; |
75 |
public static final String DYNCLASS_NAME = "DGNFile";
|
|
75 |
public static final String DYNCLASS_NAME = "DGNStore";
|
|
76 | 76 |
protected static DynClass DYNCLASS = null; |
77 | 77 |
|
78 | 78 |
public static final String NAME_FIELD_ID = "ID"; |
... | ... | |
106 | 106 |
|
107 | 107 |
|
108 | 108 |
|
109 |
private DGNStoreParameters getParameters() { |
|
109 |
private DGNStoreParameters getDGNParameters() {
|
|
110 | 110 |
return (DGNStoreParameters) this.parameters; |
111 | 111 |
} |
112 | 112 |
|
... | ... | |
118 | 118 |
throws InitializeException { |
119 | 119 |
super.initialize(store); |
120 | 120 |
|
121 |
this.dynObject = (DelegatedDynObject) ToolsLocator
|
|
121 |
this.metadata = (DelegatedDynObject) ToolsLocator
|
|
122 | 122 |
.getDynObjectManager().createDynObject(DYNCLASS); |
123 | 123 |
|
124 | 124 |
counterNewsOIDs = 0; |
125 | 125 |
// projection = CRSFactory.getCRS(getParameters().getSRSID()); |
126 | 126 |
|
127 |
File file = getParameters().getFile(); |
|
127 |
File file = getDGNParameters().getFile();
|
|
128 | 128 |
resource = this.createResource( |
129 | 129 |
FileResource.NAME, |
130 | 130 |
new Object[] { file.getAbsolutePath() } |
... | ... | |
132 | 132 |
|
133 | 133 |
resource.addConsumer(this); |
134 | 134 |
|
135 |
this.projection = this.getParameters().getSRS(); |
|
135 |
this.projection = this.getDGNParameters().getSRS();
|
|
136 | 136 |
|
137 | 137 |
|
138 | 138 |
try { |
... | ... | |
268 | 268 |
this.data = DGNData.data; |
269 | 269 |
this.store.setFeatureTypes(DGNData.fTypes, DGNData.defaultFType); |
270 | 270 |
this.legendBuilder = DGNData.legendBuilder; |
271 |
this.dynObject.setDynValue("Envelope", DGNData.getEnvelopeCopy());
|
|
272 |
this.dynObject
|
|
271 |
this.metadata.setDynValue("Envelope", DGNData.getEnvelopeCopy());
|
|
272 |
this.metadata
|
|
273 | 273 |
.setDynValue("DefaultSRS", this.projection.getAbrev()); |
274 | 274 |
this.counterNewsOIDs = this.data.size(); |
275 | 275 |
} catch (Exception e) { |
... | ... | |
291 | 291 |
try { |
292 | 292 |
params = (FilesystemServerExplorerParameters) manager |
293 | 293 |
.createServerExplorerParameters(FilesystemServerExplorer.NAME); |
294 |
params.setRoot(this.getParameters().getFile().getParent()); |
|
294 |
params.setRoot(this.getDGNParameters().getFile().getParent());
|
|
295 | 295 |
return manager.createServerExplorer(params); |
296 | 296 |
} catch (DataException e) { |
297 | 297 |
throw new ReadException(this.getName(), e); |
... | ... | |
303 | 303 |
|
304 | 304 |
|
305 | 305 |
|
306 |
public void performEditing(Iterator deleteds, Iterator inserteds, Iterator updateds, Iterator originalFeatureTypesUpdated) throws PerformEditingException {
|
|
306 |
public void performChanges(Iterator deleteds, Iterator inserteds, Iterator updateds, Iterator originalFeatureTypesUpdated) throws PerformEditingException {
|
|
307 | 307 |
// FIXME Exception |
308 | 308 |
throw new UnsupportedOperationException(); |
309 | 309 |
} |
... | ... | |
895 | 895 |
|
896 | 896 |
private void addShape(Geometry geometry, Object[] auxRow, |
897 | 897 |
FeatureType type, DGNReader dgnReader) throws DataException { |
898 |
FeatureData data = createFeatureData(type);
|
|
898 |
FeatureProvider data = createFeatureData(type);
|
|
899 | 899 |
for (int i=0;i<type.size();i++){ |
900 | 900 |
data.set(i, auxRow[i]); |
901 | 901 |
} |
... | ... | |
940 | 940 |
return true; |
941 | 941 |
} |
942 | 942 |
|
943 |
public int getFeatureReferenceOIDType() {
|
|
943 |
public int getOIDType() { |
|
944 | 944 |
return DataTypes.LONG; |
945 | 945 |
} |
946 | 946 |
|
... | ... | |
948 | 948 |
return false; |
949 | 949 |
} |
950 | 950 |
|
951 |
public void append(FeatureData featureData) {
|
|
951 |
public void append(FeatureProvider featureData) {
|
|
952 | 952 |
// FIXME Exception |
953 | 953 |
throw new UnsupportedOperationException(); |
954 | 954 |
} |
... | ... | |
987 | 987 |
|
988 | 988 |
public Envelope getEnvelope() throws DataException { |
989 | 989 |
this.open(); |
990 |
return (Envelope) this.dynObject.getDynValue("Envelope");
|
|
990 |
return (Envelope) this.metadata.getDynValue("Envelope");
|
|
991 | 991 |
} |
992 | 992 |
|
993 | 993 |
public Iterator getChilds() { |
... | ... | |
1022 | 1022 |
} |
1023 | 1023 |
|
1024 | 1024 |
public Object getSourceId() { |
1025 |
return this.getParameters().getFile(); |
|
1025 |
return this.getDGNParameters().getFile();
|
|
1026 | 1026 |
} |
1027 | 1027 |
|
1028 | 1028 |
} |
branches/v2_0_0_prep/libraries/libFMap_dalfile/src/org/gvsig/fmap/dal/store/shp/SHPFeatureData.java | ||
---|---|---|
3 | 3 |
import org.gvsig.fmap.dal.exception.DataException; |
4 | 4 |
import org.gvsig.fmap.dal.exception.ReadRuntimeException; |
5 | 5 |
import org.gvsig.fmap.dal.feature.FeatureType; |
6 |
import org.gvsig.fmap.dal.feature.spi.DefaultFeatureData;
|
|
7 |
import org.gvsig.fmap.dal.feature.spi.FeatureData;
|
|
6 |
import org.gvsig.fmap.dal.feature.spi.DefaultFeatureProvider;
|
|
7 |
import org.gvsig.fmap.dal.feature.spi.FeatureProvider;
|
|
8 | 8 |
import org.gvsig.fmap.geom.Geometry; |
9 | 9 |
import org.gvsig.fmap.geom.primitive.Envelope; |
10 | 10 |
|
11 |
public class SHPFeatureData extends DefaultFeatureData {
|
|
11 |
public class SHPFeatureData extends DefaultFeatureProvider {
|
|
12 | 12 |
protected SHPStoreProvider store; |
13 | 13 |
protected boolean loading; |
14 | 14 |
protected boolean loaded; |
... | ... | |
70 | 70 |
super.setOID(oid); |
71 | 71 |
} |
72 | 72 |
|
73 |
public FeatureData getCopy() {
|
|
73 |
public FeatureProvider getCopy() {
|
|
74 | 74 |
this.load(); |
75 | 75 |
return super.getCopy(); |
76 | 76 |
} |
branches/v2_0_0_prep/libraries/libFMap_dalfile/src/org/gvsig/fmap/dal/store/shp/SHPStoreProvider.java | ||
---|---|---|
45 | 45 |
import org.gvsig.fmap.dal.feature.FeatureSet; |
46 | 46 |
import org.gvsig.fmap.dal.feature.FeatureType; |
47 | 47 |
import org.gvsig.fmap.dal.feature.exception.PerformEditingException; |
48 |
import org.gvsig.fmap.dal.feature.spi.FeatureData;
|
|
48 |
import org.gvsig.fmap.dal.feature.spi.FeatureProvider;
|
|
49 | 49 |
import org.gvsig.fmap.dal.resource.exception.ResourceBeginException; |
50 | 50 |
import org.gvsig.fmap.dal.resource.exception.ResourceException; |
51 | 51 |
import org.gvsig.fmap.dal.resource.exception.ResourceNotifyChangesException; |
... | ... | |
75 | 75 |
public class SHPStoreProvider extends DBFStoreProvider { |
76 | 76 |
private static final GeometryManager geomManager = GeometryLocator.getGeometryManager(); |
77 | 77 |
private static final Logger logger = LoggerFactory.getLogger(GeometryManager.class); |
78 |
public static String NAME = "SHPStore";
|
|
78 |
public static String NAME = "SHP"; |
|
79 | 79 |
public static String DESCRIPTION = "SHP file"; |
80 | 80 |
private SHPFile shpFile; |
81 | 81 |
private ResourceProvider shpResource; |
... | ... | |
105 | 105 |
// TODO .prj |
106 | 106 |
|
107 | 107 |
// FIXME |
108 |
this.dynObject = (DelegatedDynObject) ToolsLocator
|
|
108 |
this.metadata = (DelegatedDynObject) ToolsLocator
|
|
109 | 109 |
.getDynObjectManager().createDynObject(DYNCLASS); |
110 | 110 |
|
111 | 111 |
this.shpFile = new SHPFile(this.shpParams); |
... | ... | |
310 | 310 |
* @return |
311 | 311 |
* @throws ReadException |
312 | 312 |
*/ |
313 |
protected FeatureData getFeatureDataByIndex(long index,
|
|
313 |
protected FeatureProvider getFeatureDataByIndex(long index,
|
|
314 | 314 |
FeatureType featureType) throws DataException { |
315 | 315 |
this.open(); |
316 | 316 |
this.resourcesBegin(); |
317 | 317 |
try { |
318 | 318 |
|
319 |
FeatureData featureData = super.getFeatureDataByIndex(index,
|
|
319 |
FeatureProvider featureData = super.getFeatureDataByIndex(index,
|
|
320 | 320 |
featureType); |
321 | 321 |
featureData.setDefaultEnvelope(this.shpFile.getBoundingBox(index)); |
322 | 322 |
return featureData; |
... | ... | |
330 | 330 |
|
331 | 331 |
} |
332 | 332 |
|
333 |
protected void initFeatureDataByIndex(FeatureData featureData,
|
|
333 |
protected void initFeatureDataByIndex(FeatureProvider featureData,
|
|
334 | 334 |
long index, FeatureType featureType) throws DataException { |
335 | 335 |
this.open(); |
336 | 336 |
this.resourcesBegin(); |
... | ... | |
350 | 350 |
* @param featureData |
351 | 351 |
* @throws DataException |
352 | 352 |
*/ |
353 |
protected void loadFeatureDataByIndex(FeatureData featureData)
|
|
353 |
protected void loadFeatureDataByIndex(FeatureProvider featureData)
|
|
354 | 354 |
throws DataException { |
355 | 355 |
this.open(); |
356 | 356 |
this.resourcesBegin(); |
... | ... | |
372 | 372 |
} |
373 | 373 |
|
374 | 374 |
|
375 |
protected void loadValue(FeatureData featureData, int rowIndex,
|
|
375 |
protected void loadValue(FeatureProvider featureData, int rowIndex,
|
|
376 | 376 |
FeatureAttributeDescriptor descriptor) throws ReadException { |
377 | 377 |
if (descriptor.getDataType() == DataTypes.GEOMETRY) { |
378 | 378 |
return; |
... | ... | |
381 | 381 |
} |
382 | 382 |
} |
383 | 383 |
|
384 |
public FeatureData createFeatureData(FeatureType type) throws DataException {
|
|
385 |
FeatureData data = new SHPFeatureData(this, type);
|
|
384 |
public FeatureProvider createFeatureData(FeatureType type) throws DataException {
|
|
385 |
FeatureProvider data = new SHPFeatureData(this, type);
|
|
386 | 386 |
return data; |
387 | 387 |
} |
388 | 388 |
|
... | ... | |
397 | 397 |
ReadException { |
398 | 398 |
super.loadMetadataValues(); |
399 | 399 |
|
400 |
this.dynObject.setDynValue(DYNFIELD_SRSORIGINALPARAMETERS_NAME,
|
|
400 |
this.metadata.setDynValue(DYNFIELD_SRSORIGINALPARAMETERS_NAME,
|
|
401 | 401 |
this.shpFile.getSRSParameters()); |
402 | 402 |
|
403 |
this.dynObject.setDynValue("DefaultSRS", this.getShpParameters()
|
|
403 |
this.metadata.setDynValue("DefaultSRS", this.getShpParameters()
|
|
404 | 404 |
.getSRS()); |
405 | 405 |
|
406 |
this.dynObject.setDynValue("Envelope", shpFile.getFullExtent());
|
|
406 |
this.metadata.setDynValue("Envelope", shpFile.getFullExtent());
|
|
407 | 407 |
|
408 | 408 |
} |
409 | 409 |
|
... | ... | |
416 | 416 |
this.shpFile.close(); |
417 | 417 |
} |
418 | 418 |
|
419 |
public boolean canWriteGeometry(int geometryType) throws DataException { |
|
419 |
public boolean canWriteGeometry(int geometryType, int geometrySubType) throws DataException {
|
|
420 | 420 |
this.open(); |
421 | 421 |
this.resourcesBegin(); |
422 | 422 |
try { |
... | ... | |
427 | 427 |
} |
428 | 428 |
} |
429 | 429 |
|
430 |
public void performEditing(Iterator deleteds, Iterator inserteds,
|
|
430 |
public void performChanges(Iterator deleteds, Iterator inserteds,
|
|
431 | 431 |
Iterator updateds, Iterator originalFeatureTypesUpdated) throws PerformEditingException { |
432 | 432 |
FeatureType fType; |
433 | 433 |
try { |
... | ... | |
517 | 517 |
|
518 | 518 |
public Envelope getEnvelope() throws DataException { |
519 | 519 |
this.open(); |
520 |
return (Envelope) this.dynObject.getDynValue("Envelope");
|
|
520 |
return (Envelope) this.metadata.getDynValue("Envelope");
|
|
521 | 521 |
} |
522 | 522 |
|
523 | 523 |
public void loadFromState(PersistentState state) throws PersistenceException { |
... | ... | |
530 | 530 |
return super.getState(); |
531 | 531 |
} |
532 | 532 |
|
533 |
public void append(FeatureData featureData) throws DataException {
|
|
533 |
public void append(FeatureProvider featureData) throws DataException {
|
|
534 | 534 |
this.resourcesBegin(); |
535 | 535 |
try { |
536 | 536 |
writer.append(store.createFeature(featureData)); |
branches/v2_0_0_prep/libraries/libFMap_dalfile/src/org/gvsig/fmap/dal/store/dbf/DBFFeatureData.java | ||
---|---|---|
3 | 3 |
import org.gvsig.fmap.dal.exception.DataException; |
4 | 4 |
import org.gvsig.fmap.dal.exception.ReadRuntimeException; |
5 | 5 |
import org.gvsig.fmap.dal.feature.FeatureType; |
6 |
import org.gvsig.fmap.dal.feature.spi.DefaultFeatureData;
|
|
7 |
import org.gvsig.fmap.dal.feature.spi.FeatureData;
|
|
6 |
import org.gvsig.fmap.dal.feature.spi.DefaultFeatureProvider;
|
|
7 |
import org.gvsig.fmap.dal.feature.spi.FeatureProvider;
|
|
8 | 8 |
import org.gvsig.fmap.geom.Geometry; |
9 | 9 |
import org.gvsig.fmap.geom.primitive.Envelope; |
10 | 10 |
|
11 |
public class DBFFeatureData extends DefaultFeatureData {
|
|
11 |
public class DBFFeatureData extends DefaultFeatureProvider {
|
|
12 | 12 |
protected DBFStoreProvider store; |
13 | 13 |
protected boolean loading; |
14 | 14 |
protected boolean loaded; |
... | ... | |
68 | 68 |
super.setOID(oid); |
69 | 69 |
} |
70 | 70 |
|
71 |
public FeatureData getCopy() {
|
|
71 |
public FeatureProvider getCopy() {
|
|
72 | 72 |
this.load(); |
73 | 73 |
return super.getCopy(); |
74 | 74 |
} |
branches/v2_0_0_prep/libraries/libFMap_dalfile/src/org/gvsig/fmap/dal/store/dbf/DBFSetProvider.java | ||
---|---|---|
10 | 10 |
import org.gvsig.fmap.dal.feature.DisposableIterator; |
11 | 11 |
import org.gvsig.fmap.dal.feature.FeatureQuery; |
12 | 12 |
import org.gvsig.fmap.dal.feature.FeatureType; |
13 |
import org.gvsig.fmap.dal.feature.spi.FeatureData;
|
|
13 |
import org.gvsig.fmap.dal.feature.spi.FeatureProvider;
|
|
14 | 14 |
import org.gvsig.fmap.dal.feature.spi.FeatureSetProvider; |
15 | 15 |
|
16 | 16 |
/** |
... | ... | |
125 | 125 |
} |
126 | 126 |
try { |
127 | 127 |
|
128 |
FeatureData ret = this.store.getFeatureDataByIndex(index,
|
|
128 |
FeatureProvider ret = this.store.getFeatureDataByIndex(index,
|
|
129 | 129 |
this.type); |
130 | 130 |
index++; |
131 | 131 |
return ret; |
... | ... | |
145 | 145 |
} |
146 | 146 |
|
147 | 147 |
protected class FastDBFIterartor extends DBFIterartor { |
148 |
protected FeatureData data;
|
|
148 |
protected FeatureProvider data;
|
|
149 | 149 |
|
150 | 150 |
public FastDBFIterartor(DBFStoreProvider store, FeatureType type, |
151 | 151 |
long startOn) throws DataException { |
branches/v2_0_0_prep/libraries/libFMap_dalfile/src/org/gvsig/fmap/dal/store/dbf/DBFStoreProvider.java | ||
---|---|---|
37 | 37 |
import org.gvsig.fmap.dal.feature.exception.PerformEditingException; |
38 | 38 |
import org.gvsig.fmap.dal.feature.exception.UnknownDataTypeException; |
39 | 39 |
import org.gvsig.fmap.dal.feature.spi.AbstractFeatureStoreProvider; |
40 |
import org.gvsig.fmap.dal.feature.spi.FeatureData;
|
|
40 |
import org.gvsig.fmap.dal.feature.spi.FeatureProvider;
|
|
41 | 41 |
import org.gvsig.fmap.dal.feature.spi.FeatureReferenceProviderServices; |
42 | 42 |
import org.gvsig.fmap.dal.feature.spi.FeatureSetProvider; |
43 | 43 |
import org.gvsig.fmap.dal.feature.spi.FeatureStoreProvider; |
... | ... | |
68 | 68 |
public class DBFStoreProvider extends AbstractFeatureStoreProvider implements |
69 | 69 |
ResourceConsumer { |
70 | 70 |
|
71 |
public static String NAME = "DBFStore";
|
|
71 |
public static String NAME = "DBF"; |
|
72 | 72 |
public static String DESCRIPTION = "DBF file"; |
73 | 73 |
// private DBFResource dbf = null; |
74 | 74 |
private static final Locale ukLocale = new Locale("en", "UK"); |
... | ... | |
99 | 99 |
|
100 | 100 |
protected void init(DBFStoreParameters params) throws InitializeException { |
101 | 101 |
this.dbfParams = params; |
102 |
this.dynObject = (DelegatedDynObject) ToolsLocator
|
|
102 |
this.metadata = (DelegatedDynObject) ToolsLocator
|
|
103 | 103 |
.getDynObjectManager().createDynObject( |
104 | 104 |
DYNCLASS); |
105 | 105 |
|
106 |
this.dynObject.setDynValue("DefaultSRS", null);
|
|
107 |
this.dynObject.setDynValue("Envelope", null);
|
|
106 |
this.metadata.setDynValue("DefaultSRS", null);
|
|
107 |
this.metadata.setDynValue("Envelope", null);
|
|
108 | 108 |
|
109 | 109 |
File theFile = getDBFParameters().getDBFFile(); |
110 | 110 |
dbfResource = this.createResource(FileResource.NAME, |
... | ... | |
149 | 149 |
} |
150 | 150 |
} |
151 | 151 |
|
152 |
public FeatureData getFeatureDataByReference(
|
|
152 |
public FeatureProvider getFeatureDataByReference(
|
|
153 | 153 |
FeatureReferenceProviderServices reference, FeatureType featureType) |
154 | 154 |
throws DataException { |
155 | 155 |
|
... | ... | |
159 | 159 |
} |
160 | 160 |
|
161 | 161 |
|
162 |
public FeatureData getFeatureDataByReference(
|
|
162 |
public FeatureProvider getFeatureDataByReference(
|
|
163 | 163 |
FeatureReferenceProviderServices reference) throws DataException { |
164 | 164 |
return this.getFeatureDataByReference(reference, this.store |
165 | 165 |
.getDefaultFeatureType()); |
166 | 166 |
} |
167 | 167 |
|
168 |
public void performEditing(Iterator deleteds, Iterator inserteds,
|
|
168 |
public void performChanges(Iterator deleteds, Iterator inserteds,
|
|
169 | 169 |
Iterator updateds, Iterator originalFeatureTypesUpdated) |
170 | 170 |
throws PerformEditingException { |
171 | 171 |
|
... | ... | |
214 | 214 |
* ================================================== |
215 | 215 |
*/ |
216 | 216 |
|
217 |
public FeatureData createFeatureData(FeatureType type) throws DataException {
|
|
217 |
public FeatureProvider createFeatureData(FeatureType type) throws DataException {
|
|
218 | 218 |
return new DBFFeatureData(this, type); |
219 | 219 |
} |
220 | 220 |
|
... | ... | |
299 | 299 |
} |
300 | 300 |
|
301 | 301 |
|
302 |
protected void loadValue(FeatureData featureData, int rowIndex,
|
|
302 |
protected void loadValue(FeatureProvider featureData, int rowIndex,
|
|
303 | 303 |
FeatureAttributeDescriptor descriptor) throws ReadException { |
304 | 304 |
if (descriptor.getEvaluator() != null) { |
305 | 305 |
// Nothing to do |
... | ... | |
411 | 411 |
* @return |
412 | 412 |
* @throws ReadException |
413 | 413 |
*/ |
414 |
protected FeatureData getFeatureDataByIndex(long index) throws DataException {
|
|
414 |
protected FeatureProvider getFeatureDataByIndex(long index) throws DataException {
|
|
415 | 415 |
return this |
416 | 416 |
.getFeatureDataByIndex(index, this.store |
417 | 417 |
.getDefaultFeatureType()); |
... | ... | |
441 | 441 |
return true; |
442 | 442 |
} |
443 | 443 |
|
444 |
public boolean canWriteGeometry(int geometryType) throws DataException { |
|
444 |
public boolean canWriteGeometry(int geometryType, int geometrySubType) throws DataException {
|
|
445 | 445 |
return false; |
446 | 446 |
} |
447 | 447 |
|
... | ... | |
483 | 483 |
|
484 | 484 |
protected void loadMetadataValues() throws DynFieldNotFoundException, |
485 | 485 |
ReadException { |
486 |
this.dynObject.setDynValue(DBFLibrary.DYNFIELD_CODEPAGE_NAME, new Byte(
|
|
486 |
this.metadata.setDynValue(DBFLibrary.DYNFIELD_CODEPAGE_NAME, new Byte(
|
|
487 | 487 |
this.dbfFile.getCodePage())); |
488 |
this.dynObject.setDynValue(DYNFIELD_CURRENT_ENCODING, dbfFile
|
|
488 |
this.metadata.setDynValue(DYNFIELD_CURRENT_ENCODING, dbfFile
|
|
489 | 489 |
.getCurrenCharset().name()); |
490 |
this.dynObject.setDynValue(DYNFIELD_ORIGINAL_ENCODING, dbfFile
|
|
490 |
this.metadata.setDynValue(DYNFIELD_ORIGINAL_ENCODING, dbfFile
|
|
491 | 491 |
.getOriginalCharset().name()); |
492 | 492 |
} |
493 | 493 |
|
... | ... | |
565 | 565 |
* @return |
566 | 566 |
* @throws ReadException |
567 | 567 |
*/ |
568 |
protected FeatureData getFeatureDataByIndex(long index,
|
|
568 |
protected FeatureProvider getFeatureDataByIndex(long index,
|
|
569 | 569 |
FeatureType featureType) throws DataException { |
570 |
FeatureData featureData = this.createFeatureData(featureType);
|
|
570 |
FeatureProvider featureData = this.createFeatureData(featureType);
|
|
571 | 571 |
featureData.setOID(new Long(index)); |
572 | 572 |
return featureData; |
573 | 573 |
} |
574 | 574 |
|
575 |
protected void initFeatureDataByIndex(FeatureData featureData,
|
|
575 |
protected void initFeatureDataByIndex(FeatureProvider featureData,
|
|
576 | 576 |
long index, FeatureType featureType) throws DataException { |
577 | 577 |
featureData.setOID(new Long(index)); |
578 | 578 |
} |
... | ... | |
582 | 582 |
* @param featureData |
583 | 583 |
* @throws DataException |
584 | 584 |
*/ |
585 |
protected void loadFeatureDataByIndex(FeatureData featureData)
|
|
585 |
protected void loadFeatureDataByIndex(FeatureProvider featureData)
|
|
586 | 586 |
throws DataException { |
587 | 587 |
this.open(); |
588 | 588 |
this.resourcesBegin(); |
... | ... | |
605 | 605 |
} |
606 | 606 |
} |
607 | 607 |
|
608 |
public int getFeatureReferenceOIDType() {
|
|
608 |
public int getOIDType() { |
|
609 | 609 |
return DataTypes.LONG; |
610 | 610 |
} |
611 | 611 |
|
... | ... | |
628 | 628 |
} |
629 | 629 |
|
630 | 630 |
|
631 |
public void append(FeatureData featureData) throws DataException {
|
|
631 |
public void append(FeatureProvider featureData) throws DataException {
|
|
632 | 632 |
this.resourcesBegin(); |
633 | 633 |
try { |
634 | 634 |
writer.append(store.createFeature(featureData)); |
branches/v2_0_0_prep/libraries/libFMap_dalfile/src/org/gvsig/fmap/dal/store/dxf/legend/DXFLegendBuilder.java | ||
---|---|---|
31 | 31 |
|
32 | 32 |
import org.cresques.px.dxf.AcadColor; |
33 | 33 |
import org.gvsig.fmap.dal.DataTypes; |
34 |
import org.gvsig.fmap.dal.feature.spi.FeatureData;
|
|
34 |
import org.gvsig.fmap.dal.feature.spi.FeatureProvider;
|
|
35 | 35 |
import org.gvsig.fmap.dal.feature.spi.FeatureStoreProvider; |
36 | 36 |
import org.gvsig.fmap.dal.store.dxf.DXFStoreProvider; |
37 | 37 |
import org.gvsig.fmap.dal.store.dxf.LegendBuilder; |
... | ... | |
84 | 84 |
return this; |
85 | 85 |
} |
86 | 86 |
|
87 |
public void process(FeatureData feature) {
|
|
87 |
public void process(FeatureProvider feature) {
|
|
88 | 88 |
Integer clave = (Integer) feature.get("Color"); |
89 | 89 |
if (clave == null) { |
90 | 90 |
return; |
branches/v2_0_0_prep/libraries/libFMap_dalfile/src/org/gvsig/fmap/dal/store/dxf/LegendBuilder.java | ||
---|---|---|
1 | 1 |
package org.gvsig.fmap.dal.store.dxf; |
2 | 2 |
|
3 |
import org.gvsig.fmap.dal.feature.spi.FeatureData;
|
|
3 |
import org.gvsig.fmap.dal.feature.spi.FeatureProvider;
|
|
4 | 4 |
import org.gvsig.fmap.dal.feature.spi.FeatureStoreProvider; |
5 | 5 |
|
6 | 6 |
|
... | ... | |
14 | 14 |
|
15 | 15 |
public void begin(); |
16 | 16 |
|
17 |
public void process(FeatureData feature);
|
|
17 |
public void process(FeatureProvider feature);
|
|
18 | 18 |
|
19 | 19 |
public void end(); |
20 | 20 |
|
branches/v2_0_0_prep/libraries/libFMap_dalfile/src/org/gvsig/fmap/dal/store/dxf/DXFStoreProvider.java | ||
---|---|---|
45 | 45 |
import org.gvsig.fmap.dal.feature.FeatureStore; |
46 | 46 |
import org.gvsig.fmap.dal.feature.FeatureType; |
47 | 47 |
import org.gvsig.fmap.dal.feature.exception.PerformEditingException; |
48 |
import org.gvsig.fmap.dal.feature.spi.FeatureData;
|
|
48 |
import org.gvsig.fmap.dal.feature.spi.FeatureProvider;
|
|
49 | 49 |
import org.gvsig.fmap.dal.feature.spi.FeatureStoreProvider; |
50 | 50 |
import org.gvsig.fmap.dal.feature.spi.FeatureStoreProviderServices; |
51 | 51 |
import org.gvsig.fmap.dal.feature.spi.memory.AbstractMemoryStoreProvider; |
... | ... | |
94 | 94 |
|
95 | 95 |
public static final String NAME = "DXF"; |
96 | 96 |
public static final String DESCRIPTION = "DXF file"; |
97 |
public static final String DYNCLASS_NAME = "DXFFile";
|
|
97 |
public static final String DYNCLASS_NAME = "DXFStore";
|
|
98 | 98 |
protected static DynClass DYNCLASS = null; |
99 | 99 |
|
100 | 100 |
public static final String NAME_FIELD_ID = "ID"; |
... | ... | |
130 | 130 |
|
131 | 131 |
|
132 | 132 |
|
133 |
private DXFStoreParameters getParameters() { |
|
133 |
private DXFStoreParameters getDXFParameters() {
|
|
134 | 134 |
return (DXFStoreParameters) this.parameters; |
135 | 135 |
} |
136 | 136 |
|
... | ... | |
142 | 142 |
throws InitializeException { |
143 | 143 |
super.initialize(store); |
144 | 144 |
|
145 |
this.dynObject = (DelegatedDynObject) ToolsLocator
|
|
145 |
this.metadata = (DelegatedDynObject) ToolsLocator
|
|
146 | 146 |
.getDynObjectManager().createDynObject(DYNCLASS); |
147 | 147 |
|
148 | 148 |
counterNewsOIDs = 0; |
149 | 149 |
// projection = CRSFactory.getCRS(getParameters().getSRSID()); |
150 | 150 |
|
151 |
File file = getParameters().getFile(); |
|
151 |
File file = getDXFParameters().getFile();
|
|
152 | 152 |
resource = this.createResource( |
153 | 153 |
FileResource.NAME, |
154 | 154 |
new Object[] { file.getAbsolutePath() } |
... | ... | |
156 | 156 |
|
157 | 157 |
resource.addConsumer(this); |
158 | 158 |
|
159 |
this.projection = this.getParameters().getSRS(); |
|
159 |
this.projection = this.getDXFParameters().getSRS();
|
|
160 | 160 |
|
161 | 161 |
|
162 | 162 |
try { |
... | ... | |
292 | 292 |
this.data = dxfData.data; |
293 | 293 |
this.store.setFeatureTypes(dxfData.fTypes, dxfData.defaultFType); |
294 | 294 |
this.legendBuilder = dxfData.legendBuilder; |
295 |
this.dynObject.setDynValue("Envelope", dxfData.getEnvelopeCopy());
|
|
296 |
this.dynObject
|
|
295 |
this.metadata.setDynValue("Envelope", dxfData.getEnvelopeCopy());
|
|
296 |
this.metadata
|
|
297 | 297 |
.setDynValue("DefaultSRS", this.projection.getAbrev()); |
298 | 298 |
this.counterNewsOIDs = this.data.size(); |
299 | 299 |
} catch (Exception e) { |
... | ... | |
315 | 315 |
try { |
316 | 316 |
params = (FilesystemServerExplorerParameters) manager |
317 | 317 |
.createServerExplorerParameters(FilesystemServerExplorer.NAME); |
318 |
params.setRoot(this.getParameters().getFile().getParent()); |
|
318 |
params.setRoot(this.getDXFParameters().getFile().getParent());
|
|
319 | 319 |
return manager.createServerExplorer(params); |
320 | 320 |
} catch (DataException e) { |
321 | 321 |
throw new ReadException(this.getName(), e); |
... | ... | |
327 | 327 |
|
328 | 328 |
|
329 | 329 |
|
330 |
public void performEditing(Iterator deleteds, Iterator inserteds, Iterator updateds, Iterator originalFeatureTypesUpdated) throws PerformEditingException {
|
|
330 |
public void performChanges(Iterator deleteds, Iterator inserteds, Iterator updateds, Iterator originalFeatureTypesUpdated) throws PerformEditingException {
|
|
331 | 331 |
|
332 | 332 |
String fileName = ""; |
333 | 333 |
|
... | ... | |
505 | 505 |
.getAcadVersion(); |
506 | 506 |
|
507 | 507 |
|
508 |
getLogger().info("load: acadVersion = '" + acadVersion + "'");
|
|
508 |
logger.info("load: acadVersion = '" + acadVersion + "'");
|
|
509 | 509 |
|
510 | 510 |
GeometryManager gManager = GeometryLocator.getGeometryManager(); |
511 | 511 |
|
... | ... | |
552 | 552 |
|
553 | 553 |
for (int i = 0; i < features.size(); i++) { |
554 | 554 |
|
555 |
FeatureData feature = store.createFeatureData(store
|
|
555 |
FeatureProvider feature = store.createFeatureData(store
|
|
556 | 556 |
.getStoreServices().getDefaultFeatureType()); |
557 | 557 |
|
558 | 558 |
try { |
... | ... | |
725 | 725 |
this.envelope.add(geom.getEnvelope()); |
726 | 726 |
} |
727 | 727 |
} else { |
728 |
getLogger().warn(
|
|
728 |
logger.warn(
|
|
729 | 729 |
MessageFormat.format( |
730 | 730 |
"load: geometry type {1} not supported", |
731 | 731 |
new Object[] { fea.getGeometry().getClass().getName() } |
... | ... | |
784 | 784 |
} |
785 | 785 |
} |
786 | 786 |
|
787 |
public void add(FeatureData feature) throws WriteException {
|
|
787 |
public void add(FeatureProvider feature) throws WriteException {
|
|
788 | 788 |
try { |
789 | 789 |
Geometry geom = feature.getDefaultGeometry(); |
790 | 790 |
GeometryType type = geom.getGeometryType(); |
... | ... | |
820 | 820 |
k = createLwPolyline2D(handle, k, feature, true); |
821 | 821 |
|
822 | 822 |
} else { |
823 |
getLogger().warn(
|
|
823 |
logger.warn(
|
|
824 | 824 |
MessageFormat.format( |
825 | 825 |
"Geometry '{1}' not yet supported", |
826 | 826 |
new Object[] {geom.getClass().getName()} |
... | ... | |
834 | 834 |
|
835 | 835 |
} |
836 | 836 |
|
837 |
private boolean hasText(FeatureData feature) {
|
|
837 |
private boolean hasText(FeatureProvider feature) {
|
|
838 | 838 |
if (feature.isNull(ID_FIELD_TEXT)) { |
839 | 839 |
return false; |
840 | 840 |
} |
... | ... | |
844 | 844 |
return true; |
845 | 845 |
} |
846 | 846 |
|
847 |
private DxfGroupVector updateProperties(FeatureData feature, int k) {
|
|
847 |
private DxfGroupVector updateProperties(FeatureProvider feature, int k) {
|
|
848 | 848 |
DxfGroupVector polv = new DxfGroupVector(); |
849 | 849 |
|
850 | 850 |
String layer = (String) feature.get(ID_FIELD_LAYER); |
... | ... | |
871 | 871 |
return polv; |
872 | 872 |
} |
873 | 873 |
|
874 |
private int createPoint2D(int handle, int k, FeatureData feature)
|
|
874 |
private int createPoint2D(int handle, int k, FeatureProvider feature)
|
|
875 | 875 |
throws Exception { |
876 | 876 |
|
877 | 877 |
if (hasText(feature)) { |
... | ... | |
907 | 907 |
return k; |
908 | 908 |
} |
909 | 909 |
|
910 |
private int createText2D(int handle, int k, FeatureData feature)
|
|
910 |
private int createText2D(int handle, int k, FeatureProvider feature)
|
|
911 | 911 |
throws Exception { |
912 | 912 |
|
913 | 913 |
String text = feature.get(ID_FIELD_TEXT).toString(); |
... | ... | |
962 | 962 |
return k; |
963 | 963 |
} |
964 | 964 |
|
965 |
private int createPoint3D(int handle, int k, FeatureData feature)
|
|
965 |
private int createPoint3D(int handle, int k, FeatureProvider feature)
|
|
966 | 966 |
throws Exception { |
967 | 967 |
if (hasText(feature)) { |
968 | 968 |
return createText3D(handle, k, feature); |
... | ... | |
1010 | 1010 |
return k; |
1011 | 1011 |
} |
1012 | 1012 |
|
1013 |
private int createText3D(int handle, int k, FeatureData feature)
|
|
1013 |
private int createText3D(int handle, int k, FeatureProvider feature)
|
|
1014 | 1014 |
throws Exception { |
1015 | 1015 |
|
1016 | 1016 |
double velev = ((org.gvsig.fmap.geom.primitive.Point) feature.getDefaultGeometry()) |
... | ... | |
1067 | 1067 |
return k; |
1068 | 1068 |
} |
1069 | 1069 |
|
1070 |
private int createLwPolyline2D(int handle, int k, FeatureData feature,
|
|
1070 |
private int createLwPolyline2D(int handle, int k, FeatureProvider feature,
|
|
1071 | 1071 |
boolean isPolygon) throws Exception { |
1072 | 1072 |
boolean first = true; |
1073 | 1073 |
DxfGroupVector polv = updateProperties(feature, k); |
... | ... | |
1157 | 1157 |
return k; |
1158 | 1158 |
} |
1159 | 1159 |
|
1160 |
private int createPolyline3D(int handle, int k, FeatureData feature)
|
|
1160 |
private int createPolyline3D(int handle, int k, FeatureProvider feature)
|
|
1161 | 1161 |
throws Exception { |
1162 | 1162 |
DxfGroupVector polv = updateProperties(feature, k); |
1163 | 1163 |
Vector vpoints = new Vector(); |
... | ... | |
1295 | 1295 |
return constant; |
1296 | 1296 |
} |
1297 | 1297 |
|
1298 |
private int createCircle2D(int handle, int k, FeatureData feature)
|
|
1298 |
private int createCircle2D(int handle, int k, FeatureProvider feature)
|
|
1299 | 1299 |
throws Exception { |
1300 | 1300 |
DxfGroupVector polv = updateProperties(feature, k); |
1301 | 1301 |
DxfGroup circleFlag = new DxfGroup(); |
... | ... | |
1329 | 1329 |
return k; |
1330 | 1330 |
} |
1331 | 1331 |
|
1332 |
private int createArc2D(int handle, int k, FeatureData feature)
|
|
1332 |
private int createArc2D(int handle, int k, FeatureProvider feature)
|
|
1333 | 1333 |
throws Exception { |
1334 | 1334 |
Arc arc = (Arc) (feature.getDefaultGeometry()) |
1335 | 1335 |
.getInternalShape(); |
... | ... | |
1377 | 1377 |
return k; |
1378 | 1378 |
} |
1379 | 1379 |
|
1380 |
private int createEllipse2D(int handle, int k, FeatureData feature)
|
|
1380 |
private int createEllipse2D(int handle, int k, FeatureProvider feature)
|
|
1381 | 1381 |
throws Exception { |
1382 | 1382 |
Ellipse ellipse = (Ellipse) (feature |
1383 | 1383 |
.getDefaultGeometry()).getInternalShape(); |
... | ... | |
1446 | 1446 |
return true; |
1447 | 1447 |
} |
1448 | 1448 |
|
1449 |
public int getFeatureReferenceOIDType() {
|
|
1449 |
public int getOIDType() { |
|
1450 | 1450 |
return DataTypes.LONG; |
1451 | 1451 |
} |
1452 | 1452 |
|
... | ... | |
1454 | 1454 |
return false; |
1455 | 1455 |
} |
1456 | 1456 |
|
1457 |
public void append(FeatureData featureData) {
|
|
1457 |
public void append(FeatureProvider featureData) {
|
|
1458 | 1458 |
try { |
1459 | 1459 |
writer.add(featureData); |
1460 | 1460 |
} catch (WriteException e) { |
... | ... | |
1516 | 1516 |
|
1517 | 1517 |
public Envelope getEnvelope() throws DataException { |
1518 | 1518 |
this.open(); |
1519 |
return (Envelope) this.dynObject.getDynValue("Envelope");
|
|
1519 |
return (Envelope) this.metadata.getDynValue("Envelope");
|
|
1520 | 1520 |
} |
1521 | 1521 |
|
1522 | 1522 |
public Iterator getChilds() { |
... | ... | |
1551 | 1551 |
} |
1552 | 1552 |
|
1553 | 1553 |
public Object getSourceId() { |
1554 |
return this.getParameters().getFile(); |
|
1554 |
return this.getDXFParameters().getFile();
|
|
1555 | 1555 |
} |
1556 | 1556 |
|
1557 | 1557 |
} |
branches/v2_0_0_prep/libraries/libDielmoOpenLiDAR/src/org/gvsig/fmap/dal/store/lidar/LiDARSetProvider.java | ||
---|---|---|
8 | 8 |
import org.gvsig.fmap.dal.feature.Feature; |
9 | 9 |
import org.gvsig.fmap.dal.feature.FeatureQuery; |
10 | 10 |
import org.gvsig.fmap.dal.feature.FeatureType; |
11 |
import org.gvsig.fmap.dal.feature.spi.FeatureData;
|
|
11 |
import org.gvsig.fmap.dal.feature.spi.FeatureProvider;
|
|
12 | 12 |
import org.gvsig.fmap.dal.feature.spi.FeatureSetProvider; |
13 | 13 |
import org.gvsig.tools.evaluator.Evaluator; |
14 | 14 |
import org.gvsig.tools.evaluator.EvaluatorData; |
... | ... | |
75 | 75 |
private Evaluator filter; |
76 | 76 |
FeatureQuery query; |
77 | 77 |
protected boolean nextChecked; |
78 |
private FeatureData current;
|
|
78 |
private FeatureProvider current;
|
|
79 | 79 |
|
80 | 80 |
public LiDARIteratorScale(LiDARStoreProvider store, FeatureQuery query,FeatureType featureType, |
81 | 81 |
long index) throws DataException { |
... | ... | |
107 | 107 |
protected void doNext() throws DataException { |
108 | 108 |
nextChecked = true; |
109 | 109 |
|
110 |
FeatureData featureData;
|
|
110 |
FeatureProvider featureData;
|
|
111 | 111 |
Feature feature; |
112 | 112 |
long i=this.curIndex; |
113 | 113 |
while (i<count) { |
... | ... | |
141 | 141 |
throw new NoSuchElementException(); |
142 | 142 |
} |
143 | 143 |
try{ |
144 |
FeatureData data = this.createFeature();
|
|
144 |
FeatureProvider data = this.createFeature();
|
|
145 | 145 |
curIndex++; |
146 | 146 |
return data; |
147 | 147 |
} catch (DataException e){ |
... | ... | |
154 | 154 |
|
155 | 155 |
} |
156 | 156 |
|
157 |
protected FeatureData createFeature() throws DataException {
|
|
157 |
protected FeatureProvider createFeature() throws DataException {
|
|
158 | 158 |
return this.store.getFeatureDataByIndex(curIndex, featureType); |
159 | 159 |
} |
160 | 160 |
|
... | ... | |
193 | 193 |
throw new NoSuchElementException(); |
194 | 194 |
} |
195 | 195 |
try{ |
196 |
FeatureData data = this.createFeature();
|
|
196 |
FeatureProvider data = this.createFeature();
|
|
197 | 197 |
curIndex++; |
198 | 198 |
return data; |
199 | 199 |
} catch (DataException e){ |
... | ... | |
206 | 206 |
|
207 | 207 |
} |
208 | 208 |
|
209 |
protected FeatureData createFeature() throws DataException {
|
|
209 |
protected FeatureProvider createFeature() throws DataException {
|
|
210 | 210 |
return this.store.getFeatureDataByIndex(curIndex, featureType); |
211 | 211 |
} |
212 | 212 |
|
... | ... | |
225 | 225 |
} |
226 | 226 |
|
227 | 227 |
|
228 |
private FeatureData curData;
|
|
228 |
private FeatureProvider curData;
|
|
229 | 229 |
|
230 | 230 |
|
231 |
protected FeatureData createFeature() throws DataException {
|
|
231 |
protected FeatureProvider createFeature() throws DataException {
|
|
232 | 232 |
this.store.loadFeatureDataByIndex(curData, curIndex, featureType); |
233 | 233 |
return curData; |
234 | 234 |
} |
branches/v2_0_0_prep/libraries/libDielmoOpenLiDAR/src/org/gvsig/fmap/dal/store/lidar/LiDARStoreProvider.java | ||
---|---|---|
30 | 30 |
import org.gvsig.fmap.dal.feature.FeatureType; |
31 | 31 |
import org.gvsig.fmap.dal.feature.exception.PerformEditingException; |
32 | 32 |
import org.gvsig.fmap.dal.feature.spi.AbstractFeatureStoreProvider; |
33 |
import org.gvsig.fmap.dal.feature.spi.FeatureData;
|
|
33 |
import org.gvsig.fmap.dal.feature.spi.FeatureProvider;
|
|
34 | 34 |
import org.gvsig.fmap.dal.feature.spi.FeatureReferenceProviderServices; |
35 | 35 |
import org.gvsig.fmap.dal.feature.spi.FeatureSetProvider; |
36 | 36 |
import org.gvsig.fmap.dal.feature.spi.FeatureStoreProvider; |
... | ... | |
147 | 147 |
throws InitializeException { |
148 | 148 |
super(); |
149 | 149 |
this.liDARParams = (LiDARStoreParameters) params; |
150 |
this.dynObject = (DelegatedDynObject) ToolsLocator
|
|
150 |
this.metadata = (DelegatedDynObject) ToolsLocator
|
|
151 | 151 |
.getDynObjectManager().createDynObject(DYNCLASS); |
152 | 152 |
|
153 |
this.dynObject.setDynValue("DefaultSRS", null);
|
|
154 |
this.dynObject.setDynValue("Envelope", null);
|
|
153 |
this.metadata.setDynValue("DefaultSRS", null);
|
|
154 |
this.metadata.setDynValue("Envelope", null);
|
|
155 | 155 |
|
156 | 156 |
m_Fich = getLiDARParameters().getFile(); |
157 | 157 |
liDARResource = this.createResource(FileResource.NAME, |
... | ... | |
252 | 252 |
* @return |
253 | 253 |
* @throws DataException |
254 | 254 |
*/ |
255 |
FeatureData getFeatureDataByIndex(long index, FeatureType fType)
|
|
255 |
FeatureProvider getFeatureDataByIndex(long index, FeatureType fType)
|
|
256 | 256 |
throws DataException { |
257 |
FeatureData data = this.createFeatureData(fType);
|
|
257 |
FeatureProvider data = this.createFeatureData(fType);
|
|
258 | 258 |
this.loadFeatureDataByIndex(data, index, fType); |
259 | 259 |
return data; |
260 | 260 |
} |
... | ... | |
263 | 263 |
/* (non-Javadoc) |
264 | 264 |
* @see org.gvsig.fmap.dal.feature.spi.AbstractFeatureStoreProvider#getExplorer() |
265 | 265 |
*/ |
266 |
@Override |
|
267 | 266 |
public DataServerExplorer getExplorer() throws ReadException { |
268 | 267 |
// TODO Auto-generated method stub |
269 | 268 |
return null; |
... | ... | |
272 | 271 |
/* (non-Javadoc) |
273 | 272 |
* @see org.gvsig.fmap.dal.feature.spi.AbstractFeatureStoreProvider#performEditing(java.util.Iterator, java.util.Iterator, java.util.Iterator) |
274 | 273 |
*/ |
275 |
@Override |
|
276 |
public void performEditing(Iterator deleteds, Iterator inserteds, |
|
274 |
public void performChanges(Iterator deleteds, Iterator inserteds, |
|
277 | 275 |
Iterator updateds, Iterator originalFeatureTypesUpdated) throws PerformEditingException { |
278 | 276 |
// TODO Auto-generated method stub |
279 | 277 |
|
... | ... | |
282 | 280 |
/* (non-Javadoc) |
283 | 281 |
* @see org.gvsig.fmap.dal.feature.spi.FeatureStoreProvider#append(org.gvsig.fmap.dal.feature.Feature) |
284 | 282 |
*/ |
285 |
public void append(FeatureData featureData) throws DataException {
|
|
283 |
public void append(FeatureProvider featureData) throws DataException {
|
|
286 | 284 |
// TODO Auto-generated method stub |
287 | 285 |
|
288 | 286 |
} |
... | ... | |
298 | 296 |
/* (non-Javadoc) |
299 | 297 |
* @see org.gvsig.fmap.dal.feature.spi.FeatureStoreProvider#canWriteGeometry(int) |
300 | 298 |
*/ |
301 |
public boolean canWriteGeometry(int geometryType) throws DataException { |
|
299 |
public boolean canWriteGeometry(int geometryType, int geometrySubType) throws DataException {
|
|
302 | 300 |
// TODO Auto-generated method stub |
303 | 301 |
return false; |
304 | 302 |
} |
... | ... | |
339 | 337 |
/* (non-Javadoc) |
340 | 338 |
* @see org.gvsig.fmap.dal.feature.spi.FeatureStoreProvider#getFeatureDataByReference(org.gvsig.fmap.dal.feature.spi.FeatureReferenceProviderServices) |
341 | 339 |
*/ |
342 |
public FeatureData getFeatureDataByReference(
|
|
340 |
public FeatureProvider getFeatureDataByReference(
|
|
343 | 341 |
FeatureReferenceProviderServices reference) throws DataException { |
344 | 342 |
return this.getFeatureDataByReference(reference, this.store |
345 | 343 |
.getDefaultFeatureType()); |
... | ... | |
348 | 346 |
/* (non-Javadoc) |
349 | 347 |
* @see org.gvsig.fmap.dal.feature.spi.FeatureStoreProvider#getFeatureDataByReference(org.gvsig.fmap.dal.feature.spi.FeatureReferenceProviderServices, org.gvsig.fmap.dal.feature.FeatureType) |
350 | 348 |
*/ |
351 |
public FeatureData getFeatureDataByReference(
|
|
349 |
public FeatureProvider getFeatureDataByReference(
|
|
352 | 350 |
FeatureReferenceProviderServices reference, FeatureType featureType) |
353 | 351 |
throws DataException { |
354 | 352 |
return this.getFeatureDataByIndex((Long) reference.getOID(), |
... | ... | |
358 | 356 |
/* (non-Javadoc) |
359 | 357 |
* @see org.gvsig.fmap.dal.feature.spi.FeatureStoreProvider#getFeatureReferenceOIDType() |
360 | 358 |
*/ |
361 |
public int getFeatureReferenceOIDType() {
|
|
359 |
public int getOIDType() { |
|
362 | 360 |
return DataTypes.LONG; |
363 | 361 |
} |
364 | 362 |
|
... | ... | |
421 | 419 |
// Cargar Metadatos !!! (Envelope, SRS...) |
422 | 420 |
Envelope envelope = geomManager.createEnvelope(hdr.getMinX(), hdr |
423 | 421 |
.getMinY(), hdr.getMaxX(), hdr.getMaxY(), SUBTYPES.GEOM2D); |
424 |
this.dynObject.setDynValue("Envelope", envelope);
|
|
422 |
this.metadata.setDynValue("Envelope", envelope);
|
|
425 | 423 |
} catch (IOException e) { |
426 | 424 |
throw new OpenException(NAME, e); |
427 | 425 |
} catch (ResourceNotifyOpenException e) { |
... | ... | |
521 | 519 |
resource); |
522 | 520 |
} |
523 | 521 |
|
524 |
public void loadFeatureDataByIndex(FeatureData data, long index,
|
|
522 |
public void loadFeatureDataByIndex(FeatureProvider data, long index,
|
|
525 | 523 |
FeatureType featureType) throws DataException { |
526 | 524 |
this.open(); |
527 | 525 |
liDARResource.begin(); |
branches/v2_0_0_prep/libraries/libFMap_dal/src/org/gvsig/fmap/dal/spi/DataStoreProvider.java | ||
---|---|---|
12 | 12 |
|
13 | 13 |
public interface DataStoreProvider extends DynObject { |
14 | 14 |
|
15 |
/** |
|
16 |
* Retruns an {@link java.util.Iterator} of SubStores from this store. it |
|
17 |
* this hasn't SubStores returns <code>null</code>. |
|
18 |
* |
|
19 |
* @return SubStores iterator |
|
20 |
*/ |
|
15 | 21 |
public abstract Iterator getChilds(); |
16 | 22 |
|
23 |
/** |
|
24 |
* Create a {@link DataServerExplorer} from the same source that this store. |
|
25 |
* |
|
26 |
* @return ServerExplorer |
|
27 |
* @throws ReadException |
|
28 |
* @throws ValidateDataParametersException |
|
29 |
*/ |
|
17 | 30 |
public abstract DataServerExplorer getExplorer() throws ReadException, |
18 | 31 |
ValidateDataParametersException; |
19 | 32 |
|
33 |
/** |
|
34 |
* Open store. You must call it before do anything whith store.<br> |
|
35 |
* This method can be called repeatly. |
|
36 |
* |
|
37 |
* @throws OpenException |
|
38 |
*/ |
|
20 | 39 |
public abstract void open() throws OpenException; |
21 | 40 |
|
41 |
/** |
|
42 |
* Request to close de source |
|
43 |
* |
|
44 |
* @throws CloseException |
|
45 |
*/ |
|
22 | 46 |
public abstract void close() throws CloseException; |
23 | 47 |
|
48 |
/** |
|
49 |
* Force to reload information of Store |
|
50 |
* |
|
51 |
* @throws OpenException |
|
52 |
* @throws InitializeException |
|
53 |
*/ |
|
24 | 54 |
public abstract void refresh() throws OpenException, InitializeException; |
25 | 55 |
|
56 |
/** |
|
57 |
* Prepares store for be removed from memory |
|
58 |
* |
|
59 |
* @throws CloseException |
|
60 |
*/ |
|
26 | 61 |
public abstract void dispose() throws CloseException; |
27 | 62 |
|
63 |
/** |
|
64 |
* Returns the unique identifier of the Store |
|
65 |
* |
|
66 |
* FIXME add examples |
|
67 |
* |
|
68 |
* @return |
|
69 |
*/ |
|
28 | 70 |
public abstract Object getSourceId(); |
29 | 71 |
|
30 | 72 |
} |
branches/v2_0_0_prep/libraries/libFMap_dal/src/org/gvsig/fmap/dal/feature/spi/FeatureData.java | ||
---|---|---|
1 |
package org.gvsig.fmap.dal.feature.spi; |
|
2 |
|
|
3 |
import org.gvsig.fmap.dal.feature.FeatureType; |
|
4 |
import org.gvsig.fmap.geom.Geometry; |
|
5 |
import org.gvsig.fmap.geom.primitive.Envelope; |
|
6 |
|
|
7 |
public interface FeatureData { |
|
8 |
|
|
9 |
public void set(int i, Object value); |
|
10 |
|
|
11 |
public Object get(int i); |
|
12 |
|
|
13 |
public void set(String name, Object value); |
|
14 |
|
|
15 |
public Object get(String name); |
|
16 |
|
|
17 |
public void setOID(Object oid); |
|
18 |
|
|
19 |
public Object getOID(); |
|
20 |
|
|
21 |
public FeatureType getType(); |
|
22 |
|
|
23 |
public FeatureData getCopy(); |
|
24 |
|
|
25 |
public Envelope getDefaultEnvelope(); |
|
26 |
|
|
27 |
public Geometry getDefaultGeometry(); |
|
28 |
|
|
29 |
public void setDefaultEnvelope(Envelope extent); |
|
30 |
|
|
31 |
public void setDefaultGeometry(Geometry geom); |
|
32 |
|
|
33 |
public boolean isNull(int i); |
|
34 |
|
|
35 |
public boolean isNull(String name); |
|
36 |
|
|
37 |
public boolean isNew(); |
|
38 |
|
|
39 |
public void setNew(boolean isNew); |
|
40 |
|
|
41 |
} |
branches/v2_0_0_prep/libraries/libFMap_dal/src/org/gvsig/fmap/dal/feature/spi/DefaultFeatureData.java | ||
---|---|---|
1 |
package org.gvsig.fmap.dal.feature.spi; |
|
2 |
|
|
3 |
import org.gvsig.fmap.dal.feature.EditableFeatureType; |
|
4 |
import org.gvsig.fmap.dal.feature.FeatureType; |
|
5 |
import org.gvsig.fmap.dal.feature.impl.DefaultFeatureType; |
|
6 |
import org.gvsig.fmap.geom.Geometry; |
|
7 |
import org.gvsig.fmap.geom.primitive.Envelope; |
|
8 |
|
|
9 |
public class DefaultFeatureData implements FeatureData { |
|
10 |
|
|
11 |
protected FeatureType featureType; |
|
12 |
protected boolean[] nulls; |
|
13 |
protected Object[] values; |
|
14 |
protected Geometry defaultGeometry; |
|
15 |
protected Envelope envelope; |
|
16 |
private Object oid; |
|
17 |
private boolean isNew=false; |
|
18 |
|
|
19 |
public DefaultFeatureData(FeatureType type) { |
|
20 |
if (type instanceof EditableFeatureType) { |
|
21 |
throw new IllegalArgumentException("type can't by editable."); |
|
22 |
} |
|
23 |
this.featureType = (DefaultFeatureType) type; |
|
24 |
this.values = new Object[featureType.size()]; |
|
25 |
this.nulls = new boolean[featureType.size()]; |
|
26 |
|
|
27 |
this.envelope = null; |
|
28 |
this.defaultGeometry = null; |
|
29 |
this.oid = null; |
|
30 |
} |
|
31 |
|
|
32 |
public DefaultFeatureData(FeatureType type, Object oid) { |
|
33 |
this(type); |
|
34 |
this.oid = oid; |
|
35 |
} |
|
36 |
public void set(int i, Object value) { |
|
37 |
if (featureType.getDefaultGeometryAttributeIndex() == i) { |
|
38 |
defaultGeometry = (Geometry) value; |
|
39 |
envelope = null; |
|
40 |
} |
|
41 |
if (value == null) { |
|
42 |
nulls[i] = true; |
|
43 |
values[i] = featureType.getAttributeDescriptor(i).getDefaultValue(); |
|
44 |
} else { |
|
45 |
values[i] = value; |
|
46 |
nulls[i] = false; |
|
47 |
} |
|
48 |
} |
|
49 |
|
|
50 |
public void set(String name, Object value) { |
|
51 |
set(featureType.getIndex(name), value); |
|
52 |
} |
|
53 |
|
|
54 |
public Object get(int i) { |
|
55 |
return values[i]; |
|
56 |
} |
|
57 |
|
|
58 |
public Object get(String name) { |
|
59 |
int i = featureType.getIndex(name); |
|
60 |
return values[i]; |
|
61 |
} |
|
62 |
|
|
63 |
public FeatureType getType() { |
|
64 |
return featureType; |
|
65 |
} |
|
66 |
|
|
67 |
public FeatureData getCopy() { |
|
68 |
DefaultFeatureData data = new DefaultFeatureData( |
|
69 |
this.getType()); |
|
70 |
return getCopy(data); |
|
71 |
} |
|
72 |
|
|
73 |
protected FeatureData getCopy(DefaultFeatureData data) { |
|
74 |
data.oid = this.oid; |
|
75 |
System.arraycopy(this.values, 0, data.values, 0, this.values.length); |
|
76 |
data.defaultGeometry = this.defaultGeometry; |
|
77 |
data.envelope = this.envelope; |
|
78 |
data.isNew=this.isNew; |
|
79 |
return data; |
|
80 |
} |
|
81 |
|
|
82 |
public Envelope getDefaultEnvelope() { |
|
83 |
if (envelope == null && defaultGeometry != null) { |
|
84 |
envelope = defaultGeometry.getEnvelope(); |
|
85 |
} |
|
86 |
return envelope; |
|
87 |
} |
|
88 |
|
|
89 |
public Geometry getDefaultGeometry() { |
|
90 |
return this.defaultGeometry; |
|
91 |
} |
|
92 |
|
|
93 |
public void setDefaultEnvelope(Envelope envelope) { |
|
94 |
this.envelope = envelope; |
|
95 |
} |
|
96 |
|
|
97 |
public void setDefaultGeometry(Geometry geom) { |
|
98 |
int i = featureType.getDefaultGeometryAttributeIndex(); |
|
99 |
defaultGeometry = geom; |
|
100 |
envelope = null; |
|
101 |
values[i] = geom; |
|
102 |
} |
|
103 |
|
|
104 |
public boolean isNull(int i) { |
|
105 |
return nulls[i]; |
Also available in: Unified diff