You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by iv...@apache.org on 2010/06/21 19:21:42 UTC

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

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