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

Reply via email to