You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by jd...@apache.org on 2009/04/12 13:39:03 UTC

svn commit: r764292 - /wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/AjaxEditableChoiceLabel.java

Author: jdonnerstag
Date: Sun Apr 12 11:39:03 2009
New Revision: 764292

URL: http://svn.apache.org/viewvc?rev=764292&view=rev
Log:
fixed WICKET-2196 still doesn't seem to work - AjaxEditableChoiceLabel ignores ChoiceRenderer in newLabel(...)

Modified:
    wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/AjaxEditableChoiceLabel.java

Modified: wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/AjaxEditableChoiceLabel.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/AjaxEditableChoiceLabel.java?rev=764292&r1=764291&r2=764292&view=diff
==============================================================================
--- wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/AjaxEditableChoiceLabel.java (original)
+++ wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/AjaxEditableChoiceLabel.java Sun Apr 12 11:39:03 2009
@@ -18,7 +18,6 @@
 
 import java.util.List;
 
-import org.apache.wicket.Application;
 import org.apache.wicket.MarkupContainer;
 import org.apache.wicket.markup.ComponentTag;
 import org.apache.wicket.markup.MarkupStream;
@@ -136,7 +135,6 @@
 	 * @param choices
 	 *            The collection of choices in the dropdown
 	 */
-	@SuppressWarnings("unchecked")
 	public AjaxEditableChoiceLabel(String id, IModel<T> model, List<? extends T> choices)
 	{
 		this(id, model, Model.of(choices));
@@ -154,7 +152,6 @@
 	 * @param renderer
 	 *            The rendering engine
 	 */
-	@SuppressWarnings("unchecked")
 	public AjaxEditableChoiceLabel(String id, IModel<T> model, List<? extends T> choices,
 		IChoiceRenderer<T> renderer)
 	{
@@ -181,6 +178,7 @@
 			}
 
 		};
+
 		DropDownChoice<T> editor = new DropDownChoice<T>(componentId, model, choiceModel, renderer)
 		{
 			private static final long serialVersionUID = 1L;
@@ -198,6 +196,7 @@
 			}
 
 		};
+
 		editor.setOutputMarkupId(true);
 		editor.setVisible(false);
 		editor.add(new EditorAjaxBehavior()
@@ -220,6 +219,10 @@
 		return editor;
 	}
 
+	/**
+	 * @see org.apache.wicket.extensions.ajax.markup.html.AjaxEditableLabel#newLabel(org.apache.wicket.MarkupContainer,
+	 *      java.lang.String, org.apache.wicket.model.IModel)
+	 */
 	@Override
 	protected WebComponent newLabel(MarkupContainer parent, String componentId, IModel<T> model)
 	{
@@ -244,15 +247,15 @@
 					Object displayObject = renderer.getDisplayValue((T)getDefaultModelObject());
 					Class<?> objectClass = (displayObject == null ? null : displayObject.getClass());
 
-
-					if (objectClass != null && objectClass != String.class)
+					if ((objectClass != null) && (objectClass != String.class))
 					{
-						final IConverter converter = Application.get()
-							.getConverterLocator()
-							.getConverter(objectClass);
-
+						final IConverter converter = getConverter(objectClass);
 						displayValue = converter.convertToString(displayObject, getLocale());
 					}
+					else if (displayObject != null)
+					{
+						displayValue = displayObject.toString();
+					}
 				}
 
 				if (Strings.isEmpty(displayValue))
@@ -270,12 +273,18 @@
 		return label;
 	}
 
+	/**
+	 * @see org.apache.wicket.extensions.ajax.markup.html.AjaxEditableLabel#onModelChanged()
+	 */
 	@Override
 	protected void onModelChanged()
 	{
 		super.onModelChanged();
 	}
 
+	/**
+	 * @see org.apache.wicket.extensions.ajax.markup.html.AjaxEditableLabel#onModelChanging()
+	 */
 	@Override
 	protected void onModelChanging()
 	{