java.lang.Object
org.gcube.informationsystem.resourceregistry.api.rest.ServiceInstance

public abstract class ServiceInstance extends Object
Derives the public base URL of the D4Science URL-shortening/redirect service for a given infrastructure Context scope, following the url.<root>.d4science.org per-infrastructure naming convention (the production root infrastructure uses the bare BASE_URL with no root-specific subdomain segment), and the Resource Registry address reached through it.

The Resource Registry address can be overridden, for every Context, by setting the Java system property "resource-registry.url", meant for testing and development only.

Author:
Luca Frosini (ISTI - CNR)
  • Field Details

    • BASE_URL

      public static final String BASE_URL
      Base URL of the D4Science URL-shortening/redirect service for the production infrastructure.
      See Also:
    • RESOURCE_REGISTRY_URL_PROPERTY

      public static final String RESOURCE_REGISTRY_URL_PROPERTY
      Java system property holding the complete Resource Registry address (e.g. http://localhost:8080/resource-registry) to use instead of the one derived from the Context scope.
      See Also:
  • Constructor Details

    • ServiceInstance

      public ServiceInstance()
  • Method Details

    • getServiceURL

      public static String getServiceURL()
      Gets the service URL for the Context scope of the caller's current security token, as provided by SecretManagerProvider.
      Returns:
      the service URL for the caller's current Context scope
    • getServiceURL

      public static String getServiceURL(String context)
      Gets the service URL for the infrastructure that owns the given Context scope.
      Parameters:
      context - the fully qualified Context scope (e.g. /root-infrastructure/vo)
      Returns:
      BASE_URL for the production root infrastructure, or the equivalent URL for the root infrastructure identified by context
    • getResourceRegistryURL

      public static String getResourceRegistryURL()
      Gets the Resource Registry address for the Context scope of the caller's current security token, as provided by SecretManagerProvider.
      Returns:
      the value of "resource-registry.url" when set, otherwise the Resource Registry address for the caller's current Context scope
    • getResourceRegistryURL

      public static String getResourceRegistryURL(String context)
      Gets the Resource Registry address for the given Context scope.
      Parameters:
      context - the fully qualified Context scope (e.g. /root-infrastructure/vo)
      Returns:
      the value of "resource-registry.url" when set, otherwise the Resource Registry address under getServiceURL(String)