Class CDOURIUtil


  • public final class CDOURIUtil
    extends java.lang.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 Detail

      • PROTOCOL_NAME

        public static final java.lang.String PROTOCOL_NAME
        Since:
        4.0
        See Also:
        Constant Field Values
      • SEGMENT_SEPARATOR_CHAR

        public static final char SEGMENT_SEPARATOR_CHAR
        See Also:
        Constant Field Values
      • SEGMENT_SEPARATOR

        public static final java.lang.String SEGMENT_SEPARATOR
    • Method Detail

      • createResourceURI

        public static URI createResourceURI​(CDOView view,
                                            java.lang.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 java.lang.String sanitizePath​(java.lang.String path)
        Since:
        4.11
      • analyzePath

        public static java.util.List<java.lang.String> analyzePath​(URI uri)
      • analyzePath

        public static java.util.List<java.lang.String> analyzePath​(java.lang.String path)
      • getParameters

        public static java.util.Map<java.lang.String,​java.lang.String> getParameters​(java.lang.String query)
        Since:
        4.0
      • formatQuery

        public static java.lang.String formatQuery​(java.util.Map<java.lang.String,​java.lang.String> parameters)
        Since:
        4.12
      • appendQueryParameter

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

        public static URI appendResourcePath​(URI uri,
                                             java.lang.String path)
        Since:
        4.12
      • trimResourceInfos

        public static URI trimResourceInfos​(URI uri)
        Since:
        4.12
      • extractRepositoryUUID

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

        @Deprecated
        public static URI createResourceURI​(java.lang.String repositoryUUID,
                                            java.lang.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,
                                            java.lang.String path)
        Deprecated.
        This method is subject to removal in a future release.