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