Home
Analytics
BIRT Web Viewer in Tapestry project
TII
First of all sorry for my poor English. I am a very beginner in both Tapestry and BIRT, so I have a lot of problems. One of them is the following. I have a Tapestry+Maven project in Eclipse. In web.xml file there is a filter mapping for Tapestry filter:
<filter>
<filter-name>app</filter-name>
<filter-class>org.apache.tapestry5.TapestryFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>app</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
When I choose "BIRT Reporting Runtime Component" in Project Facets, Eclipse added filters mappings for redirect Birt requests to ViewerServlet and EngineServlet, such as:
<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>ViewerServlet</servlet-name>
</filter-mapping>
<servlet-mapping>
<servlet-name>ViewerServlet</servlet-name>
<url-pattern>/frameset</url-pattern>
</servlet-mapping>
I moved Tapestry filter mapping to the bottom of web.xml supposing that requests with /frameset and other Birt mappings will be redirected to Birt WebViewer servlets and the others to Tapestry filter. But all the requests are redirected to Tapestry filter and I can't call the birt viewer (I see the index.tml instead) . When I turn off the Tapestry filter, I see my birt report in viewer. What I should do?
Find more posts tagged with
Comments
TII
Hi,
I've found how to redirect requests to Web Viewer filters in Tapestry application. It is very simple (maybe it was the reason nobody replied to my post). Just add the configuration to AppModule:
public static void contributeIgnoredPathsFilter(Configuration<String> configuration)
{
configuration.add("/frameset*");
configuration.add("/document*");
configuration.add("/download*");
configuration.add("/parameter*");
configuration.add("/extract*");
configuration.add("/run*");
configuration.add("/preview*");
configuration.add("/output*");
}
that's all.