Since we wrote this post we didn't laze around. Check our latest announcement.
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:
Objects in RequestContext
(such as HttpServletRequest
, HttpServletResponse
and 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 REQUEST
and ASYNC
dispatchers (no FORWARD
as it would mean warping one request multiple times).
Improved interoperability
Besides full compatibility with WildFly / EAP / JBoss AS, Warp now works just fine with TomEE 1.6 and Glassfish 4.0.
What’s next?
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
WarpFilter
in web.xml
anyway)
- 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 details
Component |
Arquillian Warp
|
Version |
1.0.0.Alpha7
view tag
|
Release date |
2014-03-11 |
Released by |
Lukas Fryc |
Compiled against |
|
Published artifacts
org.jboss.arquillian.extension
-
org.jboss.arquillian.extension
»
arquillian-warp-bom
pom
-
org.jboss.arquillian.extension
»
arquillian-warp-api
jar
javadoc
pom
-
org.jboss.arquillian.extension
»
arquillian-warp-spi
jar
javadoc
pom
-
org.jboss.arquillian.extension
»
arquillian-warp-impl
jar
javadoc
pom
-
org.jboss.arquillian.extension
»
arquillian-warp-jsf
jar
javadoc
pom
Release notes and resolved issues
7
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
- Enhancement
-
- ARQ-1682 - Expose SPI events for ProcessHttpRequest, ProcessWarpRequest and ExecuteWarp
- Bug
-
- 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