[jbosstools-issues] [JBoss JIRA] Commented: (JBIDE-4937) birt - Seam component always null with birt embed

Snjezana Peco (JIRA) jira-events at lists.jboss.org
Sun Sep 27 19:07:49 EDT 2009


    [ https://jira.jboss.org/jira/browse/JBIDE-4937?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12487508#action_12487508 ] 

Snjezana Peco commented on JBIDE-4937:
--------------------------------------

> - encoding problem : birt servlet outputs its content in binary mode but you read it in caracter mode. 

The JBossBirtServlet always outputs HTML format. 
Your UIDocument.java encodes the servlet's output as UTF-8 which is not always correct.

> - p:param parameters and the other tag attributes are not propagated in the requestDispatcher.include when using embed mode (you would also need to have a RequestWrapper I think).

p:param parameters are propagated which you can test by adding "<b:param name="sample" value="test1" />" to testbirtembed.xhtml
Other tags are also propagated, but JBossBirtServlet interprets only __report, __embeddable and __masterpage. 
If you would like this servlet to interpret some other tag, please create a feature request.

> You must now change doPost implementation to call doGet (otherwise embed mode will not work on jsf postback now that you use requestDispatcher.dispatch mode ;) ). 

I can't reproduce this issue.  The p:birt tag always calls the doGet method.

Max,
We could render a BIRT report using a Seam component, but that would introduce a dependency to Seam. The current implementation is a pure JSF implementation.
What do you think about this?

> birt - Seam component always null with birt embed
> -------------------------------------------------
>
>                 Key: JBIDE-4937
>                 URL: https://jira.jboss.org/jira/browse/JBIDE-4937
>             Project: Tools (JBoss Tools)
>          Issue Type: Bug
>          Components: birt
>            Reporter: Gonzalez Adrian
>            Assignee: Snjezana Peco
>             Fix For: 3.1.0.M4
>
>         Attachments: JBIDE-4937-1.zip, JBIDE-4937-2.zip, JBIDE-4937-patch1.zip, UIDocument.java
>
>
> I'm using a Seam component in birt report (from a scripted datasource).
> Seam component is in conversation (or even session scope - same result).
> When I try to access a Seam Component from a birt report and when I use embed mode(designType="embed"), Seam component is always null (I'm accessing seam component with Component.getInstance("sampleReportList", false);).
> When I use designType="run", or frameset everything works fine. 
> Tthe issue is due to the session that isn't propagated in embed mode.
> UIDocument class creates a new URLConnection to call JBossBirtServlet without propagating session cookie JSESSIONID (or the session id parameter if session is propagated with url rewriting).
> JBossBirtServlet then calls birt engine, but in a new session context.
> So the scripted source in birt engine cannot get a reference to any object stored in the original session.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        


More information about the jbosstools-issues mailing list