Override containsKey() (where it makes sense) to call
through to the underlying object instead
of leveraging the default implementation of containsKey()
which will create a Map.Entry for each value (wasteful)
For this case, the default implemenation is unecessary.
SECTION: Modified Files
----------------------------
M src/com/sun/faces/context/ExternalContextImpl.java
SECTION: Diffs
----------------------------
Index: src/com/sun/faces/context/ExternalContextImpl.java
===================================================================
RCS file:
/cvs/javaserverfaces-sources/jsf-ri/src/com/sun/faces/context/ExternalContextImpl.java,v
retrieving revision 1.48
diff -u -r1.48 ExternalContextImpl.java
--- src/com/sun/faces/context/ExternalContextImpl.java 17 May 2006
19:00:45 -0000 1.48
+++ src/com/sun/faces/context/ExternalContextImpl.java 18 May 2006
21:16:52 -0000
@@ -873,6 +873,10 @@
}
+ @Override public boolean containsKey(Object key) {
+ return (servletContext.getAttribute(key.toString()) != null);
+ }
+
public boolean equals(Object obj) {
if (obj == null || !(obj instanceof ApplicationMap)) {
return false;
@@ -966,6 +970,11 @@
return (result);
}
+
+ @Override public boolean containsKey(Object key) {
+ return (getSession().getAttribute(key.toString()) != null);
+ }
+
public boolean equals(Object obj) {
if (obj == null || !(obj instanceof SessionMap)) {
return false;
@@ -1058,6 +1067,11 @@
return (result);
}
+
+ @Override public boolean containsKey(Object key) {
+ return (request.getAttribute(key.toString()) != null);
+ }
+
public boolean equals(Object obj) {
if (obj == null || !(obj instanceof RequestMap)) {
return false;
@@ -1119,8 +1133,13 @@
return Collections.unmodifiableCollection(super.values());
}
+
+ @Override public boolean containsKey(Object key) {
+ return (request.getParameter(key.toString()) != null);
+ }
+
public boolean equals(Object obj) {
- if (obj == null ||
+ if (obj == null ||
!(obj.getClass() ==
ExternalContextImpl.theUnmodifiableMapClass)) {
return false;
}
@@ -1169,6 +1188,11 @@
return request.getParameterValues(key.toString());
}
+
+ @Override public boolean containsKey(Object key) {
+ return (request.getParameterValues(key.toString()) != null);
+ }
+
public Set entrySet() {
return Collections.unmodifiableSet(super.entrySet());
}
@@ -1233,6 +1257,10 @@
}
+ @Override public boolean containsKey(Object key) {
+ return (request.getHeader(key.toString()) != null);
+ }
+
public boolean equals(Object obj) {
if (obj == null ||
!(obj.getClass() ==
ExternalContextImpl.theUnmodifiableMapClass)) {
@@ -1456,8 +1484,13 @@
return Collections.unmodifiableCollection(super.values());
}
+
+ @Override public boolean containsKey(Object key) {
+ return (servletContext.getInitParameter(key.toString()) != null);
+ }
+
public boolean equals(Object obj) {
- if (obj == null ||
+ if (obj == null ||
!(obj.getClass() ==
ExternalContextImpl.theUnmodifiableMapClass)) {
return false;
}