cvs commit: jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/runtime JspContextWrapper.java

2003-03-31 Thread luehe
luehe   2003/03/31 13:38:46

  Modified:jasper2/src/share/org/apache/jasper/runtime
JspContextWrapper.java
  Log:
  Clarified javadoc of findAlias
  
  Revision  ChangesPath
  1.19  +9 -7  
jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/runtime/JspContextWrapper.java
  
  Index: JspContextWrapper.java
  ===
  RCS file: 
/home/cvs/jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/runtime/JspContextWrapper.java,v
  retrieving revision 1.18
  retrieving revision 1.19
  diff -u -r1.18 -r1.19
  --- JspContextWrapper.java8 Mar 2003 00:58:09 -   1.18
  +++ JspContextWrapper.java31 Mar 2003 21:38:46 -  1.19
  @@ -481,10 +481,12 @@
   }
   
   /**
  - * Find the attribute that variable is alised to.
  - * @param varName a variable
  - * @return if varName is an alias, then the aliased variable
  - * otherwise varName
  + * Checks to see if the given variable name is used as an alias, and if so,
  + * returns the variable name for which it is used as an alias.
  + *
  + * @param varName The variable name to check
  + * @return The variable name for which varName is used as an alias, or
  + * varName if it is not being used as an alias
*/
   private String findAlias(String varName) {
   
  
  
  

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



cvs commit: jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/runtime JspContextWrapper.java

2003-03-07 Thread luehe
luehe   2003/03/07 16:58:09

  Modified:jasper2/src/share/org/apache/jasper/compiler Generator.java
   jasper2/src/share/org/apache/jasper/runtime
JspContextWrapper.java
  Log:
  Removed page -- tag synchronization points, as agreed by JSR-152-EG
  
  Revision  ChangesPath
  1.173 +3 -23 
jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/Generator.java
  
  Index: Generator.java
  ===
  RCS file: 
/home/cvs/jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/Generator.java,v
  retrieving revision 1.172
  retrieving revision 1.173
  diff -u -r1.172 -r1.173
  --- Generator.java6 Mar 2003 17:49:45 -   1.172
  +++ Generator.java8 Mar 2003 00:58:09 -   1.173
  @@ -1822,18 +1822,8 @@
} else {
out.printil(_jspx_sout = null;);
}
  - out.printil(try {);
  - out.pushIndent();
out.printin(toGetterMethod(n.getTextAttribute(fragment)));
out.println(.invoke(_jspx_sout););
  - out.popIndent();
  - out.printil( } finally { );
  - out.pushIndent();
  - // Copy page scope of invoking page back to virtual page scope of
  - // tag file
  - out.printil(((org.apache.jasper.runtime.JspContextWrapper) 
this.jspContext).syncAfterInvoke(););
  - out.popIndent();
  - out.printil(});
   
// Store varReader in appropriate scope
if (varReaderAttr != null || varAttr != null) {
  @@ -1868,20 +1858,10 @@
} else {
out.printil(_jspx_sout = null;);
}
  - out.printil(try {);
  - out.pushIndent();
out.printil(if (getJspBody() != null));
out.pushIndent();
out.printil(getJspBody().invoke(_jspx_sout););
out.popIndent();
  - out.popIndent();
  - out.printil( } finally { );
  - out.pushIndent();
  - // Copy page scope of invoking page back to virtual page scope of
  - // tag file
  - out.printil(((org.apache.jasper.runtime.JspContextWrapper) 
this.jspContext).syncAfterInvoke(););
  - out.popIndent();
  - out.printil(});
   
