Author: gseitz
Date: Sat May 17 07:05:44 2008
New Revision: 657359

URL: http://svn.apache.org/viewvc?rev=657359&view=rev
Log:
WICKET-1560

Modified:
    
wicket/branches/wicket-1.3.x/jdk-1.4/wicket/src/main/java/org/apache/wicket/MarkupFragmentFinder.java

Modified: 
wicket/branches/wicket-1.3.x/jdk-1.4/wicket/src/main/java/org/apache/wicket/MarkupFragmentFinder.java
URL: 
http://svn.apache.org/viewvc/wicket/branches/wicket-1.3.x/jdk-1.4/wicket/src/main/java/org/apache/wicket/MarkupFragmentFinder.java?rev=657359&r1=657358&r2=657359&view=diff
==============================================================================
--- 
wicket/branches/wicket-1.3.x/jdk-1.4/wicket/src/main/java/org/apache/wicket/MarkupFragmentFinder.java
 (original)
+++ 
wicket/branches/wicket-1.3.x/jdk-1.4/wicket/src/main/java/org/apache/wicket/MarkupFragmentFinder.java
 Sat May 17 07:05:44 2008
@@ -21,6 +21,7 @@
 import org.apache.wicket.markup.MarkupStream;
 import org.apache.wicket.markup.html.border.Border;
 import org.apache.wicket.markup.html.panel.Fragment;
+import org.apache.wicket.markup.repeater.AbstractRepeater;
 
 /**
  * Responding to an AJAX request requires that we position the markup stream 
at the component
@@ -78,6 +79,16 @@
                                                        // Ok, found it
                                                        return markupStream;
                                                }
+                                               else
+                                               {
+                                                       // WICKET-1560
+                                                       Component parent = 
component.getParent();
+                                                       if (parent instanceof 
AbstractRepeater && id != null &&
+                                                               
id.equals(parent.getId()))
+                                                       {
+                                                               return 
markupStream;
+                                                       }
+                                               }
                                        }
                                }
                                catch (IndexOutOfBoundsException ex)
@@ -100,8 +111,7 @@
 
                        if (parentWithAssociatedMarkup instanceof Fragment)
                        {
-                               markupStream = 
((Fragment)parentWithAssociatedMarkup).findComponentIndex(component
-                                               .getId());
+                               markupStream = 
((Fragment)parentWithAssociatedMarkup).findComponentIndex(component.getId());
                                return markupStream;
                        }
 
@@ -110,14 +120,13 @@
                        // ...
                        if (parentWithAssociatedMarkup instanceof Border)
                        {
-                               parentWithAssociatedMarkup = 
parentWithAssociatedMarkup
-                                               
.findParentWithAssociatedMarkup();
+                               parentWithAssociatedMarkup = 
parentWithAssociatedMarkup.findParentWithAssociatedMarkup();
                        }
                        else
                        {
                                throw new WicketRuntimeException(
-                                               "Unable to find the markup for 
the component. That may be due to transparent containers or components 
implementing IComponentResolver: " +
-                                                               
component.toString());
+                                       "Unable to find the markup for the 
component. That may be due to transparent containers or components implementing 
IComponentResolver: " +
+                                               component.toString());
                        }
 
                        // Not found, reset the stream
@@ -133,11 +142,10 @@
         * @return the relative path
         */
        private String getComponentRelativePath(final Component component,
-                       final MarkupContainer parentWithAssociatedMarkup)
+               final MarkupContainer parentWithAssociatedMarkup)
        {
                final String componentPath = 
component.getParent().getPageRelativePath();
-               final String parentWithAssociatedMarkupPath = 
parentWithAssociatedMarkup
-                               .getPageRelativePath();
+               final String parentWithAssociatedMarkupPath = 
parentWithAssociatedMarkup.getPageRelativePath();
                String relativePath = 
componentPath.substring(parentWithAssociatedMarkupPath.length());
                if (relativePath.startsWith(":"))
                {


Reply via email to