Revision 29289

View differences:

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];
... This diff was truncated because it exceeds the maximum size that can be displayed.

Also available in: Unified diff