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

View differences:

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