Author: michiel
Date: 2009-11-16 11:48:35 +0100 (Mon, 16 Nov 2009)
New Revision: 39706
Modified:
mmbase/trunk/applications/taglib/src/main/java/org/mmbase/bridge/jsp/taglib/util/BasicBacking.java
mmbase/trunk/applications/taglib/src/main/java/org/mmbase/bridge/jsp/taglib/util/CollectorBacking.java
mmbase/trunk/applications/taglib/src/main/java/org/mmbase/bridge/jsp/taglib/util/ContextCollector.java
mmbase/trunk/applications/taglib/src/test/java/org/mmbase/bridge/jsp/taglib/StringListTagTest.java
mmbase/trunk/applications/taglib/src/test/java/org/mmbase/bridge/jsp/taglib/util/BasicBackingTest.java
Log:
fixed failing test-case
Modified:
mmbase/trunk/applications/taglib/src/main/java/org/mmbase/bridge/jsp/taglib/util/BasicBacking.java
===================================================================
---
mmbase/trunk/applications/taglib/src/main/java/org/mmbase/bridge/jsp/taglib/util/BasicBacking.java
2009-11-16 10:29:24 UTC (rev 39705)
+++
mmbase/trunk/applications/taglib/src/main/java/org/mmbase/bridge/jsp/taglib/util/BasicBacking.java
2009-11-16 10:48:35 UTC (rev 39706)
@@ -11,6 +11,7 @@
package org.mmbase.bridge.jsp.taglib.util;
import javax.servlet.jsp.PageContext;
+import javax.servlet.jsp.JspTagException;
import java.util.*;
import org.mmbase.util.Casting;
import org.mmbase.util.transformers.CharTransformer;
@@ -223,14 +224,18 @@
mirrorPut(key, value, false);
}
- public Object put(String key, Object value, boolean reset) {
+ public Object put(String key, Object value, boolean reset) throws
JspTagException {
mirrorPut(key, value, reset);
return b.put(key, value);
}
@Override
public Object put(String key, Object value) {
- return put(key, value, false);
+ try {
+ return put(key, value, false);
+ } catch (JspTagException jte) {
+ throw new RuntimeException(jte);
+ }
}
// overriden for efficiency only (the implementation of AbstractMap does
not seem very efficient)
Modified:
mmbase/trunk/applications/taglib/src/main/java/org/mmbase/bridge/jsp/taglib/util/CollectorBacking.java
===================================================================
---
mmbase/trunk/applications/taglib/src/main/java/org/mmbase/bridge/jsp/taglib/util/CollectorBacking.java
2009-11-16 10:29:24 UTC (rev 39705)
+++
mmbase/trunk/applications/taglib/src/main/java/org/mmbase/bridge/jsp/taglib/util/CollectorBacking.java
2009-11-16 10:48:35 UTC (rev 39706)
@@ -47,25 +47,21 @@
}
@Override
- public Object put(String key, Object value, boolean reset) {
+ public Object put(String key, Object value, boolean reset) throws
JspTagException {
if (log.isDebugEnabled()) {
log.debug("Putting in collector " + key + "=" + value + " " +
parent);
}
- try {
- assert parent != null;
- if (reset || myKeys.contains(key)) {
- parent.reregister(key, value);
+ assert parent != null;
+ if (reset || myKeys.contains(key)) {
+ parent.reregister(key, value);
+ myKeys.add(key);
+ } else {
+ if (! parent.containsKey(key)) {
myKeys.add(key);
+ parent.register(key, value);
} else {
- if (! parent.containsKey(key)) {
- myKeys.add(key);
- parent.register(key, value);
- } else {
- parent.register(key, value);
- }
+ parent.register(key, value);
}
- } catch (JspTagException jte) {
- throw new RuntimeException(jte);
}
boolean r = reset || myKeys.contains(key);
return super.put(key, value, r);
Modified:
mmbase/trunk/applications/taglib/src/main/java/org/mmbase/bridge/jsp/taglib/util/ContextCollector.java
===================================================================
---
mmbase/trunk/applications/taglib/src/main/java/org/mmbase/bridge/jsp/taglib/util/ContextCollector.java
2009-11-16 10:29:24 UTC (rev 39705)
+++
mmbase/trunk/applications/taglib/src/main/java/org/mmbase/bridge/jsp/taglib/util/ContextCollector.java
2009-11-16 10:48:35 UTC (rev 39706)
@@ -54,10 +54,13 @@
}
@Override
protected void register(String newid, Object n, boolean check, boolean
checkParent) throws JspTagException {
- if (! check) {
+ if (! check || unregister.containsKey(newid)) {
parent.unRegister(newid);
}
- super.register(newid, n, check, checkParent);
+ //log.debug("" + unregister + " check " + check);
+ boolean c = check;
+ if (unregister.containsKey(newid)) c = false;
+ super.register(newid, n, c , checkParent);
}
@@ -70,7 +73,7 @@
if (iteratesAgain) {
for (Map.Entry<String, Object> e : backing.entrySet()) {
if (((CollectorBacking) backing).myKeys.contains(e.getKey())) {
- parent.unRegister(e.getKey());
+ //parent.unRegister(e.getKey());
unregister.put(e.getKey(), e.getValue());
}
}
Modified:
mmbase/trunk/applications/taglib/src/test/java/org/mmbase/bridge/jsp/taglib/StringListTagTest.java
===================================================================
---
mmbase/trunk/applications/taglib/src/test/java/org/mmbase/bridge/jsp/taglib/StringListTagTest.java
2009-11-16 10:29:24 UTC (rev 39705)
+++
mmbase/trunk/applications/taglib/src/test/java/org/mmbase/bridge/jsp/taglib/StringListTagTest.java
2009-11-16 10:48:35 UTC (rev 39706)
@@ -55,10 +55,12 @@
int index = 0;
+ System.out.println("" + context.getContextContainer().getClass() + " "
+ context.getContextContainer());
+ System.out.println("" + tag.getContextContainer().getClass() + " " +
tag.getContextContainer());
while (it == 2) {
tag.doInitBody();
- context.getObject("foo"); // Should not give exception
+ System.out.println("" + context.getObject("foo")); // Should not
give exception
Import.tag(pageContext, tag, "foo", "bla" + (++index), true);
Modified:
mmbase/trunk/applications/taglib/src/test/java/org/mmbase/bridge/jsp/taglib/util/BasicBackingTest.java
===================================================================
---
mmbase/trunk/applications/taglib/src/test/java/org/mmbase/bridge/jsp/taglib/util/BasicBackingTest.java
2009-11-16 10:29:24 UTC (rev 39705)
+++
mmbase/trunk/applications/taglib/src/test/java/org/mmbase/bridge/jsp/taglib/util/BasicBackingTest.java
2009-11-16 10:48:35 UTC (rev 39706)
@@ -96,7 +96,7 @@
}
@Test
- public void reset() {
+ public void reset() throws Exception {
// put something on the pageContext
// use a backing, in which we _reset_ that value
// check the pageContext
_______________________________________________
Cvs mailing list
[email protected]
http://lists.mmbase.org/mailman/listinfo/cvs