[webbeans-dev] DefinitionException replacement
Pete Muir
pmuir at redhat.com
Fri Jun 19 13:21:13 EDT 2009
On 19 Jun 2009, at 18:02, Dan Allen wrote:
> On Fri, Jun 19, 2009 at 8:16 AM, Pete Muir <pmuir at redhat.com> wrote:
> Dan/David,
>
> Not sure if you are planning on changing the isDefinitionError() on
> Managers further, but currently it is not quite right - the spec
> doesn't say that an exception will be thrown when there is a
> definition error, just that container will detect it.
>
> So, the signature needs to be isDefinitionError() and the
> ManagersImpl return true or false (and detect/store the failure
> internally).
>
> I was going off these two statements in 12.4:
>
> "If a definition error exists in a deployment, initialization will
> be aborted by the container."
> "If a deployment problem exists in a deployment, initialization will
> be aborted by the container."
>
> The way I have the test working is as follows. Deployment of the
> artifact is attempted. If it fails with an exception, the
> AbstractTest tries to determine if this was an expected exception
> (as declared by @ExpectedDeploymentException on the @Artifact). I
> override that method in AbstractJSR299TestCase to see if the
> exception thrown can be claimed by the Managers implementation (such
> that the exception falls into a category, either definition error or
> deployment error).
>
> AbstractTest#isThrowablePresent() ->
> AbstractJSR299Test#isThrowablePresent() ->
> Managers#isDefinitionError() or Managers#isDeploymentError()
>
> If the exception thrown during deployment maps to the expected
> exception (via this lookup) then the test case is considered passed.
>
> So I get what you are saying, but it appears what I implemented
> follows exactly that.
> I'm assuming that the only way to abort initialization is by
> throwning an exception.
Right, this isn't specified anywhere :-) I agree it's both the logical
way, and the way that JBoss AS does it, but I don't think we can
assume it. I would prefer the porting package impl to be responsible
for this.
I'll add a method with the right sig and impl it tonight and you can
switch to use it.
> Maybe that is where my assumption is flawed. Feel free to revise if
> you feel it necessary.
>
> -Dan
>
> --
> Dan Allen
> Senior Software Engineer, Red Hat | Author of Seam in Action
>
> http://mojavelinux.com
> http://mojavelinux.com/seaminaction
> http://in.relation.to/Bloggers/Dan
>
> NOTE: While I make a strong effort to keep up with my email on a daily
> basis, personal or other work matters can sometimes keep me away
> from my email. If you contact me, but don't hear back for more than
> a week,
> it is very likely that I am excessively backlogged or the message was
> caught in the spam filters. Please don't hesitate to resend a
> message if
> you feel that it did not reach my attention.
More information about the weld-dev
mailing list