Revision 45564 trunk/org.gvsig.desktop/org.gvsig.desktop.library/org.gvsig.newlayer/org.gvsig.newlayer.prov/org.gvsig.newlayer.prov.shape/src/main/java/org/gvsig/newlayer/prov/shape/NewLayerShapeProvider.java
NewLayerShapeProvider.java | ||
---|---|---|
23 | 23 |
*/ |
24 | 24 |
package org.gvsig.newlayer.prov.shape; |
25 | 25 |
|
26 |
import static org.gvsig.fmap.dal.DataParameters.CRS_PARAMTER_NAME; |
|
27 |
import org.gvsig.fmap.dal.DataStore; |
|
26 | 28 |
import org.gvsig.fmap.dal.DataStoreParameters; |
29 |
import org.gvsig.fmap.dal.feature.EditableFeatureType; |
|
30 |
import org.gvsig.fmap.dal.feature.FeatureAttributeDescriptor; |
|
27 | 31 |
import org.gvsig.fmap.dal.feature.NewFeatureStoreParameters; |
32 |
import org.gvsig.newlayer.NewLayerException; |
|
28 | 33 |
import org.gvsig.newlayer.NewLayerService; |
29 | 34 |
import org.gvsig.newlayer.prov.file.AbstractNewLayerFileProvider; |
30 | 35 |
|
... | ... | |
35 | 40 |
* @version $Id$ |
36 | 41 |
*/ |
37 | 42 |
public class NewLayerShapeProvider extends AbstractNewLayerFileProvider { |
38 |
|
|
43 |
private static final String GEOMETRYTYPE_PARAMETER_NAME = "geometryType"; |
|
44 |
|
|
39 | 45 |
protected NewLayerShapeProvider(NewLayerService service) { |
40 | 46 |
super(service); |
41 |
this.storeName = "Shape";
|
|
47 |
this.parameters = new NewLayerShapeProviderParameters();
|
|
42 | 48 |
} |
43 | 49 |
|
44 | 50 |
@Override |
45 |
protected String getFileParameterName() {
|
|
46 |
return "shpFile";
|
|
51 |
public String getStoreName() {
|
|
52 |
return DataStore.SHAPE_PROVIDER_NAME;
|
|
47 | 53 |
} |
48 | 54 |
|
49 | 55 |
@Override |
50 |
protected String getFileExtension() { |
|
51 |
return "shp"; |
|
52 |
} |
|
53 |
|
|
54 |
public NewFeatureStoreParameters getNewStoreParameters() { |
|
55 |
NewFeatureStoreParameters storeParameters = |
|
56 |
super.getNewStoreParameters(); |
|
57 |
if (storeParameters != null){ |
|
58 |
storeParameters.setDynValue("geometryType", null); |
|
59 |
} |
|
60 |
return storeParameters; |
|
56 |
public NewFeatureStoreParameters getNewStoreParameters() throws NewLayerException { |
|
57 |
NewFeatureStoreParameters params = super.getNewStoreParameters(); |
|
58 |
EditableFeatureType ft = params.getDefaultFeatureType(); |
|
59 |
FeatureAttributeDescriptor attrgeom = ft.getDefaultGeometryAttribute(); |
|
60 |
params.setDynValue(GEOMETRYTYPE_PARAMETER_NAME, attrgeom.getGeomType().getType()); |
|
61 |
params.setDynValue(CRS_PARAMTER_NAME, attrgeom.getSRS()); |
|
62 |
return params; |
|
61 | 63 |
} |
62 | 64 |
|
63 | 65 |
@Override |
64 |
public DataStoreParameters getOpenStoreParameters() { |
|
65 |
DataStoreParameters openStoreParameters = super |
|
66 |
.getOpenStoreParameters(); |
|
67 |
openStoreParameters.setDynValue("CRS", getNewStoreParameters() |
|
68 |
.getDynValue("CRS")); |
|
69 |
return openStoreParameters; |
|
70 |
} |
|
66 |
public DataStoreParameters getOpenStoreParameters() throws NewLayerException { |
|
67 |
DataStoreParameters params = super.getOpenStoreParameters(); |
|
68 |
EditableFeatureType ft = this.getFeatureType(); |
|
69 |
FeatureAttributeDescriptor attrgeom = ft.getDefaultGeometryAttribute(); |
|
70 |
params.setDynValue(CRS_PARAMTER_NAME, attrgeom.getSRS()); |
|
71 |
return params; |
|
72 |
} |
|
73 |
|
|
71 | 74 |
} |
Also available in: Unified diff