dmkarr 2003/03/08 23:47:09 Modified: contrib/struts-el/src/share/org/apache/strutsel/taglib/logic ELMatchTag.java ELNotMatchTag.java Log: Separated "expr" attribute into "expr" and "exprValue", being the original attribute value and the evaluated value. Before this, a reused tag instance might not reevaluate the expression. Fixed probably long-standing bug in notMatch tag that made it behave identically to the "match" tag (instead of the reverse). This is only with respect to the "expr" attribute, only used in the EL tag. Revision Changes Path 1.7 +28 -8 jakarta-struts/contrib/struts-el/src/share/org/apache/strutsel/taglib/logic/ELMatchTag.java Index: ELMatchTag.java =================================================================== RCS file: /home/cvs/jakarta-struts/contrib/struts-el/src/share/org/apache/strutsel/taglib/logic/ELMatchTag.java,v retrieving revision 1.6 retrieving revision 1.7 diff -u -r1.6 -r1.7 --- ELMatchTag.java 9 Mar 2003 05:47:26 -0000 1.6 +++ ELMatchTag.java 9 Mar 2003 07:47:09 -0000 1.7 @@ -222,6 +222,25 @@ public void setExpr(String expr) { this.expr = expr; } + + /** + * Evaluated value of expression. + */ + private String exprValue; + + /** + * Returns the evaluated expression. + */ + public String getExprValue() { + return (exprValue); + } + + /** + * Sets the evaluated expression. + */ + public void setExprValue(String exprValue) { + this.exprValue = exprValue; + } /** * Releases state of custom tag so this instance can be reused. @@ -238,6 +257,7 @@ setScopeExpr(null); setValueExpr(null); setExpr(null); + setExprValue(null); } /** @@ -260,10 +280,10 @@ */ protected boolean condition(boolean desired) throws JspException { boolean result = false; - if (getExpr() != null) { + if (getExprValue() != null) { result = - ELMatchSupport.condition(desired, getExpr(), value, location, - messages, pageContext); + ELMatchSupport.condition(desired, getExprValue(), value, + location, messages, pageContext); } else { result = super.condition(desired); @@ -286,7 +306,7 @@ if ((string = EvalHelper.evalString("expr", getExpr(), this, pageContext)) != null) - setExpr(string); + setExprValue(string); if ((string = EvalHelper.evalString("header", getHeaderExpr(), this, pageContext)) != null) 1.7 +28 -8 jakarta-struts/contrib/struts-el/src/share/org/apache/strutsel/taglib/logic/ELNotMatchTag.java Index: ELNotMatchTag.java =================================================================== RCS file: /home/cvs/jakarta-struts/contrib/struts-el/src/share/org/apache/strutsel/taglib/logic/ELNotMatchTag.java,v retrieving revision 1.6 retrieving revision 1.7 diff -u -r1.6 -r1.7 --- ELNotMatchTag.java 9 Mar 2003 05:47:26 -0000 1.6 +++ ELNotMatchTag.java 9 Mar 2003 07:47:09 -0000 1.7 @@ -224,6 +224,25 @@ } /** + * Evaluated value of expression. + */ + private String exprValue; + + /** + * Returns the evaluated expression. + */ + public String getExprValue() { + return (exprValue); + } + + /** + * Sets the evaluated expression. + */ + public void setExprValue(String exprValue) { + this.exprValue = exprValue; + } + + /** * Releases state of custom tag so this instance can be reused. */ public void release() @@ -238,6 +257,7 @@ setScopeExpr(null); setValueExpr(null); setExpr(null); + setExprValue(null); } /** @@ -260,10 +280,10 @@ */ protected boolean condition(boolean desired) throws JspException { boolean result = false; - if (getExpr() != null) { + if (getExprValue() != null) { result = - ELMatchSupport.condition(!desired, getExpr(), value, location, - messages, pageContext); + ELMatchSupport.condition(desired, getExprValue(), value, + location, messages, pageContext); } else { result = super.condition(desired); @@ -286,7 +306,7 @@ if ((string = EvalHelper.evalString("expr", getExpr(), this, pageContext)) != null) - setExpr(string); + setExprValue(string); if ((string = EvalHelper.evalString("header", getHeaderExpr(), this, pageContext)) != null)
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]