From b83a0ba903b56562751963c106b4c20352c26087 Mon Sep 17 00:00:00 2001
From: Roberto Sánchez <roberto.sanchez@curisit.net>
Date: Tue, 21 Jan 2014 10:43:29 +0000
Subject: [PATCH] #396 feature - Refactoring error management

---
 /dev/null                                                                    |   19 ------
 securis/src/main/java/net/curisit/securis/services/LicenseTypeResource.java  |   10 +-
 securis/src/main/java/net/curisit/securis/DefaultExceptionHandler.java       |   28 +++++++++
 securis/src/main/java/net/curisit/securis/services/UserResource.java         |    5 +
 securis/src/main/java/net/curisit/securis/MainApp.java                       |   36 +----------
 securis/src/main/java/net/curisit/securis/services/LicenseResource.java      |   16 ++--
 securis/src/main/java/net/curisit/securis/services/OrganizationResource.java |   18 +++---
 securis/src/main/java/net/curisit/securis/security/SecurityInterceptor.java  |    7 --
 securis/src/main/java/net/curisit/securis/services/ApplicationResource.java  |   11 ++-
 securis/src/main/java/net/curisit/securis/services/PackResource.java         |    4 
 10 files changed, 66 insertions(+), 88 deletions(-)

diff --git a/securis/src/main/java/net/curisit/securis/DefaultExceptionHandler.java b/securis/src/main/java/net/curisit/securis/DefaultExceptionHandler.java
new file mode 100644
index 0000000..4f0d960
--- /dev/null
+++ b/securis/src/main/java/net/curisit/securis/DefaultExceptionHandler.java
@@ -0,0 +1,28 @@
+package net.curisit.securis;
+
+import javax.ws.rs.ForbiddenException;
+import javax.ws.rs.core.MediaType;
+import javax.ws.rs.core.Response;
+import javax.ws.rs.core.Response.Status;
+import javax.ws.rs.ext.ExceptionMapper;
+import javax.ws.rs.ext.Provider;
+
+@Provider
+public class DefaultExceptionHandler implements ExceptionMapper<Exception> {
+
+	public static final String ERROR_MESSAGE_HEADER = "X-SECURIS-ERROR";
+
+	public DefaultExceptionHandler() {
+		MainApp.log.info("Creating DefaultExceptionHandler ");
+	}
+
+	@Override
+	public Response toResponse(Exception e) {
+		// log.info("Creating DefaultExceptionHandler ");
+		// e.printStackTrace();
+		if (e instanceof ForbiddenException)
+			return Response.status(Status.UNAUTHORIZED).header(ERROR_MESSAGE_HEADER, "Unathorized access to the application").type(MediaType.APPLICATION_JSON).build();
+
+		return Response.serverError().header(ERROR_MESSAGE_HEADER, "Unexpected error: " + e.toString()).type(MediaType.APPLICATION_JSON).build();
+	}
+}
\ No newline at end of file
diff --git a/securis/src/main/java/net/curisit/securis/MainApp.java b/securis/src/main/java/net/curisit/securis/MainApp.java
index bf2388b..deb8cab 100644
--- a/securis/src/main/java/net/curisit/securis/MainApp.java
+++ b/securis/src/main/java/net/curisit/securis/MainApp.java
@@ -5,10 +5,6 @@
 
 import javax.inject.Inject;
 import javax.inject.Named;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.ext.ExceptionMapper;
-import javax.ws.rs.ext.Provider;
 
 import net.curisit.securis.ioc.RequestsModule;
 import net.curisit.securis.ioc.SecurisModule;
@@ -17,6 +13,7 @@
 import org.eclipse.jetty.server.Server;
 import org.eclipse.jetty.server.handler.ContextHandlerCollection;
 import org.eclipse.jetty.server.handler.ResourceHandler;
+import org.eclipse.jetty.servlet.ErrorPageErrorHandler;
 import org.eclipse.jetty.servlet.FilterHolder;
 import org.eclipse.jetty.servlet.ServletContextHandler;
 import org.eclipse.jetty.servlet.ServletHolder;
