-
1. Re: Using Jasper Reports with Seam/JBoss
pmuir Jan 22, 2007 4:26 AM (in response to squibobblepants)http://wiki.jboss.org/wiki/Wiki.jsp?page=SeamResourceLoader
or better, consider using Seam's built in PDF generation. -
2. Re: Using Jasper Reports with Seam/JBoss
squibobblepants Jan 22, 2007 4:31 AM (in response to squibobblepants)That looks like it may just work. Don't want to return a pdf though - ideally I want to just return a HTML/jsf page that displays the report.
Could I just use the same method but return a HTML version? Or is there a simpler way? -
3. Re: Using Jasper Reports with Seam/JBoss
pmuir Jan 22, 2007 4:36 AM (in response to squibobblepants)For an HTML doccument yes, AFAICS. If you have a (generated?) JSF view, then you would need to run it through the correct (JSP/facelets) renderer first - which the example resource loader won't do.
Set the disposition to INLINE, the type to text/html, and don't override the filename and your browser should interpret it properly. -
4. Re: Using Jasper Reports with Seam/JBoss
norman.richards Jan 22, 2007 9:46 AM (in response to squibobblepants)"petemuir" wrote:
http://wiki.jboss.org/wiki/Wiki.jsp?page=SeamResourceLoader
or better, consider using Seam's built in PDF generation.
We're not there yet, but I am planning to add charting to the PDF generation. -
5. Re: Using Jasper Reports with Seam/JBoss
squibobblepants Jan 24, 2007 7:52 AM (in response to squibobblepants)Hi,
Been working on this, and can create the filled in html report, and load it to a byte[] in the Resource, but I keep hitting this error:javax.faces.el.EvaluationException: Exception while invoking expression #{reporting.file.render} at org.apache.myfaces.el.MethodBindingImpl.invoke(MethodBindingImpl.java:165) at org.jboss.seam.actionparam.ActionParamBindingHelper.invokeTheExpression(ActionParamBindingHelper.java:59) at org.jboss.seam.actionparam.ActionParamMethodBinding.invoke(ActionParamMethodBinding.java:71) at org.jboss.seam.core.Expressions$2.invoke(Expressions.java:98) at org.jboss.seam.core.Pages.callAction(Pages.java:343) at org.jboss.seam.core.Pages.callActions(Pages.java:322) ... Caused by: javax.faces.el.EvaluationException: Exception getting value of property file of base of type : org.jboss.seam.intercept.Proxy$$EnhancerByCGLIB$$99e6343c at org.apache.myfaces.el.PropertyResolverImpl.getValue(PropertyResolverImpl.java:96) ... Caused by: javax.faces.el.EvaluationException: Bean: org.jboss.seam.intercept.Proxy$$EnhancerByCGLIB$$99e6343c, property: file at org.apache.myfaces.el.PropertyResolverImpl.getProperty(PropertyResolverImpl.java:442) ... Caused by: java.lang.reflect.InvocationTargetException at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ... Caused by: java.lang.RuntimeException: org.hibernate.TransactionException: Could not register synchronization at org.jboss.ejb3.stateful.StatefulBeanContext.remove(StatefulBeanContext.java:273) at org.jboss.ejb3.AbstractPool.remove(AbstractPool.java:171) at org.jboss.ejb3.cache.simple.SimpleStatefulCache.remove(SimpleStatefulCache.java:299)
The reporting bean is session scoped, and stateful. The Resource is (I think) working fine, I can create the new one, and print the contents to my log, but it fails when I try access it through pages.xml wiring.
I'm fairly new to seam so apologies if this is a stupid question. -
6. Re: Using Jasper Reports with Seam/JBoss
pmuir Jan 24, 2007 10:04 AM (in response to squibobblepants)Looks like there is some transaction related problem going on. My best guess would to try marking the render method @Transactional. Or, better yet, do it in a JavaBean as a Seam component
-
7. Re: Using Jasper Reports with Seam/JBoss
squibobblepants Jan 24, 2007 10:13 AM (in response to squibobblepants)hmm. I think the transaction exception is a bit of a red herring - it seems to appear at the bottom of all stack traces now.
I'm getting the same error now even when trying to access a simple string in my reporting bean:
reporting.java:@Stateful @Name("reporting") @Scope(ScopeType.SESSION) public class ReportManager implements ReportManagerI { ... @Out public String hello="hello"; ... }
reporting.xhtml:... <h:outputText value="#{reporting.hello}" /> ...
Is also giving me:javax.faces.el.PropertyNotFoundException: /reporting.xhtml @37,53 value="#{reporting.hello}": Bean: org.jboss.seam.intercept.Proxy$$EnhancerByCGLIB$$3196fd0, property: hello at com.sun.facelets.el.LegacyValueBinding.getValue(LegacyValueBinding.java:58) at javax.faces.component.UIOutput.getValue(UIOutput.java:77) at org.apache.myfaces.shared_impl.renderkit.RendererUtils.getStringValue(RendererUtils.java:217) at org.apache.myfaces.shared_impl.renderkit.html.HtmlTextRendererBase.renderOutput(HtmlTextRendererBase.java:69) at org.apache.myfaces.shared_impl.renderkit.html.HtmlTextRendererBase.encodeEnd(HtmlTextRendererBase.java:57)
I think maybe there's something wrong with my bean? -
8. Re: Using Jasper Reports with Seam/JBoss
gavin.king Jan 24, 2007 2:07 PM (in response to squibobblepants)What version of JBoss or EJB3 are you using. This is a bug in EJB3/Hibernate that was fixed a while ago. It just hides the real exception.
-
9. Re: Using Jasper Reports with Seam/JBoss
squibobblepants Jan 25, 2007 5:13 AM (in response to squibobblepants)I'm using:
EJB3
Jboss IDE 2.0.0.Beta2
JBoss Server 4.0.5.GA
JBoss Seam 1.0.1.GA2
Is that the appropriate setup to encounter this bug? -
10. Re: Using Jasper Reports with Seam/JBoss
pmuir Jan 25, 2007 5:15 AM (in response to squibobblepants)Yes. Get Seam 1.1.1.GA - which is the latest release :)