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 2009/02/03 17:29:28 UTC

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

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("}");
+	}
 }