@@ -35,7 +32,7 @@
 
 public class MainApp {
 
-	private static final Logger log = LoggerFactory.getLogger(MainApp.class);
+	static final Logger log = LoggerFactory.getLogger(MainApp.class);
 
 	private static Server server;
 	private static Injector injector = null;
@@ -74,7 +71,7 @@
 
 		context.setInitParameter("resteasy.role.based.security", "true");
 		context.setInitParameter("resteasy.providers", DefaultExceptionHandler.class.getName());
-		context.addFilter(new FilterHolder(injector.getInstance(AuthFilter.class)), "/*", null);
+		// context.addFilter(new FilterHolder(injector.getInstance(AuthFilter.class)), "/*", null);
 		context.addFilter(new FilterHolder(injector.getInstance(PersistFilter.class)), "/*", null);
 		ServletHolder sh = new ServletHolder(HttpServletDispatcher.class);
 		sh.setName("resteasy");
@@ -86,16 +83,14 @@
 			{ "/main.html" });
 		context.setHandler(staticResources);
 
-		// ErrorPageErrorHandler errorHandler = new ErrorPageErrorHandler();
-		// context.setErrorHandler(errorHandler);
+		ErrorPageErrorHandler errorHandler = new ErrorPageErrorHandler();
+		context.setErrorHandler(errorHandler);
 		// errorHandler.addErrorPage(HttpResponseCodes.SC_FORBIDDEN, "/login");
 		// errorHandler.addErrorPage(HttpResponseCodes.SC_NOT_FOUND, "/");
 		// errorHandler.addErrorPage(javax.ws.rs.NotFoundException.class, "/");
 		// errorHandler.addErrorPage(javax.ws.rs.ForbiddenException.class, "/");
 		// errorHandler.addErrorPage(javax.ws.rs.ForbiddenException.class.getCanonicalName(), "/");
 		// errorHandler.addErrorPage(ErrorPageErrorHandler.GLOBAL_ERROR_PAGE, "/");
-		context.setWelcomeFiles(new String[]
-			{ "/index" });
 		log.info("Error Handlers: " + context.getErrorHandler());
 		ContextHandlerCollection contexts = new ContextHandlerCollection();
 
@@ -107,27 +102,6 @@
 		server.start();
 		server.join();
 		log.info("Started server in: http://127.0.0.1:9997/");
-	}
-
-	@Provider
-	public static class DefaultExceptionHandler implements ExceptionMapper<Exception> {
-
-		public DefaultExceptionHandler() {
-			log.info("Creating DefaultExceptionHandler ");
-		}
-
-		@Override
-		public Response toResponse(Exception e) {
-			// log.info("Creating DefaultExceptionHandler ");
-			e.printStackTrace();
-			// For simplicity I am preparing error xml by hand.
-			// Ideally we should create an ErrorResponse class to hold the error info.
-			StringBuilder response = new StringBuilder("<response>");
-			response.append("<status>ERROR</status>");
-			response.append("<message>" + e.getMessage() + "</message>");
-			response.append("</response>");
-			return Response.serverError().entity(response.toString()).type(MediaType.APPLICATION_XML).build();
-		}
 	}
 
 }
diff --git a/securis/src/main/java/net/curisit/securis/SecurisErrorHandler.java b/securis/src/main/java/net/curisit/securis/SecurisErrorHandler.java
deleted file mode 100644
index baa1a0f..0000000
--- a/securis/src/main/java/net/curisit/securis/SecurisErrorHandler.java
+++ /dev/null
@@ -1,19 +0,0 @@
-package net.curisit.securis;
-
-import java.io.IOException;
-import java.io.Writer;
-
-import javax.servlet.http.HttpServletRequest;
-
-import org.eclipse.jetty.server.handler.ErrorHandler;
-
-public class SecurisErrorHandler extends ErrorHandler {
-
-	public static String HEADER_ERROR_MESSAGE = "X-SECURIS-ERROR";
-
-	@Override
-	protected void writeErrorPageHead(HttpServletRequest request, Writer writer, int code, String message) throws IOException {
-		// TODO Auto-generated method stub
-		super.writeErrorPageHead(request, writer, code, message);
-	}
-}
diff --git a/securis/src/main/java/net/curisit/securis/security/SecurityInterceptor.java b/securis/src/main/java/net/curisit/securis/security/SecurityInterceptor.java
index 768dde2..4f02169 100644
--- a/securis/src/main/java/net/curisit/securis/security/SecurityInterceptor.java
+++ b/securis/src/main/java/net/curisit/securis/security/SecurityInterceptor.java
@@ -30,14 +30,7 @@
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-//@Provider
-//@Priority(Priorities.AUTHENTICATION)
-//public class SecurityInterceptor implements javax.ws.rs.container.ContainerRequestFilter {
-
 @Provider
