public List discover(XriIdentifier xri) throws DiscoveryException { try { ResolverFlags flags = new ResolverFlags(); flags.setCid(true); flags.setRefs(true); ResolverState state = new ResolverState(); XRDS xrds = _openXriResolver.resolveAuthToXRDS( new XRI(xri.getIdentifier()), flags, state); if (DEBUG) _log.debug("Retrieved XRDS:\n" + xrds.dump()); XRD xrd = xrds.getFinalXRD(); if (! xrd.getStatus().getCID().equals(Status.CID_VERIFIED)) { _log.error("Unverified CanonicalID: " + xrd.getCanonicalID() + " of: " + xri.getIdentifier()); throw new RuntimeException("Unverified CanonicalID: " + xrd.getCanonicalID() + " of: " + xri.getIdentifier()); } CanonicalID canonical = xrd.getCanonicalID(); if (canonical == null) throw new RuntimeException("Missing CanonicalID of: " + xri.getIdentifier()); _log.info("XRI resolution succeeded on " + xri.toString()); return extractDiscoveryInformation(xrds, xri, _openXriResolver); } catch (Exception e) { throw new DiscoveryException( "Cannot resolve XRI: " + xri, e); } }
public List discover(XriIdentifier xri) throws DiscoveryException { try { ResolverFlags flags = new ResolverFlags(); flags.setCid(true); flags.setRefs(true); ResolverState state = new ResolverState(); XRDS xrds = _openXriResolver.resolveAuthToXRDS( new XRI(xri.getIdentifier()), flags, state); if (DEBUG) { _log.debug("Retrieved XRDS:\n" + xrds.dump()); } XRD xrd = xrds.getFinalXRD(); if (!xrd.getStatus().getCID().equals(Status.CID_VERIFIED)) { _log.error("Unverified CanonicalID: " + xrd.getCanonicalID() + " of: " + xri.getIdentifier()); throw new RuntimeException("Unverified CanonicalID: " + xrd.getCanonicalID() + " of: " + xri.getIdentifier()); } CanonicalID canonical = xrd.getCanonicalID(); if (canonical == null) { throw new RuntimeException("Missing CanonicalID of: " + xri.getIdentifier()); } _log.info("XRI resolution succeeded on " + xri.toString()); return extractDiscoveryInformation(xrds, xri, _openXriResolver); } catch (Exception e) { throw new DiscoveryException( "Cannot resolve XRI: " + xri, e); } }