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()
        {


Reply via email to