-// @ServerInterceptor
-// @Precedence("SECURITY")
-// public class SecurityInterceptor implements PreProcessInterceptor {
 // @PreMatching
 @Priority(Priorities.AUTHENTICATION)
 public class SecurityInterceptor implements javax.ws.rs.container.ContainerRequestFilter {
diff --git a/securis/src/main/java/net/curisit/securis/services/ApplicationResource.java b/securis/src/main/java/net/curisit/securis/services/ApplicationResource.java
index c324e7d..8b4f6fe 100644
--- a/securis/src/main/java/net/curisit/securis/services/ApplicationResource.java
+++ b/securis/src/main/java/net/curisit/securis/services/ApplicationResource.java
@@ -23,7 +23,7 @@
 import javax.ws.rs.core.Response.Status;
 
 import net.curisit.integrity.commons.Utils;
-import net.curisit.securis.SecurisErrorHandler;
+import net.curisit.securis.DefaultExceptionHandler;
 import net.curisit.securis.db.Application;
 import net.curisit.securis.utils.TokenHelper;
 
@@ -88,7 +88,8 @@
 		Application app = em.find(Application.class, Integer.parseInt(appid));
 		if (app == null) {
 			log.error("Application with id {} not found in DB", appid);
-			return Response.status(Status.NOT_FOUND).header(SecurisErrorHandler.HEADER_ERROR_MESSAGE, "Application not found with ID: " + appid).build();
+
+			return Response.status(Status.NOT_FOUND).header(DefaultExceptionHandler.ERROR_MESSAGE_HEADER, "Application not found with ID: " + appid).build();
 		}
 		return Response.ok(app).build();
 	}
@@ -121,7 +122,7 @@
 		Application currentapp = em.find(Application.class, Integer.parseInt(appid));
 		if (currentapp == null) {
 			log.error("Application with id {} not found in DB", appid);
-			return Response.status(Status.NOT_FOUND).header(SecurisErrorHandler.HEADER_ERROR_MESSAGE, "Application not found with ID: " + appid).build();
+			return Response.status(Status.NOT_FOUND).header(DefaultExceptionHandler.ERROR_MESSAGE_HEADER, "Application not found with ID: " + appid).build();
 		}
 		currentapp.setName(app.getName());
 		currentapp.setDescription(app.getDescription());
@@ -141,11 +142,11 @@
 		Application app = em.find(Application.class, Integer.parseInt(appid));
 		if (app == null) {
 			log.error("Application with id {} can not be deleted, It was not found in DB", appid);
-			return Response.status(Status.NOT_FOUND).header(SecurisErrorHandler.HEADER_ERROR_MESSAGE, "Application not found with ID: " + appid).build();
+			return Response.status(Status.NOT_FOUND).header(DefaultExceptionHandler.ERROR_MESSAGE_HEADER, "Application not found with ID: " + appid).build();
 		}
 
 		if (app.getLicenseTypes() != null && app.getLicenseTypes().size() > 0) {
-			return Response.status(Status.FORBIDDEN).header(SecurisErrorHandler.HEADER_ERROR_MESSAGE, "Application can not be deleted becasue has assigned one or more License types, ID: " + appid).build();
+			return Response.status(Status.FORBIDDEN).header(DefaultExceptionHandler.ERROR_MESSAGE_HEADER, "Application can not be deleted becasue has assigned one or more License types, ID: " + appid).build();
 		}
 
 		em.remove(app);
diff --git a/securis/src/main/java/net/curisit/securis/services/LicenseResource.java b/securis/src/main/java/net/curisit/securis/services/LicenseResource.java
index 0e25467..0722d55 100644
--- a/securis/src/main/java/net/curisit/securis/services/LicenseResource.java
+++ b/securis/src/main/java/net/curisit/securis/services/LicenseResource.java
@@ -24,7 +24,7 @@
 
 import net.curisit.integrity.commons.Utils;
 import net.curisit.integrity.exception.CurisException;
