You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@cocoon.apache.org by ha...@apache.org on 2001/09/18 16:56:45 UTC

cvs commit: xml-cocoon2/src/org/apache/cocoon/matching WildcardParameterValueMatcherFactory.java

haul        01/09/18 07:56:45

  Modified:    src/org/apache/cocoon/matching Tag: cocoon_20_branch
                        WildcardParameterValueMatcherFactory.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/WildcardParameterValueMatcherFactory.java
  
  Index: WildcardParameterValueMatcherFactory.java
  ===================================================================
  RCS file: /home/cvs/xml-cocoon2/src/org/apache/cocoon/matching/WildcardParameterValueMatcherFactory.java,v
  retrieving revision 1.1.2.3
  retrieving revision 1.1.2.4
  diff -u -r1.1.2.3 -r1.1.2.4
  --- WildcardParameterValueMatcherFactory.java	2001/08/20 14:07:32	1.1.2.3
  +++ WildcardParameterValueMatcherFactory.java	2001/09/18 14:56:45	1.1.2.4
  @@ -26,7 +26,7 @@
    * </table>
    *
    * @author <a href="mailto:haul@informatik.tu-darmstadt.de">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:45 $ */
   
   public class WildcardParameterValueMatcherFactory extends WildcardURIMatcherFactory {
   
  @@ -51,18 +51,46 @@
               }
           }
   
  -	return "HashMap map = new HashMap(1);" +
  -	    "String theParameter = null; " +
  -	    "if (parameters == null) {"+
  -	    "  theParameter = XSPRequestHelper.getParameter(objectModel, \""+parameterName+"\",null);" +
  -	    " } else { " +
  -	    "  theParameter = XSPRequestHelper.getParameter(objectModel, parameters.getParameter(\"parameter-name\",\""+parameterName+"\"),null);" +
  -	    " }; " +
  -	    "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 parameter 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 parameter name and no default name given. FAILING\");")
  +		.append("  } else {")
  +		.append("     parameterValue = XSPRequestHelper.getParameter(objectModel, parameterName, null); ")
  +		.append("  }");
  +	} else {
  +	    sb
  +		.append("  parameterName = \""+parameterName+"\";")
  +		.append("  parameterValue = XSPRequestHelper.getParameter(objectModel, parameterName, null);")
  +		.append("} else { ")
  +		.append("  parameterName = parameters.getParameter(\"parameter-name\", null);")
  +		.append("  if ( parameterName == null ) {")
  +		.append("     getLogger().warn(\"No request parameter name given, will use default\");")
  +		.append("     parameterName = \""+parameterName+"\";")
  +		.append("  }")
  +		.append("  parameterValue = XSPRequestHelper.getParameter(objectModel, parameterName, null); ");
  +	}
  +	sb
  +	    .append("}")
  +	    .append("if ( parameterValue == null ) {")
  +	    .append("   getLogger().debug(\"Request parameter 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:     webmaster@xml.apache.org
To unsubscribe, e-mail:          cocoon-cvs-unsubscribe@xml.apache.org
For additional commands, e-mail: cocoon-cvs-help@xml.apache.org