2021-02-05 17:50:16 +01:00
|
|
|
package org.gcube.informationsystem.resourceregistry.instances.model;
|
|
|
|
|
|
|
|
import java.util.Map;
|
|
|
|
import java.util.UUID;
|
|
|
|
|
|
|
|
import org.gcube.com.fasterxml.jackson.databind.JsonNode;
|
|
|
|
import org.gcube.informationsystem.resourceregistry.api.exceptions.AvailableInAnotherContextException;
|
|
|
|
import org.gcube.informationsystem.resourceregistry.api.exceptions.NotFoundException;
|
|
|
|
import org.gcube.informationsystem.resourceregistry.api.exceptions.ResourceRegistryException;
|
|
|
|
import org.gcube.informationsystem.resourceregistry.api.exceptions.context.ContextException;
|
2021-02-16 17:17:40 +01:00
|
|
|
import org.gcube.informationsystem.resourceregistry.api.exceptions.schema.SchemaViolationException;
|
2021-02-05 17:50:16 +01:00
|
|
|
import org.gcube.informationsystem.resourceregistry.contexts.security.SecurityContext;
|
|
|
|
|
|
|
|
public interface ERManagement {
|
|
|
|
|
|
|
|
public boolean isDryRunContextSharing();
|
|
|
|
|
|
|
|
public void setDryRunContextSharing(boolean dryRunContextSharing);
|
|
|
|
|
|
|
|
public boolean isHonourPropagationConstraintsInContextSharing();
|
|
|
|
|
|
|
|
public void setHonourPropagationConstraintsInContextSharing(boolean honourPropagationConstraintsInContextSharing);
|
|
|
|
|
|
|
|
public Map<UUID, JsonNode> internalAddToContext(SecurityContext targetSecurityContext)
|
|
|
|
throws ContextException, ResourceRegistryException;
|
|
|
|
|
|
|
|
public Map<UUID, JsonNode> addToContext(UUID contextUUID)
|
2021-02-16 17:17:40 +01:00
|
|
|
throws SchemaViolationException, NotFoundException, ContextException, ResourceRegistryException;
|
2021-02-05 17:50:16 +01:00
|
|
|
|
|
|
|
public Map<UUID, JsonNode> internalRemoveFromContext(SecurityContext targetSecurityContext)
|
|
|
|
throws ContextException, ResourceRegistryException;
|
|
|
|
|
|
|
|
public Map<UUID, JsonNode> removeFromContext(UUID contextUUID)
|
2021-02-16 17:17:40 +01:00
|
|
|
throws SchemaViolationException, NotFoundException, ContextException, ResourceRegistryException;
|
2021-02-05 17:50:16 +01:00
|
|
|
|
2021-02-19 19:32:23 +01:00
|
|
|
public void sanityCheck() throws SchemaViolationException, ResourceRegistryException;
|
2021-02-23 14:44:37 +01:00
|
|
|
|
|
|
|
// public void contextSanityCheck(SecurityContext target, Map<UUID, JsonNode> expectedInstances) throws SchemaViolationException, ResourceRegistryException;
|
2021-02-05 17:50:16 +01:00
|
|
|
|
|
|
|
public AvailableInAnotherContextException getSpecificERAvailableInAnotherContextException(String message);
|
|
|
|
|
|
|
|
}
|