-import net.curisit.securis.SecurisErrorHandler;
+import net.curisit.securis.DefaultExceptionHandler;
 import net.curisit.securis.db.License;
 import net.curisit.securis.db.Pack;
 import net.curisit.securis.db.User;
@@ -111,7 +111,7 @@
 			pack = em.find(Pack.class, lic.getPackId());
 			if (pack == null) {
 				log.error("License pack with id {} not found in DB", lic.getPackId());
-				return Response.status(Status.NOT_FOUND).header(SecurisErrorHandler.HEADER_ERROR_MESSAGE, "License's pack not found with ID: " + lic.getPackId()).build();
+				return Response.status(Status.NOT_FOUND).header(DefaultExceptionHandler.ERROR_MESSAGE_HEADER, "License's pack not found with ID: " + lic.getPackId()).build();
 			}
 		}
 
@@ -121,7 +121,7 @@
 		} catch (CurisException ex) {
 			String createdByUsername = lic.getCreatedById();
 			log.error("License created by user with id {} not found in DB", createdByUsername);
-			return Response.status(Status.NOT_FOUND).header(SecurisErrorHandler.HEADER_ERROR_MESSAGE, "License's created by user not found with ID: " + createdByUsername).build();
+			return Response.status(Status.NOT_FOUND).header(DefaultExceptionHandler.ERROR_MESSAGE_HEADER, "License's created by user not found with ID: " + createdByUsername).build();
 		}
 
 		try {
@@ -130,7 +130,7 @@
 		} catch (CurisException ex) {
 			String canceledByUsername = lic.getCreatedById();
 			log.error("License canceled by user with id {} not found in DB", canceledByUsername);
-			return Response.status(Status.NOT_FOUND).header(SecurisErrorHandler.HEADER_ERROR_MESSAGE, "License's canceled by user not found with ID: " + canceledByUsername).build();
+			return Response.status(Status.NOT_FOUND).header(DefaultExceptionHandler.ERROR_MESSAGE_HEADER, "License's canceled by user not found with ID: " + canceledByUsername).build();
 		}
 
 		lic.setCreationTimestamp(new Date());
@@ -166,7 +166,7 @@
 			pack = em.find(Pack.class, lic.getPackId());
 			if (pack == null) {
 				log.error("License pack with id {} not found in DB", lic.getPackId());
-				return Response.status(Status.NOT_FOUND).header(SecurisErrorHandler.HEADER_ERROR_MESSAGE, "License's pack not found with ID: " + lic.getPackId()).build();
+				return Response.status(Status.NOT_FOUND).header(DefaultExceptionHandler.ERROR_MESSAGE_HEADER, "License's pack not found with ID: " + lic.getPackId()).build();
 			}
 		}
 		User createdBy = null;
@@ -175,7 +175,7 @@
 		} catch (CurisException ex) {
 			String createdByUsername = lic.getCreatedById();
 			log.error("License created by user with id {} not found in DB", createdByUsername);
-			return Response.status(Status.NOT_FOUND).header(SecurisErrorHandler.HEADER_ERROR_MESSAGE, "License's created by user not found with ID: " + createdByUsername).build();
+			return Response.status(Status.NOT_FOUND).header(DefaultExceptionHandler.ERROR_MESSAGE_HEADER, "License's created by user not found with ID: " + createdByUsername).build();
 		}
 
 		User canceledBy = null;
@@ -184,7 +184,7 @@
 		} catch (CurisException ex) {
 			String canceledByUsername = lic.getCreatedById();
 			log.error("License canceled by user with id {} not found in DB", canceledByUsername);
-			return Response.status(Status.NOT_FOUND).header(SecurisErrorHandler.HEADER_ERROR_MESSAGE, "License's canceled by user not found with ID: " + canceledByUsername).build();
+			return Response.status(Status.NOT_FOUND).header(DefaultExceptionHandler.ERROR_MESSAGE_HEADER, "License's canceled by user not found with ID: " + canceledByUsername).build();
 		}
 
 		lic.setCreatedBy(createdBy);
