Added support for context names included in header among UUIDs refs

#22090
This commit is contained in:
Luca Frosini 2021-10-28 13:26:14 +02:00
parent 351500e701
commit 882f26ac12
3 changed files with 19 additions and 18 deletions

View File

@ -10,6 +10,7 @@ This project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.htm
- Aligned overrided APIs [#21979] - Aligned overrided APIs [#21979]
- Getting all the relations of a type it is returned a list of relations and not the list of Resources sources of such relation [#22003] - Getting all the relations of a type it is returned a list of relations and not the list of Resources sources of such relation [#22003]
- Added check for reserved UUID - Added check for reserved UUID
- Added support for context names included in header among UUIDs [#22090]
## [v4.1.0] ## [v4.1.0]

View File

@ -1,7 +1,7 @@
package org.gcube.informationsystem.resourceregistry.publisher; package org.gcube.informationsystem.resourceregistry.publisher;
import java.util.List; import java.util.List;
import java.util.Set; import java.util.Map;
import java.util.UUID; import java.util.UUID;
import org.gcube.informationsystem.contexts.reference.entities.Context; import org.gcube.informationsystem.contexts.reference.entities.Context;
@ -226,10 +226,10 @@ public interface ResourceRegistryPublisher {
public List<ERElement> removeFromCurrentContext(ERElement er, Boolean dryRun) public List<ERElement> removeFromCurrentContext(ERElement er, Boolean dryRun)
throws SchemaViolationException, NotFoundException, ContextNotFoundException, ResourceRegistryException; throws SchemaViolationException, NotFoundException, ContextNotFoundException, ResourceRegistryException;
public Set<UUID> getElementContexts(String type, UUID instanceUUID) public Map<UUID, String> getElementContexts(String type, UUID instanceUUID)
throws NotFoundException, ResourceRegistryException; throws NotFoundException, ResourceRegistryException;
public <ERElem extends ERElement> Set<UUID> getElementContexts(ERElem er) public <ERElem extends ERElement> Map<UUID, String> getElementContexts(ERElem er)
throws NotFoundException, ResourceRegistryException; throws NotFoundException, ResourceRegistryException;
/* ----- */ /* ----- */
@ -258,10 +258,10 @@ public interface ResourceRegistryPublisher {
public <R extends Resource> List<ERElement> removeResourceFromCurrentContext(R resource, Boolean dryRun) public <R extends Resource> List<ERElement> removeResourceFromCurrentContext(R resource, Boolean dryRun)
throws SchemaViolationException, ResourceNotFoundException, ContextNotFoundException, ResourceRegistryException; throws SchemaViolationException, ResourceNotFoundException, ContextNotFoundException, ResourceRegistryException;
public Set<UUID> getResourceContexts(String resourceType, UUID resourceUUID) public Map<UUID, String> getResourceContexts(String resourceType, UUID resourceUUID)
throws ResourceNotFoundException, ResourceRegistryException; throws ResourceNotFoundException, ResourceRegistryException;
public <R extends Resource> Set<UUID> getResourceContexts(R resource) public <R extends Resource> Map<UUID, String> getResourceContexts(R resource)
throws ResourceNotFoundException, ResourceRegistryException; throws ResourceNotFoundException, ResourceRegistryException;
/* ----- */ /* ----- */
@ -290,10 +290,10 @@ public interface ResourceRegistryPublisher {
public <F extends Facet> List<ERElement> removeFacetFromCurrentContext(F facet, Boolean dryRun) public <F extends Facet> List<ERElement> removeFacetFromCurrentContext(F facet, Boolean dryRun)
throws SchemaViolationException, FacetNotFoundException, ContextNotFoundException, ResourceRegistryException; throws SchemaViolationException, FacetNotFoundException, ContextNotFoundException, ResourceRegistryException;
public Set<UUID> getFacetContexts(String facetType, UUID facetUUID) public Map<UUID, String> getFacetContexts(String facetType, UUID facetUUID)
throws FacetNotFoundException, ResourceRegistryException; throws FacetNotFoundException, ResourceRegistryException;
public <F extends Facet> Set<UUID> getFacetContexts(F facet) public <F extends Facet> Map<UUID, String> getFacetContexts(F facet)
throws FacetNotFoundException, ResourceRegistryException; throws FacetNotFoundException, ResourceRegistryException;
} }

View File

@ -5,7 +5,6 @@ import java.net.HttpURLConnection;
import java.util.HashMap; import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.Set;
import java.util.UUID; import java.util.UUID;
import org.gcube.common.gxhttp.reference.GXConnection; import org.gcube.common.gxhttp.reference.GXConnection;
@ -906,7 +905,7 @@ public class ResourceRegistryPublisherImpl implements ResourceRegistryPublisher
} }
@Override @Override
public Set<UUID> getElementContexts(String type, UUID instanceUUID) public Map<UUID, String> getElementContexts(String type, UUID instanceUUID)
throws NotFoundException, ResourceRegistryException { throws NotFoundException, ResourceRegistryException {
try { try {
logger.trace("Going to get contexts of {} with UUID {}", type, instanceUUID); logger.trace("Going to get contexts of {} with UUID {}", type, instanceUUID);
@ -918,10 +917,11 @@ public class ResourceRegistryPublisherImpl implements ResourceRegistryPublisher
gxHTTPStringRequest.path(SharingPath.CONTEXTS_PATH_PART); gxHTTPStringRequest.path(SharingPath.CONTEXTS_PATH_PART);
HttpURLConnection httpURLConnection = gxHTTPStringRequest.get(); HttpURLConnection httpURLConnection = gxHTTPStringRequest.get();
String jsonArray = HTTPUtility.getResponse(String.class, httpURLConnection); String objectNode = HTTPUtility.getResponse(String.class, httpURLConnection);
Set<UUID> contexts = ContextUtility.getContextUUIDSet(jsonArray);
logger.info("Contexts of {} with UUID {} are {}", type, instanceUUID, objectNode);
logger.info("Contexts of {} with UUID {} are {}", type, instanceUUID, contexts);
Map<UUID, String> contexts = ContextUtility.getContextMap(objectNode);
return contexts; return contexts;
@ -935,7 +935,7 @@ public class ResourceRegistryPublisherImpl implements ResourceRegistryPublisher
} }
@Override @Override
public <ERElem extends ERElement> Set<UUID> getElementContexts(ERElem er) public <ERElem extends ERElement> Map<UUID, String> getElementContexts(ERElem er)
throws NotFoundException, ResourceRegistryException { throws NotFoundException, ResourceRegistryException {
String type = org.gcube.informationsystem.resourceregistry.api.utils.Utility.getTypeName(er); String type = org.gcube.informationsystem.resourceregistry.api.utils.Utility.getTypeName(er);
UUID instanceUUID = er.getHeader().getUUID(); UUID instanceUUID = er.getHeader().getUUID();
@ -991,13 +991,13 @@ public class ResourceRegistryPublisherImpl implements ResourceRegistryPublisher
} }
@Override @Override
public Set<UUID> getResourceContexts(String resourceType, UUID resourceUUID) public Map<UUID, String> getResourceContexts(String resourceType, UUID resourceUUID)
throws ResourceNotFoundException, ResourceRegistryException { throws ResourceNotFoundException, ResourceRegistryException {
return getElementContexts(resourceType, resourceUUID); return getElementContexts(resourceType, resourceUUID);
} }
@Override @Override
public <R extends Resource> Set<UUID> getResourceContexts(R resource) public <R extends Resource> Map<UUID, String> getResourceContexts(R resource)
throws ResourceNotFoundException, ResourceRegistryException { throws ResourceNotFoundException, ResourceRegistryException {
return getElementContexts(resource); return getElementContexts(resource);
} }
@ -1051,13 +1051,13 @@ public class ResourceRegistryPublisherImpl implements ResourceRegistryPublisher
} }
@Override @Override
public Set<UUID> getFacetContexts(String facetType, UUID facetUUID) public Map<UUID, String> getFacetContexts(String facetType, UUID facetUUID)
throws FacetNotFoundException, ResourceRegistryException { throws FacetNotFoundException, ResourceRegistryException {
return getElementContexts(facetType, facetUUID); return getElementContexts(facetType, facetUUID);
} }
@Override @Override
public <F extends Facet> Set<UUID> getFacetContexts(F facet) public <F extends Facet> Map<UUID, String> getFacetContexts(F facet)
throws FacetNotFoundException, ResourceRegistryException { throws FacetNotFoundException, ResourceRegistryException {
return getElementContexts(facet); return getElementContexts(facet);
} }