Author: ivaynberg
Date: Mon Jun 21 17:21:41 2010
New Revision: 956646

URL: http://svn.apache.org/viewvc?rev=956646&view=rev
Log:
WICKET-2904 variations don't work when using wicket:link with images
Issue: WICKET-2904

Modified:
    
wicket/branches/wicket-1.4.x/wicket/src/main/java/org/apache/wicket/markup/resolver/AutoLinkResolver.java

Modified: 
wicket/branches/wicket-1.4.x/wicket/src/main/java/org/apache/wicket/markup/resolver/AutoLinkResolver.java
URL: 
http://svn.apache.org/viewvc/wicket/branches/wicket-1.4.x/wicket/src/main/java/org/apache/wicket/markup/resolver/AutoLinkResolver.java?rev=956646&r1=956645&r2=956646&view=diff
==============================================================================
--- 
wicket/branches/wicket-1.4.x/wicket/src/main/java/org/apache/wicket/markup/resolver/AutoLinkResolver.java
 (original)
+++ 
wicket/branches/wicket-1.4.x/wicket/src/main/java/org/apache/wicket/markup/resolver/AutoLinkResolver.java
 Mon Jun 21 17:21:41 2010
@@ -107,7 +107,7 @@ public final class AutoLinkResolver impl
 
                                // Create the component implementing the link
                                ResourceReferenceAutolink autoLink = new 
ResourceReferenceAutolink(autoId, clazz,
-                                       pathInfo.reference, attribute);
+                                       pathInfo.reference, attribute, 
container);
                                if (autoLink.resourceReference != null)
                                {
                                        // if the resource reference is null, 
it means that it the
@@ -542,17 +542,24 @@ public final class AutoLinkResolver impl
                private final ResourceReference resourceReference;
 
                /**
+                * Preserve a reference to the the parent container so that the 
variation could be resolved
+                */
+               private final MarkupContainer parent;
+
+               /**
                 * @param id
                 * @param clazz
                 * @param href
                 * @param attribute
+                * @param parent
                 */
                public ResourceReferenceAutolink(final String id, final 
Class<?> clazz, final String href,
-                       final String attribute)
+                       final String attribute, final MarkupContainer parent)
                {
                        super(id);
 
                        this.attribute = attribute;
+                       this.parent = parent;
                        // Check whether it is a valid resource reference
                        if (PackageResource.exists(clazz, href, getLocale(), 
getStyle()))
                        {
@@ -568,6 +575,21 @@ public final class AutoLinkResolver impl
                }
 
                /**
+                * @see org.apache.wicket.Component#getVariation()
+                */
+               @Override
+               public String getVariation()
+               {
+                       if (parent != null)
+                       {
+                               return parent.getVariation();
+                       }
+
+                       return super.getVariation();
+               }
+
+
+               /**
                 * @see 
org.apache.wicket.MarkupContainer#isTransparentResolver()
                 */
                @Override


Reply via email to