Revision 4563 org.gvsig.topology/trunk/org.gvsig.topology/org.gvsig.topology.lib/org.gvsig.topology.lib.impl/src/main/java/org/gvsig/topology/lib/impl/DefaultTopologyDataSet.java
DefaultTopologyDataSet.java | ||
---|---|---|
25 | 25 |
|
26 | 26 |
import java.util.Iterator; |
27 | 27 |
import java.util.Map; |
28 |
import javax.json.JsonObject; |
|
28 | 29 |
import org.apache.commons.collections.IteratorUtils; |
29 | 30 |
import org.apache.commons.lang3.StringUtils; |
30 | 31 |
import org.apache.commons.lang3.mutable.MutableObject; |
31 | 32 |
import org.gvsig.expressionevaluator.Expression; |
32 |
import org.gvsig.expressionevaluator.ExpressionBuilder; |
|
33 |
import org.gvsig.expressionevaluator.ExpressionEvaluatorLocator; |
|
34 |
import org.gvsig.expressionevaluator.ExpressionEvaluatorManager; |
|
35 | 33 |
import org.gvsig.expressionevaluator.ExpressionUtils; |
36 | 34 |
import org.gvsig.expressionevaluator.GeometryExpressionBuilder; |
37 | 35 |
import org.gvsig.expressionevaluator.GeometryExpressionUtils; |
... | ... | |
54 | 52 |
import org.gvsig.fmap.geom.GeometryUtils; |
55 | 53 |
import org.gvsig.fmap.geom.SpatialIndex; |
56 | 54 |
import org.gvsig.fmap.geom.type.GeometryType; |
55 |
import org.gvsig.json.Json; |
|
56 |
import org.gvsig.json.JsonObjectBuilder; |
|
57 | 57 |
import org.gvsig.tools.dispose.DisposableIterator; |
58 | 58 |
import org.gvsig.tools.exception.BaseException; |
59 | 59 |
import org.gvsig.tools.util.PropertiesSupportHelper; |
... | ... | |
64 | 64 |
import org.gvsig.topology.lib.api.TopologyDataSet; |
65 | 65 |
import org.gvsig.topology.lib.api.TopologyLocator; |
66 | 66 |
import org.gvsig.topology.lib.api.TopologyManager; |
67 |
import org.json.JSONObject; |
|
68 | 67 |
import org.gvsig.topology.lib.api.TopologyServices; |
69 | 68 |
import org.slf4j.Logger; |
70 | 69 |
import org.slf4j.LoggerFactory; |
... | ... | |
324 | 323 |
} |
325 | 324 |
|
326 | 325 |
@Override |
327 |
public JSONObject toJSON() { |
|
328 |
JSONObject jsonDataSet = new JSONObject(); |
|
329 |
jsonDataSet.put("name", this.name); |
|
330 |
jsonDataSet.put("fullName", this.fullName); |
|
331 |
|
|
332 |
return jsonDataSet; |
|
326 |
public JsonObject toJson() { |
|
327 |
return this.toJsonBuilder().build(); |
|
333 | 328 |
} |
334 | 329 |
|
335 | 330 |
@Override |
336 |
public void fromJSON(String json) { |
|
337 |
this.fromJSON(new JSONObject(json)); |
|
331 |
public JsonObjectBuilder toJsonBuilder() { |
|
332 |
JsonObjectBuilder jsonDataSet = Json.createObjectBuilder(); |
|
333 |
jsonDataSet.add("name", this.name); |
|
334 |
jsonDataSet.add("fullName", this.fullName); |
|
335 |
|
|
336 |
return jsonDataSet; |
|
338 | 337 |
} |
339 | 338 |
|
340 | 339 |
@Override |
341 |
public void fromJSON(JSONObject json) {
|
|
340 |
public void fromJson(JsonObject json) {
|
|
342 | 341 |
TopologyManager manager = TopologyLocator.getTopologyManager(); |
343 | 342 |
this.name = json.getString("name"); |
344 | 343 |
this.fullName = null; |
345 |
if( json.has("fullName") ) {
|
|
344 |
if( json.containsKey("fullName") ) {
|
|
346 | 345 |
this.fullName = json.getString("fullName"); |
347 | 346 |
} |
348 | 347 |
this.store = null; |
... | ... | |
380 | 379 |
); |
381 | 380 |
final SpatialIndex dataIndex = theStore.wrapSpatialIndex(geomIndex); |
382 | 381 |
try { |
383 |
store.accept(new Visitor() { |
|
384 |
@Override |
|
385 |
public void visit(Object o) throws VisitCanceledException, BaseException { |
|
386 |
Feature f = (Feature) o; |
|
387 |
Geometry geom = f.getDefaultGeometry(); |
|
388 |
if (geom != null) { |
|
389 |
dataIndex.insert(geom, f); |
|
390 |
} |
|
382 |
store.accept((Object o) -> { |
|
383 |
Feature f = (Feature) o; |
|
384 |
Geometry geom = f.getDefaultGeometry(); |
|
385 |
if (geom != null) { |
|
386 |
dataIndex.insert(geom, f); |
|
391 | 387 |
} |
392 | 388 |
}); |
393 | 389 |
} catch (VisitCanceledException ex) { |
... | ... | |
440 | 436 |
} |
441 | 437 |
FeatureSet set = theStore.getFeatureSet(expression); |
442 | 438 |
final DisposableIterator it = set.fastIterator(); |
443 |
return new Iterable<FeatureReference>() {
|
|
439 |
return () -> new Iterator<FeatureReference>() {
|
|
444 | 440 |
@Override |
445 |
public Iterator<FeatureReference> iterator() { |
|
446 |
return new Iterator<FeatureReference>() { |
|
447 |
@Override |
|
448 |
public boolean hasNext() { |
|
449 |
return it.hasNext(); |
|
450 |
} |
|
451 |
|
|
452 |
@Override |
|
453 |
public FeatureReference next() { |
|
454 |
Feature f = (Feature) it.next(); |
|
455 |
return f.getReference(); |
|
456 |
} |
|
457 |
}; |
|
441 |
public boolean hasNext() { |
|
442 |
return it.hasNext(); |
|
458 | 443 |
} |
444 |
|
|
445 |
@Override |
|
446 |
public FeatureReference next() { |
|
447 |
Feature f = (Feature) it.next(); |
|
448 |
return f.getReference(); |
|
449 |
} |
|
459 | 450 |
}; |
460 | 451 |
|
461 | 452 |
} catch(Exception ex) { |
... | ... | |
466 | 457 |
if( it == null ) { |
467 | 458 |
return (Iterable<FeatureReference>) IteratorUtils.EMPTY_ITERATOR; |
468 | 459 |
} |
469 |
return new Iterable<FeatureReference>() { |
|
470 |
@Override |
|
471 |
public Iterator<FeatureReference> iterator() { |
|
472 |
return it; |
|
473 |
} |
|
474 |
}; |
|
460 |
return () -> it; |
|
475 | 461 |
} |
476 | 462 |
|
477 | 463 |
@Override |
... | ... | |
508 | 494 |
} |
509 | 495 |
FeatureSet set = theStore.getFeatureSet(expression); |
510 | 496 |
final DisposableIterator it = set.fastIterator(); |
511 |
return new Iterable<Feature>() { |
|
512 |
@Override |
|
513 |
public Iterator<Feature> iterator() { |
|
514 |
return it; |
|
515 |
} |
|
516 |
}; |
|
497 |
return () -> it; |
|
517 | 498 |
|
518 | 499 |
} catch(Exception ex) { |
519 | 500 |
return (Iterable<Feature>) IteratorUtils.EMPTY_ITERATOR; |
... | ... | |
523 | 504 |
if( it == null ) { |
524 | 505 |
return (Iterable<Feature>) IteratorUtils.EMPTY_ITERATOR; |
525 | 506 |
} |
526 |
return new Iterable<Feature>() {
|
|
507 |
return () -> new Iterator<Feature>() {
|
|
527 | 508 |
@Override |
528 |
public Iterator<Feature> iterator() { |
|
529 |
return new Iterator<Feature>() { |
|
530 |
@Override |
|
531 |
public boolean hasNext() { |
|
532 |
return it.hasNext(); |
|
533 |
} |
|
534 |
|
|
535 |
@Override |
|
536 |
public Feature next() { |
|
537 |
FeatureReference ref = (FeatureReference) it.next(); |
|
538 |
try { |
|
539 |
return ref.getFeature(); |
|
540 |
} catch (DataException ex) { |
|
541 |
return null; |
|
542 |
} |
|
543 |
} |
|
544 |
}; |
|
509 |
public boolean hasNext() { |
|
510 |
return it.hasNext(); |
|
545 | 511 |
} |
512 |
|
|
513 |
@Override |
|
514 |
public Feature next() { |
|
515 |
FeatureReference ref = (FeatureReference) it.next(); |
|
516 |
try { |
|
517 |
return ref.getFeature(); |
|
518 |
} catch (DataException ex) { |
|
519 |
return null; |
|
520 |
} |
|
521 |
} |
|
546 | 522 |
}; |
547 | 523 |
} |
548 | 524 |
|
Also available in: Unified diff