Class CDOURIUtil

java.lang.Object
org.eclipse.emf.cdo.util.CDOURIUtil

public final class CDOURIUtil extends Object
Various static methods that may help with CDO-specific URIs.

CDO URIs are in one of two different formats, either canonical or connection-aware. The canonical format is:

cdo:// RepositoryUUID / ResourcePath [? Param=Value (& Param=Value)*]
The non-terminals being:

  • RepositoryUUID: the UUID of the repository. By default it's generated when a repository is first started. If the default format is not adequate the UUID value can be overridden in the repository setup with the overrideUUID property.
  • ResourcePath: the full path of the resource within the repository, segments separated by slashes, no leading slash.
  • Param: one of the following
    • prefetch: a boolean value. The value true attempts to load all objects contained by the resource in a single server-round trip and cache the results.
URIs in the canonical form to resolve to resources properly require the resource set to be configured externally so that the connection to the correct repository can be established, for example:
session.openView(resourceSet);
Note that resources preserve their original URI in the scope of the managing view, that is not necessarily in canonical format.

For a description of the connection-aware URI format refer to CDOURIData.

Since:
2.0
Author:
Simon McDuff
  • Field Details

    • PROTOCOL_NAME

      public static final String PROTOCOL_NAME
      Since:
      4.0
      See Also:
    • SEGMENT_SEPARATOR_CHAR

      public static final char SEGMENT_SEPARATOR_CHAR
      See Also:
    • SEGMENT_SEPARATOR

      public static final String SEGMENT_SEPARATOR
  • Method Details

    • extractResourceFolderAndName

      public static String[] extractResourceFolderAndName(URI uri) throws InvalidURIException
      Throws:
      InvalidURIException
    • extractResourcePath

      public static String extractResourcePath(URI uri) throws InvalidURIException
      Throws:
      InvalidURIException
    • createResourceURI

      public static URI createResourceURI(CDOView view, String path)
    • convertExternalCDOID

      public static CDOID convertExternalCDOID(URI baseURI, CDOID newCDOID)
      Converting temporary CDOID to External CDOID
      e.g.:
      baseURI = cdo://2a57dfcf-8f97-4d39-8e17-9d99ae5c4b3c/resB#5/2
      newCDOID = OID2
      return = cdo://2a57dfcf-8f97-4d39-8e17-9d99ae5c4b3c/resB#1/2
    • sanitizePath

      public static String sanitizePath(String path)
      Since:
      4.11
    • analyzePath

      public static List<String> analyzePath(URI uri)
    • analyzePath

      public static List<String> analyzePath(String path)
    • getParameters

      public static Map<String,String> getParameters(String query)
      Since:
      4.0
    • formatQuery

      public static String formatQuery(Map<String,String> parameters)
      Since:
      4.12
    • appendQueryParameter

      public static void appendQueryParameter(StringBuilder query, String parameter, String value)
      Since:
      4.12
    • appendResourcePath

      public static URI appendResourcePath(URI uri, String path)
      Since:
      4.12
    • trimResourceInfos

      public static URI trimResourceInfos(URI uri)
      Since:
      4.12
    • validateURI

      @Deprecated public static void validateURI(URI uri) throws InvalidURIException
      Deprecated.
      Throws:
      InvalidURIException
    • extractRepositoryUUID

      @Deprecated public static String extractRepositoryUUID(URI uri)
      Deprecated.
    • createResourceURI

      @Deprecated public static URI createResourceURI(String repositoryUUID, String path)
      Deprecated.
      This method is subject to removal in a future release.

      cdo://repositoryUUID/path

      The path is added at the end of "cdo://repositoryUUID". If path doesn't start with '/', it will be added automatically.
      e.g.: /resA or resA will give the same result → cdo://repositoryUUID/resA
      authority = repositoryUUID
      path = /resA

    • createResourceURI

      @Deprecated public static URI createResourceURI(CDOSession session, String path)
      Deprecated.
      This method is subject to removal in a future release.