svn-gvsig-desktop / trunk / org.gvsig.desktop / org.gvsig.desktop.compat.cdc / org.gvsig.fmap.dal / org.gvsig.fmap.dal.impl / src / main / java / org / gvsig / fmap / dal / raster / impl / RasterStoreOldFactory.java @ 43020
History | View | Annotate | Download (2.34 KB)
1 | 43020 | jjdelcerro | package org.gvsig.fmap.dal.raster.impl; |
---|---|---|---|
2 | |||
3 | import org.gvsig.fmap.dal.DataManager; |
||
4 | import org.gvsig.fmap.dal.DataParameters; |
||
5 | import org.gvsig.fmap.dal.DataStore; |
||
6 | import org.gvsig.fmap.dal.DataStoreFactory; |
||
7 | import org.gvsig.fmap.dal.DataStoreParameters; |
||
8 | import org.gvsig.fmap.dal.DataStoreProvider; |
||
9 | import org.gvsig.fmap.dal.exception.InitializeException; |
||
10 | import org.gvsig.fmap.dal.impl.AbstractDataStoreFactory; |
||
11 | import org.gvsig.fmap.dal.spi.DataStoreInitializer; |
||
12 | import org.gvsig.tools.dynobject.DynObject; |
||
13 | import org.gvsig.tools.service.spi.Services; |
||
14 | |||
15 | public class RasterStoreOldFactory extends AbstractDataStoreFactory { |
||
16 | private final DataStoreFactory oldfactory; |
||
17 | |||
18 | public static final String NAME = "RasterStore"; |
||
19 | |||
20 | public RasterStoreOldFactory(String name, Class storeFactoryClass) { |
||
21 | super(name,""); |
||
22 | try {
|
||
23 | this.oldfactory = (DataStoreFactory) storeFactoryClass.newInstance();
|
||
24 | } catch (Exception ex) { |
||
25 | throw new RuntimeException("Can't create factory (for old rasters)", ex); |
||
26 | } |
||
27 | } |
||
28 | |||
29 | @Override
|
||
30 | public DynObject createParameters() {
|
||
31 | return null; |
||
32 | } |
||
33 | |||
34 | @Override
|
||
35 | public DataStore create(DynObject parameters, Services services) {
|
||
36 | try {
|
||
37 | DataStoreParameters params = (DataStoreParameters) parameters; |
||
38 | DataManager dataManager = (DataManager) services; |
||
39 | this.oldfactory.setParameters(params);
|
||
40 | DataStoreInitializer store = (DataStoreInitializer) oldfactory.createStore(); |
||
41 | store.intializePhase1(dataManager, params); |
||
42 | return (DataStore) store;
|
||
43 | } catch (Exception ex) { |
||
44 | throw new RuntimeException(ex); |
||
45 | } |
||
46 | } |
||
47 | |||
48 | @Override
|
||
49 | public boolean canUse(DataParameters parameters) { |
||
50 | if( ! (parameters instanceof DataStoreParameters) ) { |
||
51 | return false; |
||
52 | } |
||
53 | |||
54 | boolean use = ((DataStoreParameters)parameters).getDataStoreName().equalsIgnoreCase(this.getName()); |
||
55 | return use;
|
||
56 | } |
||
57 | |||
58 | @Override
|
||
59 | public void setProvider(DataStore store, DataStoreProvider provider) { |
||
60 | try {
|
||
61 | ((DataStoreInitializer)store).intializePhase2((org.gvsig.fmap.dal.spi.DataStoreProvider) provider); |
||
62 | } catch (InitializeException ex) {
|
||
63 | throw new RuntimeException("Can't set the provider of the store.", ex); |
||
64 | } |
||
65 | } |
||
66 | |||
67 | } |