remm        01/10/10 22:52:15

  Modified:    src/webdav/server/org/apache/slide/webdav WebdavServlet.java
               src/webdav/server/org/apache/slide/webdav/method
                        WebdavMethod.java
  Log:
  - Few actual changes.
  - Code cleanup.
  - Log to the token instead of the Domain.
  - Fix lifecycle problems when used in the standalone server, where the servlet
    would attempt to shutdown the domain. Now, it won't attempt to if it didn't
    initialize it.
  
  Revision  Changes    Path
  1.29      +63 -50    
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.28
  retrieving revision 1.29
  diff -u -r1.28 -r1.29
  --- WebdavServlet.java        2001/09/13 08:14:07     1.28
  +++ WebdavServlet.java        2001/10/11 05:52:15     1.29
  @@ -1,7 +1,7 @@
   /*
  - * $Header: 
/home/cvs/jakarta-slide/src/webdav/server/org/apache/slide/webdav/WebdavServlet.java,v 
1.28 2001/09/13 08:14:07 juergen Exp $
  - * $Revision: 1.28 $
  - * $Date: 2001/09/13 08:14:07 $
  + * $Header: 
/home/cvs/jakarta-slide/src/webdav/server/org/apache/slide/webdav/WebdavServlet.java,v 
1.29 2001/10/11 05:52:15 remm Exp $
  + * $Revision: 1.29 $
  + * $Date: 2001/10/11 05:52:15 $
    *
    * ====================================================================
    *
  @@ -109,7 +109,7 @@
    *
    * @author <a href="mailto:[EMAIL PROTECTED]";>Remy Maucherat</a>
    * @author Dirk Verbeeck
  - * @version $Revision: 1.28 $
  + * @version $Revision: 1.29 $
    */
   public class WebdavServlet extends HttpServlet {
       
  @@ -151,6 +151,12 @@
       protected boolean directoryBrowsing = true;
       
       
  +    /**
  +     * Set to true if the servlet is handling the lifecycle of the domain.
  +     */
  +    protected boolean handleLifecycle = true;
  +    
  +    
       // ------------------------------------------------------ Protected Methods
       
       
  @@ -219,19 +225,6 @@
           {
               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);
  -            } else {
  -                if ( resp != null ) resp = new 
XHttpServletResponseSimpleFacade(resp);
  -            }
  -            
  -            resp.setStatus(WebdavStatus.SC_OK);
  -            
               if (token == null) {
                   String namespaceName = req.getContextPath();
                   if ((namespaceName == null) || (namespaceName.equals("")))
  @@ -242,6 +235,22 @@
                       (new SecurityToken(this), namespaceName);
               }
               
  +            // if logging for the request/response is required initialise the
  +            // facades
  +            if (token.getLogger().isEnabled
  +                ("org.apache.slide.webdav.WebdavServlet.requestResponseLogger",
  +                 Logger.DEBUG)) {
  +                if (req != null)  
  +                    req = new XHttpServletRequestFacade(req);
  +                if (resp != null) 
  +                    resp = new XHttpServletResponseFacade(resp);
  +            } else {
  +                if (resp != null) 
  +                    resp = new XHttpServletResponseSimpleFacade(resp);
  +            }
  +            
  +            resp.setStatus(WebdavStatus.SC_OK);
  +            
               String methodName = req.getMethod();
               WebdavServletConfig config =
                   (WebdavServletConfig)getServletConfig();
  @@ -257,51 +266,51 @@
                   method.run();
               }
               
  -            
  -            //  if logging for the request/response is required perform the logging
  -            if (Domain.isEnabled
  -                    ("org.apache.slide.webdav.WebdavServlet.requestResponseLogger",
  -                     Logger.DEBUG)) {
  +            // if logging for the request/response is required 
  +            // perform the logging
  +            if (token.getLogger().isEnabled
  +                ("org.apache.slide.webdav.WebdavServlet.requestResponseLogger",
  +                 Logger.DEBUG)) {
                   XMLTestCaseGenerator xmlGen = new XMLTestCaseGenerator
                       ((XHttpServletRequestFacade)req,
  -                         (XHttpServletResponseFacade)resp);
  +                     (XHttpServletResponseFacade)resp);
                   xmlGen.setThreadName(Thread.currentThread().getName());
  -                Domain.log
  +                token.getLogger().log
                       (xmlGen.toString(),
                        "org.apache.slide.webdav.WebdavServlet.requestResponseLogger",
                        Logger.DEBUG);
               }
               
  -            Domain.info
  +            token.getLogger().log
                   (req.getMethod()
  -                     + ( (resp instanceof XHttpServletResponseFacade)
  -                            ? (" = " + ((XHttpServletResponseFacade)resp)
  -                                .getStatus()
  -                                   + " " + (WebdavStatus.getStatusText
  -                                                (((XHttpServletResponseFacade)resp)
  -                                                    .getStatus())))
  -                            : (" = " + ((XHttpServletResponseSimpleFacade)resp)
  -                                .getStatus()
  -                                   + " " + (WebdavStatus.getStatusText
  -                                                
(((XHttpServletResponseSimpleFacade)resp)
  -                                                    .getStatus()))) )
  -                     + " (time: " + (System.currentTimeMillis() - startTime)
  -                     + " ms)"
  -                     + " URI = " + WebdavUtils.getRelativePath(
  -                         req, (WebdavServletConfig)getServletConfig()));
  +                 + ( (resp instanceof XHttpServletResponseFacade)
  +                     ? (" = " + ((XHttpServletResponseFacade)resp)
  +                        .getStatus()
  +                        + " " + (WebdavStatus.getStatusText
  +                                 (((XHttpServletResponseFacade)resp)
  +                                  .getStatus())))
  +                     : (" = " + ((XHttpServletResponseSimpleFacade)resp)
  +                        .getStatus()
  +                        + " " + (WebdavStatus.getStatusText
  +                                 (((XHttpServletResponseSimpleFacade)resp)
  +                                  .getStatus()))) )
  +                 + " (time: " + (System.currentTimeMillis() - startTime)
  +                 + " ms)"
  +                 + " URI = " 
  +                 + WebdavUtils.getRelativePath
  +                 (req, (WebdavServletConfig)getServletConfig()), 
  +                 LOG_CHANNEL, Logger.INFO);
               
  -//            Domain.info("ResponseCode:" + 
