Author: ivaynberg
Date: Tue Feb  3 16:29:27 2009
New Revision: 740341

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

Modified:
    
wicket/trunk/wicket-datetime/src/main/java/org/apache/wicket/extensions/yui/calendar/DatePicker.java

Modified: 
wicket/trunk/wicket-datetime/src/main/java/org/apache/wicket/extensions/yui/calendar/DatePicker.java
URL: 
http://svn.apache.org/viewvc/wicket/trunk/wicket-datetime/src/main/java/org/apache/wicket/extensions/yui/calendar/DatePicker.java?rev=740341&r1=740340&r2=740341&view=diff
==============================================================================
--- 
wicket/trunk/wicket-datetime/src/main/java/org/apache/wicket/extensions/yui/calendar/DatePicker.java
 (original)
+++ 
wicket/trunk/wicket-datetime/src/main/java/org/apache/wicket/extensions/yui/calendar/DatePicker.java
 Tue Feb  3 16:29:27 2009
@@ -271,6 +271,13 @@
                                }
                                calendarInit.append("]");
                        }
+                       else if (value instanceof Map)
+                       {
+                               calendarInit.append(":");
+                               @SuppressWarnings("unchecked")
+                               Map<String, Object> map = (Map<String, 
Object>)value;
+                               appendMapping(map, calendarInit);
+                       }
                        else
                        {
                                calendarInit.append(":");
@@ -675,4 +682,38 @@
        {
                return component.isEnabledInHierarchy();
        }
+
+
+       private void appendMapping(Map<String, ? > map, StringBuffer 
calendarInit)
+       {
+               boolean first = true;
+               calendarInit.append("{");
+               for (String key : map.keySet())
+               {
+                       if (first)
+                       {
+                               first = false;
+                       }
+                       else
+                       {
+                               calendarInit.append(",");
+                       }
+                       calendarInit.append(Strings.toEscapedUnicode(key));
+                       calendarInit.append(":");
+                       if (map.get(key) instanceof Map)
+                       {
+                               @SuppressWarnings("unchecked")
+                               Map<String, ? > value = (Map<String, ? 
>)map.get(key);
+                               appendMapping(value, calendarInit);
+                       }
+                       else
+                       {
+                               // calendarInit.append(map.get(key).toString());
+                               calendarInit.append("\"");
+                               
calendarInit.append(Strings.toEscapedUnicode(map.get(key).toString()));
+                               calendarInit.append("\"");
+                       }
+               }
+               calendarInit.append("}");
+       }
 }


Reply via email to