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:58:45 UTC

cvs commit: xml-cocoon2/src/org/apache/cocoon/selection RequestSelectorFactory.java

haul        01/09/18 07:58:45

  Modified:    src/org/apache/cocoon/selection Tag: cocoon_20_branch
                        RequestSelectorFactory.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   +31 -8     xml-cocoon2/src/org/apache/cocoon/selection/RequestSelectorFactory.java
  
  Index: RequestSelectorFactory.java
  ===================================================================
  RCS file: /home/cvs/xml-cocoon2/src/org/apache/cocoon/selection/RequestSelectorFactory.java,v
  retrieving revision 1.1.2.3
  retrieving revision 1.1.2.4
  diff -u -r1.1.2.3 -r1.1.2.4
  --- RequestSelectorFactory.java	2001/08/20 14:07:32	1.1.2.3
  +++ RequestSelectorFactory.java	2001/09/18 14:58:44	1.1.2.4
  @@ -22,7 +22,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:58:44 $
    */
   public class RequestSelectorFactory extends ParameterSelectorFactory {
   
  @@ -45,13 +45,36 @@
           }
   
           StringBuffer sb = new StringBuffer();
  -	sb.append("String compareToString = null;")
  -	  .append("if (param == null) {")
  -          .append("  compareToString = (String) XSPRequestHelper.getParameter(objectModel, \""+parameterName+"\",null);")
  -          .append("} else { ")
  -          .append("  compareToString = (String) XSPRequestHelper.getParameter(objectModel, param.getParameter(\"state-key\",\""+parameterName+"\"),null);")
  -	  .append("}")
  -	  .append("return compareToString != null && compareToString.equals (pattern);");
  +	sb
  +	    .append("String compareToString = null;")
  +	    .append("if (param.getNames().length == 0) {");
  +	if ( parameterName == null ) {
  +	    sb
  +		.append("   getLogger().warn(\"No request parameter name and no default request parameter name given. FAILING\");")
  +		.append("} else { ")
  +		.append("  String parameterName = param.getParameter(\"parameter-name\", null);")
  +		.append("  if ( parameterName == null ) {")
  +		.append("     getLogger().warn(\"No request parameter name and no default request parameter name given. FAILING\");")
  +		.append("  } else {")
  +		.append("     compareToString = (String) XSPRequestHelper.getParameter(objectModel, parameterName, null);")
  +		.append("  }");
  +	} else {
  +	    sb
  +		.append("  compareToString = (String) XSPRequestHelper.getParameter(objectModel, \""+parameterName+"\", null);")
  +		.append("} else { ")
  +		.append("  String parameterName = param.getParameter(\"parameter-name\", null);")
  +		.append("  if ( parameterName == null ) {")
  +		.append("     getLogger().warn(\"No request parameter name given, will use default\");")
  +		.append("     parameterName = \""+parameterName+"\";")
  +		.append("  }")
  +		.append("  compareToString = (String) XSPRequestHelper.getParameter(objectModel, parameterName, null);");
  +	}
  +	sb
  +	    .append("}")
  +	    .append("if ( compareToString == null ) {")
  +	    .append("   getLogger().debug(\"request parameter not set\");")
  +	    .append("}")
  +	    .append("return compareToString != null && compareToString.equals (pattern);");
           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