Statistics
| Revision:

root / org.gvsig.dxf / trunk / org.gvsig.dxf / org.gvsig.dxf.exportto / src / main / java / org / gvsig / export / dxf / service / ExportDXFService.java @ 414

History | View | Annotate | Download (3.48 KB)

1
package org.gvsig.export.dxf.service;
2

    
3
import org.gvsig.export.ExportException;
4
import org.gvsig.export.spi.AbstractExportService;
5
import org.gvsig.export.spi.ExportService;
6
import org.gvsig.export.spi.ExportServiceFactory;
7
import org.gvsig.fmap.dal.DALLocator;
8
import org.gvsig.fmap.dal.DataManager;
9
import org.gvsig.fmap.dal.DataServerExplorer;
10
import org.gvsig.fmap.dal.NewDataStoreParameters;
11
import org.gvsig.fmap.dal.OpenDataStoreParameters;
12
import org.gvsig.fmap.dal.exception.DataException;
13
import org.gvsig.fmap.dal.feature.NewFeatureStoreParameters;
14
import org.gvsig.fmap.dal.feature.OpenFeatureStoreParameters;
15
import org.gvsig.fmap.dal.serverexplorer.filesystem.FilesystemServerExplorer;
16
import org.gvsig.fmap.dal.serverexplorer.filesystem.FilesystemServerExplorerParameters;
17
import org.gvsig.tools.util.HasAFile;
18

    
19
/**
20
 *
21
 * @author jjdelcerro
22
 */
23
public class ExportDXFService 
24
        extends AbstractExportService 
25
        implements ExportService 
26
    {
27

    
28
    public static final int MAX_FIELD_NAME_LENGTH = 10;
29
    
30
    protected ExportDXFService(ExportServiceFactory factory, ExportDXFParameters parameters) {
31
        super(factory, parameters);
32
    }
33

    
34
    @Override
35
    public ExportDXFParameters getParameters() {
36
        return (ExportDXFParameters) super.getParameters(); 
37
    }
38

    
39
    @Override
40
    protected DataServerExplorer createServerExplorer() throws ExportException{
41
        
42
        DataManager dataManager = DALLocator.getDataManager();
43

    
44
        FilesystemServerExplorerParameters explorerParams;
45
        try {
46
            explorerParams =
47
                (FilesystemServerExplorerParameters) dataManager
48
                    .createServerExplorerParameters(FilesystemServerExplorer.NAME);
49
        } catch (Exception e) {
50
            throw new ExportException(e);
51
        }
52
        explorerParams.setRoot(this.getParameters().getFile().getParent());
53

    
54
        FilesystemServerExplorer explorer;
55
        try {
56
            explorer = (FilesystemServerExplorer) dataManager.openServerExplorer(
57
                    "FilesystemExplorer", explorerParams
58
            );
59
            return explorer;
60
        } catch (Exception e) {
61
            throw new ExportException(e);
62
        }
63
    }
64

    
65
    @Override
66
    protected NewDataStoreParameters createTargetNewStoreParameters() throws ExportException {
67
        try {
68
            FilesystemServerExplorer explorer = (FilesystemServerExplorer) this.createServerExplorer();
69
            NewFeatureStoreParameters newStoreParameters = (NewFeatureStoreParameters) explorer.getAddParameters(
70
                    this.getParameters().getFile()
71
            );
72
            newStoreParameters.setDynValue("CRS", this.getParameters().getTargetProjection());
73
            // Usamos el featureType por defecto del DXF.
74
            return newStoreParameters;
75
        } catch (DataException ex) {
76
            throw new ExportException(ex);
77
        }
78
    }
79
    
80
    @Override
81
    public OpenDataStoreParameters createTargetOpenStoreParameters() throws ExportException {
82
        try {
83
            DataManager dataManager = DALLocator.getDataManager();
84
            OpenFeatureStoreParameters openStoreParameters = (OpenFeatureStoreParameters) dataManager.createStoreParameters("DXF");
85
            ((HasAFile)openStoreParameters).setFile(getParameters().getFile());
86
            openStoreParameters.setDynValue("CRS", this.getParameters().getTargetProjection());
87
            return openStoreParameters;
88
        } catch (DataException ex) {
89
            throw new ExportException(ex);
90
        }
91
    }
92
    
93

    
94
    
95
        
96
}