Update of /var/cvs/applications/taglib/src/org/mmbase/bridge/jsp/taglib/util
In directory james.mmbase.org:/tmp/cvs-serv22795/util
Modified Files:
Backing.java BasicBacking.java PageContextBacking.java
StandaloneContextContainer.java
Log Message:
Related to fix for MMB-1730. Make sure no pagecontexts and those kind of things
are stored in requests and sessions and so on
See also:
http://cvs.mmbase.org/viewcvs/applications/taglib/src/org/mmbase/bridge/jsp/taglib/util
See also: http://www.mmbase.org/jira/browse/MMB-1730
Index: Backing.java
===================================================================
RCS file:
/var/cvs/applications/taglib/src/org/mmbase/bridge/jsp/taglib/util/Backing.java,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -b -r1.8 -r1.9
--- Backing.java 10 Feb 2007 16:49:27 -0000 1.8
+++ Backing.java 13 Oct 2008 12:04:30 -0000 1.9
@@ -19,7 +19,7 @@
*
* @author Michiel Meeuwissen
* @since MMBase-1.8
- * @version $Id: Backing.java,v 1.8 2007/02/10 16:49:27 nklasens Exp $
+ * @version $Id: Backing.java,v 1.9 2008/10/13 12:04:30 michiel Exp $
*/
public interface Backing extends Map<String, Object> {
@@ -55,4 +55,10 @@
* @since MMBase-1.8.3
*/
public PageContext getPageContext();
+
+ /**
+ * @since MMBase-1.9
+ */
+ public Map<String, Object> getOriginalMap();
}
\ No newline at end of file
+
Index: BasicBacking.java
===================================================================
RCS file:
/var/cvs/applications/taglib/src/org/mmbase/bridge/jsp/taglib/util/BasicBacking.java,v
retrieving revision 1.13
retrieving revision 1.14
diff -u -b -r1.13 -r1.14
--- BasicBacking.java 7 Oct 2008 17:28:25 -0000 1.13
+++ BasicBacking.java 13 Oct 2008 12:04:31 -0000 1.14
@@ -28,7 +28,7 @@
* @author Michiel Meeuwissen
* @since MMBase-1.8
- * @version $Id: BasicBacking.java,v 1.13 2008/10/07 17:28:25 michiel Exp $
+ * @version $Id: BasicBacking.java,v 1.14 2008/10/13 12:04:31 michiel Exp $
*/
public class BasicBacking extends AbstractMap<String, Object> implements
Backing {
@@ -42,7 +42,7 @@
private final int uniqueNumber = ++uniqueNumbers;
protected Map<String, Object> originalPageContextValues;
- private final Map<String, Object> b = new HashMap<String, Object>(); //
the actual backing.
+ private final Map<String, Object> b; // the actual backing.
private final boolean isELIgnored;
private transient PageContext pageContext;
@@ -52,6 +52,7 @@
*/
public BasicBacking(PageContext pc, boolean ignoreEL) {
pageContext = pc;
+ b = new HashMap<String, Object>();
isELIgnored = ignoreEL || pageContext == null ||
"true".equals(pc.getServletContext().getInitParameter(ContextTag.ISELIGNORED_PARAM));
if (log.isDebugEnabled()) {
log.debug("Pushing page Context " + pc + " --> " + isELIgnored);
@@ -71,6 +72,11 @@
}
}
+ public BasicBacking(Map<String, Object> backing) {
+ pageContext = null;
+ b = backing;
+ isELIgnored = true;
+ }
public void pushPageContext(PageContext pc) {
final PageContext origPageContext = pageContext;
@@ -190,6 +196,10 @@
public Object getOriginal(String key) {
return b.get(key);
}
+
+ public Map<String, Object> getOriginalMap() {
+ return b;
+ }
public boolean containsOwnKey(String key) {
return b.containsKey(key);
}
Index: PageContextBacking.java
===================================================================
RCS file:
/var/cvs/applications/taglib/src/org/mmbase/bridge/jsp/taglib/util/PageContextBacking.java,v
retrieving revision 1.18
retrieving revision 1.19
diff -u -b -r1.18 -r1.19
--- PageContextBacking.java 7 Oct 2008 17:28:25 -0000 1.18
+++ PageContextBacking.java 13 Oct 2008 12:04:31 -0000 1.19
@@ -26,7 +26,7 @@
* @author Michiel Meeuwissen
* @since MMBase-1.8
- * @version $Id: PageContextBacking.java,v 1.18 2008/10/07 17:28:25 michiel
Exp $
+ * @version $Id: PageContextBacking.java,v 1.19 2008/10/13 12:04:31 michiel
Exp $
*/
public class PageContextBacking extends AbstractMap<String, Object>
implements Backing {
@@ -184,6 +184,10 @@
return unwrapped.containsKey(key);
}
+ public Map<String, Object> getOriginalMap() {
+ return unwrapped;
+ }
+
void release() {
nulls.clear();
unwrapped.clear();
Index: StandaloneContextContainer.java
===================================================================
RCS file:
/var/cvs/applications/taglib/src/org/mmbase/bridge/jsp/taglib/util/StandaloneContextContainer.java,v
retrieving revision 1.15
retrieving revision 1.16
diff -u -b -r1.15 -r1.16
--- StandaloneContextContainer.java 9 Oct 2008 07:50:05 -0000 1.15
+++ StandaloneContextContainer.java 13 Oct 2008 12:04:31 -0000 1.16
@@ -15,7 +15,7 @@
* This ContextContainer provides its own 'backing', it is used as
'subcontext' in other contextes.
*
* @author Michiel Meeuwissen
- * @version $Id: StandaloneContextContainer.java,v 1.15 2008/10/09 07:50:05
michiel Exp $
+ * @version $Id: StandaloneContextContainer.java,v 1.16 2008/10/13 12:04:31
michiel Exp $
* @since MMBase-1.8
**/
@@ -37,7 +37,12 @@
backing = createBacking(pc);
// values must fall through to PageContext, otherwise you always must
prefix by context, even in it.
}
- protected BasicBacking createBacking(PageContext pc) {
+ public StandaloneContextContainer(String i, java.util.Map<String, Object>
values) {
+ super(i, null);
+ backing = new BasicBacking(values);
+
+ }
+ private BasicBacking createBacking(PageContext pc) {
return new BasicBacking(pc, false);
}
_______________________________________________
Cvs mailing list
[email protected]
http://lists.mmbase.org/mailman/listinfo/cvs