make observer list modifiable #3825 (task1)
[cdmlib.git] / cdmlib-remote / src / main / java / eu / etaxonomy / cdm / remote / exception / CdmExceptionResolver.java
index babf64e4ed69078a552b88ad9ae9f949dfcd790b..8f45c0f30de6fae1e1609f1fc5f9368067edc92e 100644 (file)
@@ -1,3 +1,4 @@
+// $Id$
 /**
 * Copyright (C) 2007 EDIT
 * European Distributed Institute of Taxonomy 
@@ -8,24 +9,53 @@
 */
 package eu.etaxonomy.cdm.remote.exception;
 
+import java.io.IOException;
+
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 
+import org.apache.log4j.Logger;
 import org.springframework.web.servlet.ModelAndView;
 import org.springframework.web.servlet.handler.SimpleMappingExceptionResolver;
 
 import com.ibm.lsid.LSIDException;
 
+import eu.etaxonomy.cdm.remote.controller.BaseController;
+
 public class CdmExceptionResolver extends SimpleMappingExceptionResolver {
+       
+       public static final Logger logger = Logger.getLogger(CdmExceptionResolver.class);
+       
+       
+       
        public static String LSID_ERROR_CODE_HEADER = "LSID-Error-Code";
 
        @Override  
        protected ModelAndView doResolveException(HttpServletRequest request,  HttpServletResponse response, Object handler, Exception exception) {
+                       
+               ModelAndView mv = new ModelAndView("error");
+               
+//                     if(exception instanceof IllegalArgumentException){
+//                             try {
+//                                     if(exception.getMessage().equals(BaseController.MSG_INVALID_UUID)){
+//                                             response.sendError(HttpServletResponse.SC_BAD_REQUEST, exception.getMessage());
+//                                     } else if(exception.getMessage().equals(BaseController.MSG_UUID_MISSING)){
+//                                             response.sendError(HttpServletResponse.SC_BAD_REQUEST, exception.getMessage());
+//                                     } else if(exception.getMessage().equals(BaseController.MSG_UUID_NOT_FOUND)){
+//                                             response.sendError(HttpServletResponse.SC_NOT_FOUND, exception.getMessage());
+//                                     }
+//                             } catch (IOException e) {
+//                                     logger.error(e.getMessage(), e);
+//                             }
+//                     }
+               
                if(exception instanceof LSIDException) {
                        LSIDException lsidException = (LSIDException) exception;
                        response.setStatus(HttpServletResponse.SC_INTERNAL_SERVER_ERROR);
                        response.addHeader(CdmExceptionResolver.LSID_ERROR_CODE_HEADER,Integer.toString(lsidException.getErrorCode()));
+                       //return mv;
                }
-               return super.doResolveException(request, response, handler, exception);  
+               
+               return super.doResolveException(request, response, handler, exception); 
        }
 }