You are viewing a plain text version of this content. The canonical link for it is here.
Posted to slide-dev@jakarta.apache.org by re...@apache.org on 2001/06/13 19:44:32 UTC

cvs commit: jakarta-slide/src/wrappers/catalina SlideHost.java WebdavHost.java

remm        01/06/13 10:44:32

  Modified:    src/wrappers/catalina SlideHost.java WebdavHost.java
  Log:
  - Add the new default attribute in the default configuration. It is used to specify
    a default namespace in the domain.
  
  Revision  Changes    Path
  1.2       +13 -4     jakarta-slide/src/wrappers/catalina/SlideHost.java
  
  Index: SlideHost.java
  ===================================================================
  RCS file: /home/cvs/jakarta-slide/src/wrappers/catalina/SlideHost.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- SlideHost.java	2001/06/13 04:39:41	1.1
  +++ SlideHost.java	2001/06/13 17:44:30	1.2
  @@ -1,7 +1,7 @@
   /*
  - * $Header: /home/cvs/jakarta-slide/src/wrappers/catalina/SlideHost.java,v 1.1 2001/06/13 04:39:41 remm Exp $
  - * $Revision: 1.1 $
  - * $Date: 2001/06/13 04:39:41 $
  + * $Header: /home/cvs/jakarta-slide/src/wrappers/catalina/SlideHost.java,v 1.2 2001/06/13 17:44:30 remm Exp $
  + * $Revision: 1.2 $
  + * $Date: 2001/06/13 17:44:30 $
    *
    * ====================================================================
    *
  @@ -103,7 +103,7 @@
    * Slide implementation of Host.
    *
    * @author Remy Maucherat
  - * @version $Revision: 1.1 $ $Date: 2001/06/13 04:39:41 $
  + * @version $Revision: 1.2 $ $Date: 2001/06/13 17:44:30 $
    */
   
   public class SlideHost
  @@ -150,11 +150,17 @@
               e.printStackTrace();
           }
           
  +        String defaultNamespace = Domain.getDefaultNamespace();
  +        
           Enumeration namespaceNames = Domain.enumerateNamespaces();
           while (namespaceNames.hasMoreElements()) {
               String name = (String) namespaceNames.nextElement();
               try {
                   install("/" + name, new URL("http", "slide", name));
  +                if (name.equals(defaultNamespace)) {
  +                    // Also install the deafult namespace as the root context
  +                    install("", new URL("http", "slide", name));
  +                }
               } catch (IOException e) {
                   // Can't happen
                   e.printStackTrace();
  @@ -205,6 +211,9 @@
               String namespaceName = contextPath;
               while (namespaceName.startsWith("/")) {
                   namespaceName = namespaceName.substring(1);
  +            }
  +            if (namespaceName.equals("")) {
  +                namespaceName = Domain.getDefaultNamespace();
               }
               slideRealm.setNamespace(namespaceName);
               context.setRealm(slideRealm);
  
  
  
  1.2       +32 -6     jakarta-slide/src/wrappers/catalina/WebdavHost.java
  
  Index: WebdavHost.java
  ===================================================================
  RCS file: /home/cvs/jakarta-slide/src/wrappers/catalina/WebdavHost.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- WebdavHost.java	2001/06/13 04:39:42	1.1
  +++ WebdavHost.java	2001/06/13 17:44:31	1.2
  @@ -1,7 +1,7 @@
   /*
  - * $Header: /home/cvs/jakarta-slide/src/wrappers/catalina/WebdavHost.java,v 1.1 2001/06/13 04:39:42 remm Exp $
  - * $Revision: 1.1 $
  - * $Date: 2001/06/13 04:39:42 $
  + * $Header: /home/cvs/jakarta-slide/src/wrappers/catalina/WebdavHost.java,v 1.2 2001/06/13 17:44:31 remm Exp $
  + * $Revision: 1.2 $
  + * $Date: 2001/06/13 17:44:31 $
    *
    * ====================================================================
    *
  @@ -101,7 +101,7 @@
    * Slide Webdav implementation of Host.
    *
    * @author Remy Maucherat
  - * @version $Revision: 1.1 $ $Date: 2001/06/13 04:39:42 $
  + * @version $Revision: 1.2 $ $Date: 2001/06/13 17:44:31 $
    */
   
   public class WebdavHost
  @@ -148,14 +148,18 @@
               e.printStackTrace();
           }
           
  +        String defaultNamespace = Domain.getDefaultNamespace();
  +        
           Enumeration namespaceNames = Domain.enumerateNamespaces();
           while (namespaceNames.hasMoreElements()) {
               String name = (String) namespaceNames.nextElement();
               try {
                   File webdavWar = new File("webdav/webdav.war");
  -                System.out.println("Install: " + webdavWar.toURL() + " on "
  -                                   + "/" + name);
                   install("/" + name, webdavWar.toURL());
  +                if (name.equals(defaultNamespace)) {
  +                    // Also install the deafult namespace as the root context
  +                    install("", webdavWar.toURL());
  +                }
               } catch (IOException e) {
                   // Can't happen
                   e.printStackTrace();
  @@ -164,6 +168,25 @@
           
           super.start();
           
  +        // Removing the mappings added by the default config in all the child
  +        // contexts
  +        Container[] contexts = findChildren();
  +        for (int i = 0; i < contexts.length; i++) {
  +            try {
  +                Context currentContext = (Context) contexts[i];
  +                String[] servletMappings = 
  +                    currentContext.findServletMappings();
  +                for (int j = 0; j < servletMappings.length; j++) {
  +                    String currentMapping = servletMappings[j];
  +                    if (!currentMapping.equals("/*")) {
  +                        currentContext.removeServletMapping(currentMapping);
  +                    }
  +                }
  +            } catch (ClassCastException e) {
  +                // Silent catch; should never happen
  +            }
  +        }
  +        
       }
   
   
  @@ -236,6 +259,9 @@
               String namespaceName = contextPath;
               while (namespaceName.startsWith("/")) {
                   namespaceName = namespaceName.substring(1);
  +            }
  +            if (namespaceName.equals("")) {
  +                namespaceName = Domain.getDefaultNamespace();
               }
               slideRealm.setNamespace(namespaceName);
               context.setRealm(slideRealm);