Revision 29791 branches/v2_0_0_prep/extensions/extDalTransformEventTheme/src/org/gvsig/app/eventtheme/dal/feature/EventThemeTransform.java

View differences:

EventThemeTransform.java
29 29

  
30 30
import java.util.Arrays;
31 31

  
32
import org.gvsig.fmap.crs.CRSFactory;
32 33
import org.gvsig.fmap.dal.DataStore;
33 34
import org.gvsig.fmap.dal.DataTypes;
34 35
import org.gvsig.fmap.dal.exception.DataException;
......
63 64
	private String yFieldName = null;
64 65
	private String geometryFieldName = null;
65 66
	private FeatureType originalFeatureType;
66
	private static final GeometryManager geometryManager = GeometryLocator.getGeometryManager();
67
	private GeometryManager geometryManager = GeometryLocator.getGeometryManager();
67 68
		
68 69
	public EventThemeTransform() {
69 70
		super();
71
		geometryManager = GeometryLocator.getGeometryManager();
70 72
	}
71 73

  
72 74
	/**
......
94 96
		this.originalFeatureType = this.getFeatureStore()
95 97
		.getDefaultFeatureType();
96 98
		
97
		EditableFeatureType type = this.getFeatureStore().getDefaultFeatureType().getEditable();
99
		EditableFeatureType type = originalFeatureType.getEditable();
98 100
		if (type.get(this.geometryFieldName) == null){
99 101
			EditableFeatureAttributeDescriptor attributeDescriptor = type.add(this.geometryFieldName,  DataTypes.GEOMETRY);
100 102
			attributeDescriptor.setGeometryType(TYPES.POINT);
101
			attributeDescriptor.setGeometrySubType(SUBTYPES.GEOM2D);			
103
			attributeDescriptor.setGeometrySubType(SUBTYPES.GEOM2D);
104
			attributeDescriptor.setSRS(CRSFactory.getCRS("EPSG:23030"));
102 105
		}
103 106
		
104 107
		type.setDefaultGeometryAttributeName(this.geometryFieldName);
......
112 115
	public void applyTransform(Feature source, EditableFeature target)
113 116
			throws DataException {
114 117
		this.copySourceToTarget(source, target);
115
		
116
		Object x = source.get(xFieldName);
117
		Object y = source.get(yFieldName);
118
		Double dx = Double.valueOf(x.toString());
119
		Double dy = Double.valueOf(y.toString());
118

  
120 119
		try {			
121
			Point point = geometryManager.createPoint(dx, dy, SUBTYPES.GEOM2D);
120
			Point point = geometryManager.createPoint(source.getDouble(xFieldName),
121
					source.getDouble(yFieldName),
122
					SUBTYPES.GEOM2D);
122 123
			target.set(geometryFieldName, point);
123 124
			target.setDefaultGeometry(point);				
124 125
		} catch (CreateGeometryException e) {

Also available in: Unified diff