@Override public String getId() { if ( object != null ) { return object.getId(); } if ( isLocal() ) { return uri.substring( 1 ); } return getReferencedObject().getId(); } }
private void fixReference( Reference<?> ref ) { if ( ref.isResolved() ) { ref.setURI( "#" + ref.getId() ); } }
if ( node instanceof Reference<?> ) { Reference<?> ref = (Reference<?>) node; if ( ref.isResolved() && !ref.isInternalResolved() ) { node = ref.getReferencedObject(); } else { try { TypedObjectNode referencedObject = ref.getReferencedObject(); if ( !ref.isInternalResolved() ) node = referencedObject; else return; } catch ( ReferenceResolvingException e ) { LOG.warn( "Unable to resolve external reference '" + ref.getURI() + ". Ignoring." ); return;
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(); } }
Reference<?> ref = (Reference<?>) node; if ( visitor.visitReference( ref ) ) { if ( ref.isResolved() ) { node = (GMLObject) ref.getReferencedObject(); traverse( node );
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 boolean equals( java.lang.Object obj ) { if ( this == obj ) return true; if ( obj == null ) return false; T referencedObject = getReferencedObject(); try { if ( referencedObject != null ) { return referencedObject.equals( obj ); } } catch ( ReferenceResolvingException e ) { LOG.debug( "CRSResource reference could not be resolved: {}", e.getLocalizedMessage() ); } if ( obj instanceof Reference<?> ) { Reference<?> other = (Reference<?>) obj; if ( getURI() == null ) { if ( other.getURI() != null ) return false; } else if ( !getURI().equals( other.getURI() ) ) return false; } return getURI().equals( obj ); }