[richfaces-svn-commits] JBoss Rich Faces SVN: r16002 - branches/community/3.3.X/ui/calendar/src/main/java/org/richfaces/renderkit.
richfaces-svn-commits at lists.jboss.org
richfaces-svn-commits at lists.jboss.org
Wed Nov 25 15:39:36 EST 2009
Author: nbelaevski
Date: 2009-11-25 15:39:36 -0500 (Wed, 25 Nov 2009)
New Revision: 16002
Modified:
branches/community/3.3.X/ui/calendar/src/main/java/org/richfaces/renderkit/CalendarRendererBase.java
Log:
Fixed improper usage of ResponseWriter in CalendarRendererBase
Modified: branches/community/3.3.X/ui/calendar/src/main/java/org/richfaces/renderkit/CalendarRendererBase.java
===================================================================
--- branches/community/3.3.X/ui/calendar/src/main/java/org/richfaces/renderkit/CalendarRendererBase.java 2009-11-25 19:39:53 UTC (rev 16001)
+++ branches/community/3.3.X/ui/calendar/src/main/java/org/richfaces/renderkit/CalendarRendererBase.java 2009-11-25 20:39:36 UTC (rev 16002)
@@ -21,47 +21,62 @@
package org.richfaces.renderkit;
+import java.io.IOException;
+import java.io.StringWriter;
+import java.io.Writer;
+import java.text.DateFormatSymbols;
+import java.text.Format;
+import java.text.SimpleDateFormat;
+import java.util.Calendar;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.LinkedHashMap;
+import java.util.Locale;
+import java.util.Map;
+import java.util.MissingResourceException;
+import java.util.ResourceBundle;
+import java.util.Set;
+import java.util.TimeZone;
+
+import javax.el.ValueExpression;
+import javax.faces.application.Application;
+import javax.faces.component.UIComponent;
+import javax.faces.context.FacesContext;
+import javax.faces.context.ResponseWriter;
+import javax.faces.convert.Converter;
+import javax.faces.convert.ConverterException;
+import javax.faces.convert.DateTimeConverter;
+import javax.faces.event.PhaseId;
+
import org.ajax4jsf.context.AjaxContext;
import org.ajax4jsf.event.AjaxEvent;
import org.ajax4jsf.javascript.JSFunction;
import org.ajax4jsf.javascript.JSFunctionDefinition;
+import org.ajax4jsf.javascript.JSLiteral;
import org.ajax4jsf.javascript.JSReference;
import org.ajax4jsf.javascript.ScriptUtils;
import org.ajax4jsf.renderkit.AjaxRendererUtils;
import org.ajax4jsf.renderkit.RendererUtils;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
-import org.richfaces.component.TemplateComponent;
import org.richfaces.component.UICalendar;
import org.richfaces.component.util.ComponentUtil;
import org.richfaces.component.util.MessageUtil;
import org.richfaces.context.RequestContext;
import org.richfaces.event.CurrentDateChangeEvent;
-import org.richfaces.json.JSONObject;
-import javax.el.ValueExpression;
-import javax.faces.application.Application;
-import javax.faces.component.UIComponent;
-import javax.faces.context.FacesContext;
-import javax.faces.context.ResponseWriter;
-import javax.faces.convert.Converter;
-import javax.faces.convert.ConverterException;
-import javax.faces.convert.DateTimeConverter;
-import javax.faces.event.PhaseId;
-import java.io.IOException;
-import java.io.StringWriter;
-import java.io.Writer;
-import java.text.DateFormatSymbols;
-import java.text.Format;
-import java.text.SimpleDateFormat;
-import java.util.*;
-
/**
* @author Nick Belaevski - mailto:nbelaevski at exadel.com created 08.06.2007
*
*/
public class CalendarRendererBase extends TemplateEncoderRendererBase {
+ /**
+ *
+ */
+ private static final String MARKUP_PARAMETER_SUFFIX = "Markup";
+
protected static final String MONTH_LABELS_SHORT = "monthLabelsShort";
protected static final String MONTH_LABELS = "monthLabels";
@@ -89,8 +104,6 @@
public static final String CURRENT_DATE_PRELOAD = "PreloadCurrentDate";
- protected static final String MARKUP_SUFFIX = "Markup";
-
public static final String CALENDAR_BUNDLE = "org.richfaces.renderkit.calendar";
private static final String LOCALES_KEY = "rich:locales";
@@ -449,9 +462,10 @@
}
public void writeFacetMarkup(FacesContext context, UIComponent component) throws IOException {
- Map<String, String> jsonMap = new HashMap();
+ Map<String, JSLiteral> jsonMap = new HashMap<String, JSLiteral>();
if (component.getChildCount() != 0) {
- jsonMap.put("dayList", getMarkupScriptBody(context, component, true));
+ String markupScriptBody = getMarkupScriptBody(context, component, true);
+ jsonMap.put("dayList" + MARKUP_PARAMETER_SUFFIX, new JSLiteral(markupScriptBody));
}
addFacetMarkupScriptBody(context, component, jsonMap, "optionalHeader");
@@ -462,27 +476,14 @@
addFacetMarkupScriptBody(context, component, jsonMap, "header");
addFacetMarkupScriptBody(context, component, jsonMap, "footer");
- context.getResponseWriter().write("{");
- boolean isFirst = true;
- for (Map.Entry<String, String> entry : jsonMap.entrySet()) {
- if (isFirst) {
- isFirst = false;
- } else {
- context.getResponseWriter().write(",");
- }
- context.getResponseWriter().write(entry.getKey() + MARKUP_SUFFIX);
- context.getResponseWriter().write(":");
- context.getResponseWriter().write(entry.getValue());
-
- }
- context.getResponseWriter().write("}");
+ context.getResponseWriter().writeText(ScriptUtils.toScript(jsonMap), null);
}
- private void addFacetMarkupScriptBody(FacesContext context, UIComponent component, Map<String, String> jsonMap, String facetName) throws IOException {
+ private void addFacetMarkupScriptBody(FacesContext context, UIComponent component, Map<String, JSLiteral> jsonMap, String facetName) throws IOException {
String res = getOptionalFacetMarkupScriptBody(context, component, facetName);
if (res != null) {
- jsonMap.put(facetName, res);
- }
+ jsonMap.put(facetName + MARKUP_PARAMETER_SUFFIX, new JSLiteral(res));
+ }
}
public void writePreloadBody(FacesContext context, UICalendar calendar)
@@ -490,7 +491,7 @@
Object preload = calendar.getPreload();
if (preload != null) {
ResponseWriter writer = context.getResponseWriter();
- writer.write(ScriptUtils.toScript(preload));
+ writer.writeText(ScriptUtils.toScript(preload), null);
}
}
More information about the richfaces-svn-commits
mailing list