facebook

Import 6.5 report project to 7.0

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

    USDC-VT
    Member

    How do I import a 6.5 project with report capabilities (birt 2.2) to a 7.0 project with report capabilities (birt 2.3)??

    I import the project fine – no errors – but when I deploy to a war file and run on my tomcat server, I get ViewerServletContextListener errors::

    – Exception sending context initialized event to listener instance of class org.eclipse.birt.report.listener.ViewerServletContextListener
    java.lang.NoSuchMethodError: org.eclipse.birt.report.engine.api.EmitterInfo.<init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lorg/eclipse/birt/core/framework/IConfigurationElement;)V
    at org.eclipse.birt.report.engine.extension.internal.ExtensionManager.loadEmitterExtensionDefns(ExtensionManager.java:414)
    at org.eclipse.birt.report.engine.extension.internal.ExtensionManager.<init>(ExtensionManager.java:103)
    at org.eclipse.birt.report.engine.extension.internal.ExtensionManager.createInstance(ExtensionManager.java:112)
    at org.eclipse.birt.report.engine.extension.internal.ExtensionManager.getInstance(ExtensionManager.java:121)
    at org.eclipse.birt.report.engine.api.impl.ReportEngineHelper.<init>(ReportEngineHelper.java:77)
    at org.eclipse.birt.report.engine.api.impl.ReportEngine.<init>(ReportEngine.java:93)
    at org.eclipse.birt.report.engine.api.impl.ReportEngineFactory.createReportEngine(ReportEngineFactory.java:13)
    at org.eclipse.birt.report.service.ReportEngineService.setEngineContext(ReportEngineService.java:338)
    at org.eclipse.birt.report.service.BirtViewerReportService.setContext(BirtViewerReportService.java:975)
    at org.eclipse.birt.report.listener.ViewerServletContextListener.contextInitialized(ViewerServletContextListener.java:62)
    at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3669)
    at org.apache.catalina.core.StandardContext.start(StandardContext.java:4104)
    at org.apache.catalina.manager.ManagerServlet.start(ManagerServlet.java:1175)
    at org.apache.catalina.manager.HTMLManagerServlet.start(HTMLManagerServlet.java:510)
    at org.apache.catalina.manager.HTMLManagerServlet.doGet(HTMLManagerServlet.java:104)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:482)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
    at org.apache.catalina.authenticator.SingleSignOn.invoke(SingleSignOn.java:392)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:856)
    at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:744)
    at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
    at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
    at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
    at java.lang.Thread.run(Thread.java:619)

    I did remove the birt 2.2 libs from the project and added birt 2.3 libs (MyEclipse 7.0 / Birt 2.3.1)

    Thanks

    #291865 Reply

    Loyal Water
    Member

    Can you create a new Report Project in MyEclipse 7.0 and then transfer your files from the old project to the new project. Does that work?

    #291947 Reply

    USDC-VT
    Member

    Not so easy..

    I did create a new project and transfered files to it. Were it only that simple. In addition to
    transferring files from the old project to the new one, I also needed to go through resolving
    dependencies and importing datasets and connections.

    That done, it did clear up the NoSuchMethod error (goodness to be sure).

    However, now when I deploy this (jsf) project to the server, the birt:viewer tag does not render.
    Not only that, it seems to disable the command button immediately following the birt tag.

    <h:form>
    <birt:viewer id=”birtViewer”
    reportDesign=”reports/pending_case.rptdesign” height=”800″
    width=”1000″ left=”5″ pattern=”frameset” format=”HTML”
    isHostPage=”false”>
    </birt:viewer>

    <f:verbatim><p></f:verbatim>

    <h:commandButton id=”pndgCaseRptOKBtn”
    action=”#{OpRptBean.pendingCaseokfunct}” rendered=”true” value=”OK” />
    </h:form>

    Page renders, command button renders but will not respond. Works in 6.5/birt 2.2…

    #291966 Reply

    Loyal Water
    Member

    I just checked with the dev team and it seems like you will have to upgrade the reports project. This is how it can be done:-
    http://www.myeclipseide.com/documentation/overview/technical/myeclipse_reports_upgrade.html

    #292036 Reply

    USDC-VT
    Member

    Helpful link. Followed instructions there, but still no love.

    Source page when rendered contains js for the viewer but is never rendered…

    <!DOCTYPE HTML PUBLIC “-//W3C//DTD HTML 4.0 Transitional//EN”>
    <HTML>
    <HEAD>
    <TITLE>Report System</TITLE>
    <LINK REL=”STYLESHEET” HREF=”./css/styles.css” TYPE=”text/css”>

    </HEAD>
    <BODY>
    <CENTER>
    <table id=”menu_grid” class=”menu”><tbody><tr><td><a id=”_idJsp0″ name=”_idJsp0″ href=”http://server:8080/VTDWebPortal&#8221; class=”white”>VTD Web Apps</a></td><td><a id=”_idJsp2″ name=”_idJsp2″ href=”http://server:8080/VTDWebPortal/OpApps.faces&#8221; class=”white”>VTD Operations Apps</a></td><td><a id=”_idJsp4″ name=”_idJsp4″ href=”http://server:8080/VTDWebPortal/AdminApps.faces&#8221; class=”white”>Administration Applications</a></td><td><a id=”_idJsp6″ name=”_idJsp6″ href=”http://otherserver&#8221; class=”white”>VTD Web Home</a></td></tr>
    </tbody></table>
    <br/>
    <table border=”5″ style=”height: 74px; width: 423px” class=”title”><tbody><tr><td><img src=”/VTD_Op_Reports/images/vtd-seal.gif” style=”height: 61px; width: 53px” /><label id=”titleLabel” class=”title”>VTD Pending Case Report</label>

    <table align=”left” width=”100%”>
    <tr align=”left” valign=”middle”>
    <TD align=”left” valign=”middle” >

    </TD>
    <TD align=”left” valign=”middle”>

    </TD>
    </tr>
    </table>
    </td></tr>

    </tbody></table>
    <br/>
    <form id=”_idJsp11″ name=”_idJsp11″ method=”post” action=”/VTD_Op_Reports/PendingCaseReport.faces” enctype=”application/x-www-form-urlencoded”>

    <div id=”params_birtViewer” style=’display:none’>
    </div>
    <form id=”form_birtViewer” method=”post”></form>
    <script type=”text/javascript”>
    function loadViewerbirtViewer(){
    var formObj = document.getElementById( “form_birtViewer” );
    var paramContainer = document.getElementById(“params_birtViewer”);
    var oParams = paramContainer.getElementsByTagName(‘input’);
    if( oParams )
    {
    for( var i=0;i<oParams.length;i++ )
    {
    var param = document.createElement( “INPUT” );
    param.type = “HIDDEN”;
    param.name= oParams[i].name;
    param.value= oParams[i].value;
    formObj.appendChild( param );
    }
    }
    formObj.action = “/VTD_Op_Reports/frameset?__id=birtViewer&__report=reports%2Fnew_report.rptdesign&__masterpage=true&__format=HTML”;
    formObj.target = “birtViewer”;
    formObj.submit( );
    }
    </script>
    <iframe name=”birtViewer” frameborder=”no” scrolling = “auto” style=’height:800px;width:1000px;left:5px;’ ></iframe>
    <script type=”text/javascript”>loadViewerbirtViewer();</script>

    <p>

    <input id=”_idJsp11:pndgCaseRptOKBtn” name=”_idJsp11:pndgCaseRptOKBtn” type=”submit” value=”OK” onclick=”if(typeof window.clearFormHiddenParams__idJsp11!=’undefined’){clearFormHiddenParams__idJsp11(‘_idJsp11′);}if(typeof window.getScrolling!=’undefined’){oamSetHiddenInput(‘_idJsp11′,’autoScroll’,getScrolling());}” />
    <input type=”hidden” name=”autoScroll” />

    <input type=”hidden” name=”_idJsp11_SUBMIT” value=”1″ /><input type=”hidden” name=”_idJsp11:_idcl” /><input type=”hidden” name=”_idJsp11:_link_hidden_” /><script type=”text/javascript”><!–

    function clear__5FidJsp11()
    {
    clearFormHiddenParams__idJsp11(‘_idJsp11’);
    }

    function clearFormHiddenParams__idJsp11(currFormName)
    {
    var f = document.forms[‘_idJsp11’];
    f.elements[‘_idJsp11:_idcl’].value=”;
    f.elements[‘_idJsp11:_link_hidden_’].value=”;
    f.target=”;
    }

    clearFormHiddenParams__idJsp11();
    //–></script><input type=”hidden” name=”javax.faces.ViewState” id=”javax.faces.ViewState” value=”rO0ABXVyABNbTGphdmEubGFuZy5PYmplY3Q7kM5YnxBzK (truncated)=” /></form>
    </CENTER>
    <div align=”left” class=”light”>
    <small>2008     Company Name</small>

    </div>
    <!– MYFACES JAVASCRIPT –>

    <script type=”text/javascript”><!–
    function getScrolling() {
    var x = 0; var y = 0;
    if (self.pageXOffset || self.pageYOffset) {
    x = self.pageXOffset;
    y = self.pageYOffset;
    } else if ((document.documentElement && document.documentElement.scrollLeft)||(document.documentElement && document.documentElement.scrollTop)) {
    x = document.documentElement.scrollLeft;
    y = document.documentElement.scrollTop;
    } else if (document.body) {
    x = document.body.scrollLeft;
    y = document.body.scrollTop;
    }
    return x + “,” + y;
    }

    //–></script>

    </BODY>
    </HTML>

    I did try to install the MERSimpleReportExample and use the referenced instructions to
    upgrade that to 7.0/Birt 2.3.1 as well, but it chokes on the EngineConfig.getLogFile()
    method — (i.e. no such).

    #292058 Reply

    USDC-VT
    Member

    Spoke too soon it seems.

    Was able to use the example to explore a little further into this.

    Now appears that the birt:viewer tag renders when not embedded in a <h:form> element but will not render when it is enclosed in a form.

    Wish I knew what was causing this to occur now or what to do about it.

    Progress, I guess…

    #292232 Reply

    Brian Fernandes
    Moderator

    Howard,

    I’m sorry you ran into this. I wanted to confirm that you do have your report project up and running, but you are experiencing a change in BIRT behavior; this we will take up with the BIRT team and report back.

    Do let us know if you’re still running into other issues.

    #292241 Reply

    USDC-VT
    Member

    It has been an adventure for sure…

    I am now up and running – thanks for the suggestions.

    To sum up, the issues I ran into had to do with the upgrade from Birt 2.2 to Birt 2.3 and the FireFox 3 upgrade as well.

    Projects that worked under Birt 2.2 and FireFox 2 were broken with the newer verisions.

    What I ended up doing was to move the birt:viewer tag out of the form element it was in on my jsp pages for my jsf project.
    That allowed the reports to render under FireFox 2, 3 and Internet Explorer (had not rendered in IE even when FF2 was working).
    I suspect the xml processing has changed and is interpreted differently in each browser version.

    The other thing I needed to resolve was that Birt could not find my mysql driver jar for a time.
    That turned out to be an issue with deploying the driver jar to my web project under
    WebRoot->WEB-INF->report-engine->platform->plugins->org.eclipse.birt.oda.jdbc_2.3.1.v20080827->drivers

    Personally, I would think that the process of importing a project from 6.5 (or some other version) to 7.0 would have upgraded the
    app accordingly, at least so far as birt libraries and dependencies were concerned.

    That said, I certainly learned more from hacking through all this — good thing productivity was not a high priority on this particular project, though.

Viewing 8 posts - 1 through 8 (of 8 total)
Reply To: Import 6.5 report project to 7.0

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