minor fixes

git-svn-id: https://svn.d4science.research-infrastructures.eu/gcube/trunk/data-catalogue/grsf-publisher-ws@133354 82a268e6-3cf1-43bd-a215-b396298e98cf
This commit is contained in:
Costantino Perciante 2016-10-19 12:34:19 +00:00
parent 2940e9b9e5
commit cf4b6bf37b
4 changed files with 80 additions and 6 deletions

View File

@ -5,6 +5,7 @@ import javax.ws.rs.core.Response;
import javax.ws.rs.ext.ExceptionMapper;
import javax.ws.rs.ext.Provider;
import org.gcube.data_catalogue.grsf_publish_ws.json.output.ResponseBean;
import org.slf4j.LoggerFactory;
@Provider
@ -21,7 +22,7 @@ public class ApplicationException implements ExceptionMapper<Exception> {
return Response
.status(Response.Status.INTERNAL_SERVER_ERROR.getStatusCode())
.type(MediaType.APPLICATION_JSON)
.entity("{\"error\":" + "\"" + e.getMessage() + "\"}")
.entity(new ResponseBean(false, e.getMessage(), null))
.build();
}
}

View File

@ -7,6 +7,7 @@ import javax.ws.rs.core.Response;
import javax.ws.rs.ext.ExceptionMapper;
import javax.ws.rs.ext.Provider;
import org.gcube.data_catalogue.grsf_publish_ws.json.output.ResponseBean;
import org.slf4j.LoggerFactory;
@Provider
@ -28,7 +29,7 @@ public class ValidationException implements ExceptionMapper<javax.validation.Val
return Response
.status(Response.Status.INTERNAL_SERVER_ERROR.getStatusCode())
.type(MediaType.APPLICATION_JSON)
.entity("{\"error\":" + "\"" + strBuilder.toString() + "\"}")
.entity(new ResponseBean(false, strBuilder.toString(), null))
.build();
}
}

View File

@ -6,6 +6,7 @@ import java.io.IOException;
import javax.ws.rs.container.ContainerRequestContext;
import javax.ws.rs.container.ContainerRequestFilter;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.MultivaluedMap;
import javax.ws.rs.core.Response;
import javax.ws.rs.ext.Provider;
@ -19,6 +20,7 @@ import org.gcube.common.authorization.library.provider.AuthorizationProvider;
import org.gcube.common.authorization.library.utils.Caller;
import org.gcube.common.portal.PortalContext;
import org.gcube.common.scope.api.ScopeProvider;
import org.gcube.data_catalogue.grsf_publish_ws.json.output.ResponseBean;
import org.slf4j.LoggerFactory;
@ -59,7 +61,7 @@ public class RequestsAuthAccountingFilter implements ContainerRequestFilter{
logger.info("Authorization entry set in thread local");
return;
}else
requestContext.abortWith(Response.status(Response.Status.UNAUTHORIZED).entity("Invalid or missing gcube-token").build());
requestContext.abortWith(Response.status(Response.Status.UNAUTHORIZED).type(MediaType.APPLICATION_JSON).entity(new ResponseBean(false, "Invalid or missing gcube-token", null)).build());
}else if(tokenAsQueryParameter != null){
logger.info("Token is " + tokenAsQueryParameter.substring(0, 5) + "********************");
AuthorizationEntry ae = validateToken(tokenAsQueryParameter);
@ -70,11 +72,11 @@ public class RequestsAuthAccountingFilter implements ContainerRequestFilter{
logger.info("Authorization entry set in thread local");
return;
}else
requestContext.abortWith(Response.status(Response.Status.UNAUTHORIZED).entity("Invalid or missing gcube-token").build());
requestContext.abortWith(Response.status(Response.Status.UNAUTHORIZED).type(MediaType.APPLICATION_JSON).entity(new ResponseBean(false, "Invalid or missing gcube-token", null)).build());
}
else
requestContext.abortWith(Response.status(Response.Status.UNAUTHORIZED).entity("Invalid or missing gcube-token").build());
requestContext.abortWith(Response.status(Response.Status.UNAUTHORIZED).type(MediaType.APPLICATION_JSON).entity(new ResponseBean(false, "Invalid or missing gcube-token", null)).build());
}
@ -126,7 +128,7 @@ public class RequestsAuthAccountingFilter implements ContainerRequestFilter{
}catch(Exception e){
logger.error("Unable to account this service usage record", e);
}
}
}

View File

@ -0,0 +1,70 @@
package org.gcube.data_catalogue.grsf_publish_ws.json.output;
import java.io.Serializable;
/**
* Response bean
* @author Costantino Perciante at ISTI-CNR
* (costantino.perciante@isti.cnr.it)
*
*/
public class ResponseBean implements Serializable {
private static final long serialVersionUID = -2725238162673879658L;
private boolean success;
private String message;
private Object result; // needs to be serializable!!
public ResponseBean() {
super();
}
/**
* @param success
* @param message
* @param result
* @param help
*/
public ResponseBean(boolean success, String message, Object result) {
super();
this.success = success;
this.message = message;
this.result = result;
}
public boolean isSuccess() {
return success;
}
public void setSuccess(boolean success) {
this.success = success;
}
public String getMessage() {
return message;
}
public void setMessage(String message) {
this.message = message;
}
public Object getResult() {
return result;
}
public void setResult(Object result) {
this.result = result;
}
@Override
public String toString() {
return "ResponseBean [success=" + success
+ ", message=" + message + ", result=" + result + "]";
}
}