// Store varReader in appropriate scope
if (varReaderAttr != null || varAttr != null) {
  
  
  
  1.18  +3 -48 
jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/runtime/JspContextWrapper.java
  
  Index: JspContextWrapper.java
  ===
  RCS file: 
/home/cvs/jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/runtime/JspContextWrapper.java,v
  retrieving revision 1.17
  retrieving revision 1.18
  diff -u -r1.17 -r1.18
  --- JspContextWrapper.java15 Feb 2003 00:24:22 -  1.17
  +++ JspContextWrapper.java8 Mar 2003 00:58:09 -   1.18
  @@ -383,7 +383,6 @@
* Synchronize variables at begin of tag file
*/
   public void syncBeginTagFile() {
  - copyPageToTagScope(VariableInfo.AT_BEGIN);
saveNestedVariables();
   }
   
  @@ -396,56 +395,12 @@
   }
   
   /**
  - * Synchronize variables after fragment invokation
  - */
  -public void syncAfterInvoke() {
  - copyPageToTagScope(VariableInfo.NESTED);
  - copyPageToTagScope(VariableInfo.AT_BEGIN);
  -}
  -
  -/**
* Synchronize variables at end of tag file
*/
   public void syncEndTagFile() {
copyTagToPageScope(VariableInfo.AT_BEGIN);
copyTagToPageScope(VariableInfo.AT_END);
restoreNestedVariables();
  -}
  -
  -
  -
  -/**
  - * Copies the variables of the given scope from the page scope of the
  - * invoking JSP context to the virtual page scope of this JSP context
  - * wrapper.
  - *
  - * @param scope variable scope (one of NESTED or AT_BEGIN)
  - */
  -private void copyPageToTagScope(int scope) {
  - Iterator iter = null;
  -
  - switch (scope) {
  - case VariableInfo.NESTED:
  - if (nestedVars != null) {
  - iter = nestedVars.iterator();
  - }
  - break;
  - case VariableInfo.AT_BEGIN:
  - if (atBeginVars != null) {
  - iter = atBeginVars.iterator();
  - }
  - break;
  - }
  -
  - while ((iter != null)  iter.hasNext()) {
  - String varName = (String) iter.next();
  - String aliasName = findAlias(varName);
  -
  - Object obj = invokingJspCtxt.getAttribute(aliasName);
  - if (obj != null) {
  - setAttribute(varName, obj);
  - }
  - }
   }
   
   /**
  
  
  

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



cvs commit: jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/runtime JspContextWrapper.java PageContextImpl.java

2003-02-14 Thread luehe
luehe   2003/02/14 16:24:23

  Modified:jasper2/src/share/org/apache/jasper/runtime
JspContextWrapper.java PageContextImpl.java
  Log:
  Changed findAttribute(name), removeAttribute(name),
  removeAttribute(name, scope), and getAttributesScope(name) to throw
  NPE if 'name' argument is null
  
  Revision  ChangesPath
  1.17  +27 -3 
jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/runtime/JspContextWrapper.java
  
  Index: JspContextWrapper.java
  ===
  RCS file: 
/home/cvs/jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/runtime/JspContextWrapper.java,v
  retrieving revision 1.16
  retrieving revision 1.17
  diff -u -r1.16 -r1.17
  --- JspContextWrapper.java13 Feb 2003 23:26:42 -  1.16
  +++ JspContextWrapper.java15 Feb 2003 00:24:22 -  1.17
  @@ -211,6 +211,12 @@
   }
   
   public Object findAttribute(String name) {
  +
  + if (name == null) {
  + throw new NullPointerException(
  + Localizer.getMessage(jsp.error.attribute.null_name));
  + }
  +
   Object o = pageAttributes.get(name);
   if (o == null) {
o = invokingJspCtxt.getAttribute(name, REQUEST_SCOPE);
  @@ -228,6 +234,12 @@
   }
   
   public void removeAttribute(String name) {
  +
  + if (name == null) {
  + throw new NullPointerException(
  + Localizer.getMessage(jsp.error.attribute.null_name));
  + }
  +
pageAttributes.remove(name);
invokingJspCtxt.removeAttribute(name, REQUEST_SCOPE);
if (getSession() != null) {
  @@ -237,6 +249,12 @@
   }
   
   public void removeAttribute(String name, int scope) {
  +
  + if (name == null) {
  + throw new NullPointerException(
  + Localizer.getMessage(jsp.error.attribute.null_name));
  + }
  +
if (scope == PAGE_SCOPE){
pageAttributes.remove(name);
} else {
  @@ -245,6 +263,12 @@
   }
   
   public int getAttributesScope(String name) {
  +
  + if (name == null) {
  + throw new NullPointerException(
  + Localizer.getMessage(jsp.error.attribute.null_name));
  + }
  +
if (pageAttributes.get(name) != null) {
return PAGE_SCOPE;
} else {
  
  
  
  1.44  +27 -3 
jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/runtime/PageContextImpl.java
  
  Index: PageContextImpl.java
  ===
  RCS file: 
/home/cvs/jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/runtime/PageContextImpl.java,v
  retrieving revision 1.43
  retrieving revision 1.44
  diff -u -r1.43 -r1.44
  --- PageContextImpl.java  13 Feb 2003 23:26:42 -  1.43
  +++ PageContextImpl.java  15 Feb 2003 00:24:22 -  1.44
  @@ -354,6 +354,12 @@
   }
   
   public void removeAttribute(String name, int scope) {
  +
  + if (name == null) {
  + throw new NullPointerException(
  + Localizer.getMessage(jsp.error.attribute.null_name));
  + }
  +
switch (scope) {
case PAGE_SCOPE:
attributes.remove(name);
  @@ -381,6 +387,12 @@
   }
   
   public int getAttributesScope(String name) {
  +
  + if (name == null) {
  + throw new NullPointerException(
  + Localizer.getMessage(jsp.error.attribute.null_name));
  + }
  +
if (attributes.get(name) != null)
return PAGE_SCOPE;
   
  @@ -399,6 +411,12 @@
   }
   
   public Object findAttribute(String name) {
  +
  + if (name == null) {
  + throw new NullPointerException(
  + Localizer.getMessage(jsp.error.attribute.null_name));
  + }
  +
   Object o = attributes.get(name);
   if (o != null)
   return o;
  @@ -441,6 +459,12 @@
   }
   
   public void removeAttribute(String name) {
  +
  + if (name == null) {
  + throw new NullPointerException(
  + Localizer.getMessage(jsp.error.attribute.null_name));
  + }
  +
try {
removeAttribute(name, PAGE_SCOPE);
removeAttribute(name, REQUEST_SCOPE);
  
  
  

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]




cvs commit: jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/runtime JspContextWrapper.java

2003-02-13 Thread luehe
luehe   2003/02/13 15:04:26

  Modified:jasper2/src/share/org/apache/jasper/runtime
JspContextWrapper.java
  Log:
  Implemented semantics on JspContextWrapper that if the attribute value
  passed to setAttribute is null, this has the same effect as calling
  removeAttribute.
  
  Revision  ChangesPath
  1.15  +16 -8 
jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/runtime/JspContextWrapper.java
  
  Index: JspContextWrapper.java
  ===
  RCS file: 
/home/cvs/jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/runtime/JspContextWrapper.java,v
  retrieving revision 1.14
  retrieving revision 1.15
  diff -u -r1.14 -r1.15
  --- JspContextWrapper.java7 Feb 2003 02:51:32 -   1.14
  +++ JspContextWrapper.java13 Feb 2003 23:04:26 -  1.15
  @@ -163,15 +163,23 @@
return invokingJspCtxt.getAttribute(name, scope);
   }
   
  -public void setAttribute(String name, Object attribute) {
  - pageAttributes.put(name, attribute);
  +public void setAttribute(String name, Object value) {
  + if (value != null) {
  + pageAttributes.put(name, value);
  + } else {
  + removeAttribute(name, PAGE_SCOPE);
  + }
   }
   
  -public void setAttribute(String name, Object o, int scope) {
  +public void setAttribute(String name, Object value, int scope) {
if (scope == PAGE_SCOPE) {
  - pageAttributes.put(name, o);
  + if (value != null) {
  + pageAttributes.put(name, value);
  + } else {
  + removeAttribute(name, PAGE_SCOPE);
  + }
} else {
  - invokingJspCtxt.setAttribute(name, o, scope);
  + invokingJspCtxt.setAttribute(name, value, scope);
}
   }
   
  
  
  

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]




cvs commit: jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/runtime JspContextWrapper.java PageContextImpl.java

2003-02-13 Thread luehe
luehe   2003/02/13 15:26:43

  Modified:jasper2/src/share/org/apache/jasper/resources
messages.properties
   jasper2/src/share/org/apache/jasper/runtime
JspContextWrapper.java PageContextImpl.java
  Log:
  Implemented semantics for JspContextWrapper that if the name argument
  passed to getAttribute or setAttribute is null, a NPE must be thrown.
  
  Revision  ChangesPath
  1.93  +2 -1  
jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/resources/messages.properties
  
  Index: messages.properties
  ===
  RCS file: 
/home/cvs/jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/resources/messages.properties,v
  retrieving revision 1.92
  retrieving revision 1.93
  diff -u -r1.92 -r1.93
  --- messages.properties   13 Feb 2003 02:41:26 -  1.92
  +++ messages.properties   13 Feb 2003 23:26:42 -  1.93
  @@ -364,3 +364,4 @@
   jsp.error.variable.alias=Both or none of the name-from-attribute and alias 
attributes can be specified in a variable directive
   jsp.error.prelude.xml=The JSP document {0} has a prelude ({1}) associated with it
   jsp.error.coda.xml=The JSP document {0} has a coda ({1}) associated with it
  +jsp.error.attribute.null_name=Null attribute name
  
  
  
  1.16  +30 -3 
jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/runtime/JspContextWrapper.java
  
  Index: JspContextWrapper.java
  ===
  RCS file: 
/home/cvs/jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/runtime/JspContextWrapper.java,v
  retrieving revision 1.15
  retrieving revision 1.16
  diff -u -r1.15 -r1.16
  --- JspContextWrapper.java13 Feb 2003 23:04:26 -  1.15
  +++ JspContextWrapper.java13 Feb 2003 23:26:42 -  1.16
  @@ -87,8 +87,11 @@
   import javax.servlet.jsp.el.ELException;
   import javax.servlet.jsp.el.ExpressionEvaluator;
   import javax.servlet.jsp.el.VariableResolver;
  +
   import org.apache.commons.el.VariableResolverImpl;
   
  +import org.apache.jasper.compiler.Localizer;
  +
   /**
* Implementation of a JSP Context Wrapper.
*
  @@ -152,10 +155,22 @@
   }
   
   public Object getAttribute(String name) {
  +
  + if (name == null) {
  + throw new NullPointerException(
  + Localizer.getMessage(jsp.error.attribute.null_name));
  + }
  +
return pageAttributes.get(name);
   }
   
   public Object getAttribute(String name, int scope) {
  +
  + if (name == null) {
  + throw new NullPointerException(
  + Localizer.getMessage(jsp.error.attribute.null_name));
  + }
  +
if (scope == PAGE_SCOPE) {
return pageAttributes.get(name);
}
  @@ -164,6 +179,12 @@
   }
   
   public void setAttribute(String name, Object value) {
  +
  + if (name == null) {
  + throw new NullPointerException(
  + Localizer.getMessage(jsp.error.attribute.null_name));
  + }
  +
if (value != null) {
pageAttributes.put(name, value);
} else {
  @@ -172,6 +193,12 @@
   }
   
   public void setAttribute(String name, Object value, int scope) {
  +
  + if (name == null) {
  + throw new NullPointerException(
  + Localizer.getMessage(jsp.error.attribute.null_name));
  + }
  +
if (scope == PAGE_SCOPE) {
if (value != null) {
pageAttributes.put(name, value);
  
  
  
  1.43  +19 -10
jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/runtime/PageContextImpl.java
  
  Index: PageContextImpl.java
  ===
  RCS file: 
/home/cvs/jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/runtime/PageContextImpl.java,v
  retrieving revision 1.42
  retrieving revision 1.43
  diff -u -r1.42 -r1.43
  --- PageContextImpl.java  11 Feb 2003 21:43:58 -  1.42
  +++ PageContextImpl.java  13 Feb 2003 23:26:42 -  1.43
  @@ -265,14 +265,20 @@
   }
   
   public Object getAttribute(String name) {
  - if (name == null)
  - throw new NullPointerException(Null name);
  +
  + if (name == null) {
  + throw new NullPointerException(
  + Localizer.getMessage(jsp.error.attribute.null_name));
  + }
return attributes.get(name);
   }
   
   public Object getAttribute(String name, int scope) {
  - if (name == null)
  - throw new NullPointerException(Null name);
  +
  + if (name == null) {
  + throw new NullPointerException(
  + Localizer.getMessage(jsp.error.attribute.null_name));
  + }
   
switch (scope) {
case PAGE_SCOPE:
  @@ -297,8 +303,10 @@
   }
   
   public void setAttribute(String name, Object 

cvs commit: jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/runtime JspContextWrapper.java

2003-02-06 Thread kinman
kinman  2003/02/06 18:51:32

  Modified:jasper2/src/share/org/apache/jasper/runtime
JspContextWrapper.java
  Log:
  - Fix 16865: JspContextWrapper needs its own variableResolver
  
  Revision  ChangesPath
  1.14  +13 -11
jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/runtime/JspContextWrapper.java
  
  Index: JspContextWrapper.java
  ===
  RCS file: 
/home/cvs/jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/runtime/JspContextWrapper.java,v
  retrieving revision 1.13
  retrieving revision 1.14
  diff -u -r1.13 -r1.14
  --- JspContextWrapper.java28 Jan 2003 22:06:28 -  1.13
  +++ JspContextWrapper.java7 Feb 2003 02:51:32 -   1.14
  @@ -87,6 +87,7 @@
   import javax.servlet.jsp.el.ELException;
   import javax.servlet.jsp.el.ExpressionEvaluator;
   import javax.servlet.jsp.el.VariableResolver;
  +import org.apache.commons.el.VariableResolverImpl;
   
   /**
* Implementation of a JSP Context Wrapper.
  @@ -120,6 +121,12 @@
   
   private Hashtable originalNestedVars;
   
  +/**
  + * The variable resolver, for evaluating EL expressions.
  + */
  +private VariableResolverImpl variableResolver
  += new VariableResolverImpl(this);
  +
   public JspContextWrapper(JspContext jspContext, ArrayList nestedVars,
 ArrayList atBeginVars, ArrayList atEndVars,
 Map aliases) {
  @@ -272,7 +279,7 @@
   }
   
   public VariableResolver getVariableResolver() {
  - return null; // XXX
  + return this;
   }
   
   public BodyContent pushBody() {
  @@ -308,14 +315,9 @@
   /**
* VariableResolver interface
*/
  -public Object resolveVariable( String pName )
  -throws ELException
  +public Object resolveVariable( String pName ) throws ELException
   {
  - if (invokingJspCtxt instanceof PageContextImpl) {
  - return ((PageContextImpl) invokingJspCtxt).resolveVariable(pName);
  - }
  -
  - return ((JspContextWrapper) invokingJspCtxt).resolveVariable(pName);
  +return variableResolver.resolveVariable(pName);
   }
   
   /**
  
  
  

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]




cvs commit: jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/runtime JspContextWrapper.java

2003-01-28 Thread kinman
kinman  2003/01/28 14:06:28

  Modified:jasper2/src/share/org/apache/jasper/compiler Collector.java
Generator.java
   jasper2/src/share/org/apache/jasper/runtime
JspContextWrapper.java
  Log:
  - Encapsulate scope variable synchromizations in JspContextWrapper.
  - Aliases should not generate scripting variables.
  
  Revision  ChangesPath
  1.8   +5 -4  
jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/Collector.java
  
  Index: Collector.java
  ===
  RCS file: 
/home/cvs/jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/Collector.java,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- Collector.java30 Oct 2002 17:41:22 -  1.7
  +++ Collector.java28 Jan 2003 22:06:27 -  1.8
  @@ -188,8 +188,9 @@
   
   if( (n instanceof Node.CustomTag)  !hasScriptingVars) {
   Node.CustomTag ct = (Node.CustomTag)n;
  - hasScriptingVars = ct.getVariableInfos().length  0
  - || ct.getTagVariableInfos().length  0;
  + hasScriptingVars = ct.getTagFileInfo() != null 
  + (ct.getVariableInfos().length  0 ||
  +  ct.getTagVariableInfos().length  0);
}
   
// Record if the tag element and its body contains any scriptlet.
  
  
  
  1.156 +32 -18
jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/Generator.java
  
  Index: Generator.java
  ===
  RCS file: 
/home/cvs/jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/Generator.java,v
  retrieving revision 1.155
  retrieving revision 1.156
  diff -u -r1.155 -r1.156
  --- Generator.java28 Jan 2003 01:42:57 -  1.155
  +++ Generator.java28 Jan 2003 22:06:27 -  1.156
  @@ -291,6 +291,10 @@
varName = n.getTagData().getAttributeString(
tagVarInfos[i].getNameFromAttribute());
}
  + else if (tagVarInfos[i].getNameFromAttribute() != null) {
  + // alias
  + continue;
  + }
String tmpVarName = _jspx_ + varName + _
+ n.getCustomNestingLevel();
if (!vars.contains(tmpVarName)) {
  @@ -1793,8 +1797,7 @@
   
// Copy virtual page scope of tag file to page scope of invoking
// page
  - out.printil(((org.apache.jasper.runtime.JspContextWrapper) 
this.jspContext).copyTagToPageScope(javax.servlet.jsp.tagext.VariableInfo.NESTED););
  - out.printil(((org.apache.jasper.runtime.JspContextWrapper) 
this.jspContext).copyTagToPageScope(javax.servlet.jsp.tagext.VariableInfo.AT_BEGIN););
  + out.printil(((org.apache.jasper.runtime.JspContextWrapper) 
this.jspContext).syncBeforeInvoke(););
   
// Invoke fragment
String varReaderAttr = n.getTextAttribute(varReader);
  @@ -1813,8 +1816,7 @@
out.pushIndent();
// Copy page scope of invoking page back to virtual page scope of
// tag file
  - out.printil(((org.apache.jasper.runtime.JspContextWrapper) 
this.jspContext).copyPageToTagScope(javax.servlet.jsp.tagext.VariableInfo.NESTED););
  - out.printil(((org.apache.jasper.runtime.JspContextWrapper) 
this.jspContext).copyPageToTagScope(javax.servlet.jsp.tagext.VariableInfo.AT_BEGIN););
  + out.printil(((org.apache.jasper.runtime.JspContextWrapper) 
this.jspContext).syncAfterInvoke(););
out.popIndent();
out.printil(});
   
  @@ -1841,8 +1843,7 @@
   
// Copy virtual page scope of tag file to page scope of invoking
// page
  - out.printil(((org.apache.jasper.runtime.JspContextWrapper) 
this.jspContext).copyTagToPageScope(javax.servlet.jsp.tagext.VariableInfo.NESTED););
  - out.printil(((org.apache.jasper.runtime.JspContextWrapper) 
this.jspContext).copyTagToPageScope(javax.servlet.jsp.tagext.VariableInfo.AT_BEGIN););
  + out.printil(((org.apache.jasper.runtime.JspContextWrapper) 
this.jspContext).syncBeforeInvoke(););
   
// Invoke body
String varReaderAttr = n.getTextAttribute(varReader);
  @@ -1863,8 +1864,7 @@
out.pushIndent();
// Copy page scope of invoking page back to virtual page scope of
// tag file
  - out.printil(((org.apache.jasper.runtime.JspContextWrapper) 
this.jspContext).copyPageToTagScope(javax.servlet.jsp.tagext.VariableInfo.NESTED););
  - out.printil(((org.apache.jasper.runtime.JspContextWrapper) 

cvs commit: jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/runtime JspContextWrapper.java

2003-01-27 Thread kinman
kinman  2003/01/27 16:13:39

  Modified:jasper2/src/share/org/apache/jasper/compiler Generator.java
TagFileProcessor.java
   jasper2/src/share/org/apache/jasper/resources
messages.properties messages_es.properties
messages_fr.properties messages_ja.properties
   jasper2/src/share/org/apache/jasper/runtime
JspContextWrapper.java
  Log:
  - Implements name-from-attribute and alias in variable directives in tag file
  
  Revision  ChangesPath
  1.154 +66 -19
jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/Generator.java
  
  Index: Generator.java
  ===
  RCS file: 
/home/cvs/jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/Generator.java,v
  retrieving revision 1.153
  retrieving revision 1.154
  diff -u -r1.153 -r1.154
  --- Generator.java22 Jan 2003 20:54:54 -  1.153
  +++ Generator.java28 Jan 2003 00:13:37 -  1.154
  @@ -2478,6 +2478,43 @@
return attrValue;
}
   
  + /**
  +  * Generate code to create a map for the alias variables
  +  * @return the name of the map
  +  */
  + private String generateAliasMap(Node.CustomTag n, String tagHandlerVar)
  + throws JasperException {
  +
  + TagInfo tagInfo = n.getTagInfo();
  + TagVariableInfo[] tagVars = tagInfo.getTagVariableInfos();
  + String aliasMapVar = null;
  +
  + boolean aliasSeen = false;
  + for (int i=0; itagVars.length; i++) {
  +
  + String nameFrom = tagVars[i].getNameFromAttribute();
  + if (nameFrom != null) {
  + String aliaseName = n.getAttributeValue(nameFrom);
  + if (aliaseName == null) continue;
  +
  + if ( ! aliasSeen ) {
  + out.printin(java.util.HashMap );
  + aliasMapVar = tagHandlerVar+_aliasMap;
  + out.print(aliasMapVar);
  + out.println( = new java.util.HashMap(););
  + aliasSeen = true;
  + }
  + out.printin(aliasMapVar);
  + out.print(.put();
  + out.print(quote(tagVars[i].getNameGiven()));
  + out.print(, );
  + out.print(quote(aliaseName));
  + out.println(););
  + }
  + }
  + return aliasMapVar;
  + }
  +
private void generateSetters(Node.CustomTag n,
 String tagHandlerVar,
 TagHandlerInfo handlerInfo,
  @@ -2485,10 +2522,15 @@
throws JasperException {
   
// Set context
  - out.printin(tagHandlerVar);
if (simpleTag) {
  - out.println(.setJspContext(pageContext););
  + // Generate alias map 
  + String aliasMapVar= generateAliasMap(n, tagHandlerVar);
  + out.printin(tagHandlerVar);
  + out.print(.setJspContext(pageContext, );
  + out.print(aliasMapVar);
  + out.println(););
} else {
  + out.printin(tagHandlerVar);
out.println(.setPageContext(pageContext););
}
   
  @@ -3132,7 +3174,12 @@
* sync AT_BEGIN and AT_END scripting variables.
*/
   private void generateSetJspContext(TagInfo tagInfo) {
  -out.printil(public void setJspContext( JspContext ctx ) {);
  +
  + boolean nestedSeen = false;
  + boolean atBeginSeen = false;
  + boolean atEndSeen = false;
  +
  +out.printil(public void setJspContext(JspContext ctx, java.util.Map 
aliasMap) {);
   out.pushIndent();
   out.printil(super.setJspContext(ctx););
TagVariableInfo[] tagVars = tagInfo.getTagVariableInfos();
  @@ -3144,26 +3191,26 @@
   
switch(tagVars[i].getScope()) {
case VariableInfo.NESTED:
  - out.printil(if (_jspx_nested == null));
  - out.pushIndent();
  - out.printil(_jspx_nested = new java.util.ArrayList(););
  - out.popIndent();
  + if ( ! nestedSeen ) {
  + out.printil(_jspx_nested = new java.util.ArrayList(););
  + nestedSeen = true;
  + }
out.printin(_jspx_nested.add();
break;
   
case VariableInfo.AT_BEGIN:
  - out.printil(if (_jspx_at_begin == null));
  - out.pushIndent();
  - out.printil(_jspx_at_begin = new java.util.ArrayList(););
  - out.popIndent();
  + if ( ! atBeginSeen ) {
  + out.printil(_jspx_at_begin = new java.util.ArrayList(););
  + atBeginSeen = true;
  + }

cvs commit: jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/runtime JspContextWrapper.java

2003-01-27 Thread kinman
kinman  2003/01/27 17:42:57

  Modified:jasper2/src/share/org/apache/jasper/compiler Generator.java
   jasper2/src/share/org/apache/jasper/runtime
JspContextWrapper.java
  Log:
  - Suppress generation of alias map if there is no aliases.
  
  Revision  ChangesPath
  1.155 +33 -10
jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/Generator.java
  
  Index: Generator.java
  ===
  RCS file: 
/home/cvs/jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/Generator.java,v
  retrieving revision 1.154
  retrieving revision 1.155
  diff -u -r1.154 -r1.155
  --- Generator.java28 Jan 2003 00:13:37 -  1.154
  +++ Generator.java28 Jan 2003 01:42:57 -  1.155
  @@ -2487,7 +2487,7 @@
   
TagInfo tagInfo = n.getTagInfo();
TagVariableInfo[] tagVars = tagInfo.getTagVariableInfos();
  - String aliasMapVar = null;
  + String aliasMapVar = null;
   
boolean aliasSeen = false;
for (int i=0; itagVars.length; i++) {
  @@ -2526,9 +2526,14 @@
// Generate alias map 
String aliasMapVar= generateAliasMap(n, tagHandlerVar);
out.printin(tagHandlerVar);
  - out.print(.setJspContext(pageContext, );
  - out.print(aliasMapVar);
  - out.println(););
  + if (aliasMapVar == null) {
  + out.print(.setJspContext(pageContext););
  + }
  + else {
  + out.print(.setJspContext(pageContext, );
  + out.print(aliasMapVar);
  + out.println(););
  + }
} else {
out.printin(tagHandlerVar);
out.println(.setPageContext(pageContext););
  @@ -3179,10 +3184,24 @@
boolean atBeginSeen = false;
boolean atEndSeen = false;
   
  -out.printil(public void setJspContext(JspContext ctx, java.util.Map 
aliasMap) {);
  + // Determine if there is any aliases
  + boolean aliasSeen = false;
  + TagVariableInfo[] tagVars = tagInfo.getTagVariableInfos();
  + for (int i=0; itagVars.length; i++) {
  + if (tagVars[i].getNameFromAttribute() != null) {
  + aliasSeen = true;
  + break;
  + }
  + }
  +
  + if (aliasSeen) {
  +out.printil(public void setJspContext(JspContext ctx, java.util.Map 
aliasMap) {);
  + }
  + else {
  + out.printil(public void setJspContext(JspContext ctx) {);
  + }
   out.pushIndent();
   out.printil(super.setJspContext(ctx););
  - TagVariableInfo[] tagVars = tagInfo.getTagVariableInfos();
out.printil(java.util.ArrayList _jspx_nested = null;);
out.printil(java.util.ArrayList _jspx_at_begin = null;);
out.printil(java.util.ArrayList _jspx_at_end = null;);
  @@ -3218,7 +3237,11 @@
out.print(quote(tagVars[i].getNameGiven()));
out.println(););
}
  - out.printil(this.jspContext = new 
org.apache.jasper.runtime.JspContextWrapper(ctx, _jspx_nested, _jspx_at_begin, 
_jspx_at_end, aliasMap););
  + if (aliasSeen) {
  + out.printil(this.jspContext = new 
org.apache.jasper.runtime.JspContextWrapper(ctx, _jspx_nested, _jspx_at_begin, 
_jspx_at_end, aliasMap););
  + } else {
  + out.printil(this.jspContext = new 
org.apache.jasper.runtime.JspContextWrapper(ctx, _jspx_nested, _jspx_at_begin, 
_jspx_at_end, null););
  + }
out.popIndent();
   out.printil(});
   out.println();
  
  
  
  1.12  +6 -3  
jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/runtime/JspContextWrapper.java
  
  Index: JspContextWrapper.java
  ===
  RCS file: 
/home/cvs/jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/runtime/JspContextWrapper.java,v
  retrieving revision 1.11
  retrieving revision 1.12
  diff -u -r1.11 -r1.12
  --- JspContextWrapper.java28 Jan 2003 00:13:39 -  1.11
  +++ JspContextWrapper.java28 Jan 2003 01:42:57 -  1.12
  @@ -438,6 +438,9 @@
*/
   private String findAlias(String varName) {
   
  + if (aliases == null)
  + return varName;
  +
String alias = (String) aliases.get(varName);
if (alias == null) {
return varName;
  
  
  

--
To unsubscribe, e-mail:   mailto:[EMAIL PROTECTED]
For additional commands, e-mail: mailto:[EMAIL PROTECTED]




cvs commit: jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/runtime JspContextWrapper.java

2002-12-03 Thread luehe
luehe   2002/12/03 15:17:48

  Modified:jasper2/src/share/org/apache/jasper/compiler Generator.java
   jasper2/src/share/org/apache/jasper/runtime
JspContextWrapper.java
  Log:
  Performance improvement:
  Pass ArrayList (instead of Vector) of scripting variables to
  JSP Context Wrapper constructor: ArrayList is not synchronized.
  
  Revision  ChangesPath
  1.134 +12 -12
jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/Generator.java
  
  Index: Generator.java
  ===
  RCS file: 
/home/cvs/jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/Generator.java,v
  retrieving revision 1.133
  retrieving revision 1.134
  diff -u -r1.133 -r1.134
  --- Generator.java28 Nov 2002 04:18:08 -  1.133
  +++ Generator.java3 Dec 2002 23:17:48 -   1.134
  @@ -3043,9 +3043,9 @@
   out.pushIndent();
   out.printil(super.setJspContext(ctx););
TagVariableInfo[] tagVars = tagInfo.getTagVariableInfos();
  - out.printil(java.util.Vector _jspx_nested = null;);
  - out.printil(java.util.Vector _jspx_at_begin = null;);
  - out.printil(java.util.Vector _jspx_at_end = null;);
  + out.printil(java.util.ArrayList _jspx_nested = null;);
  + out.printil(java.util.ArrayList _jspx_at_begin = null;);
  + out.printil(java.util.ArrayList _jspx_at_end = null;);
   
for (int i=0; itagVars.length; i++) {
   
  @@ -3053,25 +3053,25 @@
case VariableInfo.NESTED:
out.printil(if (_jspx_nested == null));
out.pushIndent();
  - out.printil(_jspx_nested = new java.util.Vector(););
  + out.printil(_jspx_nested = new java.util.ArrayList(););
out.popIndent();
  - out.printin(_jspx_nested.addElement();
  + out.printin(_jspx_nested.add();
break;
   
case VariableInfo.AT_BEGIN:
out.printil(if (_jspx_at_begin == null));
out.pushIndent();
  - out.printil(_jspx_at_begin = new java.util.Vector(););
  + out.printil(_jspx_at_begin = new java.util.ArrayList(););
out.popIndent();
  - out.printin(_jspx_at_begin.addElement();
  + out.printin(_jspx_at_begin.add();
break;
   
case VariableInfo.AT_END:
out.printil(if (_jspx_at_end == null));
out.pushIndent();
  - out.printil(_jspx_at_end = new java.util.Vector(););
  + out.printil(_jspx_at_end = new java.util.ArrayList(););
out.popIndent();
  - out.printin(_jspx_at_end.addElement();
  + out.printin(_jspx_at_end.add();
break;
} // switch

  
  
  
  1.9   +12 -12
jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/runtime/JspContextWrapper.java
  
  Index: JspContextWrapper.java
  ===
  RCS file: 
/home/cvs/jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/runtime/JspContextWrapper.java,v
  retrieving revision 1.8
  retrieving revision 1.9
  diff -u -r1.8 -r1.9
  --- JspContextWrapper.java13 Nov 2002 17:40:41 -  1.8
  +++ JspContextWrapper.java3 Dec 2002 23:17:48 -   1.9
  @@ -66,7 +66,7 @@
   
   import java.util.Enumeration;
   import java.util.Hashtable;
  -import java.util.Vector;
  +import java.util.ArrayList;
   import java.util.Iterator;
   
   import javax.servlet.Servlet;
  @@ -106,19 +106,19 @@
   
   private transient Hashtable  pageAttributes;
   
  -// Vector of NESTED scripting variables
  -private Vector nestedVars;
  +// ArrayList of NESTED scripting variables
  +private ArrayList nestedVars;
   
  -// Vector of AT_BEGIN scripting variables
  -private Vector atBeginVars;
  +// ArrayList of AT_BEGIN scripting variables
  +private ArrayList atBeginVars;
   
  -// Vector of AT_END scripting variables
  -private Vector atEndVars;
  +// ArrayList of AT_END scripting variables
  +private ArrayList atEndVars;
   
   private Hashtable originalNestedVars;
   
  -public JspContextWrapper(JspContext jspContext, Vector nestedVars,
  -  Vector atBeginVars, Vector atEndVars) {
  +public JspContextWrapper(JspContext jspContext, ArrayList nestedVars,
  +  ArrayList atBeginVars, ArrayList atEndVars) {
   this.invokingJspCtxt = (PageContext) jspContext;
this.nestedVars = nestedVars;
this.atBeginVars = atBeginVars;
  
  
  

--
To unsubscribe, e-mail:   mailto:[EMAIL PROTECTED]
For additional commands, e-mail: mailto:[EMAIL PROTECTED]




cvs commit: jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/runtime JspContextWrapper.java

2002-11-13 Thread luehe
luehe   2002/11/13 09:40:43

  Modified:jasper2/src/share/org/apache/jasper/compiler Generator.java
   jasper2/src/share/org/apache/jasper/runtime
JspContextWrapper.java
  Log:
  JspContextWrapper: Allocate vectors for nested, at_begin, and at_end
  variables only if needed.
  
  Revision  ChangesPath
  1.125 +22 -6 
jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/Generator.java
  
  Index: Generator.java
  ===
  RCS file: 
/home/cvs/jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/Generator.java,v
  retrieving revision 1.124
  retrieving revision 1.125
  diff -u -r1.124 -r1.125
  --- Generator.java8 Nov 2002 19:55:47 -   1.124
  +++ Generator.java13 Nov 2002 17:40:38 -  1.125
   -3031,19 +3031,35 
   out.printil(public void setJspContext( JspContext ctx ) {);
   out.pushIndent();
   out.printil(super.setJspContext(ctx););
  - out.printil(java.util.Vector _jspx_nested = new java.util.Vector(););
  - out.printil(java.util.Vector _jspx_at_begin = new java.util.Vector(););
  - out.printil(java.util.Vector _jspx_at_end = new java.util.Vector(););
TagVariableInfo[] tagVars = tagInfo.getTagVariableInfos();
  + out.printil(java.util.Vector _jspx_nested = null;);
  + out.printil(java.util.Vector _jspx_at_begin = null;);
  + out.printil(java.util.Vector _jspx_at_end = null;);
  +
for (int i=0; itagVars.length; i++) {
  +
switch(tagVars[i].getScope()) {
case VariableInfo.NESTED:
  + out.printil(if (_jspx_nested == null));
  + out.pushIndent();
  + out.printil(_jspx_nested = new java.util.Vector(););
  + out.popIndent();
out.printin(_jspx_nested.addElement();
break;
  +
case VariableInfo.AT_BEGIN:
  + out.printil(if (_jspx_at_begin == null));
  + out.pushIndent();
  + out.printil(_jspx_at_begin = new java.util.Vector(););
  + out.popIndent();
out.printin(_jspx_at_begin.addElement();
break;
  +
case VariableInfo.AT_END:
  + out.printil(if (_jspx_at_end == null));
  + out.pushIndent();
  + out.printil(_jspx_at_end = new java.util.Vector(););
  + out.popIndent();
out.printin(_jspx_at_end.addElement();
break;
} // switch
  
  
  
  1.8   +41 -26
jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/runtime/JspContextWrapper.java
  
  Index: JspContextWrapper.java
  ===
  RCS file: 
/home/cvs/jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/runtime/JspContextWrapper.java,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- JspContextWrapper.java1 Nov 2002 01:13:47 -   1.7
  +++ JspContextWrapper.java13 Nov 2002 17:40:41 -  1.8
   -124,8 +124,9 
this.atBeginVars = atBeginVars;
this.atEndVars = atEndVars;
this.pageAttributes = new Hashtable(16);
  - this.originalNestedVars = new Hashtable(nestedVars.size());
  -
  + if (nestedVars != null) {
  + this.originalNestedVars = new Hashtable(nestedVars.size());
  + }
copyPageToTagScope(VariableInfo.AT_BEGIN);
saveNestedVariables();
   }
   -326,14 +327,18 
   
switch (scope) {
case VariableInfo.NESTED:
  - iter = nestedVars.iterator();
  + if (nestedVars != null) {
  + iter = nestedVars.iterator();
  + }
break;
case VariableInfo.AT_BEGIN:
  - iter = atBeginVars.iterator();
  + if (atBeginVars != null) {
  + iter = atBeginVars.iterator();
  + }
break;
}
   
  - while (iter.hasNext()) {
  + while ((iter != null)  iter.hasNext()) {
String varName = (String) iter.next();
Object obj = invokingJspCtxt.getAttribute(varName);
if (obj != null) {
   -353,17 +358,23 
   
switch (scope) {
case VariableInfo.NESTED:
  - iter = nestedVars.iterator();
  + if (nestedVars != null) {
  + iter = nestedVars.iterator();
  + }
break;
case VariableInfo.AT_BEGIN:
  - iter = atBeginVars.iterator();
  + if (atBeginVars != null) {
  + iter = atBeginVars.iterator();
  + }
break;
case VariableInfo.AT_END:
  - iter = atEndVars.iterator();
  + if (atEndVars != null) {
  + iter = atEndVars.iterator();
  + }
break;
}
   
  - while (iter.hasNext()) {
  + while ((iter != null)  iter.hasNext()) {
String varName = 

cvs commit: jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/runtime JspContextWrapper.java

2002-10-31 Thread luehe
luehe   2002/10/31 17:13:48

  Modified:jasper2/src/share/org/apache/jasper/runtime
JspContextWrapper.java
  Log:
  - Fixed removeAttribute(String name).
  - If variable doesn't exist in the tag scope, remove it from the
calling page scope during synchronization.
  
  Revision  ChangesPath
  1.7   +11 -5 
jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/runtime/JspContextWrapper.java
  
  Index: JspContextWrapper.java
  ===
  RCS file: 
/home/cvs/jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/runtime/JspContextWrapper.java,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- JspContextWrapper.java28 Oct 2002 18:16:21 -  1.6
  +++ JspContextWrapper.java1 Nov 2002 01:13:47 -   1.7
   -180,8 +180,12 
   }
   
   public void removeAttribute(String name) {
  - removeAttribute(name, PAGE_SCOPE);
  - invokingJspCtxt.removeAttribute(name);
  + pageAttributes.remove(name);
  + invokingJspCtxt.removeAttribute(name, REQUEST_SCOPE);
  + if (getSession() != null) {
  + invokingJspCtxt.removeAttribute(name, SESSION_SCOPE);
  + }
  + invokingJspCtxt.removeAttribute(name, APPLICATION_SCOPE);
   }
   
   public void removeAttribute(String name, int scope) {
   -364,6 +368,8 
Object obj = getAttribute(varName);
if (obj != null) {
invokingJspCtxt.setAttribute(varName, obj);
  + } else {
  + invokingJspCtxt.removeAttribute(varName, PAGE_SCOPE);
}
}
   }
  
  
  

--
To unsubscribe, e-mail:   mailto:tomcat-dev-unsubscribe;jakarta.apache.org
For additional commands, e-mail: mailto:tomcat-dev-help;jakarta.apache.org




cvs commit: jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/runtime JspContextWrapper.java

2002-10-03 Thread luehe

luehe   2002/10/03 09:50:05

  Modified:jasper2/src/share/org/apache/jasper/runtime
JspContextWrapper.java
  Log:
  Changed class comment
  
  Revision  ChangesPath
  1.4   +9 -5  
jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/runtime/JspContextWrapper.java
  
  Index: JspContextWrapper.java
  ===
  RCS file: 
/home/cvs/jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/runtime/JspContextWrapper.java,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- JspContextWrapper.java12 Sep 2002 20:48:17 -  1.3
  +++ JspContextWrapper.java3 Oct 2002 16:50:05 -   1.4
  @@ -84,8 +84,12 @@
   import javax.servlet.jsp.el.VariableResolver;
   
   /**
  - * A wrapper class for PageContext class used for providing a tempory
  - * page scope for invoking a fragment
  + * Implementation of a JSP Context Wrapper.
  + *
  + * The JSP Context Wrapper is a JspContext created and maintained by a tag
  + * handler implementation. It wraps the Invoking JSP Context, that is, the
  + * JspContext instance passed to the tag handler by the invoking page via
  + * setJspContext().
*
* @author Kin-man Chung
*/
  
  
  

--
To unsubscribe, e-mail:   mailto:[EMAIL PROTECTED]
For additional commands, e-mail: mailto:[EMAIL PROTECTED]




cvs commit: jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/runtime JspContextWrapper.java

2002-09-12 Thread kinman

kinman  2002/09/12 13:48:17

  Modified:jasper2/src/share/org/apache/jasper/compiler
TagFileProcessor.java
   jasper2/src/share/org/apache/jasper/runtime
JspContextWrapper.java
  Log:
  - pageInfo can be null if the page is not compiled.
  - JspContextWrapper needs to implement VariableResolver interface.
  
  Revision  ChangesPath
  1.27  +7 -5  
jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/TagFileProcessor.java
  
  Index: TagFileProcessor.java
  ===
  RCS file: 
/home/cvs/jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/TagFileProcessor.java,v
  retrieving revision 1.26
  retrieving revision 1.27
  diff -u -r1.26 -r1.27
  --- TagFileProcessor.java 11 Sep 2002 21:50:02 -  1.26
  +++ TagFileProcessor.java 12 Sep 2002 20:48:17 -  1.27
  @@ -387,9 +387,11 @@
// dependant list.
PageInfo pageInfo = wrapper.getJspEngineContext().getCompiler().
getPageInfo();
  - Iterator iter = pageInfo.getDependants().iterator();
  - if (iter.hasNext()) {
  - parentPageInfo.addDependant((String)iter.next());
  + if (pageInfo != null) {
  + Iterator iter = pageInfo.getDependants().iterator();
  + if (iter.hasNext()) {
  + parentPageInfo.addDependant((String)iter.next());
  + }
}
   
return tagClass;
  
  
  
  1.3   +20 -4 
jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/runtime/JspContextWrapper.java
  
  Index: JspContextWrapper.java
  ===
  RCS file: 
/home/cvs/jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/runtime/JspContextWrapper.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- JspContextWrapper.java19 Aug 2002 16:54:17 -  1.2
  +++ JspContextWrapper.java12 Sep 2002 20:48:17 -  1.3
  @@ -79,6 +79,7 @@
   import javax.servlet.jsp.JspWriter;
   import javax.servlet.jsp.tagext.BodyContent;
   import javax.servlet.jsp.JspException;
  +import javax.servlet.jsp.el.ELException;
   import javax.servlet.jsp.el.ExpressionEvaluator;
   import javax.servlet.jsp.el.VariableResolver;
   
  @@ -88,7 +89,7 @@
*
* @author Kin-man Chung
*/
  -public class JspContextWrapper extends PageContext {
  +public class JspContextWrapper extends PageContext implements VariableResolver {
   
   private PageContext pageContext;
   private transient Hashtable  pageAttributes;
  @@ -248,5 +249,20 @@
   throws IOException, ServletException 
   {
pageContext.handlePageException(t);
  +}
  +
  +/**
  + * VariableResolver interface
  + */
  +public Object resolveVariable( String pName, Object pContext )
  +throws ELException
  +{
  + if (pageContext instanceof PageContextImpl) {
  + return ((PageContextImpl)pageContext).
  + resolveVariable(pName, pContext);
  + }
  +
  + return ((JspContextWrapper)pageContext).
  + resolveVariable(pName, pContext);
   }
   }
  
  
  

--
To unsubscribe, e-mail:   mailto:[EMAIL PROTECTED]
For additional commands, e-mail: mailto:[EMAIL PROTECTED]




cvs commit: jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/runtime JspContextWrapper.java

2002-08-12 Thread kinman

kinman  2002/08/12 15:55:39

  Added:   jasper2/src/share/org/apache/jasper/runtime
JspContextWrapper.java
  Log:
  - Forgot to add this one.
  
  Revision  ChangesPath
  1.1  
jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/runtime/JspContextWrapper.java
  
  Index: JspContextWrapper.java
  ===
  /*
   * $Header: 
/home/cvs/jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/runtime/JspContextWrapper.java,v
 1.1 2002/08/12 22:55:39 kinman Exp $
   * $Revision: 1.1 $
   * $Date: 2002/08/12 22:55:39 $
   *
   * 
   *
   * The Apache Software License, Version 1.1
   *
   * Copyright (c) 1999 The Apache Software Foundation.  All rights
   * reserved.
   *
   * Redistribution and use in source and binary forms, with or without
   * modification, are permitted provided that the following conditions
   * are met:
   *
   * 1. Redistributions of source code must retain the above copyright
   *notice, this list of conditions and the following disclaimer.
   *
   * 2. Redistributions in binary form must reproduce the above copyright
   *notice, this list of conditions and the following disclaimer in
   *the documentation and/or other materials provided with the
   *distribution.
   *
   * 3. The end-user documentation included with the redistribution, if
   *any, must include the following acknowlegement:
   *   This product includes software developed by the
   *Apache Software Foundation (http://www.apache.org/).
   *Alternately, this acknowlegement may appear in the software itself,
   *if and wherever such third-party acknowlegements normally appear.
   *
   * 4. The names The Jakarta Project, Tomcat, and Apache Software
   *Foundation must not be used to endorse or promote products derived
   *from this software without prior written permission. For written
   *permission, please contact [EMAIL PROTECTED]
   *
   * 5. Products derived from this software may not be called Apache
   *nor may Apache appear in their names without prior written
   *permission of the Apache Group.
   *
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
   * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
   * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
   * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
   * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
   * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
   * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
   * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
   * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
   * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
   * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
   * SUCH DAMAGE.
   * 
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation.  For more
   * information on the Apache Software Foundation, please see
   * http://www.apache.org/.
   *
   */
  
  package org.apache.jasper.runtime;
  
  import java.io.IOException;
  
  import java.util.Enumeration;
  import java.util.Hashtable;
  
  import javax.servlet.Servlet;
  import javax.servlet.ServletConfig;
  import javax.servlet.ServletContext;
  import javax.servlet.ServletRequest;
  import javax.servlet.ServletResponse;
  import javax.servlet.ServletException;
  import javax.servlet.http.HttpSession;
  
  import javax.servlet.jsp.JspContext;
  import javax.servlet.jsp.PageContext;
  import javax.servlet.jsp.JspWriter;
  import javax.servlet.jsp.tagext.BodyContent;
  import javax.servlet.jsp.JspException;
  import javax.servlet.jsp.el.ExpressionEvaluator;
  
  /**
   * A wrapper class for PageContext class used for providing a tempory
   * page scope for invoking a fragment
   *
   * @author Kin-man Chung
   */
  public class JspContextWrapper extends PageContext {
  
  private PageContext pageContext;
  private transient Hashtable   pageAttributes;
  
  public JspContextWrapper(JspContext jspContext) {
  this.pageContext = (PageContext) jspContext;
this.pageAttributes = new Hashtable(16);
  }
  
  public void initialize(Servlet servlet, ServletRequest request,
 ServletResponse response, String errorPageURL,
 boolean needsSession, int bufferSize,
 boolean autoFlush)
  throws IOException, IllegalStateException, IllegalArgumentException
  {
  }
  
  public Object getAttribute(String name) {
return pageAttributes.get(name);