public static ResolvableIdentifier resolve(Context context, String str) {
    ResolvableIdentifier dsi = null;

    if (dsi == null) {
      dsi = IdentifierFactory.resolveAsURLSubstring(context, str);
    }

    if (dsi == null) {
      dsi = IdentifierFactory.resolveCanonical(context, str);
    }

    return dsi;
  }
 public static URL getLocalURL(DSpaceObject dso) {
   URL url = null;
   ObjectIdentifier oid = dso.getIdentifier();
   if (oid == null) {
     return null;
   }
   url = IdentifierFactory.getURL(oid);
   return url;
 }
  public static URL getURL(DSpaceObject dso) {
    URL url = null;

    String ns = ConfigurationManager.getProperty("identifier.url-scheme");
    if (!"".equals(ns) && ns != null) {
      ExternalIdentifierType type = ExternalIdentifierMint.getType(ns);
      List<ExternalIdentifier> eids = dso.getExternalIdentifiers();
      for (ExternalIdentifier eid : eids) {
        if (eid.getType().equals(type)) {
          url = IdentifierFactory.getURL(eid);
        }
      }
    }

    if (url == null) {
      ObjectIdentifier oid = dso.getIdentifier();
      if (oid == null) {
        return null;
      }
      url = IdentifierFactory.getURL(oid);
    }

    return url;
  }