From jbosstools-commits at lists.jboss.org Mon Oct 19 08:55:44 2009 Content-Type: multipart/mixed; boundary="===============2700344633838716516==" MIME-Version: 1.0 From: jbosstools-commits at lists.jboss.org To: jbosstools-commits at lists.jboss.org Subject: [jbosstools-commits] JBoss Tools SVN: r18154 - workspace/snjeza/JBossBirtIntegration/birtservlet and 3 other directories. Date: Mon, 19 Oct 2009 08:55:44 -0400 Message-ID: <200910191255.n9JCtim0001731@svn01.web.mwc.hst.phx2.redhat.com> --===============2700344633838716516== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable 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-servle= t.jar trunk/birt/plugins/org.jboss.tools.birt.core/resources/jboss-seam-birt.j= ar workspace/snjeza/JBossBirtIntegration/birtservlet/ workspace/snjeza/JBossBirtIntegration/birtservlet/src/main/java/org/jbos= s/tools/birt/servlet/JBossBirtServlet.java workspace/snjeza/JBossBirtIntegration/birttag/ workspace/snjeza/JBossBirtIntegration/birttag/src/main/java/org/jboss/se= am/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 =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D (Binary files differ) Modified: trunk/birt/plugins/org.jboss.tools.birt.core/resources/jboss-seam= -birt.jar =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D (Binary files differ) Property changes on: workspace/snjeza/JBossBirtIntegration/birtservlet ___________________________________________________________________ Name: svn:ignore + target Modified: workspace/snjeza/JBossBirtIntegration/birtservlet/src/main/java/o= rg/jboss/tools/birt/servlet/JBossBirtServlet.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- workspace/snjeza/JBossBirtIntegration/birtservlet/src/main/java/org/jbo= ss/tools/birt/servlet/JBossBirtServlet.java 2009-10-17 22:47:19 UTC (rev 18= 153) +++ workspace/snjeza/JBossBirtIntegration/birtservlet/src/main/java/org/jbo= ss/tools/birt/servlet/JBossBirtServlet.java 2009-10-19 12:55:43 UTC (rev 18= 154) @@ -114,18 +114,7 @@ public void doPost(HttpServletRequest request, HttpServletResponse respon= se) throws ServletException, IOException { = - response.setContentType("text/html"); - PrintWriter out =3D response.getWriter(); - out - .println(""); - out.println(""); - out.println(" A Servlet"); - out.println(" "); - out.println(" Post Not Supported"); - out.println(" "); - out.println(""); - 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/j= boss/seam/birt/ui/UIDocument.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- workspace/snjeza/JBossBirtIntegration/birttag/src/main/java/org/jboss/s= eam/birt/ui/UIDocument.java 2009-10-17 22:47:19 UTC (rev 18153) +++ workspace/snjeza/JBossBirtIntegration/birttag/src/main/java/org/jboss/s= eam/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 =3D "org.jboss.seam.birt"; +public class UIDocument extends UIComponentBase { + public static final String COMPONENT_FAMILY =3D "org.jboss.seam.birt"; = - public static final String COMPONENT_TYPE =3D "org.jboss.seam.birt.ui.U= IDocument"; + public static final String COMPONENT_TYPE =3D "org.jboss.seam.birt.ui.UID= ocument"; = - private String url; - private String format; - private String designType =3D "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 =3D "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 =3D format; - } + public void setFormat(String format) { + this.format =3D format; + } = - public Object valueBinding(FacesContext context, String property, Objec= t defaultValue) - { - Object value =3D defaultValue; - ValueExpression expression =3D getValueExpression(property); + public Object valueBinding(FacesContext context, String property, + Object defaultValue) { + Object value =3D defaultValue; + ValueExpression expression =3D getValueExpression(property); = - if (expression !=3D null) - { - value =3D expression.getValue(context.getELContext()); - } - return value; - } + if (expression !=3D null) { + value =3D expression.getValue(context.getELContext()); + } + return value; + } = - public Object valueBinding(String property, Object defaultValue) - { - return valueBinding(FacesContext.getCurrentInstance(), property, def= aultValue); - } + 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 =3D null; - String designTypeValue =3D (String) valueBinding(context, "designTyp= e", designType); - String designNameValue =3D (String) valueBinding(context, "designNam= e", designName); - if (designNameValue =3D=3D null || designNameValue.trim().length() <= =3D 0) { - return; - } - String embeddableValue =3D (String) valueBinding(context, "embeddabl= e", embeddable); - String formatValue =3D null; - if (!"true".equals(embeddableValue)) - { - formatValue =3D (String) valueBinding(context, "format", format); - if (formatValue =3D=3D null || formatValue.trim().length() <=3D 0) - { - if (!"frameset".equals(designTypeValue)) - formatValue =3D "pdf"; - } - } - else - { - designTypeValue =3D "embed"; - } - StringBuffer buffer =3D new StringBuffer(); - // buffer.append(contextPath); - buffer.append("/"); - buffer.append(designTypeValue); - buffer.append("?__report=3D"); - buffer.append(URLEncoder.encode(designNameValue,"UTF-8")); + @Override + public void encodeBegin(FacesContext context) throws IOException { + super.encodeBegin(context); + url =3D null; + String designTypeValue =3D (String) valueBinding(context, "designType", + designType); + String designNameValue =3D (String) valueBinding(context, "designName", + designName); + if (designNameValue =3D=3D null || designNameValue.trim().length() <=3D = 0) { + return; + } + String embeddableValue =3D (String) valueBinding(context, "embeddable", + embeddable); + String formatValue =3D null; + if (!"true".equals(embeddableValue)) { + formatValue =3D (String) valueBinding(context, "format", format); + if (formatValue =3D=3D null || formatValue.trim().length() <=3D 0) { + if (!"frameset".equals(designTypeValue)) + formatValue =3D "pdf"; + } + } else { + designTypeValue =3D "embed"; + } + StringBuffer buffer =3D new StringBuffer(); + // buffer.append(contextPath); + buffer.append("/"); + buffer.append(designTypeValue); + buffer.append("?__report=3D"); + buffer.append(URLEncoder.encode(designNameValue, "UTF-8")); = - if (formatValue !=3D null && formatValue.trim().length() > 0) - { - buffer.append("&__format=3D"); - buffer.append(formatValue); - } + if (formatValue !=3D null && formatValue.trim().length() > 0) { + buffer.append("&__format=3D"); + 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 =3D 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 =3D buffer.toString(); + encodeParameter(context, this); + } = - public void encodeParameter(FacesContext context, UIComponent component= ) throws IOException, FacesException - { - if (component.getChildCount() > 0) - { - StringBuffer buffer =3D new StringBuffer(); - buffer.append(url); - for (UIComponent child : component.getChildren()) - { - if (child instanceof UIParameter) - { - UIParameter parameter =3D (UIParameter) child; - buffer.append("&"); - String name =3D null; - try - { - name =3D URLEncoder.encode(parameter.getName(),"UTF-8"); - } - catch (UnsupportedEncodingException e) - { - name =3D URLEncoder.encode(parameter.getName()); - } - buffer.append(name); - buffer.append("=3D"); - // FIXME - // String value =3D (String) valueBinding(context, - // parameter.getName(), parameter.getValue()); - String value =3D parameter.getValue(); - try - { - value =3D URLEncoder.encode(value,"UTF-8"); - } - catch (UnsupportedEncodingException e) - { - value =3D URLEncoder.encode(value); - } - buffer.append(value); + public void encodeParameter(FacesContext context, UIComponent component) + throws IOException, FacesException { + if (component.getChildCount() > 0) { + StringBuffer buffer =3D new StringBuffer(); + buffer.append(url); + for (UIComponent child : component.getChildren()) { + if (child instanceof UIParameter) { + UIParameter parameter =3D (UIParameter) child; + buffer.append("&"); + String name =3D null; + try { + name =3D URLEncoder.encode(parameter.getName(), "UTF-8"); + } catch (UnsupportedEncodingException e) { + name =3D URLEncoder.encode(parameter.getName()); + } + buffer.append(name); + buffer.append("=3D"); + // FIXME + // String value =3D (String) valueBinding(context, + // parameter.getName(), parameter.getValue()); + String value =3D parameter.getValue(); + try { + value =3D URLEncoder.encode(value, "UTF-8"); + } catch (UnsupportedEncodingException e) { + value =3D URLEncoder.encode(value); + } + buffer.append(value); = - if ("true".equals(parameter.getLocale())) - { - buffer.append("&__islocale=3D"); - buffer.append(parameter.getName()); - } - if ("true".equals(parameter.getIsnull())) - { - buffer.append("&__isnull=3D"); - buffer.append(parameter.getName()); - } - } - } - url =3D buffer.toString(); - } - } + if ("true".equals(parameter.getLocale())) { + buffer.append("&__islocale=3D"); + buffer.append(parameter.getName()); + } + if ("true".equals(parameter.getIsnull())) { + buffer.append("&__isnull=3D"); + buffer.append(parameter.getName()); + } + } + } + url =3D buffer.toString(); + } + } = - protected String baseNameForViewId(String viewId) - { - int pos =3D viewId.lastIndexOf("/"); - if (pos !=3D -1) - { - viewId =3D viewId.substring(pos + 1); - } + protected String baseNameForViewId(String viewId) { + int pos =3D viewId.lastIndexOf("/"); + if (pos !=3D -1) { + viewId =3D viewId.substring(pos + 1); + } = - pos =3D viewId.lastIndexOf("."); - if (pos !=3D -1) - { - viewId =3D viewId.substring(0, pos); - } - return viewId; - } + pos =3D viewId.lastIndexOf("."); + if (pos !=3D -1) { + viewId =3D viewId.substring(0, pos); + } + return viewId; + } = - @Override - public void encodeEnd(FacesContext context) throws IOException - { - if (url =3D=3D null || !isRendered()) - { - return; - } - ExternalContext e =3D context.getExternalContext(); - if (!"true".equals(getEmbeddable())) - { - e.redirect(e.encodeResourceURL(e.getRequestContextPath() + url)); - } - else - { - ResponseWriter fw =3D context.getResponseWriter(); - HttpServletRequest request =3D (HttpServletRequest) context.getEx= ternalContext().getRequest(); - HttpServletResponse response =3D (HttpServletResponse) e.getRespo= nse(); - if (fw !=3D null) - { - try - { - RequestDispatcher rd =3D request.getRequestDispatcher(url); - JSFResponseWrapper responseWrapper =3D new JSFResponseWrapp= er(response); - rd.include(request, responseWrapper); - fw.append(responseWrapper.getResponseContent()); - } - catch (ServletException ex) - { - ex.printStackTrace(); - } - } - } - } + @Override + public void encodeEnd(FacesContext context) throws IOException { + if (url =3D=3D null || !isRendered()) { + return; + } + ExternalContext e =3D context.getExternalContext(); + if (!"true".equals(getEmbeddable())) { + e.redirect(e.encodeResourceURL(e.getRequestContextPath() + url)); + } else { + ResponseWriter fw =3D context.getResponseWriter(); + HttpServletRequest request =3D (HttpServletRequest) context + .getExternalContext().getRequest(); + HttpServletResponse response =3D (HttpServletResponse) e + .getResponse(); + if (fw !=3D null) { + try { + RequestDispatcher rd =3D request.getRequestDispatcher(url); + String encoding =3D response.getCharacterEncoding(); + if (encoding =3D=3D null || encoding.trim().length() <=3D 0) { + encoding =3D "UTF-8"; + } + JSFResponseWrapper responseWrapper =3D new JSFResponseWrapper( + response, encoding); + rd.include(request, responseWrapper); + fw.append(responseWrapper.getResponseContent()); + } catch (ServletException ex) { + ex.printStackTrace(); + } + } + } + } = - private void addViewerParameter(FacesContext context, StringBuffer buff= er, String name, String value) - { - String finalValue =3D (String) valueBinding(context, name, value); - if (finalValue =3D=3D null || finalValue.trim().length() <=3D 0) - return; - buffer.append("&__"); - buffer.append(name); - buffer.append("=3D"); - = - try - { - finalValue =3D URLEncoder.encode(finalValue,"UTF-8"); - } - catch (UnsupportedEncodingException e) - { - finalValue =3D URLEncoder.encode(finalValue); - } - buffer.append(finalValue); - } + private void addViewerParameter(FacesContext context, StringBuffer buffer, + String name, String value) { + String finalValue =3D (String) valueBinding(context, name, value); + if (finalValue =3D=3D null || finalValue.trim().length() <=3D 0) + return; + buffer.append("&__"); + buffer.append(name); + buffer.append("=3D"); = - @Override - public String getFamily() - { - return COMPONENT_FAMILY; - } + try { + finalValue =3D URLEncoder.encode(finalValue, "UTF-8"); + } catch (UnsupportedEncodingException e) { + finalValue =3D 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 =3D designType; - } + public String getDesignType() { + return designType; + } = - public String getDesignName() - { - return designName; - } + public void setDesignType(String designType) { + this.designType =3D designType; + } = - public void setDesignName(String designName) - { - this.designName =3D designName; - } + public String getDesignName() { + return designName; + } = - public String getTitle() - { - return title; - } + public void setDesignName(String designName) { + this.designName =3D designName; + } = - public void setTitle(String title) - { - this.title =3D title; - } + public String getTitle() { + return title; + } = - public String getShowtitle() - { - return showtitle; - } + public void setTitle(String title) { + this.title =3D title; + } = - public void setShowtitle(String showtitle) - { - this.showtitle =3D showtitle; - } + public String getShowtitle() { + return showtitle; + } = - public String getToolbar() - { - return toolbar; - } + public void setShowtitle(String showtitle) { + this.showtitle =3D showtitle; + } = - public void setToolbar(String toolbar) - { - this.toolbar =3D toolbar; - } + public String getToolbar() { + return toolbar; + } = - public String getNavigationbar() - { - return navigationbar; - } + public void setToolbar(String toolbar) { + this.toolbar =3D toolbar; + } = - public void setNavigationbar(String navigationbar) - { - this.navigationbar =3D navigationbar; - } + public String getNavigationbar() { + return navigationbar; + } = - public String getParameterpage() - { - return parameterpage; - } + public void setNavigationbar(String navigationbar) { + this.navigationbar =3D navigationbar; + } = - public void setParameterpage(String parameterpage) - { - this.parameterpage =3D parameterpage; - } + public String getParameterpage() { + return parameterpage; + } = - public String getDocument() - { - return document; - } + public void setParameterpage(String parameterpage) { + this.parameterpage =3D parameterpage; + } = - public void setDocument(String document) - { - this.document =3D document; - } + public String getDocument() { + return document; + } = - public String getLocale() - { - return locale; - } + public void setDocument(String document) { + this.document =3D document; + } = - public void setLocale(String locale) - { - this.locale =3D locale; - } + public String getLocale() { + return locale; + } = - public String getSvg() - { - return svg; - } + public void setLocale(String locale) { + this.locale =3D locale; + } = - public void setSvg(String svg) - { - this.svg =3D svg; - } + public String getSvg() { + return svg; + } = - public String getPage() - { - return page; - } + public void setSvg(String svg) { + this.svg =3D svg; + } = - public void setPage(String page) - { - this.page =3D page; - } + public String getPage() { + return page; + } = - public String getPagerange() - { - return pagerange; - } + public void setPage(String page) { + this.page =3D page; + } = - public void setPagerange(String pagerange) - { - this.pagerange =3D pagerange; - } + public String getPagerange() { + return pagerange; + } = - public String getMasterpage() - { - return masterpage; - } + public void setPagerange(String pagerange) { + this.pagerange =3D pagerange; + } = - public void setMasterpage(String masterpage) - { - this.masterpage =3D masterpage; - } + public String getMasterpage() { + return masterpage; + } = - public String getOverwrite() - { - return overwrite; - } + public void setMasterpage(String masterpage) { + this.masterpage =3D masterpage; + } = - public void setOverwrite(String overwrite) - { - this.overwrite =3D overwrite; - } + public String getOverwrite() { + return overwrite; + } = - public String getBookmark() - { - return bookmark; - } + public void setOverwrite(String overwrite) { + this.overwrite =3D overwrite; + } = - public void setBookmark(String bookmark) - { - this.bookmark =3D bookmark; - } + public String getBookmark() { + return bookmark; + } = - public String getRtl() - { - return rtl; - } + public void setBookmark(String bookmark) { + this.bookmark =3D bookmark; + } = - public void setRtl(String rtl) - { - this.rtl =3D rtl; - } + public String getRtl() { + return rtl; + } = - public String getFittopage() - { - return fittopage; - } + public void setRtl(String rtl) { + this.rtl =3D rtl; + } = - public void setFittopage(String fittopage) - { - this.fittopage =3D fittopage; - } + public String getFittopage() { + return fittopage; + } = - public String getResourceFolder() - { - return resourceFolder; - } + public void setFittopage(String fittopage) { + this.fittopage =3D fittopage; + } = - public void setResourceFolder(String resourceFolder) - { - this.resourceFolder =3D resourceFolder; - } + public String getResourceFolder() { + return resourceFolder; + } = - public String getEmbeddable() - { - return embeddable; - } + public void setResourceFolder(String resourceFolder) { + this.resourceFolder =3D resourceFolder; + } = - public void setEmbeddable(String embeddable) - { - this.embeddable =3D embeddable; - } + public String getEmbeddable() { + return embeddable; + } = - @Override - public Object saveState(FacesContext context) - { + public void setEmbeddable(String embeddable) { + this.embeddable =3D embeddable; + } = - if (values =3D=3D null) - { - values =3D new Object[22]; - } - values[0] =3D super.saveState(context); - values[1] =3D url; - values[2] =3D format; - values[3] =3D designType; - values[4] =3D designName; - values[5] =3D title; - values[6] =3D showtitle; - values[7] =3D toolbar; - values[8] =3D navigationbar; - values[9] =3D parameterpage; - values[10] =3D document; - values[11] =3D locale; - values[12] =3D svg; - values[13] =3D page; - values[14] =3D pagerange; - values[15] =3D masterpage; - values[16] =3D overwrite; - values[17] =3D bookmark; - values[18] =3D rtl; - values[19] =3D fittopage; - values[20] =3D resourceFolder; - values[21] =3D embeddable; - return (values); + @Override + public Object saveState(FacesContext context) { = - } + if (values =3D=3D null) { + values =3D new Object[22]; + } + values[0] =3D super.saveState(context); + values[1] =3D url; + values[2] =3D format; + values[3] =3D designType; + values[4] =3D designName; + values[5] =3D title; + values[6] =3D showtitle; + values[7] =3D toolbar; + values[8] =3D navigationbar; + values[9] =3D parameterpage; + values[10] =3D document; + values[11] =3D locale; + values[12] =3D svg; + values[13] =3D page; + values[14] =3D pagerange; + values[15] =3D masterpage; + values[16] =3D overwrite; + values[17] =3D bookmark; + values[18] =3D rtl; + values[19] =3D fittopage; + values[20] =3D resourceFolder; + values[21] =3D embeddable; + return (values); = - @Override - public void restoreState(FacesContext context, Object state) - { + } = - values =3D (Object[]) state; - super.restoreState(context, values[0]); - url =3D (String) values[1]; - format =3D (String) values[2]; - designType =3D (String) values[3]; - designName =3D (String) values[4]; - title =3D (String) values[5]; - showtitle =3D (String) values[6]; - toolbar =3D (String) values[7]; - navigationbar =3D (String) values[8]; - parameterpage =3D (String) values[9]; - document =3D (String) values[10]; - locale =3D (String) values[11]; - svg =3D (String) values[12]; - page =3D (String) values[13]; - pagerange =3D (String) values[14]; - masterpage =3D (String) values[15]; - overwrite =3D (String) values[16]; - bookmark =3D (String) values[17]; - rtl =3D (String) values[18]; - fittopage =3D (String) values[19]; - resourceFolder =3D (String) values[20]; - embeddable =3D (String) values[21]; - } - = - public class JSFResponseWrapper extends HttpServletResponseWrapper - { + @Override + public void restoreState(FacesContext context, Object state) { = - private ServletOutputStreamWrapper servletOutputStreamWrapper =3D ne= w ServletOutputStreamWrapper(); - private PrintWriter printWriter =3D new PrintWriter(servletOutputStr= eamWrapper); + values =3D (Object[]) state; + super.restoreState(context, values[0]); + url =3D (String) values[1]; + format =3D (String) values[2]; + designType =3D (String) values[3]; + designName =3D (String) values[4]; + title =3D (String) values[5]; + showtitle =3D (String) values[6]; + toolbar =3D (String) values[7]; + navigationbar =3D (String) values[8]; + parameterpage =3D (String) values[9]; + document =3D (String) values[10]; + locale =3D (String) values[11]; + svg =3D (String) values[12]; + page =3D (String) values[13]; + pagerange =3D (String) values[14]; + masterpage =3D (String) values[15]; + overwrite =3D (String) values[16]; + bookmark =3D (String) values[17]; + rtl =3D (String) values[18]; + fittopage =3D (String) values[19]; + resourceFolder =3D (String) values[20]; + embeddable =3D (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 =3D new ServletOutputStreamWrapper( + encoding); + this.printWriter =3D new PrintWriter(servletOutputStreamWrapper); + } = - public String getResponseContent() - { - return servletOutputStreamWrapper.toString(); - } - } - = - private class ServletOutputStreamWrapper extends ServletOutputStream - { - StringWriter writer =3D 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 =3D encoding; + this.opened =3D true; + this.baos =3D 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 =3D=3D null || encoding.trim().length() <=3D 0) { + baos.toString(); + } + try { + return baos.toString(encoding); + } catch (UnsupportedEncodingException e) { + return baos.toString(); + } + } + } } --===============2700344633838716516==--