arron 2003/02/27 21:15:37 Modified: src/share/org/apache/struts/taglib/nested/bean NestedSizeTag.java NestedWriteTag.java NestedMessageTag.java NestedDefineTag.java Log: Bean Nested Tag Clases - Most importantly, updated the Copyright to include 2003. - Secondly, rejig of the nested tags to allow them to dance with Tomcat 4.1.18 Revision Changes Path 1.4 +45 -33 jakarta-struts/src/share/org/apache/struts/taglib/nested/bean/NestedSizeTag.java Index: NestedSizeTag.java =================================================================== RCS file: /home/cvs/jakarta-struts/src/share/org/apache/struts/taglib/nested/bean/NestedSizeTag.java,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- NestedSizeTag.java 16 Nov 2002 04:32:38 -0000 1.3 +++ NestedSizeTag.java 28 Feb 2003 05:15:36 -0000 1.4 @@ -6,7 +6,7 @@ * * The Apache Software License, Version 1.1 * - * Copyright (c) 1999-2001 The Apache Software Foundation. All rights + * Copyright (c) 1999-2003 The Apache Software Foundation. All rights * reserved. * * Redistribution and use in source and binary forms, with or without @@ -59,6 +59,7 @@ */ package org.apache.struts.taglib.nested.bean; +import javax.servlet.http.HttpServletRequest; import javax.servlet.jsp.JspException; import org.apache.struts.taglib.bean.SizeTag; @@ -80,37 +81,48 @@ * This is in the hands of the super class. */ public int doStartTag() throws JspException { - - /* singleton tag implementations will need the original property to be - set before running */ - super.setProperty(originalProperty); - - /* let the NestedHelper set the properties it can */ - isNesting = true; - NestedPropertyHelper.setNestedProperties(this); - isNesting = false; - - /* do the tag */ + // get the original properties + originalName = getName(); + originalProperty = getProperty(); + + // request + HttpServletRequest request = (HttpServletRequest)pageContext.getRequest(); + // set the properties + NestedPropertyHelper.setNestedProperties(request, this); + + // let the super do it's thing return super.doStartTag(); } - - /** this is overridden so that properties being set by the JSP page aren't - * written over by those needed by the extension. If the tag instance is - * re-used by the JSP, the tag can set the property back to that set by the - * JSP page. - * - * @param newProperty new property value + + /** + * Complete the processing of the tag. The nested tags here will restore + * all the original value for the tag itself and the nesting context. + * @return int to describe the next step for the JSP processor + * @throws JspException for the bad things JSP's do */ - public void setProperty(String newProperty) { - /* let the real tag do its thang */ - super.setProperty(newProperty); - /* if it's the JSP setting it, remember the value */ - if (!isNesting) { - originalProperty = newProperty; - } + public int doEndTag() throws JspException { + // do the super's ending part + int i = super.doEndTag(); + + // reset the properties + setName(originalName); + setProperty(originalProperty); + + // continue + return i; } - - /* hold original property */ + + /** + * Release the tag's resources and reset the values. + */ + public void release() { + super.release(); + // reset the originals + originalName = null; + originalProperty = null; + } + + /* the usual private member variables */ + private String originalName = null; private String originalProperty = null; - private boolean isNesting = false; } 1.4 +45 -33 jakarta-struts/src/share/org/apache/struts/taglib/nested/bean/NestedWriteTag.java Index: NestedWriteTag.java =================================================================== RCS file: /home/cvs/jakarta-struts/src/share/org/apache/struts/taglib/nested/bean/NestedWriteTag.java,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- NestedWriteTag.java 16 Nov 2002 04:32:38 -0000 1.3 +++ NestedWriteTag.java 28 Feb 2003 05:15:36 -0000 1.4 @@ -6,7 +6,7 @@ * * The Apache Software License, Version 1.1 * - * Copyright (c) 1999-2001 The Apache Software Foundation. All rights + * Copyright (c) 1999-2003 The Apache Software Foundation. All rights * reserved. * * Redistribution and use in source and binary forms, with or without @@ -59,6 +59,7 @@ */ package org.apache.struts.taglib.nested.bean; +import javax.servlet.http.HttpServletRequest; import javax.servlet.jsp.JspException; import org.apache.struts.taglib.bean.WriteTag; @@ -80,37 +81,48 @@ * This is in the hands of the super class. */ public int doStartTag() throws JspException { - - /* singleton tag implementations will need the original property to be - set before running */ - super.setProperty(originalProperty); - - /* let the NestedHelper set the properties it can */ - isNesting = true; - NestedPropertyHelper.setNestedProperties(this); - isNesting = false; - - /* do the tag */ + // get the original properties + originalName = getName(); + originalProperty = getProperty(); + + // request + HttpServletRequest request = (HttpServletRequest)pageContext.getRequest(); + // set the properties + NestedPropertyHelper.setNestedProperties(request, this); + + // let the super do it's thing return super.doStartTag(); } - - /** this is overridden so that properties being set by the JSP page aren't - * written over by those needed by the extension. If the tag instance is - * re-used by the JSP, the tag can set the property back to that set by the - * JSP page. - * - * @param newProperty new property value + + /** + * Complete the processing of the tag. The nested tags here will restore + * all the original value for the tag itself and the nesting context. + * @return int to describe the next step for the JSP processor + * @throws JspException for the bad things JSP's do */ - public void setProperty(String newProperty) { - /* let the real tag do its thang */ - super.setProperty(newProperty); - /* if it's the JSP setting it, remember the value */ - if (!isNesting) { - originalProperty = newProperty; - } + public int doEndTag() throws JspException { + // do the super's ending part + int i = super.doEndTag(); + + // reset the properties + setName(originalName); + setProperty(originalProperty); + + // continue + return i; } - - /* hold original property */ + + /** + * Release the tag's resources and reset the values. + */ + public void release() { + super.release(); + // reset the originals + originalName = null; + originalProperty = null; + } + + /* the usual private member variables */ + private String originalName = null; private String originalProperty = null; - private boolean isNesting = false; } 1.3 +45 -33 jakarta-struts/src/share/org/apache/struts/taglib/nested/bean/NestedMessageTag.java Index: NestedMessageTag.java =================================================================== RCS file: /home/cvs/jakarta-struts/src/share/org/apache/struts/taglib/nested/bean/NestedMessageTag.java,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- NestedMessageTag.java 16 Nov 2002 04:32:38 -0000 1.2 +++ NestedMessageTag.java 28 Feb 2003 05:15:36 -0000 1.3 @@ -6,7 +6,7 @@ * * The Apache Software License, Version 1.1 * - * Copyright (c) 1999-2001 The Apache Software Foundation. All rights + * Copyright (c) 1999-2003 The Apache Software Foundation. All rights * reserved. * * Redistribution and use in source and binary forms, with or without @@ -59,6 +59,7 @@ */ package org.apache.struts.taglib.nested.bean; +import javax.servlet.http.HttpServletRequest; import javax.servlet.jsp.JspException; import org.apache.struts.taglib.bean.MessageTag; @@ -80,37 +81,48 @@ * This is in the hands of the super class. */ public int doStartTag() throws JspException { - - /* singleton tag implementations will need the original property to be - set before running */ - super.setProperty(originalProperty); - - /* let the NestedHelper set the properties it can */ - isNesting = true; - NestedPropertyHelper.setNestedProperties(this); - isNesting = false; - - /* do the tag */ + // get the original properties + originalName = getName(); + originalProperty = getProperty(); + + // request + HttpServletRequest request = (HttpServletRequest)pageContext.getRequest(); + // set the properties + NestedPropertyHelper.setNestedProperties(request, this); + + // let the super do it's thing return super.doStartTag(); } - - /** this is overridden so that properties being set by the JSP page aren't - * written over by those needed by the extension. If the tag instance is - * re-used by the JSP, the tag can set the property back to that set by the - * JSP page. - * - * @param newProperty new property value + + /** + * Complete the processing of the tag. The nested tags here will restore + * all the original value for the tag itself and the nesting context. + * @return int to describe the next step for the JSP processor + * @throws JspException for the bad things JSP's do */ - public void setProperty(String newProperty) { - /* let the real tag do its thang */ - super.setProperty(newProperty); - /* if it's the JSP setting it, remember the value */ - if (!isNesting) { - originalProperty = newProperty; - } + public int doEndTag() throws JspException { + // do the super's ending part + int i = super.doEndTag(); + + // reset the properties + setName(originalName); + setProperty(originalProperty); + + // continue + return i; } - - /* hold original property */ + + /** + * Release the tag's resources and reset the values. + */ + public void release() { + super.release(); + // reset the originals + originalName = null; + originalProperty = null; + } + + /* the usual private member variables */ + private String originalName = null; private String originalProperty = null; - private boolean isNesting = false; } 1.4 +45 -33 jakarta-struts/src/share/org/apache/struts/taglib/nested/bean/NestedDefineTag.java Index: NestedDefineTag.java =================================================================== RCS file: /home/cvs/jakarta-struts/src/share/org/apache/struts/taglib/nested/bean/NestedDefineTag.java,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- NestedDefineTag.java 16 Nov 2002 04:32:38 -0000 1.3 +++ NestedDefineTag.java 28 Feb 2003 05:15:36 -0000 1.4 @@ -6,7 +6,7 @@ * * The Apache Software License, Version 1.1 * - * Copyright (c) 1999-2001 The Apache Software Foundation. All rights + * Copyright (c) 1999-2003 The Apache Software Foundation. All rights * reserved. * * Redistribution and use in source and binary forms, with or without @@ -59,6 +59,7 @@ */ package org.apache.struts.taglib.nested.bean; +import javax.servlet.http.HttpServletRequest; import javax.servlet.jsp.JspException; import org.apache.struts.taglib.bean.DefineTag; @@ -80,37 +81,48 @@ * This is in the hands of the super class. */ public int doStartTag() throws JspException { - - /* singleton tag implementations will need the original property to be - set before running */ - super.setProperty(originalProperty); - - /* let the NestedHelper set the properties it can */ - isNesting = true; - NestedPropertyHelper.setNestedProperties(this); - isNesting = false; - - /* do the tag */ + // get the original properties + originalName = getName(); + originalProperty = getProperty(); + + // request + HttpServletRequest request = (HttpServletRequest)pageContext.getRequest(); + // set the properties + NestedPropertyHelper.setNestedProperties(request, this); + + // let the super do it's thing return super.doStartTag(); } - - /** this is overridden so that properties being set by the JSP page aren't - * written over by those needed by the extension. If the tag instance is - * re-used by the JSP, the tag can set the property back to that set by the - * JSP page. - * - * @param newProperty new property value + + /** + * Complete the processing of the tag. The nested tags here will restore + * all the original value for the tag itself and the nesting context. + * @return int to describe the next step for the JSP processor + * @throws JspException for the bad things JSP's do */ - public void setProperty(String newProperty) { - /* let the real tag do its thang */ - super.setProperty(newProperty); - /* if it's the JSP setting it, remember the value */ - if (!isNesting) { - originalProperty = newProperty; - } + public int doEndTag() throws JspException { + // do the super's ending part + int i = super.doEndTag(); + + // reset the properties + setName(originalName); + setProperty(originalProperty); + + // continue + return i; } - - /* hold original property */ + + /** + * Release the tag's resources and reset the values. + */ + public void release() { + super.release(); + // reset the originals + originalName = null; + originalProperty = null; + } + + /* the usual private member variables */ + private String originalName = null; private String originalProperty = null; - private boolean isNesting = false; }
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]