The Arquillian team is proud to announce the 1.0.0.Alpha7 release of the Arquillian Warp component!
This is a yet another bug fixing release. Since Warp is a young extension, there are many pain points and gaps. But these are successfully being filled with the help of our awesome community.
So what’s in Alpha7 for you?
Request and response objects mixed up
Thanks to Aslak, we have identified and fixed one of the most annoying bugs in Warp’s history:
RequestContext (such as
FilterChain) were previously identified by requests
#hashCode(). But it turns up that requests’ hash code is actually far from being unique across multiple requests. Now we have Warp requests identified by UUID as a request’s attribute.
The issue was especially perceptible with Warp on the WildFly / Undertow container.
Filter chain fixed
We have identified integration issues between
WarpFilter and frameworks that use custom filters such as OCPSoft Rewrite.
Warp is now the first filter in the chain of filters – it is configured to be prepended to other filters (still it may theoretically compete with other filters configured the same way).
It is also serving just
ASYNC dispatchers (no
FORWARD as it would mean warping one request multiple times).
Besides full compatibility with WildFly / EAP / JBoss AS, Warp now works just fine with TomEE 1.6 and Glassfish 4.0.
I think we have stabilized a fair amount of integration issues and we are close to fully passing the interoperability tests.
But still there are some features that are missing, such as:
- verification of asynchronous requests
- support for Java EE 5 servers
- at this point I’m reluctant to add the support (it’s just matter of manual configuration of
- guide / documentation
Let us know in the discussion bellow what are the “must have” features and what are you struggling with that we should include before Beta release.
What is Arquillian?
Arquillian is open source software that empowers you to test JVM-based applications more effectively. Created to defend the software galaxy from bugs, Arquillian brings your test to the runtime so you can focus on testing your application's behavior rather than managing the runtime. Using Arquillian, you can develop a comprehensive suite of tests from the convenience of your IDE and run them in any IDE, build tool or continuous integration environment.
Release notes and resolved issues
Bug Fixes - RequestContext + filters interoperatiblity
- Component Upgrade
- ARQ-1660 - Warp: Upgrade to TomEE 1.6
- ARQ-1661 - Warp: Upgrade GlassFish to 4.0
- ARQ-1662 - Warp: Upgrade to WildFly 8.0.0.Final
- ARQ-1682 - Expose SPI events for ProcessHttpRequest, ProcessWarpRequest and ExecuteWarp
- ARQ-1615 - Warp JSF: detect and sanitize FacesContextWrapper chain
- ARQ-1656 - Propogate Contextual operations on HttpFilters
- ARQ-1683 - Warp: mixes up objects in RequestContext due to wrong use of HttpServletRequest#hashCode()
Thanks to the following list of contributors:
Lukas Fryc, Aslak Knutsen