@@ -206,7 +206,7 @@
 		License org = em.find(License.class, Integer.parseInt(licId));
 		if (org == null) {
 			log.error("License with id {} can not be deleted, It was not found in DB", licId);
-			return Response.status(Status.NOT_FOUND).header(SecurisErrorHandler.HEADER_ERROR_MESSAGE, "License was not found, ID: " + licId).build();
+			return Response.status(Status.NOT_FOUND).header(DefaultExceptionHandler.ERROR_MESSAGE_HEADER, "License was not found, ID: " + licId).build();
 		}
 
 		em.remove(org);
diff --git a/securis/src/main/java/net/curisit/securis/services/LicenseTypeResource.java b/securis/src/main/java/net/curisit/securis/services/LicenseTypeResource.java
index 5179ff6..122515d 100644
--- a/securis/src/main/java/net/curisit/securis/services/LicenseTypeResource.java
+++ b/securis/src/main/java/net/curisit/securis/services/LicenseTypeResource.java
@@ -23,7 +23,7 @@
 import javax.ws.rs.core.Response.Status;
 
 import net.curisit.integrity.commons.Utils;
-import net.curisit.securis.SecurisErrorHandler;
+import net.curisit.securis.DefaultExceptionHandler;
 import net.curisit.securis.db.Application;
 import net.curisit.securis.db.LicenseType;
 import net.curisit.securis.utils.TokenHelper;
@@ -108,11 +108,11 @@
 			app = em.find(Application.class, lt.getApplicationId());
 			if (app == null) {
 				log.error("LicenseType application with id {} not found in DB", lt.getApplicationId());
-				return Response.status(Status.NOT_FOUND).header(SecurisErrorHandler.HEADER_ERROR_MESSAGE, "License type's app not found with ID: " + lt.getApplicationId()).build();
+				return Response.status(Status.NOT_FOUND).header(DefaultExceptionHandler.ERROR_MESSAGE_HEADER, "License type's app not found with ID: " + lt.getApplicationId()).build();
 			}
 		} else {
 			log.error("Application is missing for current license type data");
-			return Response.status(Status.NOT_FOUND).header(SecurisErrorHandler.HEADER_ERROR_MESSAGE, "Application is missing for current license type data").build();
+			return Response.status(Status.NOT_FOUND).header(DefaultExceptionHandler.ERROR_MESSAGE_HEADER, "Application is missing for current license type data").build();
 		}
 
 		lt.setApplication(app);
@@ -135,14 +135,14 @@
 		LicenseType currentlt = em.find(LicenseType.class, Integer.parseInt(ltid));
 		if (currentlt == null) {
 			log.error("LicenseType with id {} not found in DB", ltid);
-			return Response.status(Status.NOT_FOUND).header(SecurisErrorHandler.HEADER_ERROR_MESSAGE, "License type not found with ID: " + ltid).build();
+			return Response.status(Status.NOT_FOUND).header(DefaultExceptionHandler.ERROR_MESSAGE_HEADER, "License type not found with ID: " + ltid).build();
 		}
 		Application app = null;
 		if (lt.getApplicationId() != null) {
 			app = em.find(Application.class, lt.getApplicationId());
 			if (app == null) {
 				log.error("LicenseType application with id {} not found in DB", lt.getApplicationId());
-				return Response.status(Status.NOT_FOUND).header(SecurisErrorHandler.HEADER_ERROR_MESSAGE, "License type's app not found with ID: " + lt.getApplicationId()).build();
+				return Response.status(Status.NOT_FOUND).header(DefaultExceptionHandler.ERROR_MESSAGE_HEADER, "License type's app not found with ID: " + lt.getApplicationId()).build();
 			}
 		}
 		currentlt.setCode(lt.getCode());
diff --git a/securis/src/main/java/net/curisit/securis/services/OrganizationResource.java b/securis/src/main/java/net/curisit/securis/services/OrganizationResource.java
index e13bd7b..915895a 100644
--- a/securis/src/main/java/net/curisit/securis/services/OrganizationResource.java
+++ b/securis/src/main/java/net/curisit/securis/services/OrganizationResource.java
@@ -25,7 +25,7 @@
 import javax.ws.rs.core.Response.Status;
 
 import net.curisit.integrity.commons.Utils;
