haul        01/09/18 07:56:41

  Modified:    src/org/apache/cocoon/matching Tag: cocoon_20_branch
                        WildcardHeaderMatcherFactory.java
  Log:
  - changed *SessionState(Matcher|Selector)* to more general 
*SessionAttribute(Matcher|Selector)*
    updated docs + samples accordingly
  - make some SourceFactories fail in a friendlier way when parameters are missing
  
  Revision  Changes    Path
  No                   revision
  
  
  No                   revision
  
  
  1.1.2.4   +41 -13    
xml-cocoon2/src/org/apache/cocoon/matching/WildcardHeaderMatcherFactory.java
  
  Index: WildcardHeaderMatcherFactory.java
  ===================================================================
  RCS file: 
/home/cvs/xml-cocoon2/src/org/apache/cocoon/matching/WildcardHeaderMatcherFactory.java,v
  retrieving revision 1.1.2.3
  retrieving revision 1.1.2.4
  diff -u -r1.1.2.3 -r1.1.2.4
  --- WildcardHeaderMatcherFactory.java 2001/08/20 14:07:32     1.1.2.3
  +++ WildcardHeaderMatcherFactory.java 2001/09/18 14:56:40     1.1.2.4
  @@ -22,7 +22,7 @@
    * </table>
    *
    * @author <a href="mailto:[EMAIL PROTECTED]";>Christian Haul</a>
  - * @version CVS $Revision: 1.1.2.3 $ $Date: 2001/08/20 14:07:32 $
  + * @version CVS $Revision: 1.1.2.4 $ $Date: 2001/09/18 14:56:40 $
    */
   
   public class WildcardHeaderMatcherFactory extends WildcardURIMatcherFactory {
  @@ -48,18 +48,46 @@
               }
           }
   
  -    return "HashMap map = new HashMap(1);" +
  -         "String theParameter = null;" +
  -         "if (parameters == null) {"+
  -         "  theParameter = XSPRequestHelper.getHeader(objectModel, 
\""+parameterName+"\");" +
  -         " } else { " +
  -         "  theParameter = XSPRequestHelper.getHeader(objectModel, 
parameters.getParameter(\"parameter-name\", \""+parameterName+"\"));" +
  -         " }; " +
  -         "if (theParameter != null && 
org.apache.cocoon.matching.helpers.WildcardURIMatcher.match (map, theParameter, 
pattern)) {" +
  -         "map.put(\""+parameterName+"\", theParameter);"+
  -         "return map;" +
  -         "} else {" +
  -         "return null;}";
  +        StringBuffer sb = new StringBuffer();
  +     sb
  +         .append("HashMap map = new HashMap(1);")
  +         .append("String parameterName = null;")
  +         .append("String parameterValue = null;")
  +         .append("if (parameters.getNames().length == 0) {");
  +     if ( parameterName == null ) {
  +         sb
  +             .append("   getLogger().warn(\"No request header name and no default 
name given. FAILING\");")
  +             .append("} else { ")
  +             .append("  parameterName = parameters.getParameter(\"parameter-name\", 
null);")
  +             .append("  if ( parameterName == null ) {")
  +             .append("     getLogger().warn(\"No request header name and no default 
name given. FAILING\");")
  +             .append("  } else {")
  +             .append("     parameterValue = XSPRequestHelper.getHeader(objectModel, 
parameterName); ")
  +             .append("  }");
  +     } else {
  +         sb
  +             .append("  parameterName = \""+parameterName+"\";")
  +             .append("  parameterValue = XSPRequestHelper.getHeader(objectModel, 
parameterName);")
  +             .append("} else { ")
  +             .append("  parameterName = parameters.getParameter(\"parameter-name\", 
null);")
  +             .append("  if ( parameterName == null ) {")
  +             .append("     getLogger().warn(\"No request header name given, will 
use default\");")
  +             .append("     parameterName = \""+parameterName+"\";")
  +             .append("  }")
  +             .append("  parameterValue = XSPRequestHelper.getHeader(objectModel, 
parameterName); ");
  +     }
  +     sb
  +         .append("}")
  +         .append("if ( parameterValue == null ) {")
  +         .append("   getLogger().debug(\"Request header not set\");")
  +         .append("} else {")
  +         .append("   if 
(org.apache.cocoon.matching.helpers.WildcardURIMatcher.match (map, parameterValue, 
pattern)) {")
  +         .append("      map.put(parameterName, parameterValue ); ")   
  +         .append("      return map;")
  +         .append("   }")
  +         .append("}")
  +         .append("return null;");
  +        return sb.toString();
       }
   
   }
  
  
  

----------------------------------------------------------------------
In case of troubles, e-mail:     [EMAIL PROTECTED]
To unsubscribe, e-mail:          [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to