((XHttpServletResponseSimpleFacade)resp).getStatus() +
  -//                       ": " + 
((XHttpServletResponseSimpleFacade)resp).getMessage());
  -        }
  -        catch (WebdavException e) {
  +        } catch (WebdavException e) {
               // There has been an error somewhere ...
               resp.sendError(e.getStatusCode());
  -            Domain.log(e,LOG_CHANNEL, Logger.ERROR);
  +            token.getLogger().log(e,LOG_CHANNEL, Logger.ERROR);
           } catch (Throwable e) {
               // If something goes really wrong ...
               resp.sendError(WebdavStatus.SC_INTERNAL_SERVER_ERROR);
  -            Domain.log(e,LOG_CHANNEL, Logger.ERROR);
  +            token.getLogger().log(e,LOG_CHANNEL, Logger.ERROR);
           }
  +
       }
       
       
  @@ -309,13 +318,13 @@
        * Implemented to wrap the ServletConfig object inside a
        * WebdavServletConfig
        */
  -    public void init(
  -        ServletConfig config)
  +    public void init(ServletConfig config)
           throws ServletException {
           
           super.init(new WebdavServletConfig(config));
           
           // all the actual initialization is inside init()
  +
       }
       
       
  @@ -351,8 +360,10 @@
           // Lookup for the NAT using the servlet context
           token = (NamespaceAccessToken)
               getServletContext().getAttribute(ATTRIBUTE_NAME);
  -        if (token != null)
  +        if (token != null) {
  +            handleLifecycle = false;
               return;
  +        }
           
           // Dafault initialization
           
  @@ -414,6 +425,7 @@
               t.printStackTrace();
               throw new ServletException(t.toString());
           }
  +
        }
       
       
  @@ -421,7 +433,8 @@
        * Destroy servlet.
        */
       public void destroy() {
  -        Domain.closeNamespace(token);
  +        if (handleLifecycle)
  +            Domain.closeNamespace(token);
       }
       
       
  
  
  
  1.37      +6 -6      
jakarta-slide/src/webdav/server/org/apache/slide/webdav/method/WebdavMethod.java
  
  Index: WebdavMethod.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-slide/src/webdav/server/org/apache/slide/webdav/method/WebdavMethod.java,v
  retrieving revision 1.36
  retrieving revision 1.37
  diff -u -r1.36 -r1.37
  --- WebdavMethod.java 2001/09/04 12:04:25     1.36
  +++ WebdavMethod.java 2001/10/11 05:52:15     1.37
  @@ -1,7 +1,7 @@
   /*
  - * $Header: 
/home/cvs/jakarta-slide/src/webdav/server/org/apache/slide/webdav/method/WebdavMethod.java,v
 1.36 2001/09/04 12:04:25 juergen Exp $
  - * $Revision: 1.36 $
  - * $Date: 2001/09/04 12:04:25 $
  + * $Header: 
/home/cvs/jakarta-slide/src/webdav/server/org/apache/slide/webdav/method/WebdavMethod.java,v
 1.37 2001/10/11 05:52:15 remm Exp $
  + * $Revision: 1.37 $
  + * $Date: 2001/10/11 05:52:15 $
    *
    * ====================================================================
    *
  @@ -318,7 +318,7 @@
               // Ignore the WebDav Exception and assume that the response code
               // is already set.
           } catch (Exception ex) {
  -            Domain.log(ex,LOG_CHANNEL,Logger.ERROR);
  +            token.getLogger().log(ex,LOG_CHANNEL,Logger.ERROR);
               resp.setStatus(WebdavStatus.SC_INTERNAL_SERVER_ERROR);
               throw new WebdavException(WebdavStatus.SC_INTERNAL_SERVER_ERROR);
           } finally {
  @@ -369,7 +369,7 @@
                                        getEncodingString(req.getCharacterEncoding()));
           }
           catch (Exception e) {
  -            Domain.log(e,LOG_CHANNEL,Logger.ERROR);
  +            token.getLogger().log(e,LOG_CHANNEL,Logger.ERROR);
           }
       }
   
  @@ -436,7 +436,7 @@
               result = lockTokenValue.substring(semi + 1,
                                                 lockTokenValue.length() - 1);
           } catch (Exception e) {
  -            Domain.log(e,LOG_CHANNEL,Logger.ERROR);
  +            token.getLogger().log(e,LOG_CHANNEL,Logger.ERROR);
           }
           return result;
       }
  
  
  


Reply via email to