-import net.curisit.securis.SecurisErrorHandler;
+import net.curisit.securis.DefaultExceptionHandler;
 import net.curisit.securis.db.Organization;
 import net.curisit.securis.db.User;
 import net.curisit.securis.security.BasicSecurityContext;
@@ -146,7 +146,7 @@
 			parentOrg = em.find(Organization.class, org.getParentOrgId());
 			if (parentOrg == null) {
 				log.error("Organization parent with id {} not found in DB", org.getParentOrgId());
-				return Response.status(Status.NOT_FOUND).header(SecurisErrorHandler.HEADER_ERROR_MESSAGE, "Organization's parent not found with ID: " + org.getParentOrgId()).build();
+				return Response.status(Status.NOT_FOUND).header(DefaultExceptionHandler.ERROR_MESSAGE_HEADER, "Organization's parent not found with ID: " + org.getParentOrgId()).build();
 			}
 		}
 		List<User> users = null;
@@ -157,7 +157,7 @@
 				User user = em.find(User.class, username);
 				if (user == null) {
 					log.error("Organization user with id {} not found in DB", username);
-					return Response.status(Status.NOT_FOUND).header(SecurisErrorHandler.HEADER_ERROR_MESSAGE, "Organization's user not found with ID: " + username).build();
+					return Response.status(Status.NOT_FOUND).header(DefaultExceptionHandler.ERROR_MESSAGE_HEADER, "Organization's user not found with ID: " + username).build();
 				}
 				users.add(user);
 			}
@@ -186,18 +186,18 @@
 		Organization currentOrg = em.find(Organization.class, Integer.parseInt(orgid));
 		if (currentOrg == null) {
 			log.error("Organization with id {} not found in DB", orgid);
-			return Response.status(Status.NOT_FOUND).header(SecurisErrorHandler.HEADER_ERROR_MESSAGE, "Organization not found with ID: " + orgid).build();
+			return Response.status(Status.NOT_FOUND).header(DefaultExceptionHandler.ERROR_MESSAGE_HEADER, "Organization not found with ID: " + orgid).build();
 		}
 		Organization parentOrg = null;
 		if (org.getParentOrgId() != null) {
 			parentOrg = em.find(Organization.class, org.getParentOrgId());
 			if (parentOrg == null) {
 				log.error("Organization parent with id {} not found in DB", org.getParentOrgId());
-				return Response.status(Status.NOT_FOUND).header(SecurisErrorHandler.HEADER_ERROR_MESSAGE, "Organization's parent not found with ID: " + org.getParentOrgId()).build();
+				return Response.status(Status.NOT_FOUND).header(DefaultExceptionHandler.ERROR_MESSAGE_HEADER, "Organization's parent not found with ID: " + org.getParentOrgId()).build();
 			}
 			if (isCyclicalRelationship(currentOrg.getId(), parentOrg)) {
 				log.error("Organization parent generate a cyclical relationship, parent id {}, current id: {}", org.getParentOrgId(), currentOrg.getId());
-				return Response.status(Status.FORBIDDEN).header(SecurisErrorHandler.HEADER_ERROR_MESSAGE, "Cyclical relationships are not allowed, please change the parent organization, current Parent: " + parentOrg.getName()).build();
+				return Response.status(Status.FORBIDDEN).header(DefaultExceptionHandler.ERROR_MESSAGE_HEADER, "Cyclical relationships are not allowed, please change the parent organization, current Parent: " + parentOrg.getName()).build();
 			}
 		}
 
@@ -209,7 +209,7 @@
 				User user = em.find(User.class, username);
 				if (user == null) {
 					log.error("Organization user with id '{}' not found in DB", username);
-					return Response.status(Status.NOT_FOUND).header(SecurisErrorHandler.HEADER_ERROR_MESSAGE, "Organization's user not found with ID: " + username).build();
+					return Response.status(Status.NOT_FOUND).header(DefaultExceptionHandler.ERROR_MESSAGE_HEADER, "Organization's user not found with ID: " + username).build();
 				}
 				users.add(user);
 			}
