You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by jf...@apache.org on 2003/05/15 17:15:39 UTC

cvs commit: jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/core ApplicationHttpRequest.java

jfarcand    2003/05/15 08:15:38

  Modified:    catalina/src/share/org/apache/catalina/core
                        ApplicationHttpRequest.java
  Log:
  Allow the getAttribute() method access to the wrapped request object (like setAttribute/removeAttribute)
  
  Revision  Changes    Path
  1.5       +16 -6     jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/core/ApplicationHttpRequest.java
  
  Index: ApplicationHttpRequest.java
  ===================================================================
  RCS file: /home/cvs/jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/core/ApplicationHttpRequest.java,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- ApplicationHttpRequest.java	18 Feb 2003 23:49:45 -0000	1.4
  +++ ApplicationHttpRequest.java	15 May 2003 15:15:38 -0000	1.5
  @@ -70,6 +70,7 @@
   import java.util.Enumeration;
   import java.util.HashMap;
   import java.util.Iterator;
  +import java.util.Set;
   import java.util.Map;
   import javax.servlet.http.HttpServletRequest;
   import javax.servlet.http.HttpServletRequestWrapper;
  @@ -213,7 +214,11 @@
       public Object getAttribute(String name) {
   
           synchronized (attributes) {
  -            return (attributes.get(name));
  +            Object value = attributes.get(name);
  +            if (value == null && !isSpecial(name)){
  +                value = getRequest().getAttribute(name);
  +            }
  +            return value;
           }
   
       }
  @@ -226,7 +231,12 @@
       public Enumeration getAttributeNames() {
   
           synchronized (attributes) {
  -            return (new Enumerator(attributes.keySet()));
  +            Set keySet = attributes.keySet();
  +            Enumeration enum = getRequest().getAttributeNames();
  +            while(enum.hasMoreElements()){
  +                keySet.add(enum.nextElement());
  +            }
  +            return (new Enumerator(keySet));
           }
   
       }
  
  
  

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


Re: cvs commit: jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/core ApplicationHttpRequest.java

Posted by Remy Maucherat <re...@apache.org>.
jfarcand@apache.org wrote:
> jfarcand    2003/05/15 08:15:38
> 
>   Modified:    catalina/src/share/org/apache/catalina/core
>                         ApplicationHttpRequest.java
>   Log:
>   Allow the getAttribute() method access to the wrapped request object (like setAttribute/removeAttribute)

>            synchronized (attributes) {
>   -            return (attributes.get(name));
>   +            Object value = attributes.get(name);
>   +            if (value == null && !isSpecial(name)){
>   +                value = getRequest().getAttribute(name);
>   +            }
>   +            return value;
>            }
>    
>        }
>   @@ -226,7 +231,12 @@
>        public Enumeration getAttributeNames() {
>    
>            synchronized (attributes) {
>   -            return (new Enumerator(attributes.keySet()));
>   +            Set keySet = attributes.keySet();
>   +            Enumeration enum = getRequest().getAttributeNames();
>   +            while(enum.hasMoreElements()){
>   +                keySet.add(enum.nextElement());
>   +            }
>   +            return (new Enumerator(keySet));
>            }

Can you also remove all those synchronize methods ? They are not useful, 
AFAIK.

Remy


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