Revision 33281 branches/v2_0_0_prep/libraries/libFMap_mapcontext/src/org/gvsig/fmap/mapcontext/layers/vectorial/ReprojectDefaultGeometry.java
ReprojectDefaultGeometry.java | ||
---|---|---|
170 | 170 |
* @see org.gvsig.tools.persistence.Persistent#loadState(org.gvsig.tools.persistence.PersistentState) |
171 | 171 |
*/ |
172 | 172 |
public void saveToState(PersistentState state) throws PersistenceException { |
173 |
super.saveToState(state); |
|
173 | 174 |
|
174 |
state.set("mainStore", getFeatureStore()); |
|
175 |
Iterator iter = null; |
|
176 |
try { |
|
177 |
state.set("defaultFeatureTypeId", getDefaultFeatureType().getId()); |
|
178 |
iter = getFeatureTypesIds(getFeatureTypes()); |
|
179 |
} catch (DataException e) { |
|
180 |
// TODO Auto-generated catch block |
|
181 |
e.printStackTrace(); |
|
182 |
} |
|
183 |
|
|
184 |
|
|
185 |
state.set("featureTypesIds", iter); |
|
186 |
|
|
187 |
iter = getFeatureTypesIds(orgFeatureTypes); |
|
188 |
state.set("orgFeatureTypesIds", iter); |
|
189 |
state.set("orgDefFeatureTypeId", orgDefFeatureType.getId()); |
|
190 |
|
|
191 |
state.set("sourceSRS", sourceSRS.getFullCode()); |
|
192 |
state.set("targetSRS", targetSRS.getFullCode()); |
|
175 |
state.set("source_crs", this.sourceSRS); |
|
176 |
state.set("source_defaultFeatureType", this.orgDefFeatureType); |
|
177 |
state.set("source_featureTypes", this.orgFeatureTypes); |
|
178 |
state.set("target_crs", this.targetSRS); |
|
179 |
state.set("coordtrans", this.ct); |
|
193 | 180 |
} |
194 | 181 |
|
195 | 182 |
/* (non-Javadoc) |
196 | 183 |
* @see org.gvsig.tools.persistence.Persistent#loadFromState(org.gvsig.tools.persistence.PersistentState) |
197 | 184 |
*/ |
198 | 185 |
public void loadFromState(PersistentState state) throws PersistenceException { |
199 |
|
|
200 |
setFeatureStore((FeatureStore) state.get("mainStore")); |
|
201 |
String aux = (String) state.get("defaultFeatureTypeId"); |
|
202 |
FeatureType auxft = null; |
|
203 |
|
|
204 |
try { |
|
205 |
auxft = getFeatureStore().getFeatureType(aux); |
|
206 |
} catch (DataException e) { |
|
207 |
throw new PersistenceException(e); |
|
208 |
} |
|
209 |
|
|
210 |
Iterator ftids = state.getIterator("featureTypesIds"); |
|
211 |
|
|
212 |
List auxFeatureTypes = new ArrayList(); |
|
213 |
FeatureType item = null; |
|
214 |
while (ftids.hasNext()) { |
|
215 |
try { |
|
216 |
item = getFeatureStore().getFeatureType((String) ftids.next()); |
|
217 |
} catch (DataException e) { |
|
218 |
throw new PersistenceException(e); |
|
219 |
} |
|
220 |
auxFeatureTypes.add(item); |
|
221 |
} |
|
222 |
this.setFeatureTypes(auxFeatureTypes, auxft); |
|
223 |
|
|
224 |
ftids = state.getIterator("orgFeatureTypesIds"); |
|
225 |
orgFeatureTypes = new ArrayList(); |
|
226 |
item = null; |
|
227 |
while (ftids.hasNext()) { |
|
228 |
try { |
|
229 |
item = getFeatureStore().getFeatureType((String) ftids.next()); |
|
230 |
} catch (DataException e) { |
|
231 |
throw new PersistenceException(e); |
|
232 |
} |
|
233 |
orgFeatureTypes.add(item); |
|
234 |
} |
|
235 |
|
|
236 |
aux = state.getString("orgDefFeatureTypeId"); |
|
237 |
try { |
|
238 |
orgDefFeatureType = getFeatureStore().getFeatureType(aux); |
|
239 |
} catch (DataException e) { |
|
240 |
throw new PersistenceException(e); |
|
241 |
} |
|
242 |
|
|
243 |
String srsaux = state.getString("sourceSRS"); |
|
244 |
sourceSRS = CRSFactory.getCRS(srsaux); |
|
245 |
srsaux = state.getString("targetSRS"); |
|
246 |
targetSRS = CRSFactory.getCRS(srsaux); |
|
247 |
ct = sourceSRS.getCT(targetSRS); |
|
186 |
super.loadFromState(state); |
|
187 |
this.sourceSRS = (IProjection) state.get("source_crs"); |
|
188 |
this.orgDefFeatureType = (FeatureType) state.get("source_defaultFeatureType"); |
|
189 |
this.orgFeatureTypes = new ArrayList( (List) state.get("source_featureTypes")); |
|
190 |
this.targetSRS = (IProjection) state.get("target_crs"); |
|
191 |
this.ct = (ICoordTrans) state.get("coordtrans"); |
|
248 | 192 |
} |
249 | 193 |
|
250 | 194 |
public static void registerPersistent() { |
... | ... | |
256 | 200 |
null, |
257 | 201 |
null |
258 | 202 |
); |
259 |
definition.addDynFieldObject("mainStore").setMandatory(true); |
|
260 |
definition.addDynFieldString("defaultFeatureTypeId").setMandatory(true); |
|
261 |
definition.addDynFieldList("featureTypesIds").setMandatory(true); |
|
262 |
definition.addDynFieldString("orgDefFeatureTypeId").setMandatory(true); |
|
263 |
definition.addDynFieldList("name").setMandatory(true); |
|
264 |
definition.addDynFieldString("targetSRS").setMandatory(true); |
|
265 |
definition.addDynFieldString("sourceSRS").setMandatory(true); |
|
266 |
} |
|
267 |
|
|
268 |
|
|
269 |
private Iterator getFeatureTypesIds(List ftl) { |
|
270 |
|
|
271 |
ArrayList resp = new ArrayList(); |
|
272 |
int sz = ftl.size(); |
|
273 |
for (int i=0; i<sz; i++) { |
|
274 |
resp.add( ((FeatureType) ftl.get(i)).getId() ); |
|
275 |
} |
|
276 |
return resp.iterator(); |
|
277 |
} |
|
203 |
definition.extend( manager.getDefinition(AbstractFeatureStoreTransform.class)); |
|
204 |
|
|
205 |
definition.addDynFieldObject("source_crs") |
|
206 |
.setClassOfValue(IProjection.class) |
|
207 |
.setMandatory(true); |
|
208 |
definition.addDynFieldObject("source_defaultFeatureType") |
|
209 |
.setClassOfValue(FeatureType.class) |
|
210 |
.setMandatory(true); |
|
211 |
definition.addDynFieldObject("source_featureTypes") |
|
212 |
.setClassOfItems(FeatureType.class) |
|
213 |
.setMandatory(true); |
|
214 |
definition.addDynFieldObject("target_crs") |
|
215 |
.setClassOfValue(IProjection.class) |
|
216 |
.setMandatory(true); |
|
217 |
definition.addDynFieldObject("coordtrans") |
|
218 |
.setClassOfValue(ICoordTrans.class) |
|
219 |
.setMandatory(true); |
|
278 | 220 |
|
221 |
} |
|
279 | 222 |
} |
Also available in: Unified diff