dirkv       01/08/31 15:04:16

  Modified:    src/webdav/server/org/apache/slide/webdav WebdavServlet.java
  Log:
  catch and log all exceptions, including *Facade errors
  whitespace cleanup
  
  Revision  Changes    Path
  1.25      +83 -83    
jakarta-slide/src/webdav/server/org/apache/slide/webdav/WebdavServlet.java
  
  Index: WebdavServlet.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-slide/src/webdav/server/org/apache/slide/webdav/WebdavServlet.java,v
  retrieving revision 1.24
  retrieving revision 1.25
  diff -u -r1.24 -r1.25
  --- WebdavServlet.java        2001/08/25 14:18:57     1.24
  +++ WebdavServlet.java        2001/08/31 22:04:16     1.25
  @@ -1,7 +1,7 @@
   /*
  - * $Header: 
/home/cvs/jakarta-slide/src/webdav/server/org/apache/slide/webdav/WebdavServlet.java,v 
1.24 2001/08/25 14:18:57 dirkv Exp $
  - * $Revision: 1.24 $
  - * $Date: 2001/08/25 14:18:57 $
  + * $Header: 
/home/cvs/jakarta-slide/src/webdav/server/org/apache/slide/webdav/WebdavServlet.java,v 
1.25 2001/08/31 22:04:16 dirkv Exp $
  + * $Revision: 1.25 $
  + * $Date: 2001/08/31 22:04:16 $
    *
    * ====================================================================
    *
  @@ -108,15 +108,15 @@
    *
    * @author <a href="mailto:[EMAIL PROTECTED]";>Remy Maucherat</a>
    * @author Dirk Verbeeck
  - * @version $Revision: 1.24 $
  + * @version $Revision: 1.25 $
    */
   public class WebdavServlet extends HttpServlet {
       
       
       // -------------------------------------------------------------- Constants
       
  +    private static final String LOG_CHANNEL = WebdavServlet.class.getName();
       
  -    
       /**
        * HTTP Date format pattern (RFC 2068, 822, 1123).
        */
  @@ -208,31 +208,32 @@
       
       protected void service (HttpServletRequest req, HttpServletResponse resp)
           throws ServletException, IOException {
  -        
  -        long startTime = System.currentTimeMillis();
  -        
  -        // if logging for the request/response is required initialise the
  -        // facades
  -        if (Domain.isEnabled
  -                ("org.apache.slide.webdav.WebdavServlet.requestResponseLogger",
  -                 Logger.DEBUG)) {
  -            if ( req != null )  req  = new XHttpServletRequestFacade(req);
  -            if ( resp != null ) resp = new XHttpServletResponseFacade(resp);
  -        }
           
  -        resp.setStatus(WebdavStatus.SC_OK);
  -        
  -        if (token == null) {
  -            String namespaceName = req.getContextPath();
  -            if ((namespaceName == null) || (namespaceName.equals("")))
  -                namespaceName = Domain.getDefaultNamespace();
  -            while (namespaceName.startsWith("/"))
  -                namespaceName = namespaceName.substring(1);
  -            token = Domain.accessNamespace
  -                (new SecurityToken(this), namespaceName);
  -        }
  -        
  -        try {
  +        try 
  +        {
  +            long startTime = System.currentTimeMillis();
  +            
  +            // if logging for the request/response is required initialise the
  +            // facades
  +            if (Domain.isEnabled
  +                    ("org.apache.slide.webdav.WebdavServlet.requestResponseLogger",
  +                     Logger.DEBUG)) {
  +                if ( req != null )  req  = new XHttpServletRequestFacade(req);
  +                if ( resp != null ) resp = new XHttpServletResponseFacade(resp);
  +            }
  +            
  +            resp.setStatus(WebdavStatus.SC_OK);
  +            
  +            if (token == null) {
  +                String namespaceName = req.getContextPath();
  +                if ((namespaceName == null) || (namespaceName.equals("")))
  +                    namespaceName = Domain.getDefaultNamespace();
  +                while (namespaceName.startsWith("/"))
  +                    namespaceName = namespaceName.substring(1);
  +                token = Domain.accessNamespace
  +                    (new SecurityToken(this), namespaceName);
  +            }
  +            
               String methodName = req.getMethod();
               WebdavServletConfig config = 
                   (WebdavServletConfig)getServletConfig();
  @@ -247,46 +248,45 @@
                   WebdavMethod method = createWebdavMethod(req, resp);
                   method.run();
               }
  -        } catch (WebdavException e) {
  +            
  +            
  +            //  if logging for the request/response is required perform the logging
  +            if (Domain.isEnabled
  +                    ("org.apache.slide.webdav.WebdavServlet.requestResponseLogger",
  +                     Logger.DEBUG)) {
  +                XMLTestCaseGenerator xmlGen = new XMLTestCaseGenerator
  +                    ((XHttpServletRequestFacade)req,
  +                         (XHttpServletResponseFacade)resp);
  +                xmlGen.setThreadName(Thread.currentThread().getName());
  +                Domain.log
  +                    (xmlGen.toString(),
  +                     "org.apache.slide.webdav.WebdavServlet.requestResponseLogger",
  +                     Logger.DEBUG);
  +            }
  +            
  +            Domain.info
  +                (req.getMethod()
  +                     + ( (resp instanceof XHttpServletResponseFacade)
  +                            ? (" = " + ((XHttpServletResponseFacade)resp)
  +                                .getStatus()
  +                                   + " " + (WebdavStatus.getStatusText
  +                                                (((XHttpServletResponseFacade)resp)
  +                                                    .getStatus())))
  +                            : ("") )
  +                     + " (time: " + (System.currentTimeMillis() - startTime)
  +                     + " ms)"
  +                     + " URI = " + WebdavUtils.getRelativePath(
  +                         req, (WebdavServletConfig)getServletConfig()));
  +        }
  +        catch (WebdavException e) {
               // There has been an error somewhere ...
               resp.sendError(e.getStatusCode());
  -            System.out.println(e.getMessage());
  -            e.printStackTrace();
  +            Domain.log(e,LOG_CHANNEL, Logger.ERROR);
           } catch (Throwable e) {
               // If something goes really wrong ...
               resp.sendError(WebdavStatus.SC_INTERNAL_SERVER_ERROR);
  -            e.printStackTrace();
  -        }
  -        
  -        
  -        //  if logging for the request/response is required perform the logging
  -        if (Domain.isEnabled
  -                ("org.apache.slide.webdav.WebdavServlet.requestResponseLogger",
  -                 Logger.DEBUG)) {
  -            XMLTestCaseGenerator xmlGen = new XMLTestCaseGenerator
  -                ((XHttpServletRequestFacade)req,
  -                     (XHttpServletResponseFacade)resp);
  -            xmlGen.setThreadName(Thread.currentThread().getName());
  -            Domain.log
  -                (xmlGen.toString(),
  -                 "org.apache.slide.webdav.WebdavServlet.requestResponseLogger",
  -                 Logger.DEBUG);
  +            Domain.log(e,LOG_CHANNEL, Logger.ERROR);
           }
  -        
  -        Domain.info
  -            (req.getMethod()
  -                 + ( (resp instanceof XHttpServletResponseFacade)
  -                        ? (" = " + ((XHttpServletResponseFacade)resp)
  -                            .getStatus()
  -                               + " " + (WebdavStatus.getStatusText
  -                                            (((XHttpServletResponseFacade)resp)
  -                                                .getStatus())))
  -                        : ("") )
  -                 + " (time: " + (System.currentTimeMillis() - startTime)
  -                 + " ms)"
  -                 + " URI = " + WebdavUtils.getRelativePath(
  -                     req, (WebdavServletConfig)getServletConfig()));
  -        
       }
       
       
  @@ -310,25 +310,25 @@
       public void init()
           throws ServletException {
   
  -             if (!DOMUtils.isDocumentBuilderDOM2Compliant()) {
  -                     
System.out.println("======================================================");
  -                     System.out.println("!!! Unable to start Slide Servlet !!!");
  -                     
System.out.println("------------------------------------------------------");
  -                     System.out.println("You are using using an incorrect older XML 
parser");
  -                     System.out.println("that doesn't provide 
Element::getElementsByTagNameNS");
  -                     System.out.println("consult the documentation for a list of 
valid XML parsers.");
  -                     
System.out.println("======================================================");
  +        if (!DOMUtils.isDocumentBuilderDOM2Compliant()) {
  +            
System.out.println("======================================================");
  +            System.out.println("!!! Unable to start Slide Servlet !!!");
  +            
System.out.println("------------------------------------------------------");
  +            System.out.println("You are using using an incorrect older XML parser");
  +            System.out.println("that doesn't provide 
Element::getElementsByTagNameNS");
  +            System.out.println("consult the documentation for a list of valid XML 
parsers.");
  +            
System.out.println("======================================================");
   
  -                     log("======================================================");
  -                     log("!!! Unable to start Slide Servlet !!!");
  -                     log("------------------------------------------------------");
  -                     log("======================================================");
  -                     log("You are using using an incorrect older XML parser");
  -                     log("that doesn't provide Element::getElementsByTagNameNS");
  -                     log("consult the documentation for a list of valid XML 
parsers.");
  -                     log("======================================================");
  -                     throw new ServletException("Invalid XML parser");              
 
  -             }
  +            log("======================================================");
  +            log("!!! Unable to start Slide Servlet !!!");
  +            log("------------------------------------------------------");
  +            log("======================================================");
  +            log("You are using using an incorrect older XML parser");
  +            log("that doesn't provide Element::getElementsByTagNameNS");
  +            log("consult the documentation for a list of valid XML parsers.");
  +            log("======================================================");
  +            throw new ServletException("Invalid XML parser");        
  +        }
           
           String namespaceName = null;
           String domainConfigFile = null;
  @@ -383,10 +383,10 @@
               
           } catch (DomainInitializationFailedError e) {
               log("Could not initialize domain", e);
  -            throw new UnavailableException(e.getMessage());
  +            throw new UnavailableException(e.toString());
           } catch (Throwable t) {
               t.printStackTrace();
  -            throw new ServletException(t.getMessage());
  +            throw new ServletException(t.toString());
           }
        }
       
  
  
  

Reply via email to