java.lang.Object
org.gcube.informationsystem.resourceregistry.api.contexts.ContextUtility

public class ContextUtility extends Object
Client-side helper methods for converting between the wire representations of Context identity (JSON UUID-to-path maps, UUID strings) and their in-memory counterparts, resolving paths via a ContextCache.
Author:
Luca Frosini (ISTI - CNR)
  • Constructor Details

    • ContextUtility

      public ContextUtility()
  • Method Details

    • getContextMap

      public static Map<UUID,String> getContextMap(String objectnode) throws org.gcube.com.fasterxml.jackson.core.JsonParseException, org.gcube.com.fasterxml.jackson.databind.JsonMappingException, IOException
      Gets the context map.
      Parameters:
      objectnode - the objectnode
      Returns:
      the context map
      Throws:
      org.gcube.com.fasterxml.jackson.core.JsonParseException - the json parse exception
      org.gcube.com.fasterxml.jackson.databind.JsonMappingException - the json mapping exception
      IOException - Signals that an I/O exception has occurred.
    • getContextUUIDSet

      public static Set<UUID> getContextUUIDSet(Collection<String> uuidStrings) throws Exception
      Gets the context UUID set.
      Parameters:
      uuidStrings - the uuid strings
      Returns:
      the context UUID set
      Throws:
      Exception - the exception
    • getContextPathSet

      public static Set<String> getContextPathSet(ContextCache contextCache, Collection<UUID> uuids) throws Exception
      Gets the context path set.
      Parameters:
      contextCache - the context cache
      uuids - the uuids
      Returns:
      the context path set
      Throws:
      Exception - the exception
    • getContextFromReadResponse

      public static org.gcube.informationsystem.contexts.reference.entities.Context getContextFromReadResponse(String contextsJson) throws ContextNotFoundException, ResourceRegistryException
      Reads the response of a Context read (GET /contexts/{uuid} and GET /contexts/@current): a flat JSON array with the requested Context first, followed by its descendants level by level. The descendants returned are linked to their parents, so that the Context returned carries its subtree as far as the response goes.
      Parameters:
      contextsJson - the body of the response
      Returns:
      the requested Context, the first of the array
      Throws:
      ContextNotFoundException - if the array is empty
      ResourceRegistryException - if the body is not an array of Contexts