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 |
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 |
} |