Statistics
| Revision:

root / org.gvsig.dgn / trunk / org.gvsig.dgn / org.gvsig.dgn.provider / src / main / java / org / gvsig / fmap / dal / store / dgn / DGNFilesystemServerProvider.java @ 6

History | View | Annotate | Download (2.97 KB)

1
package org.gvsig.fmap.dal.store.dgn;
2

    
3
import java.io.File;
4

    
5
import org.gvsig.fmap.dal.DALLocator;
6
import org.gvsig.fmap.dal.DataManager;
7
import org.gvsig.fmap.dal.DataServerExplorer;
8
import org.gvsig.fmap.dal.DataStoreParameters;
9
import org.gvsig.fmap.dal.NewDataStoreParameters;
10
import org.gvsig.fmap.dal.exception.CreateException;
11
import org.gvsig.fmap.dal.exception.DataException;
12
import org.gvsig.fmap.dal.exception.FileNotFoundException;
13
import org.gvsig.fmap.dal.exception.RemoveException;
14
import org.gvsig.fmap.dal.resource.spi.ResourceConsumer;
15
import org.gvsig.fmap.dal.resource.spi.ResourceProvider;
16
import org.gvsig.fmap.dal.serverexplorer.filesystem.impl.AbstractFilesystemServerExplorerProvider;
17
import org.gvsig.fmap.dal.serverexplorer.filesystem.spi.FilesystemServerExplorerProvider;
18
import org.gvsig.fmap.dal.serverexplorer.filesystem.spi.FilesystemServerExplorerProviderServices;
19

    
20
public class DGNFilesystemServerProvider extends AbstractFilesystemServerExplorerProvider 
21
        implements FilesystemServerExplorerProvider, ResourceConsumer {
22

    
23
//        private FilesystemServerExplorerProviderServices serverExplorer;
24

    
25
        public String getDataStoreProviderName() {
26
                return DGNStoreProvider.NAME;
27
        }
28

    
29
        public int getMode() {
30
                return DataServerExplorer.MODE_FEATURE | DataServerExplorer.MODE_GEOMETRY;
31
        }
32

    
33
        public boolean accept(File pathname) {
34
                return (pathname.getName().toLowerCase().endsWith(".dgn"));
35
        }
36

    
37
        public String getDescription() {
38
                return DGNStoreProvider.DESCRIPTION;
39
        }
40

    
41
        public DataStoreParameters getParameters(File file) throws DataException {
42
                DataManager manager = DALLocator.getDataManager();
43
                DGNStoreParameters params = (DGNStoreParameters) manager
44
                                .createStoreParameters(this
45
                                .getDataStoreProviderName());
46
                params.setFile(file);
47
                return params;
48
        }
49

    
50
        public boolean canCreate() {
51
                return false;
52
        }
53

    
54
        public boolean canCreate(NewDataStoreParameters parameters) {
55
                return this.canCreate();
56
        }
57

    
58
        public void create(NewDataStoreParameters parameters, boolean overwrite)
59
                        throws CreateException {
60
                throw new UnsupportedOperationException();
61
        }
62

    
63
        public NewDataStoreParameters getCreateParameters() throws DataException {
64
                return null;
65
        }
66

    
67
        public void initialize(
68
                        FilesystemServerExplorerProviderServices serverExplorer) {
69
//                this.serverExplorer = serverExplorer;
70
        }
71

    
72
        public void remove(DataStoreParameters parameters) throws RemoveException {
73
                File file = new File(((DGNStoreParameters) parameters).getFileName());
74
                if (!file.exists()) {
75
                        throw new RemoveException(this.getDataStoreProviderName(),
76
                                        new FileNotFoundException(file));
77
                }
78
                if (!file.delete()) {
79
                        // FIXME throws ???
80
                }
81

    
82
        }
83

    
84
        public boolean closeResourceRequested(ResourceProvider resource) {
85
                // while it is using a resource anyone can't close it
86
                return false;
87
        }
88

    
89
        /*
90
         * (non-Javadoc)
91
         *
92
         * @see
93
         * org.gvsig.fmap.dal.resource.spi.ResourceConsumer#resourceChanged(org.
94
         * gvsig.fmap.dal.resource.spi.ResourceProvider)
95
         */
96
        public void resourceChanged(ResourceProvider resource) {
97
                //Do nothing
98

    
99
        }
100

    
101

    
102
}