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:
parent
2940e9b9e5
commit
cf4b6bf37b
|
@ -5,6 +5,7 @@ import javax.ws.rs.core.Response;
|
||||||
import javax.ws.rs.ext.ExceptionMapper;
|
import javax.ws.rs.ext.ExceptionMapper;
|
||||||
import javax.ws.rs.ext.Provider;
|
import javax.ws.rs.ext.Provider;
|
||||||
|
|
||||||
|
import org.gcube.data_catalogue.grsf_publish_ws.json.output.ResponseBean;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
|
|
||||||
@Provider
|
@Provider
|
||||||
|
@ -21,7 +22,7 @@ public class ApplicationException implements ExceptionMapper<Exception> {
|
||||||
return Response
|
return Response
|
||||||
.status(Response.Status.INTERNAL_SERVER_ERROR.getStatusCode())
|
.status(Response.Status.INTERNAL_SERVER_ERROR.getStatusCode())
|
||||||
.type(MediaType.APPLICATION_JSON)
|
.type(MediaType.APPLICATION_JSON)
|
||||||
.entity("{\"error\":" + "\"" + e.getMessage() + "\"}")
|
.entity(new ResponseBean(false, e.getMessage(), null))
|
||||||
.build();
|
.build();
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -7,6 +7,7 @@ import javax.ws.rs.core.Response;
|
||||||
import javax.ws.rs.ext.ExceptionMapper;
|
import javax.ws.rs.ext.ExceptionMapper;
|
||||||
import javax.ws.rs.ext.Provider;
|
import javax.ws.rs.ext.Provider;
|
||||||
|
|
||||||
|
import org.gcube.data_catalogue.grsf_publish_ws.json.output.ResponseBean;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
|
|
||||||
@Provider
|
@Provider
|
||||||
|
@ -28,7 +29,7 @@ public class ValidationException implements ExceptionMapper<javax.validation.Val
|
||||||
return Response
|
return Response
|
||||||
.status(Response.Status.INTERNAL_SERVER_ERROR.getStatusCode())
|
.status(Response.Status.INTERNAL_SERVER_ERROR.getStatusCode())
|
||||||
.type(MediaType.APPLICATION_JSON)
|
.type(MediaType.APPLICATION_JSON)
|
||||||
.entity("{\"error\":" + "\"" + strBuilder.toString() + "\"}")
|
.entity(new ResponseBean(false, strBuilder.toString(), null))
|
||||||
.build();
|
.build();
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -6,6 +6,7 @@ import java.io.IOException;
|
||||||
|
|
||||||
import javax.ws.rs.container.ContainerRequestContext;
|
import javax.ws.rs.container.ContainerRequestContext;
|
||||||
import javax.ws.rs.container.ContainerRequestFilter;
|
import javax.ws.rs.container.ContainerRequestFilter;
|
||||||
|
import javax.ws.rs.core.MediaType;
|
||||||
import javax.ws.rs.core.MultivaluedMap;
|
import javax.ws.rs.core.MultivaluedMap;
|
||||||
import javax.ws.rs.core.Response;
|
import javax.ws.rs.core.Response;
|
||||||
import javax.ws.rs.ext.Provider;
|
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.authorization.library.utils.Caller;
|
||||||
import org.gcube.common.portal.PortalContext;
|
import org.gcube.common.portal.PortalContext;
|
||||||
import org.gcube.common.scope.api.ScopeProvider;
|
import org.gcube.common.scope.api.ScopeProvider;
|
||||||
|
import org.gcube.data_catalogue.grsf_publish_ws.json.output.ResponseBean;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
|
|
||||||
|
|
||||||
|
@ -59,7 +61,7 @@ public class RequestsAuthAccountingFilter implements ContainerRequestFilter{
|
||||||
logger.info("Authorization entry set in thread local");
|
logger.info("Authorization entry set in thread local");
|
||||||
return;
|
return;
|
||||||
}else
|
}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){
|
}else if(tokenAsQueryParameter != null){
|
||||||
logger.info("Token is " + tokenAsQueryParameter.substring(0, 5) + "********************");
|
logger.info("Token is " + tokenAsQueryParameter.substring(0, 5) + "********************");
|
||||||
AuthorizationEntry ae = validateToken(tokenAsQueryParameter);
|
AuthorizationEntry ae = validateToken(tokenAsQueryParameter);
|
||||||
|
@ -70,11 +72,11 @@ public class RequestsAuthAccountingFilter implements ContainerRequestFilter{
|
||||||
logger.info("Authorization entry set in thread local");
|
logger.info("Authorization entry set in thread local");
|
||||||
return;
|
return;
|
||||||
}else
|
}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
|
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){
|
}catch(Exception e){
|
||||||
logger.error("Unable to account this service usage record", e);
|
logger.error("Unable to account this service usage record", e);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -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 + "]";
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue