Revision 33664 branches/v2_0_0_prep/libraries/libFMap_dal/src/org/gvsig/fmap/dal/impl/DefaultDataManager.java
DefaultDataManager.java | ||
---|---|---|
12 | 12 |
import org.gvsig.fmap.dal.DataServerExplorer; |
13 | 13 |
import org.gvsig.fmap.dal.DataServerExplorerParameters; |
14 | 14 |
import org.gvsig.fmap.dal.DataStore; |
15 |
import org.gvsig.fmap.dal.DataStoreFactory; |
|
15 | 16 |
import org.gvsig.fmap.dal.DataStoreParameters; |
16 | 17 |
import org.gvsig.fmap.dal.NewDataStoreParameters; |
17 | 18 |
import org.gvsig.fmap.dal.exception.DataException; |
... | ... | |
32 | 33 |
import org.gvsig.fmap.dal.feature.spi.cache.FeatureCacheProviderFactory; |
33 | 34 |
import org.gvsig.fmap.dal.feature.spi.index.FeatureIndexProvider; |
34 | 35 |
import org.gvsig.fmap.dal.feature.spi.index.FeatureIndexProviderServices; |
35 |
import org.gvsig.fmap.dal.raster.impl.DefaultCoverageStore; |
|
36 | 36 |
import org.gvsig.fmap.dal.raster.spi.CoverageStoreProvider; |
37 | 37 |
import org.gvsig.fmap.dal.resource.ResourceManager; |
38 | 38 |
import org.gvsig.fmap.dal.spi.DataManagerProviderServices; |
... | ... | |
73 | 73 |
final static private String DATA_MANAGER_EXPRESION_EVALUATOR = "Data.manager.expresion.evaluator"; |
74 | 74 |
final static private String DATA_MANAGER_EXPRESION_EVALUATOR_DEFAULT = "default"; |
75 | 75 |
final static private String DATA_MANAGER_EXPRESION_EVALUATOR_DESCRIPTION = "DAL expresion evaluators."; |
76 |
|
|
77 |
final static private String DATA_MANAGER_STORE_FACTORY = "Data.manager.stores.factory"; |
|
78 |
final static private String DATA_MANAGER_STORE_FACTORY_DESCRIPTION = "DAL stores factories"; |
|
76 | 79 |
|
77 | 80 |
/** This map contains the name of the default provider for each data type */ |
78 | 81 |
private Map defaultDataIndexProviders; |
... | ... | |
177 | 180 |
DATA_MANAGER_STORE_PARAMS_DESCRIPTION).append(name, null, |
178 | 181 |
parametersClass); |
179 | 182 |
} |
183 |
|
|
184 |
/* |
|
185 |
* (non-Javadoc) |
|
186 |
* @see org.gvsig.fmap.dal.spi.DataManagerProviderServices#registerStoreFactory(java.lang.String, java.lang.Class) |
|
187 |
*/ |
|
188 |
public void registerStoreFactory(String name, Class storeProviderClass) { |
|
189 |
if (name == null || storeProviderClass == null) { |
|
190 |
// FIXME Exception |
|
191 |
throw new IllegalArgumentException("Any parameters can be null"); |
|
192 |
} |
|
180 | 193 |
|
194 |
if(!(DataStoreFactory.class.isAssignableFrom(storeProviderClass))) { |
|
195 |
// FIXME Exception |
|
196 |
throw new IllegalArgumentException( |
|
197 |
"Not supported implemtation: name=" + name |
|
198 |
+ " provider class=" + storeProviderClass.getName()); |
|
199 |
} |
|
200 |
|
|
201 |
ToolsLocator.getExtensionPointManager().add(DATA_MANAGER_STORE_FACTORY, |
|
202 |
DATA_MANAGER_STORE_FACTORY_DESCRIPTION).append(name, null, |
|
203 |
storeProviderClass); |
|
204 |
} |
|
205 |
|
|
181 | 206 |
public DataStoreParameters createStoreParameters(String name) |
182 | 207 |
throws InitializeException, ProviderNotRegisteredException { |
183 | 208 |
try { |
... | ... | |
220 | 245 |
} |
221 | 246 |
|
222 | 247 |
if (CoverageStoreProvider.class.isAssignableFrom(providerClass)) { |
223 |
store = new DefaultCoverageStore(); |
|
224 |
|
|
248 |
ExtensionPoint.Extension point = ToolsLocator.getExtensionPointManager(). |
|
249 |
get(DATA_MANAGER_STORE_FACTORY).get(name); |
|
250 |
DataStoreFactory factory = null; |
|
251 |
try { |
|
252 |
factory = (DataStoreFactory)point.create(); |
|
253 |
} catch (InstantiationException e) { |
|
254 |
throw new InitializeException(e); |
|
255 |
} catch (IllegalAccessException e) { |
|
256 |
throw new InitializeException(e); |
|
257 |
} |
|
258 |
factory.setParameters(parameters); |
|
259 |
store = factory.createStore(); |
|
225 | 260 |
} else if (FeatureStoreProvider.class.isAssignableFrom(providerClass)) { |
226 | 261 |
|
227 | 262 |
store = new DefaultFeatureStore(); |
Also available in: Unified diff