private void traverseTypedObjectNode( TypedObjectNode node ) { if ( node instanceof GMLObject ) { traverse( (GMLObject) node ); } else if ( node instanceof ElementNode ) { ElementNode generic = (ElementNode) node; for ( TypedObjectNode child : generic.getChildren() ) { traverseTypedObjectNode( child ); } } }
private void traverseGeometry( Geometry node ) { GeometryType gt = node.getGeometryType(); switch ( gt ) { case COMPOSITE_GEOMETRY: for ( Geometry member : (CompositeGeometry<?>) node ) { traverse( member ); } break; case ENVELOPE: // nothing to do break; case MULTI_GEOMETRY: for ( Geometry member : (MultiGeometry<?>) node ) { traverse( member ); } break; case PRIMITIVE_GEOMETRY: traversePrimitive( (GeometricPrimitive) node ); break; } }
private void fixReferences( final FeatureCollection fc ) { GMLObjectVisitor visitor = new GMLObjectVisitor() { @Override public boolean visitGeometry( Geometry geom ) { return true; } @Override public boolean visitFeature( Feature feature ) { return true; } @Override public boolean visitReference( Reference<?> ref ) { fixReference( ref ); return true; } @Override public boolean visitObject( GMLObject o ) { return true; } }; new GMLObjectWalker( visitor ).traverse( fc ); }
private void traverseCurve( Curve c ) { CurveType ct = c.getCurveType(); switch ( ct ) { case CompositeCurve: for ( Curve member : ( (CompositeCurve) c ) ) { traverse( member ); } break; case Curve: case Ring: for ( CurveSegment segment : c.getCurveSegments() ) { traverseSegment( segment ); } break; case LineString: traversePoints( ( (LineString) c ).getControlPoints() ); break; case OrientableCurve: traverse( ( (OrientableCurve) c ).getBaseCurve() ); break; } }
new GMLObjectWalker( visitor ).traverse( f );
private void traverseSolid( Solid s ) { SolidType st = s.getSolidType(); switch ( st ) { case CompositeSolid: { for ( Solid member : ( (CompositeSolid) s ) ) { traverse( member ); } break; } case Solid: { if ( s.getExteriorSurface() != null ) { traverse( s.getExteriorSurface() ); } for ( Surface inner : s.getInteriorSurfaces() ) { traverse( inner ); } break; } } }
private void checkForDuplicateIds( final Feature feature ) throws FeatureStoreException { final IdChecker idChecker = new IdChecker(); try { new GMLObjectWalker( idChecker ).traverse( feature ); } catch ( final Exception e ) { throw new FeatureStoreException( e.getMessage() ); } }
new GMLObjectWalker( visitor ).traverse( fc ); } catch ( IllegalArgumentException e ) { throw new FeatureStoreException( e.getMessage() );
new GMLObjectWalker( visitor ).traverse( fc ); } catch ( IllegalArgumentException e ) { throw new FeatureStoreException( e.getMessage() );