Author: snjeza
Date: 2009-10-19 08:55:43 -0400 (Mon, 19 Oct 2009)
New Revision: 18154
Modified:
trunk/birt/plugins/org.jboss.tools.birt.core/resources/jboss-birt-servlet.jar
trunk/birt/plugins/org.jboss.tools.birt.core/resources/jboss-seam-birt.jar
workspace/snjeza/JBossBirtIntegration/birtservlet/
workspace/snjeza/JBossBirtIntegration/birtservlet/src/main/java/org/jboss/tools/birt/servlet/JBossBirtServlet.java
workspace/snjeza/JBossBirtIntegration/birttag/
workspace/snjeza/JBossBirtIntegration/birttag/src/main/java/org/jboss/seam/birt/ui/UIDocument.java
Log:
https://jira.jboss.org/jira/browse/JBIDE-4937 birt - Seam component always null with birt
embed
Modified: trunk/birt/plugins/org.jboss.tools.birt.core/resources/jboss-birt-servlet.jar
===================================================================
(Binary files differ)
Modified: trunk/birt/plugins/org.jboss.tools.birt.core/resources/jboss-seam-birt.jar
===================================================================
(Binary files differ)
Property changes on: workspace/snjeza/JBossBirtIntegration/birtservlet
___________________________________________________________________
Name: svn:ignore
+ target
Modified:
workspace/snjeza/JBossBirtIntegration/birtservlet/src/main/java/org/jboss/tools/birt/servlet/JBossBirtServlet.java
===================================================================
---
workspace/snjeza/JBossBirtIntegration/birtservlet/src/main/java/org/jboss/tools/birt/servlet/JBossBirtServlet.java 2009-10-17
22:47:19 UTC (rev 18153)
+++
workspace/snjeza/JBossBirtIntegration/birtservlet/src/main/java/org/jboss/tools/birt/servlet/JBossBirtServlet.java 2009-10-19
12:55:43 UTC (rev 18154)
@@ -114,18 +114,7 @@
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
- response.setContentType("text/html");
- PrintWriter out = response.getWriter();
- out
- .println("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01
Transitional//EN\">");
- out.println("<HTML>");
- out.println(" <HEAD><TITLE>A
Servlet</TITLE></HEAD>");
- out.println(" <BODY>");
- out.println(" Post Not Supported");
- out.println(" </BODY>");
- out.println("</HTML>");
- out.flush();
- out.close();
+ doGet(request, response);
}
private Map evaluateParameterValues(IReportRunnable runnable,
Property changes on: workspace/snjeza/JBossBirtIntegration/birttag
___________________________________________________________________
Name: svn:ignore
+ target
Modified:
workspace/snjeza/JBossBirtIntegration/birttag/src/main/java/org/jboss/seam/birt/ui/UIDocument.java
===================================================================
---
workspace/snjeza/JBossBirtIntegration/birttag/src/main/java/org/jboss/seam/birt/ui/UIDocument.java 2009-10-17
22:47:19 UTC (rev 18153)
+++
workspace/snjeza/JBossBirtIntegration/birttag/src/main/java/org/jboss/seam/birt/ui/UIDocument.java 2009-10-19
12:55:43 UTC (rev 18154)
@@ -1,11 +1,9 @@
package org.jboss.seam.birt.ui;
+import java.io.ByteArrayOutputStream;
import java.io.IOException;
-import java.io.OutputStream;
import java.io.PrintWriter;
-import java.io.StringWriter;
import java.io.UnsupportedEncodingException;
-import java.io.Writer;
import java.net.URLEncoder;
import javax.el.ValueExpression;
@@ -22,561 +20,513 @@
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpServletResponseWrapper;
-public class UIDocument extends UIComponentBase
-{
- public static final String COMPONENT_FAMILY = "org.jboss.seam.birt";
+public class UIDocument extends UIComponentBase {
+ public static final String COMPONENT_FAMILY = "org.jboss.seam.birt";
- public static final String COMPONENT_TYPE =
"org.jboss.seam.birt.ui.UIDocument";
+ public static final String COMPONENT_TYPE =
"org.jboss.seam.birt.ui.UIDocument";
- private String url;
- private String format;
- private String designType = "run";
- private String designName;
- private String title;
- private String showtitle;
- private String toolbar;
- private String navigationbar;
- private String parameterpage;
- private String document;
- private String locale;
- private String svg;
- private String page;
- private String pagerange;
- private String masterpage;
- private String overwrite;
- private String bookmark;
- private String rtl;
- private String fittopage;
- private String resourceFolder;
- private String embeddable;
- private Object[] values;
+ private String url;
+ private String format;
+ private String designType = "run";
+ private String designName;
+ private String title;
+ private String showtitle;
+ private String toolbar;
+ private String navigationbar;
+ private String parameterpage;
+ private String document;
+ private String locale;
+ private String svg;
+ private String page;
+ private String pagerange;
+ private String masterpage;
+ private String overwrite;
+ private String bookmark;
+ private String rtl;
+ private String fittopage;
+ private String resourceFolder;
+ private String embeddable;
+ private Object[] values;
- public void setFormat(String format)
- {
- this.format = format;
- }
+ public void setFormat(String format) {
+ this.format = format;
+ }
- public Object valueBinding(FacesContext context, String property, Object
defaultValue)
- {
- Object value = defaultValue;
- ValueExpression expression = getValueExpression(property);
+ public Object valueBinding(FacesContext context, String property,
+ Object defaultValue) {
+ Object value = defaultValue;
+ ValueExpression expression = getValueExpression(property);
- if (expression != null)
- {
- value = expression.getValue(context.getELContext());
- }
- return value;
- }
+ if (expression != null) {
+ value = expression.getValue(context.getELContext());
+ }
+ return value;
+ }
- public Object valueBinding(String property, Object defaultValue)
- {
- return valueBinding(FacesContext.getCurrentInstance(), property, defaultValue);
- }
+ public Object valueBinding(String property, Object defaultValue) {
+ return valueBinding(FacesContext.getCurrentInstance(), property,
+ defaultValue);
+ }
- @Override
- public boolean getRendersChildren()
- {
- return true;
- }
+ @Override
+ public boolean getRendersChildren() {
+ return true;
+ }
- @Override
- public void encodeBegin(FacesContext context) throws IOException
- {
- super.encodeBegin(context);
- url = null;
- String designTypeValue = (String) valueBinding(context, "designType",
designType);
- String designNameValue = (String) valueBinding(context, "designName",
designName);
- if (designNameValue == null || designNameValue.trim().length() <= 0) {
- return;
- }
- String embeddableValue = (String) valueBinding(context, "embeddable",
embeddable);
- String formatValue = null;
- if (!"true".equals(embeddableValue))
- {
- formatValue = (String) valueBinding(context, "format", format);
- if (formatValue == null || formatValue.trim().length() <= 0)
- {
- if (!"frameset".equals(designTypeValue))
- formatValue = "pdf";
- }
- }
- else
- {
- designTypeValue = "embed";
- }
- StringBuffer buffer = new StringBuffer();
- // buffer.append(contextPath);
- buffer.append("/");
- buffer.append(designTypeValue);
- buffer.append("?__report=");
- buffer.append(URLEncoder.encode(designNameValue,"UTF-8"));
+ @Override
+ public void encodeBegin(FacesContext context) throws IOException {
+ super.encodeBegin(context);
+ url = null;
+ String designTypeValue = (String) valueBinding(context, "designType",
+ designType);
+ String designNameValue = (String) valueBinding(context, "designName",
+ designName);
+ if (designNameValue == null || designNameValue.trim().length() <= 0) {
+ return;
+ }
+ String embeddableValue = (String) valueBinding(context, "embeddable",
+ embeddable);
+ String formatValue = null;
+ if (!"true".equals(embeddableValue)) {
+ formatValue = (String) valueBinding(context, "format", format);
+ if (formatValue == null || formatValue.trim().length() <= 0) {
+ if (!"frameset".equals(designTypeValue))
+ formatValue = "pdf";
+ }
+ } else {
+ designTypeValue = "embed";
+ }
+ StringBuffer buffer = new StringBuffer();
+ // buffer.append(contextPath);
+ buffer.append("/");
+ buffer.append(designTypeValue);
+ buffer.append("?__report=");
+ buffer.append(URLEncoder.encode(designNameValue, "UTF-8"));
- if (formatValue != null && formatValue.trim().length() > 0)
- {
- buffer.append("&__format=");
- buffer.append(formatValue);
- }
+ if (formatValue != null && formatValue.trim().length() > 0) {
+ buffer.append("&__format=");
+ buffer.append(formatValue);
+ }
- addViewerParameter(context, buffer, "title", title);
- addViewerParameter(context, buffer, "showtitle", showtitle);
- addViewerParameter(context, buffer, "toolbar", toolbar);
- addViewerParameter(context, buffer, "navigationbar", navigationbar);
- addViewerParameter(context, buffer, "document", document);
- addViewerParameter(context, buffer, "locale", locale);
- addViewerParameter(context, buffer, "svg", svg);
- addViewerParameter(context, buffer, "page", page);
- addViewerParameter(context, buffer, "pagerange", pagerange);
- addViewerParameter(context, buffer, "masterpage", masterpage);
- addViewerParameter(context, buffer, "overwrite", overwrite);
- addViewerParameter(context, buffer, "bookmark", bookmark);
- addViewerParameter(context, buffer, "rtl", rtl);
- addViewerParameter(context, buffer, "fittopage", fittopage);
- addViewerParameter(context, buffer, "resourceFolder", resourceFolder);
- if ("true".equals(embeddableValue))
- {
- addViewerParameter(context, buffer, "embeddable", embeddableValue);
- }
- url = buffer.toString();
- encodeParameter(context, this);
- }
+ addViewerParameter(context, buffer, "title", title);
+ addViewerParameter(context, buffer, "showtitle", showtitle);
+ addViewerParameter(context, buffer, "toolbar", toolbar);
+ addViewerParameter(context, buffer, "navigationbar", navigationbar);
+ addViewerParameter(context, buffer, "document", document);
+ addViewerParameter(context, buffer, "locale", locale);
+ addViewerParameter(context, buffer, "svg", svg);
+ addViewerParameter(context, buffer, "page", page);
+ addViewerParameter(context, buffer, "pagerange", pagerange);
+ addViewerParameter(context, buffer, "masterpage", masterpage);
+ addViewerParameter(context, buffer, "overwrite", overwrite);
+ addViewerParameter(context, buffer, "bookmark", bookmark);
+ addViewerParameter(context, buffer, "rtl", rtl);
+ addViewerParameter(context, buffer, "fittopage", fittopage);
+ addViewerParameter(context, buffer, "resourceFolder", resourceFolder);
+ if ("true".equals(embeddableValue)) {
+ addViewerParameter(context, buffer, "embeddable", embeddableValue);
+ }
+ url = buffer.toString();
+ encodeParameter(context, this);
+ }
- public void encodeParameter(FacesContext context, UIComponent component) throws
IOException, FacesException
- {
- if (component.getChildCount() > 0)
- {
- StringBuffer buffer = new StringBuffer();
- buffer.append(url);
- for (UIComponent child : component.getChildren())
- {
- if (child instanceof UIParameter)
- {
- UIParameter parameter = (UIParameter) child;
- buffer.append("&");
- String name = null;
- try
- {
- name = URLEncoder.encode(parameter.getName(),"UTF-8");
- }
- catch (UnsupportedEncodingException e)
- {
- name = URLEncoder.encode(parameter.getName());
- }
- buffer.append(name);
- buffer.append("=");
- // FIXME
- // String value = (String) valueBinding(context,
- // parameter.getName(), parameter.getValue());
- String value = parameter.getValue();
- try
- {
- value = URLEncoder.encode(value,"UTF-8");
- }
- catch (UnsupportedEncodingException e)
- {
- value = URLEncoder.encode(value);
- }
- buffer.append(value);
+ public void encodeParameter(FacesContext context, UIComponent component)
+ throws IOException, FacesException {
+ if (component.getChildCount() > 0) {
+ StringBuffer buffer = new StringBuffer();
+ buffer.append(url);
+ for (UIComponent child : component.getChildren()) {
+ if (child instanceof UIParameter) {
+ UIParameter parameter = (UIParameter) child;
+ buffer.append("&");
+ String name = null;
+ try {
+ name = URLEncoder.encode(parameter.getName(), "UTF-8");
+ } catch (UnsupportedEncodingException e) {
+ name = URLEncoder.encode(parameter.getName());
+ }
+ buffer.append(name);
+ buffer.append("=");
+ // FIXME
+ // String value = (String) valueBinding(context,
+ // parameter.getName(), parameter.getValue());
+ String value = parameter.getValue();
+ try {
+ value = URLEncoder.encode(value, "UTF-8");
+ } catch (UnsupportedEncodingException e) {
+ value = URLEncoder.encode(value);
+ }
+ buffer.append(value);
- if ("true".equals(parameter.getLocale()))
- {
- buffer.append("&__islocale=");
- buffer.append(parameter.getName());
- }
- if ("true".equals(parameter.getIsnull()))
- {
- buffer.append("&__isnull=");
- buffer.append(parameter.getName());
- }
- }
- }
- url = buffer.toString();
- }
- }
+ if ("true".equals(parameter.getLocale())) {
+ buffer.append("&__islocale=");
+ buffer.append(parameter.getName());
+ }
+ if ("true".equals(parameter.getIsnull())) {
+ buffer.append("&__isnull=");
+ buffer.append(parameter.getName());
+ }
+ }
+ }
+ url = buffer.toString();
+ }
+ }
- protected String baseNameForViewId(String viewId)
- {
- int pos = viewId.lastIndexOf("/");
- if (pos != -1)
- {
- viewId = viewId.substring(pos + 1);
- }
+ protected String baseNameForViewId(String viewId) {
+ int pos = viewId.lastIndexOf("/");
+ if (pos != -1) {
+ viewId = viewId.substring(pos + 1);
+ }
- pos = viewId.lastIndexOf(".");
- if (pos != -1)
- {
- viewId = viewId.substring(0, pos);
- }
- return viewId;
- }
+ pos = viewId.lastIndexOf(".");
+ if (pos != -1) {
+ viewId = viewId.substring(0, pos);
+ }
+ return viewId;
+ }
- @Override
- public void encodeEnd(FacesContext context) throws IOException
- {
- if (url == null || !isRendered())
- {
- return;
- }
- ExternalContext e = context.getExternalContext();
- if (!"true".equals(getEmbeddable()))
- {
- e.redirect(e.encodeResourceURL(e.getRequestContextPath() + url));
- }
- else
- {
- ResponseWriter fw = context.getResponseWriter();
- HttpServletRequest request = (HttpServletRequest)
context.getExternalContext().getRequest();
- HttpServletResponse response = (HttpServletResponse) e.getResponse();
- if (fw != null)
- {
- try
- {
- RequestDispatcher rd = request.getRequestDispatcher(url);
- JSFResponseWrapper responseWrapper = new JSFResponseWrapper(response);
- rd.include(request, responseWrapper);
- fw.append(responseWrapper.getResponseContent());
- }
- catch (ServletException ex)
- {
- ex.printStackTrace();
- }
- }
- }
- }
+ @Override
+ public void encodeEnd(FacesContext context) throws IOException {
+ if (url == null || !isRendered()) {
+ return;
+ }
+ ExternalContext e = context.getExternalContext();
+ if (!"true".equals(getEmbeddable())) {
+ e.redirect(e.encodeResourceURL(e.getRequestContextPath() + url));
+ } else {
+ ResponseWriter fw = context.getResponseWriter();
+ HttpServletRequest request = (HttpServletRequest) context
+ .getExternalContext().getRequest();
+ HttpServletResponse response = (HttpServletResponse) e
+ .getResponse();
+ if (fw != null) {
+ try {
+ RequestDispatcher rd = request.getRequestDispatcher(url);
+ String encoding = response.getCharacterEncoding();
+ if (encoding == null || encoding.trim().length() <= 0) {
+ encoding = "UTF-8";
+ }
+ JSFResponseWrapper responseWrapper = new JSFResponseWrapper(
+ response, encoding);
+ rd.include(request, responseWrapper);
+ fw.append(responseWrapper.getResponseContent());
+ } catch (ServletException ex) {
+ ex.printStackTrace();
+ }
+ }
+ }
+ }
- private void addViewerParameter(FacesContext context, StringBuffer buffer, String
name, String value)
- {
- String finalValue = (String) valueBinding(context, name, value);
- if (finalValue == null || finalValue.trim().length() <= 0)
- return;
- buffer.append("&__");
- buffer.append(name);
- buffer.append("=");
-
- try
- {
- finalValue = URLEncoder.encode(finalValue,"UTF-8");
- }
- catch (UnsupportedEncodingException e)
- {
- finalValue = URLEncoder.encode(finalValue);
- }
- buffer.append(finalValue);
- }
+ private void addViewerParameter(FacesContext context, StringBuffer buffer,
+ String name, String value) {
+ String finalValue = (String) valueBinding(context, name, value);
+ if (finalValue == null || finalValue.trim().length() <= 0)
+ return;
+ buffer.append("&__");
+ buffer.append(name);
+ buffer.append("=");
- @Override
- public String getFamily()
- {
- return COMPONENT_FAMILY;
- }
+ try {
+ finalValue = URLEncoder.encode(finalValue, "UTF-8");
+ } catch (UnsupportedEncodingException e) {
+ finalValue = URLEncoder.encode(finalValue);
+ }
+ buffer.append(finalValue);
+ }
- public String getDesignType()
- {
- return designType;
- }
+ @Override
+ public String getFamily() {
+ return COMPONENT_FAMILY;
+ }
- public void setDesignType(String designType)
- {
- this.designType = designType;
- }
+ public String getDesignType() {
+ return designType;
+ }
- public String getDesignName()
- {
- return designName;
- }
+ public void setDesignType(String designType) {
+ this.designType = designType;
+ }
- public void setDesignName(String designName)
- {
- this.designName = designName;
- }
+ public String getDesignName() {
+ return designName;
+ }
- public String getTitle()
- {
- return title;
- }
+ public void setDesignName(String designName) {
+ this.designName = designName;
+ }
- public void setTitle(String title)
- {
- this.title = title;
- }
+ public String getTitle() {
+ return title;
+ }
- public String getShowtitle()
- {
- return showtitle;
- }
+ public void setTitle(String title) {
+ this.title = title;
+ }
- public void setShowtitle(String showtitle)
- {
- this.showtitle = showtitle;
- }
+ public String getShowtitle() {
+ return showtitle;
+ }
- public String getToolbar()
- {
- return toolbar;
- }
+ public void setShowtitle(String showtitle) {
+ this.showtitle = showtitle;
+ }
- public void setToolbar(String toolbar)
- {
- this.toolbar = toolbar;
- }
+ public String getToolbar() {
+ return toolbar;
+ }
- public String getNavigationbar()
- {
- return navigationbar;
- }
+ public void setToolbar(String toolbar) {
+ this.toolbar = toolbar;
+ }
- public void setNavigationbar(String navigationbar)
- {
- this.navigationbar = navigationbar;
- }
+ public String getNavigationbar() {
+ return navigationbar;
+ }
- public String getParameterpage()
- {
- return parameterpage;
- }
+ public void setNavigationbar(String navigationbar) {
+ this.navigationbar = navigationbar;
+ }
- public void setParameterpage(String parameterpage)
- {
- this.parameterpage = parameterpage;
- }
+ public String getParameterpage() {
+ return parameterpage;
+ }
- public String getDocument()
- {
- return document;
- }
+ public void setParameterpage(String parameterpage) {
+ this.parameterpage = parameterpage;
+ }
- public void setDocument(String document)
- {
- this.document = document;
- }
+ public String getDocument() {
+ return document;
+ }
- public String getLocale()
- {
- return locale;
- }
+ public void setDocument(String document) {
+ this.document = document;
+ }
- public void setLocale(String locale)
- {
- this.locale = locale;
- }
+ public String getLocale() {
+ return locale;
+ }
- public String getSvg()
- {
- return svg;
- }
+ public void setLocale(String locale) {
+ this.locale = locale;
+ }
- public void setSvg(String svg)
- {
- this.svg = svg;
- }
+ public String getSvg() {
+ return svg;
+ }
- public String getPage()
- {
- return page;
- }
+ public void setSvg(String svg) {
+ this.svg = svg;
+ }
- public void setPage(String page)
- {
- this.page = page;
- }
+ public String getPage() {
+ return page;
+ }
- public String getPagerange()
- {
- return pagerange;
- }
+ public void setPage(String page) {
+ this.page = page;
+ }
- public void setPagerange(String pagerange)
- {
- this.pagerange = pagerange;
- }
+ public String getPagerange() {
+ return pagerange;
+ }
- public String getMasterpage()
- {
- return masterpage;
- }
+ public void setPagerange(String pagerange) {
+ this.pagerange = pagerange;
+ }
- public void setMasterpage(String masterpage)
- {
- this.masterpage = masterpage;
- }
+ public String getMasterpage() {
+ return masterpage;
+ }
- public String getOverwrite()
- {
- return overwrite;
- }
+ public void setMasterpage(String masterpage) {
+ this.masterpage = masterpage;
+ }
- public void setOverwrite(String overwrite)
- {
- this.overwrite = overwrite;
- }
+ public String getOverwrite() {
+ return overwrite;
+ }
- public String getBookmark()
- {
- return bookmark;
- }
+ public void setOverwrite(String overwrite) {
+ this.overwrite = overwrite;
+ }
- public void setBookmark(String bookmark)
- {
- this.bookmark = bookmark;
- }
+ public String getBookmark() {
+ return bookmark;
+ }
- public String getRtl()
- {
- return rtl;
- }
+ public void setBookmark(String bookmark) {
+ this.bookmark = bookmark;
+ }
- public void setRtl(String rtl)
- {
- this.rtl = rtl;
- }
+ public String getRtl() {
+ return rtl;
+ }
- public String getFittopage()
- {
- return fittopage;
- }
+ public void setRtl(String rtl) {
+ this.rtl = rtl;
+ }
- public void setFittopage(String fittopage)
- {
- this.fittopage = fittopage;
- }
+ public String getFittopage() {
+ return fittopage;
+ }
- public String getResourceFolder()
- {
- return resourceFolder;
- }
+ public void setFittopage(String fittopage) {
+ this.fittopage = fittopage;
+ }
- public void setResourceFolder(String resourceFolder)
- {
- this.resourceFolder = resourceFolder;
- }
+ public String getResourceFolder() {
+ return resourceFolder;
+ }
- public String getEmbeddable()
- {
- return embeddable;
- }
+ public void setResourceFolder(String resourceFolder) {
+ this.resourceFolder = resourceFolder;
+ }
- public void setEmbeddable(String embeddable)
- {
- this.embeddable = embeddable;
- }
+ public String getEmbeddable() {
+ return embeddable;
+ }
- @Override
- public Object saveState(FacesContext context)
- {
+ public void setEmbeddable(String embeddable) {
+ this.embeddable = embeddable;
+ }
- if (values == null)
- {
- values = new Object[22];
- }
- values[0] = super.saveState(context);
- values[1] = url;
- values[2] = format;
- values[3] = designType;
- values[4] = designName;
- values[5] = title;
- values[6] = showtitle;
- values[7] = toolbar;
- values[8] = navigationbar;
- values[9] = parameterpage;
- values[10] = document;
- values[11] = locale;
- values[12] = svg;
- values[13] = page;
- values[14] = pagerange;
- values[15] = masterpage;
- values[16] = overwrite;
- values[17] = bookmark;
- values[18] = rtl;
- values[19] = fittopage;
- values[20] = resourceFolder;
- values[21] = embeddable;
- return (values);
+ @Override
+ public Object saveState(FacesContext context) {
- }
+ if (values == null) {
+ values = new Object[22];
+ }
+ values[0] = super.saveState(context);
+ values[1] = url;
+ values[2] = format;
+ values[3] = designType;
+ values[4] = designName;
+ values[5] = title;
+ values[6] = showtitle;
+ values[7] = toolbar;
+ values[8] = navigationbar;
+ values[9] = parameterpage;
+ values[10] = document;
+ values[11] = locale;
+ values[12] = svg;
+ values[13] = page;
+ values[14] = pagerange;
+ values[15] = masterpage;
+ values[16] = overwrite;
+ values[17] = bookmark;
+ values[18] = rtl;
+ values[19] = fittopage;
+ values[20] = resourceFolder;
+ values[21] = embeddable;
+ return (values);
- @Override
- public void restoreState(FacesContext context, Object state)
- {
+ }
- values = (Object[]) state;
- super.restoreState(context, values[0]);
- url = (String) values[1];
- format = (String) values[2];
- designType = (String) values[3];
- designName = (String) values[4];
- title = (String) values[5];
- showtitle = (String) values[6];
- toolbar = (String) values[7];
- navigationbar = (String) values[8];
- parameterpage = (String) values[9];
- document = (String) values[10];
- locale = (String) values[11];
- svg = (String) values[12];
- page = (String) values[13];
- pagerange = (String) values[14];
- masterpage = (String) values[15];
- overwrite = (String) values[16];
- bookmark = (String) values[17];
- rtl = (String) values[18];
- fittopage = (String) values[19];
- resourceFolder = (String) values[20];
- embeddable = (String) values[21];
- }
-
- public class JSFResponseWrapper extends HttpServletResponseWrapper
- {
+ @Override
+ public void restoreState(FacesContext context, Object state) {
- private ServletOutputStreamWrapper servletOutputStreamWrapper = new
ServletOutputStreamWrapper();
- private PrintWriter printWriter = new PrintWriter(servletOutputStreamWrapper);
+ values = (Object[]) state;
+ super.restoreState(context, values[0]);
+ url = (String) values[1];
+ format = (String) values[2];
+ designType = (String) values[3];
+ designName = (String) values[4];
+ title = (String) values[5];
+ showtitle = (String) values[6];
+ toolbar = (String) values[7];
+ navigationbar = (String) values[8];
+ parameterpage = (String) values[9];
+ document = (String) values[10];
+ locale = (String) values[11];
+ svg = (String) values[12];
+ page = (String) values[13];
+ pagerange = (String) values[14];
+ masterpage = (String) values[15];
+ overwrite = (String) values[16];
+ bookmark = (String) values[17];
+ rtl = (String) values[18];
+ fittopage = (String) values[19];
+ resourceFolder = (String) values[20];
+ embeddable = (String) values[21];
+ }
- public JSFResponseWrapper(HttpServletResponse response)
- {
- super(response);
- }
+ public class JSFResponseWrapper extends HttpServletResponseWrapper {
- @Override
- public ServletOutputStream getOutputStream() throws IOException
- {
- return servletOutputStreamWrapper;
- }
+ private ServletOutputStreamWrapper servletOutputStreamWrapper;
+ private PrintWriter printWriter;
- @Override
- public PrintWriter getWriter() throws IOException
- {
- return printWriter;
- }
+ public JSFResponseWrapper(HttpServletResponse response, String encoding) {
+ super(response);
+ this.servletOutputStreamWrapper = new ServletOutputStreamWrapper(
+ encoding);
+ this.printWriter = new PrintWriter(servletOutputStreamWrapper);
+ }
- public String getResponseContent()
- {
- return servletOutputStreamWrapper.toString();
- }
- }
-
- private class ServletOutputStreamWrapper extends ServletOutputStream
- {
- StringWriter writer = new StringWriter();
+ @Override
+ public ServletOutputStream getOutputStream() throws IOException {
+ return servletOutputStreamWrapper;
+ }
- @Override
- public void write(int c) throws IOException
- {
- if (c < 0x80)
- writer.write(c);
- else if (c < 0x800)
- {
- writer.write(0xc0 + (c >> 6));
- writer.write(0x80 + (c & 0x3f));
- }
- else
- {
- writer.write(0xe0 + (c >> 12));
- writer.write(0x80 + ((c >> 6) & 0x3f));
- writer.write(0x80 + (c & 0x3f));
- }
- }
+ @Override
+ public PrintWriter getWriter() throws IOException {
+ return printWriter;
+ }
- @Override
- public String toString()
- {
- return writer.toString();
- }
- }
+ public String getResponseContent() {
+ return servletOutputStreamWrapper.toString();
+ }
+ }
+
+ private class ServletOutputStreamWrapper extends ServletOutputStream {
+
+ private String encoding;
+ private boolean opened;
+ private ByteArrayOutputStream baos;
+
+ public ServletOutputStreamWrapper(String encoding) {
+ super();
+ this.encoding = encoding;
+ this.opened = true;
+ this.baos = new ByteArrayOutputStream();
+ }
+
+ @Override
+ public void close() throws IOException {
+ super.close();
+
+ }
+ @Override
+ public void write(int c) throws IOException {
+ if (opened) {
+ baos.write(c);
+ }
+ }
+
+ @Override
+ public void write(byte[] b) throws IOException {
+ if (opened) {
+ baos.write(b);
+ }
+ }
+
+ @Override
+ public void write(byte[] b, int off, int len) throws IOException {
+ if (opened) {
+ baos.write(b, off, len);
+ }
+ }
+
+ @Override
+ public String toString() {
+ if (encoding == null || encoding.trim().length() <= 0) {
+ baos.toString();
+ }
+ try {
+ return baos.toString(encoding);
+ } catch (UnsupportedEncodingException e) {
+ return baos.toString();
+ }
+ }
+ }
}