private boolean checkForReferencesOrIds( final Points points ) { boolean hasID = false; for ( final Point p : points ) { if ( p instanceof Reference<?> && !( (Reference<?>) p ).isLocal() ) { hasID = true; break; } else if ( p.getId() != null && p.getId().trim().length() > 0 ) { hasID = true; break; } } return hasID; }
@Override public String getId() { if ( object != null ) { return object.getId(); } if ( isLocal() ) { return uri.substring( 1 ); } return getReferencedObject().getId(); } }
private void exportPointsAsProperties( final Points points ) throws XMLStreamException, UnknownCRSException, TransformationException { for ( final Point point : points ) { writer.writeStartElement( "gml", "pointProperty", gmlNs ); if ( point instanceof Reference<?> && !( (Reference<?>) point ).isLocal() ) { final Reference<?> ref = (Reference<?>) point; writeAttributeWithNS( XLNNS, "href", ref.getURI() ); } else if ( point.getId() != null && referenceExportStrategy.isObjectExported( point.getId() ) ) { writeAttributeWithNS( XLNNS, "href", "#" + point.getId() ); } else { export( point ); } writer.writeEndElement(); } }