1 2 Previous Next 16 Replies Latest reply on Feb 4, 2010 3:00 PM by kiplingku

    Birt integration into existing Seam Project

    tausuahmed

      Hello,


      How can i integrate a BIRT into an existing seam project???

        • 1. Re: Birt integration into existing Seam Project

          Integrating BIRT with any web based app is a big PITA, if you can avoid it, and go for JasperReports you will thank yourself later.

          • 2. Re: Birt integration into existing Seam Project
            gonzalad

            Hello Francisco,


            Could you explain a bit more why BIRT integration is a pain  ? (we've integrated BIRT in a Seam app, but we're not really sure about it, we'll consider perhaps penthao or JasperReports - so really interested about your opinion on this subject).



            For Tauseef Ahmed (Hi !), if you really want to integrate Seam and BIRT, you have 2 solutions I think :



            • create a standalone BIRT web application and integrate the BIRT viewer in your webapp in a IFRAME.

            • integrate the BIRT viewer inside your seam webapp.



            We used the second path (the harder one...).



            Integrate the BIRT viewer inside your seam webapp



            This section can be inaccurate, I didn't record my steps when I did this.


            I think this integration can be done in 1 day if you confident with seam.
            If not, it can be a whole week.




            1. you'll need to download the birt runtime (if I recall correctly from birt-runtime.zip).

            2. from this zip get the war containing the viewer application.

            3. merge the viewer web.xml file into your web.xml

            4. just copy the other stuff inside your war (I think you'll have the following directories inside your webapp directory : logs, scriptlib, webcontent, images, WEB-INF/platform, WEB-INF/tlds, and merge the WEB-INF/lib - be cautious with duplicate libraries !).

            5. now, you have two options : either you'll integrate the viewer inside you application by creating outputLink with the correct parameters (see ViewerUsage) or download JBoss Tools JSF taglib to do it (we choose this path).



            If you choose to use the JBoss JSF tablig, be warned there are some bugs when using embed mode, and some other bugs in the tags themselves (JBIDE-4842) :



            1. Just download JBoss Tools (il you have eclipse 3.4.2, just use Eclipse updatesite, otherwise get the zip archive). From there get jboss-birt-servlet.jar - servlet for embed mode - and jboss-seam-birt.jar - jsf tags for birt). I can send them if you have an email adress.

            2. Just add the following section in you web.xml :




              <servlet>
                <servlet-name>JBoss BIRT Servlet</servlet-name>
                <servlet-class>org.jboss.tools.birt.servlet.JBossBirtServlet</servlet-class>
              </servlet>
              <servlet-mapping>
                <servlet-name>JBoss BIRT Servlet</servlet-name>
                <url-pattern>/embed</url-pattern>
              </servlet-mapping>
            




            Using Seam Components inside a Scripted Datasource



            And if after that you want to call some Seam components inside a scripted datasource (see Scripted Data Sources, then make sure the BIRT viewer servlets are executed inside a JSF context, otherwise you'll get IllegalStateException: No active event context.
            For this you only need to :



            • add the following line inside your components.xml :




            <web:context-filter regex-url-pattern="/frameset.*|/document.*|/download.*|/parameter.*|/extract.*|/run.*|/preview.*|/output.*|/embed.*"/>




            Here's a sample of open method of a scripted datasource using a Seam component :



            <method name="open"><![CDATA[
            importPackage(Packages.org.apache.commons.logging);
            logger = LogFactory.getLog("birt.avoirscript");
            
            //Pour Seam :
            importPackage(Packages.org.jboss.seam);
            rechercherAvoirsAction = Component.getInstance("rechercherAvoirsAction", false);
            logger.info("rechercherAvoirsAction = "+rechercherAvoirsAction);
            lesAvoirs = rechercherAvoirsAction.getResultList();
            
            logger.info("lesAvoirs = "+lesAvoirs);
            nbLignes = lesAvoirs.size();
            logger.info("lesAvoirs.size = "+nbLignes);
            ligneEnCours = 0;
            ]]></method>





            Using BIRT, JSF 1.2 and Facelets inside Websphere 6.1



            There's a bug when you have all this inside the same JSF in WAS 6.1.
            I don't recall the stacktrace (Sun JSF 1.2 just cannot load faces-config.xml inside facelets.jar - but the error isn't so meaningfull - I think you'll have something like a warning couldn't load http://java.sun.com/dtd/web-facesconfig10.dtd).



            • you'll need either to ensure your appserver has internet acess (hehe).

            • or you'll need to change the faces-config inside facelets jar to use the jsf 1.2 xsd instead of the dtd.






            • 3. Re: Birt integration into existing Seam Project
              gonzalad

              Here's our web.xml with BIRT viewer and JBoss Tools Birt Servlet and Seam :



              <?xml version="1.0" encoding="UTF-8"?>
              <web-app id="WebApp_ID" version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
                <display-name>test</display-name>
              
                
                <!-- ================================================================== -->
                <!-- BIRT Configuration                                -->
                <!-- ================================================================== -->
                <context-param>
                  <description>If usr can only access the reprot resources under working folder. Default is false</description>
                  <param-name>WORKING_FOLDER_ACCESS_ONLY</param-name>
                  <param-value>false</param-value>
                </context-param>
                <context-param>
                  <description>The generated document files directory. Default to ${Context Root}/documents</description>
                  <param-name>BIRT_VIEWER_DOCUMENT_FOLDER</param-name>
                  <param-value>documents</param-value>
                </context-param>
                <context-param>
                  <description>If turn on the function that supports print on the server side(ON|OFF).Default to on.</description>
                  <param-name>BIRT_VIEWER_PRINT_SERVERSIDE</param-name>
                  <param-value>ON</param-value>
                </context-param>
                <context-param>
                  <description>Memory size(MB) for creating cube.</description>
                  <param-name>BIRT_VIEWER_CUBE_MEMORY_SIZE</param-name>
                  <param-value></param-value>
                </context-param>
                <context-param>
                  <description>Directory to store all birt report script libraries (JARs). Default to ${Context Root}/scriptlib</description>
                  <param-name>BIRT_VIEWER_SCRIPTLIB_DIR</param-name>
                  <param-value>scriptlib</param-value>
                </context-param>
                <context-param>
                  <description>If always overwrite generated document file. Default to true</description>
                  <param-name>BIRT_OVERWRITE_DOCUMENT</param-name>
                  <param-value>true</param-value>
                </context-param>
                <context-param>
                  <description>Output images/charts directory. Default to ${Context Root}/report/images</description>
                  <param-name>BIRT_VIEWER_IMAGE_DIR</param-name>
                  <param-value>report/images</param-value>
                </context-param>
                <context-param>
                  <description>BIRT viewer extended configuration file</description>
                  <param-name>BIRT_VIEWER_CONFIG_FILE</param-name>
                  <param-value>WEB-INF/viewer.properties</param-value>
                </context-param>
                <context-param>
                  <description>Dataset rows limited when preview report. Default to return all rows</description>
                  <param-name>BIRT_VIEWER_MAX_ROWS</param-name>
                  <param-value></param-value>
                </context-param>
                <context-param>
                  <description>Cube fetch row levels limited when preview report (Only support to preview a report design file using preview pattern). Default to return all levels</description>
                  <param-name>BIRT_VIEWER_MAX_CUBE_ROWLEVELS</param-name>
                  <param-value></param-value>
                </context-param>
                <context-param>
                  <description>Default locale setting</description>
                  <param-name>BIRT_VIEWER_LOCALE</param-name>
                  <param-value>en-US</param-value>
                </context-param>
                <context-param>
                  <description>Cube fetch column levels limited when preview report (Only support to preview a report design file using preview pattern). Default to return all levels</description>
                  <param-name>BIRT_VIEWER_MAX_CUBE_COLUMNLEVELS</param-name>
                  <param-value></param-value>
                </context-param>
                <context-param>
                  <description>Report resources(design files or document files) directory for preview. Default to ${Context Root}</description>
                  <param-name>BIRT_VIEWER_WORKING_FOLDER</param-name>
                  <param-value></param-value>
                </context-param>
                <context-param>
                  <description>Report Engine logs directory. Default to ${Context Root}/logs</description>
                  <param-name>BIRT_VIEWER_LOG_DIR</param-name>
                  <param-value>logs</param-value>
                </context-param>
                <context-param>
                  <description>Resource location directory(library files, images files or others). Default to ${Context Root}</description>
                  <param-name>BIRT_RESOURCE_PATH</param-name>
                  <param-value></param-value>
                </context-param>
                <context-param>
                  <description>If force optimized HTML output.Default to true</description>
                  <param-name>HTML_ENABLE_AGENTSTYLE_ENGINE</param-name>
                  <param-value>true</param-value>
                </context-param>
                <context-param>
                  <description>Report engine log level.( ALL|SEVERE|WARNING|INFO|CONFIG|FINE|FINER|FINEST|OFF )</description>
                  <param-name>BIRT_VIEWER_LOG_LEVEL</param-name>
                  <param-value>WARNING</param-value>
                </context-param>
                <listener>
                  <listener-class>org.eclipse.birt.report.listener.ViewerHttpSessionListener</listener-class>
                </listener>
                <listener>
                  <listener-class>org.eclipse.birt.report.listener.ViewerServletContextListener</listener-class>
                </listener>
                <servlet>
                  <servlet-name>EngineServlet</servlet-name>
                  <servlet-class>org.eclipse.birt.report.servlet.BirtEngineServlet</servlet-class>
                  <load-on-startup>1</load-on-startup>
                </servlet>
                <servlet>
                  <servlet-name>ViewerServlet</servlet-name>
                  <servlet-class>org.eclipse.birt.report.servlet.ViewerServlet</servlet-class>
                  <load-on-startup>1</load-on-startup>
                </servlet>
                <servlet-mapping>
                  <servlet-name>ViewerServlet</servlet-name>
                  <url-pattern>/frameset</url-pattern>
                </servlet-mapping>
                <servlet-mapping>
                  <servlet-name>EngineServlet</servlet-name>
                  <url-pattern>/document</url-pattern>
                </servlet-mapping>
                <servlet-mapping>
                  <servlet-name>EngineServlet</servlet-name>
                  <url-pattern>/download</url-pattern>
                </servlet-mapping>
                <servlet-mapping>
                  <servlet-name>EngineServlet</servlet-name>
                  <url-pattern>/parameter</url-pattern>
                </servlet-mapping>
                <servlet-mapping>
                  <servlet-name>EngineServlet</servlet-name>
                  <url-pattern>/extract</url-pattern>
                </servlet-mapping>
                <servlet-mapping>
                  <servlet-name>ViewerServlet</servlet-name>
                  <url-pattern>/run</url-pattern>
                </servlet-mapping>
                <servlet-mapping>
                  <servlet-name>EngineServlet</servlet-name>
                  <url-pattern>/preview</url-pattern>
                </servlet-mapping>
                <servlet-mapping>
                  <servlet-name>EngineServlet</servlet-name>
                  <url-pattern>/output</url-pattern>
                </servlet-mapping>
                <filter>
                  <filter-name>ViewerFilter</filter-name>
                  <filter-class>org.eclipse.birt.report.filter.ViewerFilter</filter-class>
                </filter>
                <filter-mapping>
                  <filter-name>ViewerFilter</filter-name>
                  <servlet-name>EngineServlet</servlet-name>
                </filter-mapping>
                <filter-mapping>
                  <filter-name>ViewerFilter</filter-name>
                  <servlet-name>ViewerServlet</servlet-name>
                </filter-mapping>
                <servlet>
                  <servlet-name>JBoss BIRT Servlet</servlet-name>
                  <servlet-class>org.jboss.tools.birt.servlet.JBossBirtServlet</servlet-class>
                </servlet>
                <servlet-mapping>
                  <servlet-name>JBoss BIRT Servlet</servlet-name>
                  <url-pattern>/embed</url-pattern>
                </servlet-mapping>
                  
                <!-- ================================================================== -->
                <!-- RichFaces Configuration                                -->
                <!-- ================================================================== -->
                <context-param>
                    <param-name>org.ajax4jsf.VIEW_HANDLERS</param-name>
                    <param-value>com.sun.facelets.FaceletViewHandler</param-value>   
                </context-param>
              
                   <!-- le skin Natixis par defaut-->
                   <context-param>
                        <param-name>org.richfaces.SKIN</param-name>
                        <param-value>Natixis-agence</param-value>
                   </context-param>
              
                   <!-- chargement complet des scripts RF pour optimisation -->
                   <context-param>
                        <param-name>org.richfaces.LoadScriptStrategy</param-name>
                        <param-value>ALL</param-value>
                   </context-param>
              
                   <!-- desactivation des styles natifs RF (les skins sont suffisants) -->
                   <context-param>
                        <param-name>org.richfaces.LoadStyleStrategy</param-name>
                        <param-value>NONE</param-value>
                   </context-param>
              
                   <!-- expiration des ressources statiques superieur à 1 journée : 10 jours -->
                   <context-param>
                        <param-name>org.ajax4jsf.DEFAULT_EXPIRE</param-name>
                        <param-value>864000</param-value>
                   </context-param>
              
                <!-- ================================================================== -->
                <!-- Spring Security                                                                  -->
                <!-- ================================================================== -->
                <!-- un bean de nom springSecurityFilterChain diot être déclaré dans xxx-security.xml-->
                <filter>
                       <filter-name>springSecurityFilterChain</filter-name>
                       <filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class>
                 </filter>
              
                <filter-mapping>
                  <filter-name>springSecurityFilterChain</filter-name>
                  <url-pattern>/*</url-pattern>
                </filter-mapping>
                
                
                <!-- ================================================================== -->
                <!-- Seam Configuration                                                 -->
                <!-- ================================================================== -->
              
                <listener>
                    <listener-class>org.jboss.seam.servlet.SeamListener</listener-class>
                </listener>
              
                <filter>
                  <filter-name>Seam Filter</filter-name>
                  <filter-class>org.jboss.seam.web.SeamFilter</filter-class>
                  <init-param>
                    <param-name>maxRequestSize</param-name>
                    <param-value>1000000</param-value>     
                   </init-param>
                   <init-param>
                       <param-name>createTempFiles</param-name>
                      <param-value>true</param-value>
                   </init-param>
                </filter>
                  
                 <filter-mapping>
                    <filter-name>Seam Filter</filter-name>
                    <url-pattern>/*</url-pattern>
                  </filter-mapping>
                  
                  <servlet>
                    <servlet-name>Seam Resource Servlet</servlet-name>
                    <servlet-class>org.jboss.seam.servlet.SeamResourceServlet</servlet-class>
                  </servlet>
                  
                  <servlet-mapping>
                    <servlet-name>Seam Resource Servlet</servlet-name>
                    <url-pattern>/seam/resource/*</url-pattern>
                  </servlet-mapping> 
                  
                   <!-- Faces Servlet -->
                  <servlet>              
                    <servlet-name>Faces Servlet</servlet-name>              
                    <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>              
                    <load-on-startup>1</load-on-startup>        
                  </servlet>   
                  
                  
                <!-- Faces Servlet Mapping -->
                  <servlet-mapping>              
                    <servlet-name>Faces Servlet</servlet-name>              
                    <url-pattern>*.action</url-pattern>        
                  </servlet-mapping>
              
                <!-- redirection des ressources a4j dynamiques vers le WAS -->
                   <servlet-mapping>
                        <servlet-name>Faces Servlet</servlet-name>
                        <url-pattern>/a4j/*</url-pattern>
                   </servlet-mapping>
              
                  
                  <!--  Utilisé pour génération PDF -->
                  <servlet>
                      <servlet-name>Document Store Servlet</servlet-name>
                      <servlet-class>org.jboss.seam.pdf.DocumentStoreServlet</servlet-class>
                  </servlet>
              
                  <servlet-mapping>
                      <servlet-name>Document Store Servlet</servlet-name>
                      <url-pattern>*.pdf</url-pattern>
                  </servlet-mapping>
              
                    <!-- JSF parameters -->
                  <context-param>        
                    <param-name>javax.faces.DEFAULT_SUFFIX</param-name>        
                    <param-value>.xhtml</param-value>    
                  </context-param>
                  
                  <context-param>        
                    <param-name>facelets.DEVELOPMENT</param-name>        
                    <param-value>true</param-value>    
                  </context-param>
                  
                  <!-- Listener JSF 1.2 -->
                  <listener>
                      <listener-class>com.sun.faces.config.ConfigureListener</listener-class>
                  </listener>
                      
                  <session-config>
                      <session-timeout>10</session-timeout> 
                  </session-config>
                 
                 <welcome-file-list>
                       <welcome-file>index.html</welcome-file>
                  </welcome-file-list>
              
                   <security-constraint>
                        <display-name>Protection Pages JSF</display-name>
                        <web-resource-collection>
                             <web-resource-name>Protection Pages JSF</web-resource-name>
                             <url-pattern>*.xhtml</url-pattern>
                        </web-resource-collection>
                   </security-constraint>
                  
              </web-app>
              



              • 4. Re: Birt integration into existing Seam Project

                Gonzalez Adrian wrote on Sep 09, 2009 20:03:


                Hello Francisco,

                Could you explain a bit more why BIRT integration is a pain  ? (we've integrated BIRT in a Seam app, but we're not really sure about it, we'll consider perhaps penthao or JasperReports - so really interested about your opinion on this subject).


                Well, all the things you had to do... and the dozens of megabytes you need to copy into your application (in WEB-INF/platform and in WEB-INF/lib), the high memory consumption, an the fact that it is hard to control how the connection is obtained by your reports, the inability to use a PojoCollection as a datasource, and compare that to the far few .jar files you need to use jasperreports, and the simplicity of the code for using it in your app, total control over the datasource, you can even use an array of Pojos as datasource.


                Jasper is all about flexibility and low memory consumption for your web app, Birt is not, birt is about integration with Eclipse, and its reporting engine was not designed to be used in web apps.



                For Tauseef Ahmed (Hi !), if you really want to integrate Seam and BIRT, you have 2 solutions I think :


                • create a standalone BIRT web application and integrate the BIRT viewer in your webapp in a IFRAME.





                And have no security protecting you reports unless  you also configure a single-sign-on service




                • integrate the BIRT viewer inside your seam webapp.



                We used the second path (the harder one...).



                Harder...well, it depends you have to compare it with the complexity of settingup single sign on in your platform

                • 5. Re: Birt integration into existing Seam Project
                  gonzalad

                  Thanks Francisco,



                  and the dozens of megabytes you need to copy into your application

                  In fact more or less 30M of jars for BIRT runtime. I agree really huge for the functionnality.


                  I'll hope I'll have some time to try JasperReports or Penthao.


                  Have you had any chance to test the jsf taglibs for jasperReports (jasperreportjsf) ?

                  • 6. Re: Birt integration into existing Seam Project
                    gonzalad

                    If you choose to use the JBoss JSF tablig, be warned there are some bugs when using embed mode, and some other bugs in the tags themselves (JBIDE-4842) :

                       1. Just download JBoss Tools (il you have eclipse 3.4.2, just use Eclipse updatesite, otherwise get the zip archive). From there get jboss-birt-servlet.jar - servlet for embed mode - and jboss-seam-birt.jar - jsf tags for birt). I can send them if you have an email adress.
                       2. Just add the following section in you web.xml :


                    There's a simpler way:


                    Just download JBoss Tools 3.0.1.GA (with JBoss 4.2.2 runtime and Seam 2.x installation of course), and create a Seam Web Project with Birt Facet as shown here birtintegrationwithseam.


                    It will create a web.xml with birt servlet, the viewer, everything you need.



                    A sample of xhtml files (just copied from JBoss Tools documentation)


                    <p:birt xmlns:ui="http://java.sun.com/jsf/facelets"
                                        xmlns:s="http://jboss.com/products/seam/taglib"
                                        xmlns:p="http://jboss.com/products/seam/birt"
                                        designType="frameset"
                                        designName="test1.rptdesign"
                                        title="JBoss Birt Test"> 
                    </p:birt>



                    • 7. Re: Birt integration into existing Seam Project
                      tausuahmed
                      <blockquote>
                      _Tauseef Ahmed wrote on Sep 09, 2009 15:32:_<br/>

                      Hello,

                      How can i integrate a BIRT into an existing seam project???
                      </blockquote>

                      I have this sample xhtml file, but it is giving me blank Page

                      <p:birt xmlns:ui="http://java.sun.com/jsf/facelets"
                                          xmlns:s="http://jboss.com/products/seam/taglib"
                                          xmlns:p="http://jboss.com/products/seam/birt"
                                          designType="frameset"
                                          designName="test1.rptdesign"
                                          title="JBoss Birt Test">
                      </p:birt>
                      • 8. Re: Birt integration into existing Seam Project
                        gonzalad

                        Some ideas :


                        Do you have a 404 error code ?


                        If yes, make sure your web.xml contains the ViewerServlet associated with at least /frameset url-pattern as showed in the previous web.xml because p:birt issues a redirect to /frameset url. To check this, you can just install firebug and activate network view.


                        Otherwise no stack trace in systemOut.log (or you appserver sysout / syserr) ?


                        Do you have the test1.rptdesign file in your webapp directory ?

                        • 9. Re: Birt integration into existing Seam Project
                          tausuahmed
                          hello gonzalez,

                          I used same steps what have you told, i but while starting jboss it is throwing error as
                          Cant startup the OSGI framework



                          05:58:58,334 INFO  [ViewRootStateManagerImpl] ViewRootStateManagerImpl constructed with Delegate: com.sun.faces.application.StateManagerImpl@1b9b99d
                          05:58:58,349 INFO  [D2DViewHandler] ICEfaces JSP parser disabled. This is a Facelets-only configuration.
                          05:58:58,521 INFO  [ServletContextListener] Welcome to Seam 2.1.2
                          05:59:02,967 ERROR [STDERR] org.eclipse.birt.core.exception.BirtException: Cant startup the OSGI framework
                          05:59:02,967 ERROR [STDERR]     at org.eclipse.birt.core.framework.Platform.startup(Platform.java:91)
                          05:59:02,967 ERROR [STDERR]     at org.eclipse.birt.report.service.ReportEngineService.setEngineContext(ReportEngineService.java:321)
                          05:59:02,967 ERROR [STDERR]     at org.eclipse.birt.report.service.BirtViewerReportService.setContext(BirtViewerReportService.java:1022)
                          05:59:02,967 ERROR [STDERR]     at org.eclipse.birt.report.listener.ViewerServletContextListener.contextInitialized(ViewerServletContextListener.java:62)
                          05:59:02,968 ERROR [STDERR]     at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3910)
                          05:59:02,968 ERROR [STDERR]     at org.apache.catalina.core.StandardContext.start(StandardContext.java:4393)
                          05:59:02,968 ERROR [STDERR]     at org.jboss.web.tomcat.service.deployers.TomcatDeployment.performDeployInternal(TomcatDeployment.java:310)
                          05:59:02,968 ERROR [STDERR]     at org.jboss.web.tomcat.service.deployers.TomcatDeployment.performDeploy(TomcatDeployment.java:142)
                          05:59:02,968 ERROR [STDERR]     at org.jboss.web.deployers.AbstractWarDeployment.start(AbstractWarDeployment.java:461)
                          05:59:02,968 ERROR [STDERR]     at org.jboss.web.deployers.WebModule.startModule(WebModule.java:118)
                          05:59:02,968 ERROR [STDERR]     at org.jboss.web.deployers.WebModule.start(WebModule.java:97)
                          05:59:02,968 ERROR [STDERR]     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
                          05:59:02,968 ERROR [STDERR]     at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
                          05:59:02,968 ERROR [STDERR]     at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
                          05:59:02,968 ERROR [STDERR]     at java.lang.reflect.Method.invoke(Unknown Source)
                          05:59:02,968 ERROR [STDERR]     at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:157)
                          05:59:02,968 ERROR [STDERR]     at org.jboss.mx.server.Invocation.dispatch(Invocation.java:96)
                          05:59:02,968 ERROR [STDERR]     at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
                          05:59:02,968 ERROR [STDERR]     at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
                          05:59:02,968 ERROR [STDERR]     at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:668)
                          05:59:02,968 ERROR [STDERR]     at org.jboss.system.microcontainer.ServiceProxy.invoke(ServiceProxy.java:206)
                          05:59:02,968 ERROR [STDERR]     at $Proxy38.start(Unknown Source)
                          05:59:02,968 ERROR [STDERR]     at org.jboss.system.microcontainer.StartStopLifecycleAction.installAction(StartStopLifecycleAction.java:42)
                          05:59:02,968 ERROR [STDERR]     at org.jboss.system.microcontainer.StartStopLifecycleAction.installAction(StartStopLifecycleAction.java:37)
                          05:59:02,968 ERROR [STDERR]     at org.jboss.dependency.plugins.action.SimpleControllerContextAction.simpleInstallAction(SimpleControllerContextAction.java:62)
                          05:59:02,968 ERROR [STDERR]     at org.jboss.dependency.plugins.action.AccessControllerContextAction.install(AccessControllerContextAction.java:71)
                          05:59:02,968 ERROR [STDERR]     at org.jboss.dependency.plugins.AbstractControllerContextActions.install(AbstractControllerContextActions.java:51)
                          05:59:02,968 ERROR [STDERR]     at org.jboss.dependency.plugins.AbstractControllerContext.install(AbstractControllerContext.java:348)
                          05:59:02,968 ERROR [STDERR]     at org.jboss.system.microcontainer.ServiceControllerContext.install(ServiceControllerContext.java:286)
                          05:59:02,968 ERROR [STDERR]     at org.jboss.dependency.plugins.AbstractController.install(AbstractController.java:1631)
                          05:59:02,968 ERROR [STDERR]     at org.jboss.dependency.plugins.AbstractController.incrementState(AbstractController.java:934)
                          05:59:02,968 ERROR [STDERR]     at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:1082)
                          05:59:02,968 ERROR [STDERR]     at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:984)
                          05:59:02,968 ERROR [STDERR]     at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:822)
                          05:59:02,968 ERROR [STDERR]     at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:553)
                          05:59:02,968 ERROR [STDERR]     at org.jboss.system.ServiceController.doChange(ServiceController.java:688)
                          05:59:02,968 ERROR [STDERR]     at org.jboss.system.ServiceController.start(ServiceController.java:460)
                          05:59:02,968 ERROR [STDERR]     at org.jboss.system.deployers.ServiceDeployer.start(ServiceDeployer.java:163)
                          05:59:02,968 ERROR [STDERR]     at org.jboss.system.deployers.ServiceDeployer.deploy(ServiceDeployer.java:99)
                          05:59:02,968 ERROR [STDERR]     at org.jboss.system.deployers.ServiceDeployer.deploy(ServiceDeployer.java:46)
                          05:59:02,968 ERROR [STDERR]     at org.jboss.deployers.spi.deployer.helpers.AbstractSimpleRealDeployer.internalDeploy(AbstractSimpleRealDeployer.java:62)
                          05:59:02,968 ERROR [STDERR]     at org.jboss.deployers.spi.deployer.helpers.AbstractRealDeployer.deploy(AbstractRealDeployer.java:50)
                          05:59:02,968 ERROR [STDERR]     at org.jboss.deployers.plugins.deployers.DeployerWrapper.deploy(DeployerWrapper.java:171)
                          05:59:02,968 ERROR [STDERR]     at org.jboss.deployers.plugins.deployers.DeployersImpl.doDeploy(DeployersImpl.java:1439)
                          05:59:02,968 ERROR [STDERR]     at org.jboss.deployers.plugins.deployers.DeployersImpl.doInstallParentFirst(DeployersImpl.java:1157)
                          05:59:02,968 ERROR [STDERR]     at org.jboss.deployers.plugins.deployers.DeployersImpl.doInstallParentFirst(DeployersImpl.java:1178)
                          05:59:02,968 ERROR [STDERR]     at org.jboss.deployers.plugins.deployers.DeployersImpl.doInstallParentFirst(DeployersImpl.java:1210)
                          05:59:02,968 ERROR [STDERR]     at org.jboss.deployers.plugins.deployers.DeployersImpl.install(DeployersImpl.java:1098)
                          05:59:02,968 ERROR [STDERR]     at org.jboss.dependency.plugins.AbstractControllerContext.install(AbstractControllerContext.java:348)
                          05:59:02,968 ERROR [STDERR]     at org.jboss.dependency.plugins.AbstractController.install(AbstractController.java:1631)
                          05:59:02,968 ERROR [STDERR]     at org.jboss.dependency.plugins.AbstractController.incrementState(AbstractController.java:934)
                          05:59:02,968 ERROR [STDERR]     at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:1082)
                          05:59:02,968 ERROR [STDERR]     at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:984)
                          05:59:02,968 ERROR [STDERR]     at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:822)
                          05:59:02,968 ERROR [STDERR]     at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:553)
                          05:59:02,968 ERROR [STDERR]     at org.jboss.deployers.plugins.deployers.DeployersImpl.process(DeployersImpl.java:781)
                          05:59:02,968 ERROR [STDERR]     at org.jboss.deployers.plugins.main.MainDeployerImpl.process(MainDeployerImpl.java:702)
                          05:59:02,968 ERROR [STDERR]     at org.jboss.system.server.profileservice.repository.MainDeployerAdapter.process(MainDeployerAdapter.java:117)
                          05:59:02,968 ERROR [STDERR]     at org.jboss.system.server.profileservice.hotdeploy.HDScanner.scan(HDScanner.java:362)
                          05:59:02,968 ERROR [STDERR]     at org.jboss.system.server.profileservice.hotdeploy.HDScanner.run(HDScanner.java:255)
                          05:59:02,968 ERROR [STDERR]     at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
                          05:59:02,968 ERROR [STDERR]     at java.util.concurrent.FutureTask$Sync.innerRunAndReset(Unknown Source)
                          05:59:02,968 ERROR [STDERR]     at java.util.concurrent.FutureTask.runAndReset(Unknown Source)
                          05:59:02,968 ERROR [STDERR]     at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$101(Unknown Source)
                          05:59:02,968 ERROR [STDERR]     at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.runPeriodic(Unknown Source)
                          05:59:02,968 ERROR [STDERR]     at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(Unknown Source)
                          05:59:02,968 ERROR [STDERR]     at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
                          05:59:02,968 ERROR [STDERR]     at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
                          05:59:02,968 ERROR [STDERR]     at java.lang.Thread.run(Unknown Source)
                          05:59:02,968 ERROR [STDERR] Caused by: org.eclipse.birt.core.exception.CoreException
                          05:59:02,968 ERROR [STDERR]     at org.eclipse.birt.core.framework.osgi.OSGILauncher.startup(OSGILauncher.java:90)
                          05:59:02,968 ERROR [STDERR]     at org.eclipse.birt.core.framework.Platform.startup(Platform.java:79)
                          • 10. Re: Birt integration into existing Seam Project
                            gonzalad

                            Hi,


                            Never had this problem.


                            If you google around searching Cant startup the OSGI framework, in general they say that you've failed in merging the birt.war (from birt-runtine.zip) into you war.



                            1. http://www.birt-exchange.org/forum/deploying-integrating-birt-report-engine-applications/13014-issues-deploying-birt-report-engine-plugins-into-jboss.html




                            Can you instead install JBoss Tools 3.0.1.GA into your eclipse instance (as explained earlier) in order to generate automatically a Seam BIRT Project ? Perhaps it will an easier approach ?

                            • 11. Re: Birt integration into existing Seam Project
                              tausuahmed

                              Hello,


                              Can any one give me detailed steps to be followed to integrate Birt into SeamGen Project(I have created seam project using SeamGen process)

                              • 12. Re: Birt integration into existing Seam Project
                                tausuahmed

                                Thanks

                                • 13. Re: Birt integration into existing Seam Project
                                  yahawari

                                  @ Gonzalez Adrian
                                  thanks for the extensive explanation. i did everything properly except for the jboss servlet (to overcome the embedded problems). works like a charm


                                  thanks again

                                  • 14. Re: Birt integration into existing Seam Project
                                    gonzalad

                                    Happy it helped you, and thanks for the feedback !

                                    1 2 Previous Next