Revision 38243 branches/v2_0_0_prep/extensions/extEditing/src/org/gvsig/editing/gui/cad/tools/ExploitCADTool.java
ExploitCADTool.java | ||
---|---|---|
25 | 25 |
import java.awt.geom.PathIterator; |
26 | 26 |
import java.awt.geom.Point2D; |
27 | 27 |
|
28 |
import javax.swing.JOptionPane; |
|
29 |
|
|
30 |
import org.slf4j.Logger; |
|
31 |
import org.slf4j.LoggerFactory; |
|
32 |
|
|
28 | 33 |
import org.gvsig.andami.PluginServices; |
29 | 34 |
import org.gvsig.andami.messages.NotificationManager; |
35 |
import org.gvsig.app.ApplicationLocator; |
|
30 | 36 |
import org.gvsig.editing.CADExtension; |
31 | 37 |
import org.gvsig.editing.gui.cad.DefaultCADTool; |
32 | 38 |
import org.gvsig.editing.gui.cad.exception.CommandException; |
... | ... | |
54 | 60 |
* @author Vicente Caballero Navarro |
55 | 61 |
*/ |
56 | 62 |
public class ExploitCADTool extends DefaultCADTool { |
63 |
|
|
64 |
private static Logger logger = LoggerFactory.getLogger(ExploitCADTool.class); |
|
57 | 65 |
|
58 | 66 |
protected ExploitCADToolContext _fsm; |
59 | 67 |
|
... | ... | |
199 | 207 |
MultiPrimitive gc = (MultiPrimitive) geom; |
200 | 208 |
int numGeoms = gc.getPrimitivesNumber(); |
201 | 209 |
FeatureStore featureStore; |
210 |
Feature f = null; |
|
202 | 211 |
try { |
203 | 212 |
featureStore = getVLE().getFeatureStore(); |
204 | 213 |
for (int i = 0; i < numGeoms; i++) { |
205 | 214 |
Geometry primitiveGeom = gc.getPrimitiveAt(i); |
215 |
f = insertGeometry(primitiveGeom, feature); |
|
216 |
/* |
|
206 | 217 |
EditableFeature eFeature = |
207 | 218 |
featureStore.createNewFeature(feature.getType(), feature); |
208 | 219 |
eFeature.setGeometry(featureStore.getDefaultFeatureType() |
209 | 220 |
.getDefaultGeometryAttributeName(), primitiveGeom); |
210 |
selectedRowAux.select(feature); |
|
221 |
*/ |
|
222 |
selectedRowAux.select(f); |
|
211 | 223 |
} |
212 | 224 |
} catch (ReadException e) { |
213 | 225 |
// TODO Auto-generated catch block |
... | ... | |
244 | 256 |
int theType; |
245 | 257 |
int numParts = 0; |
246 | 258 |
Point2D initialPoint = null; |
259 |
Feature f = null; |
|
260 |
|
|
247 | 261 |
while (!theIterator.isDone()) { |
248 | 262 |
theType = theIterator.currentSegment(theData); |
249 | 263 |
switch (theType) { |
... | ... | |
266 | 280 |
// eFeature=featureStore.createNewFeature(feature.getType(), |
267 | 281 |
// feature); |
268 | 282 |
// eFeature.setGeometry(featureStore.getDefaultFeatureType().getDefaultGeometryAttributeName(),geomLine); |
269 |
Feature f = insertGeometry(geomLine, feature);
|
|
283 |
f = insertGeometry(geomLine, feature); |
|
270 | 284 |
// featureStore.insert(eFeature); |
271 | 285 |
selectedRowAux.select(f); |
272 | 286 |
newGp1 = new GeneralPathX(); |
... | ... | |
279 | 293 |
geomLine = createCurve(newGp1); |
280 | 294 |
// dfLine = (DefaultFeature) df.cloneRow(); |
281 | 295 |
// dfLine.setGeometry(geomLine); |
296 |
/* |
|
282 | 297 |
EditableFeature eFeatureClose = |
283 | 298 |
featureStore.createNewFeature(feature.getType(), |
284 | 299 |
feature); |
... | ... | |
286 | 301 |
.getDefaultFeatureType() |
287 | 302 |
.getDefaultGeometryAttributeName(), geomLine); |
288 | 303 |
selectedRowAux.select(eFeatureClose); |
304 |
*/ |
|
305 |
|
|
306 |
f = insertGeometry(geomLine, feature); |
|
307 |
selectedRowAux.select(f); |
|
308 |
|
|
289 | 309 |
newGp1 = new GeneralPathX(); |
290 | 310 |
newGp1.moveTo(initialPoint.getX(), initialPoint.getY()); |
291 | 311 |
} |
... | ... | |
312 | 332 |
// } |
313 | 333 |
|
314 | 334 |
FeatureStore featureStore; |
335 |
Feature added_feat = null; |
|
315 | 336 |
try { |
316 | 337 |
featureStore = getVLE().getFeatureStore(); |
317 | 338 |
|
... | ... | |
330 | 351 |
numParts++; |
331 | 352 |
if (newGp1 != null) { |
332 | 353 |
Geometry geomLine = createCurve(newGp1); |
354 |
|
|
355 |
/* |
|
333 | 356 |
EditableFeature eFeature = |
334 | 357 |
featureStore.createNewFeature(feature.getType(), |
335 | 358 |
feature); |
336 | 359 |
eFeature.setGeometry(featureStore |
337 | 360 |
.getDefaultFeatureType() |
338 | 361 |
.getDefaultGeometryAttributeName(), geomLine); |
339 |
|
|
340 |
selectedRowAux.select(eFeature); |
|
362 |
*/ |
|
363 |
|
|
364 |
added_feat = insertGeometry(geomLine, feature); |
|
365 |
selectedRowAux.select(added_feat); |
|
341 | 366 |
} |
342 | 367 |
newGp1 = new GeneralPathX(); |
343 | 368 |
initialPoint = new Point2D.Double(theData[0], theData[1]); |
... | ... | |
378 | 403 |
} // end while loop |
379 | 404 |
if (newGp1 != null) { |
380 | 405 |
Geometry geomLine = createCurve(newGp1); |
406 |
/* |
|
381 | 407 |
EditableFeature eFeature = |
382 |
featureStore.createNewFeature(feature.getType(), feature); |
|
383 |
eFeature.setGeometry(featureStore.getDefaultFeatureType() |
|
408 |
featureStore.createNewFeature(feature.getType(), |
|
409 |
feature); |
|
410 |
eFeature.setGeometry(featureStore |
|
411 |
.getDefaultFeatureType() |
|
384 | 412 |
.getDefaultGeometryAttributeName(), geomLine); |
385 |
selectedRowAux.select(eFeature); |
|
413 |
*/ |
|
414 |
|
|
415 |
added_feat = insertGeometry(geomLine, feature); |
|
416 |
selectedRowAux.select(added_feat); |
|
386 | 417 |
} |
387 |
} catch (ReadException e) { |
|
418 |
} catch (Throwable e) { |
|
419 |
logger.info("While doing exploit of polygon.", e); |
|
420 |
ApplicationLocator.getManager().message( |
|
421 |
"_Unable_to_exploit_polygon", JOptionPane.ERROR_MESSAGE); |
|
388 | 422 |
// TODO Auto-generated catch block |
389 |
e.printStackTrace(); |
|
390 |
} catch (DataException e) { |
|
391 |
// TODO Auto-generated catch block |
|
392 |
e.printStackTrace(); |
|
423 |
// e.printStackTrace(); |
|
393 | 424 |
} |
394 | 425 |
refresh(); |
395 | 426 |
} |
Also available in: Unified diff