Revision 29326 branches/v2_0_0_prep/libraries/libFMap_dal/src/org/gvsig/fmap/dal/feature/impl/DefaultFeatureStore.java

View differences:

DefaultFeatureStore.java
71 71
import org.gvsig.fmap.dal.feature.spi.FeatureStoreProvider;
72 72
import org.gvsig.fmap.dal.feature.spi.FeatureStoreProviderServices;
73 73
import org.gvsig.fmap.dal.feature.spi.index.FeatureIndexProviderServices;
74
import org.gvsig.fmap.dal.impl.DataStoreImplementation;
74 75
import org.gvsig.fmap.dal.impl.DefaultDataManager;
75 76
import org.gvsig.fmap.dal.resource.Resource;
77
import org.gvsig.fmap.dal.spi.DataStoreProvider;
76 78
import org.gvsig.fmap.geom.primitive.Envelope;
77 79
import org.gvsig.tools.ToolsLocator;
78 80
import org.gvsig.tools.dynobject.DelegatedDynObject;
......
95 97
import org.slf4j.Logger;
96 98
import org.slf4j.LoggerFactory;
97 99

  
98
final public class DefaultFeatureStore implements
99
FeatureStoreProviderServices,
100
Observer {
100
final public class DefaultFeatureStore implements DataStoreImplementation,
101
		FeatureStoreProviderServices, FeatureStore, Observer {
101 102

  
102 103
	final static private Logger logger = LoggerFactory
103 104
			.getLogger(DefaultFeatureStore.class);
......
148 149

  
149 150
	}
150 151

  
151
	public DefaultFeatureStore(DefaultDataManager manager,
152
			DataStoreParameters parameters, FeatureStoreProvider provider)
153
	throws InitializeException {
154
		initialize(manager, parameters, provider);
155
	}
152
	public void intializePhase1(DefaultDataManager dataManager,
153
			DataStoreParameters parameters) throws InitializeException {
156 154

  
157
	private void initialize(DefaultDataManager manager,
158
			DataStoreParameters parameters, FeatureStoreProvider provider)
159
	throws InitializeException {
160

  
161 155
		DynObjectManager dynManager = ToolsLocator.getDynObjectManager();
162 156

  
163 157
		this.metadata = (DelegatedDynObject) dynManager
164
		.createDynObject(dynManager
165
				.get(DataStore.DYNCLASS_NAME));
166
		this.dataManager = manager;
167
		this.provider = provider;
158
				.createDynObject(dynManager.get(DataStore.DYNCLASS_NAME));
159
		this.dataManager = dataManager;
160

  
168 161
		this.parameters = parameters;
169 162
		this.transforms = new DefaultFeatureStoreTransforms(this);
170
		this.provider.initialize(this);
171 163
		try {
172
			indexes=new DefaultFeatureIndexes(this);
164
			indexes = new DefaultFeatureIndexes(this);
173 165
		} catch (DataException e) {
174 166
			throw new InitializeException(e);
175 167
		}
168

  
169
	}
170

  
171
	public void intializePhase2(DataStoreProvider provider) {
172
		this.provider = (FeatureStoreProvider) provider;
176 173
		this.delegate(provider);
177 174
	}
178 175

  
179

  
180 176
	public String getName() {
181 177
		return this.parameters.getDataStoreName();
182 178
	}
......
333 329
		}
334 330

  
335 331
		DataStoreParameters params = (DataStoreParameters) state.get("parameters");
336
		FeatureStoreProvider provider = (FeatureStoreProvider) state.get("provider");
337 332

  
338 333
		try {
339 334

  
340
			initialize(this.dataManager, params, provider);
335
			this.dataManager.intializeDataStore(this, params);
341 336
			try {
342 337
				setSelection((FeatureSelection) state.get("selection"));
343 338
			} catch (PersistenceValueNotFoundException e) {
......
1382 1377

  
1383 1378
	public EditableFeatureType createFeatureType() {
1384 1379
		DefaultEditableFeatureType ftype = new DefaultEditableFeatureType();
1385
		ftype.setAllowAutomaticValues(this.provider.allowAutomaticValues());
1386 1380
		return ftype;
1387 1381
	}
1388 1382

  
1389 1383
	public EditableFeatureType createFeatureType(String id) {
1390 1384
		DefaultEditableFeatureType ftype = new DefaultEditableFeatureType(id);
1391
		ftype.setAllowAutomaticValues(this.provider.allowAutomaticValues());
1392 1385
		return ftype;
1393 1386
	}
1394 1387

  
......
1562 1555
		return ((DefaultFeature) feature).getData();
1563 1556
	}
1564 1557

  
1558
	public DataStore getStore() {
1559
		return this;
1560
	}
1565 1561

  
1562
	public FeatureStore getFeatureStore() {
1563
		return this;
1564
	}
1565

  
1566 1566
}

Also available in: Unified diff