Skip to content
Snippets Groups Projects
Commit f17d8e36 authored by Nicola Fulvio Calabria's avatar Nicola Fulvio Calabria
Browse files

Task #3637 - Added Fault management for transfer services up to 3/6

redmine subtasks
parent d5d6e78a
No related branches found
No related tags found
No related merge requests found
package it.inaf.oats.vospace.exception; package it.inaf.oats.vospace.exception;
import net.ivoa.xml.uws.v1.ErrorSummaryFactory;
import org.springframework.http.HttpStatus; import org.springframework.http.HttpStatus;
import org.springframework.web.bind.annotation.ResponseStatus; import org.springframework.web.bind.annotation.ResponseStatus;
@ResponseStatus(value = HttpStatus.CONFLICT) @ResponseStatus(value = HttpStatus.CONFLICT)
public class DuplicateNodeException extends VoSpaceException { public class DuplicateNodeException extends VoSpaceErrorSummarizableException {
public DuplicateNodeException(String path) { public DuplicateNodeException(String path) {
super("Duplicate Node at path: " + path); super("Duplicate Node at path: " + path,
ErrorSummaryFactory.VOSpaceFault.DUPLICATE_NODE);
} }
} }
package it.inaf.oats.vospace.exception; package it.inaf.oats.vospace.exception;
import net.ivoa.xml.uws.v1.ErrorSummaryFactory;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import org.springframework.http.HttpStatus; import org.springframework.http.HttpStatus;
import org.springframework.web.bind.annotation.ResponseStatus; import org.springframework.web.bind.annotation.ResponseStatus;
@ResponseStatus(value = HttpStatus.INTERNAL_SERVER_ERROR) // Status code 500 @ResponseStatus(value = HttpStatus.INTERNAL_SERVER_ERROR) // Status code 500
public class InternalFaultException extends VoSpaceException { public class InternalFaultException extends VoSpaceErrorSummarizableException {
private static final Logger LOG = LoggerFactory.getLogger(InternalFaultException.class); private static final Logger LOG = LoggerFactory.getLogger(InternalFaultException.class);
public InternalFaultException(String msg) { public InternalFaultException(String msg) {
super("InternalFaultException: " + msg); super("InternalFaultException: " + msg,
ErrorSummaryFactory.VOSpaceFault.INTERNAL_FAULT);
} }
public InternalFaultException(Throwable cause) { public InternalFaultException(Throwable cause) {
super("InternalFaultException: " + getMessage(cause)); super("InternalFaultException: " + getMessage(cause),
ErrorSummaryFactory.VOSpaceFault.INTERNAL_FAULT);
} }
private static String getMessage(Throwable cause) { private static String getMessage(Throwable cause) {
......
package it.inaf.oats.vospace.exception; package it.inaf.oats.vospace.exception;
import net.ivoa.xml.uws.v1.ErrorSummaryFactory;
import org.springframework.http.HttpStatus; import org.springframework.http.HttpStatus;
import org.springframework.web.bind.annotation.ResponseStatus; import org.springframework.web.bind.annotation.ResponseStatus;
@ResponseStatus(value = HttpStatus.BAD_REQUEST) @ResponseStatus(value = HttpStatus.BAD_REQUEST)
public class InvalidURIException extends VoSpaceException { public class InvalidURIException extends VoSpaceErrorSummarizableException {
public InvalidURIException(String URI, String path) { public InvalidURIException(String URI, String path) {
super("InvalidURI. Payload node URI: " + URI super("InvalidURI. Payload node URI: " + URI
+ " is not consistent with request path: " + path); + " is not consistent with request path: " + path,
ErrorSummaryFactory.VOSpaceFault.INVALID_URI);
} }
public InvalidURIException(String URI) { public InvalidURIException(String URI) {
super("InvalidURI. URI: " + URI + " is not in a valid format"); super("InvalidURI. URI: " + URI + " is not in a valid format",
ErrorSummaryFactory.VOSpaceFault.INVALID_URI);
} }
public InvalidURIException(IllegalArgumentException ex) { public InvalidURIException(IllegalArgumentException ex) {
super("InvalidURI. " + ex.getMessage()); super("InvalidURI. " + ex.getMessage(),
ErrorSummaryFactory.VOSpaceFault.INVALID_URI);
} }
} }
package it.inaf.oats.vospace.exception;
import net.ivoa.xml.uws.v1.ErrorSummaryFactory;
public class NodeBusyException extends VoSpaceErrorSummarizableException {
public NodeBusyException(String path) {
super("Node Busy: at path " + path,
ErrorSummaryFactory.VOSpaceFault.NODE_BUSY);
}
}
package it.inaf.oats.vospace.exception; package it.inaf.oats.vospace.exception;
import net.ivoa.xml.uws.v1.ErrorSummaryFactory;
import org.springframework.http.HttpStatus; import org.springframework.http.HttpStatus;
import org.springframework.web.bind.annotation.ResponseStatus; import org.springframework.web.bind.annotation.ResponseStatus;
@ResponseStatus(value = HttpStatus.NOT_FOUND) @ResponseStatus(value = HttpStatus.NOT_FOUND)
public class NodeNotFoundException extends VoSpaceException { public class NodeNotFoundException extends VoSpaceErrorSummarizableException {
public NodeNotFoundException(String path) { public NodeNotFoundException(String path) {
super("NodeNotFound: " + path); super("NodeNotFound: " + path,
ErrorSummaryFactory.VOSpaceFault.NODE_NOT_FOUND);
} }
} }
package it.inaf.oats.vospace.exception; package it.inaf.oats.vospace.exception;
import net.ivoa.xml.uws.v1.ErrorSummaryFactory;
import org.springframework.http.HttpStatus; import org.springframework.http.HttpStatus;
import org.springframework.web.bind.annotation.ResponseStatus; import org.springframework.web.bind.annotation.ResponseStatus;
@ResponseStatus(value = HttpStatus.FORBIDDEN) @ResponseStatus(value = HttpStatus.FORBIDDEN)
public class PermissionDeniedException extends VoSpaceException { public class PermissionDeniedException extends VoSpaceErrorSummarizableException {
public PermissionDeniedException(String path) { public PermissionDeniedException(String path) {
super("Permission Denied at path: " + path); super("Permission Denied at path: " + path,
ErrorSummaryFactory.VOSpaceFault.PERMISSION_DENIED);
} }
} }
package it.inaf.oats.vospace.exception;
import net.ivoa.xml.uws.v1.ErrorSummaryFactory;
public class ProtocolNotSupportedException extends VoSpaceErrorSummarizableException{
public ProtocolNotSupportedException(String protocol) {
super("Protocol Not Supported: " + protocol,
ErrorSummaryFactory.VOSpaceFault.PROTOCOL_NOT_SUPPORTED);
}
}
package it.inaf.oats.vospace.exception;
import net.ivoa.xml.uws.v1.ErrorSummaryFactory;
import org.springframework.http.HttpStatus;
import org.springframework.web.bind.annotation.ResponseStatus;
@ResponseStatus(value = HttpStatus.INTERNAL_SERVER_ERROR)
public class VoSpaceErrorSummarizableException extends VoSpaceException {
ErrorSummaryFactory.VOSpaceFault fault;
public VoSpaceErrorSummarizableException(String message,
ErrorSummaryFactory.VOSpaceFault fault)
{
super(message);
this.fault = fault;
}
public ErrorSummaryFactory.VOSpaceFault getFault()
{
return this.fault;
}
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment