facebook

a myeclipse report integrated on an icefaces page

  1. MyEclipse Archived
  2.  > 
  3. MyEclipse Reports
Viewing 14 posts - 1 through 14 (of 14 total)
  • Author
    Posts
  • #281062 Reply

    Is it possible to integrate a myeclipse report on a jsf page with icefaces capabilities? I am using MyEclipse 6.0.1. I can get the report to display on a plain jsp page with the following tag:

    
    <birt:viewer id="birtViewer" reportDesign="reports/reportName.rptdesign"
                pattern="frameset"
                format="HTML"
                isHostPage = "true">
    </birt:viewer>
    

    The above code generates multiple errors in a jsf/icefaces page which all seem to involve XML parsing.

    Is there a way to fix this error and successfully integrate the report?

    #281145 Reply

    Riyad Kalla
    Member

    Jennifer, what are the errors it generates? You do need to make sure that the project you are using that tag in has reporting capabilities added to it, and that the page properly imports the birt taglib, other than that, yes you should be able to display your report in any normal JSF page.

    #281177 Reply

    I have added reporting capabilities to the project.

    I am importing the taglib in jsp:root in the following way:

    
    <jsp:root version="1.2" xmlns:jsp="http://java.sun.com/JSP/Page"
        xmlns:f="http://java.sun.com/jsf/core"
        xmlns:h="http://java.sun.com/jsf/html"
        xmlns:ice="http://www.icesoft.com/icefaces/component" 
        xmlns:birt="http://www.eclipse.org/birt/taglibs/birt.tld">
    

    The errors I get on the icefaces/jsf page from the report are the following:

    
    Parse Fatal Error at line 19 column 6: The element type "title" must be terminated by the matching end-tag "</title>".
    org.xml.sax.SAXParseException: The element type "title" must be terminated by the matching end-tag "</title>".
        at org.apache.xerces.util.ErrorHandlerWrapper.createSAXParseException(Unknown Source)
        at org.apache.xerces.util.ErrorHandlerWrapper.fatalError(Unknown Source)
        at org.apache.xerces.impl.XMLErrorReporter.reportError(Unknown Source)
        at org.apache.xerces.impl.XMLErrorReporter.reportError(Unknown Source)
        at org.apache.xerces.impl.XMLScanner.reportFatalError(Unknown Source)
        at org.apache.xerces.impl.XMLNSDocumentScannerImpl.scanEndElement(Unknown Source)
        at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown Source)
        at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)
        at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
        at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
        at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
        at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)
        at org.apache.commons.digester.Digester.parse(Digester.java:1586)
        at com.icesoft.faces.webapp.parser.Parser.parse(Parser.java:122)
        at com.icesoft.faces.application.D2DViewHandler.renderResponse(D2DViewHandler.java:519)
        at com.icesoft.faces.application.D2DViewHandler.renderView(D2DViewHandler.java:153)
        at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:106)
        at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:251)
        at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:144)
        at com.icesoft.faces.webapp.http.core.PageServer$1.respond(PageServer.java:26)
        at com.icesoft.faces.webapp.http.servlet.ServletRequestResponse.respondWith(ServletRequestResponse.java:143)
        at com.icesoft.faces.webapp.http.servlet.ThreadBlockingAdaptingServlet$ThreadBlockingRequestResponse.respondWith(ThreadBlockingAdaptingServlet.java:36)
        at com.icesoft.faces.webapp.http.core.PageServer.service(PageServer.java:31)
        at com.icesoft.faces.webapp.http.core.SingleViewServer.service(SingleViewServer.java:46)
        at com.icesoft.faces.webapp.http.common.standard.PathDispatcherServer$Matcher.serviceOnMatch(PathDispatcherServer.java:50)
        at com.icesoft.faces.webapp.http.common.standard.PathDispatcherServer.service(PathDispatcherServer.java:19)
        at com.icesoft.faces.webapp.http.servlet.ThreadBlockingAdaptingServlet.service(ThreadBlockingAdaptingServlet.java:19)
        at com.icesoft.faces.webapp.http.servlet.EnvironmentAdaptingServlet.service(EnvironmentAdaptingServlet.java:29)
        at com.icesoft.faces.webapp.http.servlet.MainSessionBoundServlet.service(MainSessionBoundServlet.java:109)
        at com.icesoft.faces.webapp.http.servlet.SessionDispatcher.service(SessionDispatcher.java:35)
        at com.icesoft.faces.webapp.http.servlet.PathDispatcher$Matcher.serviceOnMatch(PathDispatcher.java:52)
        at com.icesoft.faces.webapp.http.servlet.PathDispatcher.service(PathDispatcher.java:29)
        at com.icesoft.faces.webapp.http.servlet.MainServlet.service(MainServlet.java:98)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
        at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:433)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:261)
        at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
        at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:581)
        at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
        at java.lang.Thread.run(Thread.java:619)
    
    #281204 Reply

    Riyad Kalla
    Member

    Parse Fatal Error at line 19 column 6: The element type “title” must be terminated by the matching end-tag “</title>”.
    org.xml.sax.SAXParseException: The element type “title” must be terminated by the matching end-tag “</title>”.

    This error doesn’t seem to be related to the reporting tag, unless I’m missing something?

    What’s going on around line 19, with the <title> tag?

    #281445 Reply

    Hi,

    Apologies for the delay in replying. In fact the “title” error was not related to birt. However, I am still getting an error which I believe is related to the birt tag. The complete code of my test page is as follows:

    
    <?xml version="1.0" encoding="ISO-8859-1" ?>
    <jsp:root version="1.2" xmlns:jsp="http://java.sun.com/JSP/Page"
        xmlns:f="http://java.sun.com/jsf/core"
        xmlns:h="http://java.sun.com/jsf/html"
        xmlns:ice="http://www.icesoft.com/icefaces/component" 
        xmlns:birt="http://www.eclipse.org/birt/taglibs/birt.tld"
        >
        <jsp:directive.page contentType="text/html;charset=ISO-8859-1"
            pageEncoding="ISO-8859-1" />
        <f:view>
            <ice:outputDeclaration doctypeRoot="html"
                doctypePublic="-//W3C//DTD HTML 4.01 Transitional//EN"
                doctypeSystem="http://www.w3.org/TR/html4/loose.dtd" />
            <html>
                <head>
                    <title>Report Test</title>
                </head>
                <body>
    
                    <ice:form partialSubmit="true">
                    <ice:messages />
                    
                        <birt:viewer id="birtViewer" reportDesign="reports/assignmentsByPerson.rptdesign" 
                                 pattern="frameset" 
                                 format="HTML" 
                                 isHostPage = "false"> 
                        </birt:viewer>
                        
                    </ice:form>
    
                </body>
            </html>
        </f:view>
    </jsp:root>
    
    

    And the corresponding error is this:

    
    exception 
    
    javax.faces.FacesException: java.lang.NullPointerException
        com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:310)
        com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:144)
        com.icesoft.faces.webapp.http.core.PageServer$1.respond(PageServer.java:26)
        com.icesoft.faces.webapp.http.servlet.ServletRequestResponse.respondWith(ServletRequestResponse.java:143)
        com.icesoft.faces.webapp.http.servlet.ThreadBlockingAdaptingServlet$ThreadBlockingRequestResponse.respondWith(ThreadBlockingAdaptingServlet.java:36)
        com.icesoft.faces.webapp.http.core.PageServer.service(PageServer.java:31)
        com.icesoft.faces.webapp.http.core.SingleViewServer.service(SingleViewServer.java:46)
        com.icesoft.faces.webapp.http.common.standard.PathDispatcherServer$Matcher.serviceOnMatch(PathDispatcherServer.java:50)
        com.icesoft.faces.webapp.http.common.standard.PathDispatcherServer.service(PathDispatcherServer.java:19)
        com.icesoft.faces.webapp.http.servlet.ThreadBlockingAdaptingServlet.service(ThreadBlockingAdaptingServlet.java:19)
        com.icesoft.faces.webapp.http.servlet.EnvironmentAdaptingServlet.service(EnvironmentAdaptingServlet.java:29)
        com.icesoft.faces.webapp.http.servlet.MainSessionBoundServlet.service(MainSessionBoundServlet.java:109)
        com.icesoft.faces.webapp.http.servlet.SessionDispatcher.service(SessionDispatcher.java:35)
        com.icesoft.faces.webapp.http.servlet.PathDispatcher$Matcher.serviceOnMatch(PathDispatcher.java:52)
        com.icesoft.faces.webapp.http.servlet.PathDispatcher.service(PathDispatcher.java:29)
        com.icesoft.faces.webapp.http.servlet.MainServlet.service(MainServlet.java:98)
        javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
    
    
    root cause 
    
    java.lang.NullPointerException
        org.apache.commons.digester.Digester.createSAXException(Digester.java:2540)
        org.apache.commons.digester.Digester.createSAXException(Digester.java:2566)
        org.apache.commons.digester.Digester.startElement(Digester.java:1276)
        org.apache.xerces.parsers.AbstractSAXParser.startElement(Unknown Source)
        org.apache.xerces.impl.XMLNSDocumentScannerImpl.scanStartElement(Unknown Source)
        org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown Source)
        org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)
        org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
        org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
        org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
        org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)
        org.apache.commons.digester.Digester.parse(Digester.java:1586)
        com.icesoft.faces.webapp.parser.Parser.parse(Parser.java:122)
        com.icesoft.faces.application.D2DViewHandler.renderResponse(D2DViewHandler.java:519)
        com.icesoft.faces.application.D2DViewHandler.renderView(D2DViewHandler.java:153)
        com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:106)
        com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:251)
        com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:144)
        com.icesoft.faces.webapp.http.core.PageServer$1.respond(PageServer.java:26)
        com.icesoft.faces.webapp.http.servlet.ServletRequestResponse.respondWith(ServletRequestResponse.java:143)
        com.icesoft.faces.webapp.http.servlet.ThreadBlockingAdaptingServlet$ThreadBlockingRequestResponse.respondWith(ThreadBlockingAdaptingServlet.java:36)
        com.icesoft.faces.webapp.http.core.PageServer.service(PageServer.java:31)
        com.icesoft.faces.webapp.http.core.SingleViewServer.service(SingleViewServer.java:46)
        com.icesoft.faces.webapp.http.common.standard.PathDispatcherServer$Matcher.serviceOnMatch(PathDispatcherServer.java:50)
        com.icesoft.faces.webapp.http.common.standard.PathDispatcherServer.service(PathDispatcherServer.java:19)
        com.icesoft.faces.webapp.http.servlet.ThreadBlockingAdaptingServlet.service(ThreadBlockingAdaptingServlet.java:19)
        com.icesoft.faces.webapp.http.servlet.EnvironmentAdaptingServlet.service(EnvironmentAdaptingServlet.java:29)
        com.icesoft.faces.webapp.http.servlet.MainSessionBoundServlet.service(MainSessionBoundServlet.java:109)
        com.icesoft.faces.webapp.http.servlet.SessionDispatcher.service(SessionDispatcher.java:35)
        com.icesoft.faces.webapp.http.servlet.PathDispatcher$Matcher.serviceOnMatch(PathDispatcher.java:52)
        com.icesoft.faces.webapp.http.servlet.PathDispatcher.service(PathDispatcher.java:29)
        com.icesoft.faces.webapp.http.servlet.MainServlet.service(MainServlet.java:98)
        javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
    
    
    
    #281460 Reply

    Riyad Kalla
    Member

    Jennifer,
    The stack trace you posted seems to suggest a problem with the ICEfaces tags you are using… could you clarify why you think the issue is with BIRT? What behavior are you observing that suggests so?

    #281490 Reply

    I don’t believe that it is a problem with the icefaces tags. The page without the “birt” viewer displays correctly with no errors. When the birt viewer is added in the error occurs. The identical error occurs if this is put on a jsf page without icefaces. If the same birt viewer is put on a jsp page, it displays fine.

    The jsf page which I tested the viewer on is as follows:

    
    <%@ page language="java" pageEncoding="ISO-8859-1"%>
    <%@ taglib uri="http://java.sun.com/jsf/html" prefix="h" %>
    <%@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %>
    <%@ taglib uri="http://www.eclipse.org/birt/taglibs/birt.tld" prefix="birt" %>
    <%
    String path = request.getContextPath();
    String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
    %>
    
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
    <head>
        <base href="<%=basePath%>"/>
    
        <title>My JSF 'reportTest2.jsf' starting page</title>
        
        <meta http-equiv="pragma" content="no-cache">
        <meta http-equiv="cache-control" content="no-cache">
        <meta http-equiv="expires" content="0">    
        <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
        <meta http-equiv="description" content="This is my page">
        <!--
        <link rel="stylesheet" type="text/css" href="styles.css">
        -->
    
    </head>
      
    <body>
        <h:form>
                    
                        <birt:viewer id="birtViewer" reportDesign="reports/assignmentsByPerson.rptdesign" 
                                 pattern="frameset" 
                                 format="HTML" 
                                 isHostPage = "false"> 
                        </birt:viewer>
                        
                    </h:form>
        
    </body>
    </html>
    
    #281519 Reply

    Riyad Kalla
    Member

    Jennifer,
    I was unable to reproduce the problem.

    I’ve attached the project I created (NOTE: You will need to copy report-viewer back under WebRoot from another project and report-engine back under WEB-INF as I didn’t include them in this project to avoid a 21mb attachment)

    Could you import this project and deploy it, then test the plain JSP page and the JSF page and see if it works? I used the MyEclipse Tomcat Server.

    If that works, can you add ICEfaces capabilities to it and try with you example page and see if it still works or if it dies?

    Attachments:
    You must be logged in to view attached files.
    #281533 Reply

    Hi,

    The project you provided also works for me without issues for both the jsf and jsp pages without icefaces capabilities. When I add icefaces capabilities to the project and then check the reports, the jsp report displays correctly but not the jsf report. For the jsf report, I get the same error that I did before. Do you have any ideas on how I can resolve this issue? Thanks.

    #281554 Reply

    Riyad Kalla
    Member

    Jennifer,
    I’ve added this to my list of things to check today… I smell a potential library conflict I think…

    #281557 Reply

    Thanks for the reply, please keep me posted for any new developments.

    #281607 Reply

    Loyal Water
    Member

    Jennifer,
    I also had issues running the reports with ICEfaces. I have filed this issue for the dev team. I’ll keep you posted on any new developments.

    #283446 Reply

    Has there been any updates to this issue? It is extremely important that I can get a report integrated on to an icefaces page.

    #283477 Reply

    Riyad Kalla
    Member

    Jennifer,
    Unfortunately no update, and chances are this is likely a library conflict between Reports/BIRT and ICEfaces, meaning that if you designed/deployed your project by hand using these combined technologies it’s likely you’d end up with the same problem, so it’s not MyEclipse specific necessarily.

    I’m sorry we haven’t had more time to dig deep on this yet.

Viewing 14 posts - 1 through 14 (of 14 total)
Reply To: a myeclipse report integrated on an icefaces page

You must be logged in to post in the forum log in