fixing HTTP response codes
git-svn-id: https://svn.d4science.research-infrastructures.eu/gcube/trunk/information-system/resource-registry@146755 82a268e6-3cf1-43bd-a215-b396298e98cf
This commit is contained in:
parent
4eca4513da
commit
6e4e0fe259
|
@ -441,7 +441,8 @@ public abstract class ERManagement<ERType extends ER, El extends Element> {
|
|||
}
|
||||
|
||||
|
||||
public boolean exists() throws ERNotFoundException, ResourceRegistryException {
|
||||
public boolean exists() throws ERNotFoundException,
|
||||
ERAvailableInAnotherContextException, ResourceRegistryException {
|
||||
try {
|
||||
orientGraph = ContextUtility.getActualSecurityContextGraph(PermissionMode.READER);
|
||||
|
||||
|
@ -460,7 +461,7 @@ public abstract class ERManagement<ERType extends ER, El extends Element> {
|
|||
}
|
||||
|
||||
public String read() throws ERNotFoundException,
|
||||
ResourceRegistryException {
|
||||
ERAvailableInAnotherContextException, ResourceRegistryException {
|
||||
try {
|
||||
orientGraph = ContextUtility
|
||||
.getActualSecurityContextGraph(PermissionMode.READER);
|
||||
|
@ -480,7 +481,7 @@ public abstract class ERManagement<ERType extends ER, El extends Element> {
|
|||
}
|
||||
|
||||
public String update() throws ERNotFoundException,
|
||||
ResourceRegistryException {
|
||||
ERAvailableInAnotherContextException, ResourceRegistryException {
|
||||
try {
|
||||
|
||||
orientGraph = ContextUtility
|
||||
|
@ -510,7 +511,7 @@ public abstract class ERManagement<ERType extends ER, El extends Element> {
|
|||
}
|
||||
|
||||
public boolean delete() throws ERNotFoundException,
|
||||
ResourceRegistryException {
|
||||
ERAvailableInAnotherContextException, ResourceRegistryException {
|
||||
logger.debug("Going to delete {} with UUID {}", accessType.getName(), uuid);
|
||||
|
||||
try {
|
||||
|
|
|
@ -9,9 +9,12 @@ import javax.ws.rs.Path;
|
|||
import javax.ws.rs.PathParam;
|
||||
import javax.ws.rs.Produces;
|
||||
import javax.ws.rs.QueryParam;
|
||||
import javax.ws.rs.core.Response;
|
||||
import javax.ws.rs.core.Response.Status;
|
||||
|
||||
import org.gcube.informationsystem.resourceregistry.ResourceInitializer;
|
||||
import org.gcube.informationsystem.resourceregistry.api.exceptions.ResourceRegistryException;
|
||||
import org.gcube.informationsystem.resourceregistry.api.exceptions.er.ERAvailableInAnotherContextException;
|
||||
import org.gcube.informationsystem.resourceregistry.api.exceptions.er.ERNotFoundException;
|
||||
import org.gcube.informationsystem.resourceregistry.api.exceptions.query.InvalidQueryException;
|
||||
import org.gcube.informationsystem.resourceregistry.api.exceptions.schema.SchemaNotFoundException;
|
||||
|
@ -79,8 +82,9 @@ public class Access {
|
|||
@HEAD
|
||||
@Path(AccessPath.INSTANCE_PATH_PART + "/" + "{" + TYPE_PATH_PARAM + "}"
|
||||
+ "/{" + ID_PATH_PARAM + "}")
|
||||
public void exists(@PathParam(TYPE_PATH_PARAM) String type,
|
||||
@PathParam(ID_PATH_PARAM) String id) throws ERNotFoundException, ResourceRegistryException {
|
||||
public Response exists(@PathParam(TYPE_PATH_PARAM) String type,
|
||||
@PathParam(ID_PATH_PARAM) String id) throws ERNotFoundException,
|
||||
ERAvailableInAnotherContextException, ResourceRegistryException {
|
||||
logger.info("Requested to check if {} with id {} exists", type, id);
|
||||
@SuppressWarnings("rawtypes")
|
||||
ERManagement erManagement = ERManagement.getERManagement(type);
|
||||
|
@ -91,7 +95,22 @@ public class Access {
|
|||
throw new ResourceRegistryException(e);
|
||||
}
|
||||
erManagement.setUUID(uuid);
|
||||
erManagement.exists();
|
||||
try {
|
||||
boolean found = erManagement.exists();
|
||||
if(found){
|
||||
return Response.status(Status.NO_CONTENT).build();
|
||||
}else{
|
||||
// This code should never be reached due to exception management
|
||||
// anyway adding it for safety reason
|
||||
return Response.status(Status.NOT_FOUND).build();
|
||||
}
|
||||
} catch (ERNotFoundException e) {
|
||||
return Response.status(Status.NOT_FOUND).build();
|
||||
} catch (ERAvailableInAnotherContextException e) {
|
||||
return Response.status(Status.CONFLICT).build();
|
||||
} catch (ResourceRegistryException e) {
|
||||
throw e;
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
|
|
Loading…
Reference in New Issue