@@ -238,11 +238,11 @@
 		Organization org = em.find(Organization.class, Integer.parseInt(orgid));
 		if (org == null) {
 			log.error("Organization with id {} can not be deleted, It was not found in DB", orgid);
-			return Response.status(Status.NOT_FOUND).header(SecurisErrorHandler.HEADER_ERROR_MESSAGE, "Organization was not found, ID: " + orgid).build();
+			return Response.status(Status.NOT_FOUND).header(DefaultExceptionHandler.ERROR_MESSAGE_HEADER, "Organization was not found, ID: " + orgid).build();
 		}
 		if (org.getChildOrganizations() != null && org.getChildOrganizations().size() > 0) {
 			log.error("Organization has children and can not be deleted, ID: " + orgid);
-			return Response.status(Status.FORBIDDEN).header(SecurisErrorHandler.HEADER_ERROR_MESSAGE, "Organization has children and can not be deleted, ID: " + orgid).build();
+			return Response.status(Status.FORBIDDEN).header(DefaultExceptionHandler.ERROR_MESSAGE_HEADER, "Organization has children and can not be deleted, ID: " + orgid).build();
 		}
 
 		em.remove(org);
diff --git a/securis/src/main/java/net/curisit/securis/services/PackResource.java b/securis/src/main/java/net/curisit/securis/services/PackResource.java
index 75ff497..313732f 100644
--- a/securis/src/main/java/net/curisit/securis/services/PackResource.java
+++ b/securis/src/main/java/net/curisit/securis/services/PackResource.java
@@ -24,7 +24,7 @@
 
 import net.curisit.integrity.commons.Utils;
 import net.curisit.integrity.exception.CurisException;
-import net.curisit.securis.SecurisErrorHandler;
+import net.curisit.securis.DefaultExceptionHandler;
 import net.curisit.securis.db.Pack;
 import net.curisit.securis.db.User;
 import net.curisit.securis.utils.TokenHelper;
@@ -150,7 +150,7 @@
 		Pack org = em.find(Pack.class, Integer.parseInt(packId));
 		if (org == null) {
 			log.error("Pack with id {} can not be deleted, It was not found in DB", packId);
-			return Response.status(Status.NOT_FOUND).header(SecurisErrorHandler.HEADER_ERROR_MESSAGE, "Pack was not found, ID: " + packId).build();
+			return Response.status(Status.NOT_FOUND).header(DefaultExceptionHandler.ERROR_MESSAGE_HEADER, "Pack was not found, ID: " + packId).build();
 		}
 
 		em.remove(org);
diff --git a/securis/src/main/java/net/curisit/securis/services/UserResource.java b/securis/src/main/java/net/curisit/securis/services/UserResource.java
index f6b4560..c7e8349 100644
--- a/securis/src/main/java/net/curisit/securis/services/UserResource.java
+++ b/securis/src/main/java/net/curisit/securis/services/UserResource.java
@@ -27,6 +27,7 @@
 import javax.ws.rs.core.Response.Status;
 
 import net.curisit.integrity.commons.Utils;
+import net.curisit.securis.DefaultExceptionHandler;
 import net.curisit.securis.db.Organization;
 import net.curisit.securis.db.User;
 import net.curisit.securis.utils.TokenHelper;
@@ -122,7 +123,7 @@
 				Organization o = em.find(Organization.class, orgId);
 				if (o == null) {
 					log.error("User organization with id {} not found in DB", orgId);
-					return Response.status(Status.NOT_FOUND).header("SECURIS_ERROR", "User's organization not found with ID: " + orgId).build();
+					return Response.status(Status.NOT_FOUND).header(DefaultExceptionHandler.ERROR_MESSAGE_HEADER, "User's organization not found with ID: " + orgId).build();
 				}
 				orgs.add(o);
 			}
@@ -161,7 +162,7 @@
 				Organization o = em.find(Organization.class, orgId);
 				if (o == null) {
 					log.error("User organization with id {} not found in DB", orgId);
-					return Response.status(Status.NOT_FOUND).header("SECURIS_ERROR", "User's user not found with ID: " + orgId).build();
+					return Response.status(Status.NOT_FOUND).header(DefaultExceptionHandler.ERROR_MESSAGE_HEADER, "User's user not found with ID: " + orgId).build();
 				}
 				orgs.add(o);
 			}

--
Gitblit v1.3.2