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