You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@cocoon.apache.org by bl...@locus.apache.org on 2000/11/15 17:49:40 UTC

cvs commit: xml-cocoon/src/org/apache/cocoon/matching RegexpURIMatcherFactory.java WildcardURIMatcherFactory.java

bloritsch    00/11/15 08:49:40

  Modified:    src/org/apache/cocoon/matching Tag: xml-cocoon2
                        RegexpURIMatcherFactory.java
                        WildcardURIMatcherFactory.java
  Log:
  Made changes so that Cocoon works with WebSphere!!!!!!!!!!!
  
  Revision  Changes    Path
  No                   revision
  
  
  No                   revision
  
  
  1.1.2.14  +19 -17    xml-cocoon/src/org/apache/cocoon/matching/Attic/RegexpURIMatcherFactory.java
  
  Index: RegexpURIMatcherFactory.java
  ===================================================================
  RCS file: /home/cvs/xml-cocoon/src/org/apache/cocoon/matching/Attic/RegexpURIMatcherFactory.java,v
  retrieving revision 1.1.2.13
  retrieving revision 1.1.2.14
  diff -u -r1.1.2.13 -r1.1.2.14
  --- RegexpURIMatcherFactory.java	2000/10/30 23:02:44	1.1.2.13
  +++ RegexpURIMatcherFactory.java	2000/11/15 16:49:39	1.1.2.14
  @@ -1,11 +1,11 @@
  -/***************************************************************************** 
  - * Copyright (C) The Apache Software Foundation. All rights reserved.        * 
  - * ------------------------------------------------------------------------- * 
  - * This software is published under the terms of the Apache Software License * 
  - * version 1.1, a copy of which has been included  with this distribution in * 
  - * the LICENSE file.                                                         * 
  - *****************************************************************************/ 
  -package org.apache.cocoon.matching; 
  +/*****************************************************************************
  + * Copyright (C) The Apache Software Foundation. All rights reserved.        *
  + * ------------------------------------------------------------------------- *
  + * This software is published under the terms of the Apache Software License *
  + * version 1.1, a copy of which has been included  with this distribution in *
  + * the LICENSE file.                                                         *
  + *****************************************************************************/
  +package org.apache.cocoon.matching;
   
   import org.apache.regexp.RECompiler;
   import org.apache.regexp.REProgram;
  @@ -14,15 +14,15 @@
   import org.apache.avalon.ConfigurationException;
   
   import org.w3c.dom.traversal.NodeIterator;
  - 
  -/** 
  +
  +/**
    * This class generates source code which represents a specific pattern matcher
    * for request URIs
  - * 
  - * @author <a href="mailto:Giacomo.Pati@pwr.ch">Giacomo Pati</a> 
  + *
  + * @author <a href="mailto:Giacomo.Pati@pwr.ch">Giacomo Pati</a>
    * @author <a href="mailto:bloritsch@apache.org">Berin Loritsch</a>
  - * @version CVS $Revision: 1.1.2.13 $ $Date: 2000/10/30 23:02:44 $ 
  - */ 
  + * @version CVS $Revision: 1.1.2.14 $ $Date: 2000/11/15 16:49:39 $
  + */
   
   public class RegexpURIMatcherFactory implements MatcherFactory {
       public String generateParameterSource (NodeIterator conf)
  @@ -30,7 +30,7 @@
           return "RE";
       }
   
  -    public String generateClassSource (String prefix, String pattern, 
  +    public String generateClassSource (String prefix, String pattern,
                                          NodeIterator conf)
       throws ConfigurationException {
           StringBuffer sb = new StringBuffer ();
  @@ -57,7 +57,7 @@
                   sb.append("0x").append(hex).append(", ");
               }
               sb.append("\n    };")
  -              .append("\n    static RE ") 
  +              .append("\n    static RE ")
                 .append(name)
                 .append("_expr = new RE(new REProgram(")
                 .append(instructions)
  @@ -72,7 +72,9 @@
       throws ConfigurationException {
           StringBuffer sb = new StringBuffer ();
           sb.append("ArrayList list = new ArrayList ();")
  -          .append("if(pattern.match(((HttpServletRequest)objectModel.get(Cocoon.REQUEST_OBJECT)).getRequestURI())) {");
  +          .append("String uri = ((HttpServletRequest)objectModel.get(Cocoon.REQUEST_OBJECT)).getRequestURI();")
  +          .append("if(uri.startsWith(\"/\")) uri = uri.substring(1);")
  +          .append("if(pattern.match(uri)) {");
           // Count number of parens
   /*        int i = 0;
           int j = -1;
  
  
  
  1.1.2.20  +28 -22    xml-cocoon/src/org/apache/cocoon/matching/Attic/WildcardURIMatcherFactory.java
  
  Index: WildcardURIMatcherFactory.java
  ===================================================================
  RCS file: /home/cvs/xml-cocoon/src/org/apache/cocoon/matching/Attic/WildcardURIMatcherFactory.java,v
  retrieving revision 1.1.2.19
  retrieving revision 1.1.2.20
  diff -u -r1.1.2.19 -r1.1.2.20
  --- WildcardURIMatcherFactory.java	2000/11/05 10:11:07	1.1.2.19
  +++ WildcardURIMatcherFactory.java	2000/11/15 16:49:39	1.1.2.20
  @@ -1,26 +1,26 @@
  -/***************************************************************************** 
  - * Copyright (C) The Apache Software Foundation. All rights reserved.        * 
  - * ------------------------------------------------------------------------- * 
  - * This software is published under the terms of the Apache Software License * 
  - * version 1.1, a copy of which has been included  with this distribution in * 
  - * the LICENSE file.                                                         * 
  +/*****************************************************************************
  + * Copyright (C) The Apache Software Foundation. All rights reserved.        *
  + * ------------------------------------------------------------------------- *
  + * This software is published under the terms of the Apache Software License *
  + * version 1.1, a copy of which has been included  with this distribution in *
  + * the LICENSE file.                                                         *
    *****************************************************************************/
  - 
  -package org.apache.cocoon.matching; 
   
  +package org.apache.cocoon.matching;
  +
   import org.apache.avalon.ConfigurationException;
   
   import org.w3c.dom.traversal.NodeIterator;
  - 
  -/** 
  +
  +/**
    * This class generates source code which represents a specific pattern matcher
    * for request URIs
  - * 
  - * @author <a href="mailto:Giacomo.Pati@pwr.ch">Giacomo Pati</a> 
  + *
  + * @author <a href="mailto:Giacomo.Pati@pwr.ch">Giacomo Pati</a>
    * @author <a href="mailto:stefano@apache.org">Stefano Mazzocchi</a>
    * @author <a href="mailto:bloritsch@apache.org">Berin Loritsch</a>
  - * @version CVS $Revision: 1.1.2.19 $ $Date: 2000/11/05 10:11:07 $ 
  - */ 
  + * @version CVS $Revision: 1.1.2.20 $ $Date: 2000/11/15 16:49:39 $
  + */
   
   public class WildcardURIMatcherFactory implements MatcherFactory {
   
  @@ -51,19 +51,25 @@
        */
       public String generateMethodSource (NodeIterator conf)
       throws ConfigurationException {
  -        return "          ArrayList list = new ArrayList();\n   if (org.apache.cocoon.matching.helpers.WildcardURIMatcher.match (list, ((HttpServletRequest) objectModel.get(Cocoon.REQUEST_OBJECT))\n					.getRequestURI(), pattern)) {\n	      return list;\n	  } else {\n	      return null;\n	  }\n";
  +        return "ArrayList list = new ArrayList();" +
  +               "String uri = ((HttpServletRequest) objectModel.get(Cocoon.REQUEST_OBJECT)).getRequestURI();" +
  +               "if (uri.startsWith(\"/\")) uri = uri.substring(1);" +
  +               "if (org.apache.cocoon.matching.helpers.WildcardURIMatcher.match (list, uri, pattern)) {" +
  +               "return list;" +
  +               "} else {" +
  +               "return null;}";
       }
   
       /**
        * Generates the matcher class level source code
        */
  -    public String generateClassSource (String prefix, String pattern, 
  +    public String generateClassSource (String prefix, String pattern,
                                          NodeIterator conf)
       throws ConfigurationException {
           StringBuffer result = new StringBuffer();
           try {
               this.setPattern (pattern);
  -   
  +
               result.append ("\n// wildcard pattern = \"" + pattern + "\"\n\t")
                     .append ("static int[] ").append(prefix).append("_expr = {");
   
  @@ -124,18 +130,18 @@
        */
       protected int[] convertPattern(String data)
       throws NullPointerException {
  -        
  +
           // Prepare the arrays
           int expr[] = new int[data.length() + 2];
           char buff[] = data.toCharArray();
  -        
  +
           // Prepare variables for the translation loop
           int y = 0;
           boolean slash = false;
   
           // Must start from beginning
           expr[y++] = MATCH_BEGIN;
  -        
  +
           if (buff.length > 0) {
               if (buff[0]=='\\') {
                   slash = true;
  @@ -144,7 +150,7 @@
               }  else {
                   expr[y++] = buff[0];
               }
  -        
  +
               // Main translation loop
               for (int x = 1; x < buff.length; x++) {
                   // If the previous char was '\' simply copy this char.
  @@ -175,5 +181,5 @@
           // Must match end at the end
           expr[y] = MATCH_THEEND;
           return expr;
  -    }        
  +    }
   }