Statistics
| Revision:

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
}