Revision: 1465
          http://stripes.svn.sourceforge.net/stripes/?rev=1465&view=rev
Author:   bengunter
Date:     2012-02-07 15:10:54 +0000 (Tue, 07 Feb 2012)
Log Message:
-----------
Rolled up a couple more fixes for the streaming layout tags and STS-817 from 
the 1.5.x branch.

Modified Paths:
--------------
    trunk/stripes/src/net/sourceforge/stripes/tag/layout/LayoutComponentTag.java
    trunk/stripes/src/net/sourceforge/stripes/tag/layout/LayoutRenderTag.java

Property Changed:
----------------
    trunk/


Property changes on: trunk
___________________________________________________________________
Added: svn:mergeinfo
   + /branches/1.5.x:1463-1464

Modified: 
trunk/stripes/src/net/sourceforge/stripes/tag/layout/LayoutComponentTag.java
===================================================================
--- 
trunk/stripes/src/net/sourceforge/stripes/tag/layout/LayoutComponentTag.java    
    2012-02-07 15:06:52 UTC (rev 1464)
+++ 
trunk/stripes/src/net/sourceforge/stripes/tag/layout/LayoutComponentTag.java    
    2012-02-07 15:10:54 UTC (rev 1465)
@@ -207,7 +207,18 @@
                     }
 
                     log.debug("Register component ", getName(), " with ", 
context.getRenderPage());
-                    context.getComponents().put(getName(), new 
LayoutComponentRenderer(getName()));
+
+                    // Look for an existing renderer for a component with the 
same name
+                    LayoutComponentRenderer renderer = null;
+                    for (LayoutContext c = context; c != null && renderer == 
null; c = c.getPrevious()) {
+                        renderer = c.getComponents().get(getName());
+                    }
+
+                    // If not found then create a new one
+                    if (renderer == null)
+                        renderer = new LayoutComponentRenderer(getName());
+
+                    context.getComponents().put(getName(), renderer);
                 }
                 else if (isChildOfDefinition()) {
                     // Use a layout component renderer to do the heavy lifting

Modified: 
trunk/stripes/src/net/sourceforge/stripes/tag/layout/LayoutRenderTag.java
===================================================================
--- trunk/stripes/src/net/sourceforge/stripes/tag/layout/LayoutRenderTag.java   
2012-02-07 15:06:52 UTC (rev 1464)
+++ trunk/stripes/src/net/sourceforge/stripes/tag/layout/LayoutRenderTag.java   
2012-02-07 15:10:54 UTC (rev 1465)
@@ -62,11 +62,7 @@
                     create = !rendering || rendering && 
isChildOfCurrentComponent();
                 }
                 else {
-                    create = rendering
-                            && isChildOfCurrentComponent()
-                            && 
!(context.getRenderPage().equals(next.getRenderPage()) && context
-                                    
.getComponent().equals(next.getComponent()));
-
+                    create = rendering && isChildOfCurrentComponent();
                     if (create) {
                         log.debug("Encountered a fork in the rendering path");
                         forkedContext = next;

This was sent by the SourceForge.net collaborative development platform, the 
world's largest Open Source development site.


------------------------------------------------------------------------------
Keep Your Developer Skills Current with LearnDevNow!
The most comprehensive online learning library for Microsoft developers
is just $99.99! Visual Studio, SharePoint, SQL - plus HTML5, CSS3, MVC3,
Metro Style Apps, more. Free future releases when you subscribe now!
http://p.sf.net/sfu/learndevnow-d2d
_______________________________________________
Stripes-development mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/stripes-development

Reply via email to