Author: shane.bryzak(a)jboss.com
Date: 2009-07-07 23:30:28 -0400 (Tue, 07 Jul 2009)
New Revision: 3026
Modified:
tck/trunk/impl/src/main/resources/tck-audit.xml
Log:
updated section 4 assertions to latest version of spec
Modified: tck/trunk/impl/src/main/resources/tck-audit.xml
===================================================================
--- tck/trunk/impl/src/main/resources/tck-audit.xml 2009-07-07 22:13:04 UTC (rev 3025)
+++ tck/trunk/impl/src/main/resources/tck-audit.xml 2009-07-08 03:30:28 UTC (rev 3026)
@@ -1408,55 +1408,11 @@
<assertion id="bd">
<text>For class X which is extended _indirectly_ by the bean class of a
_managed_ bean Y, if X is annotated with a _scope type_ Z then Y inherits the annotation
if and only if Z declares the |@Inherited| meta-annotation and neither Y nor any
intermediate class that is a subclass of X and a superclass of Y declares a scope
type.</text>
</assertion>
-
- <assertion id="ca">
- <text>For class X which is extended _directly_ by the bean class of a
_managed_ bean Y, if X is annotated with a _deployment type_ Z then Y inherits the
annotation if and only if Z declares the |@Inherited| meta-annotation and Y does not
declare a deployment type.</text>
+
+ <assertion id="hhh">
+ <text>A scope type explicitly declared by X and inherited by Y from X takes
precedence over default scopes of stereotypes declared or inherited by Y.</text>
</assertion>
-
- <assertion id="cb">
- <text>For class X which is extended _directly_ by the bean class of a
_managed_ bean Y, if X is annotated with a _deployment type_ Z then Y inherits the
annotation if and only if Z declares the |@Inherited| meta-annotation and Y does not
declare a deployment type.</text>
- </assertion>
-
- <assertion id="cc">
- <text>For class X which is extended _indirectly_ by the bean class of a
_managed_ bean Y, if X is annotated with a _deployment type_ Z then Y inherits the
annotation if and only if Z declares the |@Inherited| meta-annotation and neither Y nor
any intermediate class that is a subclass of X and a superclass of Y declares a deployment
type.</text>
- </assertion>
-
- <assertion id="cd">
- <text>For class X which is extended _indirectly_ by the bean class of a
_managed_ bean Y, if X is annotated with a _deployment type_ Z then Y inherits the
annotation if and only if Z declares the |@Inherited| meta-annotation and neither Y nor
any intermediate class that is a subclass of X and a superclass of Y declares a deployment
type.</text>
- </assertion>
-
- <assertion id="daa">
- <text>For class X which is extended _directly_ by the bean class of a
_managed_ bean Y, the _scope types_ explicitly declared by and inherited from the class X
take precedence over default _scopes_ declared by stereotypes.</text>
- </assertion>
-
- <assertion id="dab">
- <text>For class X which is extended _directly_ by the bean class of a
_managed_ bean Y, the _deployment types_ explicitly declared by and inherited from the
class X take precedence over deployment _deployment types_ declared by
stereotypes.</text>
- </assertion>
-
- <assertion id="dba">
- <text>For class X which is extended _directly_ by the bean class of a
_managed_ bean Y, the _scope types_ explicitly declared by and inherited from the class X
take precedence over default _scopes_ declared by stereotypes.</text>
- </assertion>
-
- <assertion id="dbb">
- <text>For class X which is extended _directly_ by the bean class of a
_managed_ bean Y, the _deployment types_ explicitly declared by and inherited from the
class X take precedence over default _deployment types_ declared by
stereotypes.</text>
- </assertion>
-
- <assertion id="dca">
- <text>For class X which is extended _indirectly_ by the bean class of a
_managed_ bean Y, the _scope types_ explicitly declared by and inherited from the class X
take precedence over default _scopes_ declared by stereotypes.</text>
- </assertion>
-
- <assertion id="dcb">
- <text>For class X which is extended _indirectly_ by the bean class of a
_managed_ bean Y, the _deployment types_ explicitly declared by and inherited from the
class X take precedence over default _deployment_ types declared by
stereotypes.</text>
- </assertion>
-
- <assertion id="dda">
- <text>For class X which is extended _indirectly_ by the bean class of a
_managed_ bean Y, the _scope types_ explicitly declared by and inherited from the class X
take precedence over default _scopes_ declared by stereotypes.</text>
- </assertion>
-
- <assertion id="ddb">
- <text>For class X which is extended _indirectly_ by the bean class of a
_managed_ bean Y, the _deployment types_ explicitly declared by and inherited from the
class X take precedence over _deployment types_ declared by stereotypes.</text>
- </assertion>
-
+
<assertion id="i" testable="false">
<text>For annotations defined by the bean specification, all built-in _scope
types_ are declared |@Inherited|</text>
<note>sigtest</note>
@@ -1472,11 +1428,6 @@
<note>sigtest</note>
</assertion>
- <assertion id="l" testable="false">
- <text>For annotations defined by the bean specification, _the built-in
deployment type is not declared |@Inherited|_</text>
- <note>sigtest</note>
- </assertion>
-
<assertion id="m" testable="false">
<text>The |@Named| annotation is not declared |@Inherited| and bean EL names
are not inherited unless specialization is used</text>
<note>sigtest</note>
@@ -1539,7 +1490,7 @@
</assertion>
<assertion id="db">
- <text>For class X which is extended _directly_ by the bean class of a
_managed_ bean Y, if X declares a _non-static disposal method_ x() then Y does not inherit
this method unless Y is explicitly declared to specialize X</text>
+ <text>For class X which is extended _directly_ by the bean class of a
_managed_ bean Y, if X declares a _non-static disposer method_ x() then Y does not inherit
this method unless Y is explicitly declared to specialize X</text>
</assertion>
<assertion id="dc">
@@ -1551,7 +1502,7 @@
</assertion>
<assertion id="de">
- <text>For class X which is extended _directly_ by the bean class of a
_session_ bean Y, if X declares a _non-static disposal method_ x() then Y does not inherit
this method unless Y is explicitly declared to specialize X</text>
+ <text>For class X which is extended _directly_ by the bean class of a
_session_ bean Y, if X declares a _non-static disposer method_ x() then Y does not inherit
this method unless Y is explicitly declared to specialize X</text>
</assertion>
<assertion id="df">
@@ -1563,7 +1514,7 @@
</assertion>
<assertion id="dh">
- <text>For class X which is extended _indirectly_ by the bean class of a
_managed_ bean Y, if X declares a _non-static disposal method_ x() then Y does not inherit
this method unless Y is explicitly declared to specialize X</text>
+ <text>For class X which is extended _indirectly_ by the bean class of a
_managed_ bean Y, if X declares a _non-static disposer method_ x() then Y does not inherit
this method unless Y is explicitly declared to specialize X</text>
</assertion>
<assertion id="di">
@@ -1575,7 +1526,7 @@
</assertion>
<assertion id="dk">
- <text>For class X which is extended _indirectly_ by the bean class of a
_session_ bean Y, if X declares a _non-static disposal method_ x() then Y does not inherit
this method unless Y is explicitly declared to specialize X</text>
+ <text>For class X which is extended _indirectly_ by the bean class of a
_session_ bean Y, if X declares a _non-static disposer method_ x() then Y does not inherit
this method unless Y is explicitly declared to specialize X</text>
</assertion>
<assertion id="dl">
@@ -1598,12 +1549,30 @@
<text>For class X which is extended _indirectly_ by the bean class of a
_session_ bean Y, if X declares a _non-static producer field_ x then Y does not inherit
this field unless Y is explicitly declared to specialize X.</text>
</assertion>
+ <assertion id="f">
+ <text>If X is a generic type, and an injection point declared by X is
inherited by Y, and the declared type of the injection point contains type variables
declared by X, the type of the injection point inherited in Y is the declared type, after
substitution of actual type arguments declared by Y or any intermediate class that is a
subclass of X and a superclass of Y.</text>
+ </assertion>
+
+ <assertion id="g">
+ <text>If X is a generic type, and a producer method declared by X is
inherited by Y, and the declared type of the producer method contains type variables
declared by X, the type of the producer method inherited in Y is the declared type, after
substitution of actual type arguments declared by Y or any intermediate class that is a
subclass of X and a superclass of Y.</text>
+ </assertion>
+
+ <assertion id="h">
+ <text>If X is a generic type, and a producer field declared by X is inherited
by Y, and the declared type of the producer field contains type variables declared by X,
the type of the producer field inherited in Y is the declared type, after substitution of
actual type arguments declared by Y or any intermediate class that is a subclass of X and
a superclass of Y.</text>
+ </assertion>
+
+ <assertion id="i">
+ <text>If X is a generic type, and a disposer method declared by X is
inherited by Y, and the declared type of the disposed parameter contains type variables
declared by X, the type of the disposed parameter inherited in Y is the declared type,
after substitution of actual type arguments declared by Y or any intermediate class that
is a subclass of X and a superclass of Y.</text>
+ </assertion>
+
+ <assertion id="j">
+ <text>If X is a generic type, and an observer method declared by X is
inherited by Y, and the declared type of the event parameter contains type variables
declared by X, the type of the event parameter inherited in Y is the declared type, after
substitution of actual type arguments declared by Y or any intermediate class that is a
subclass of X and a superclass of Y.</text>
+ </assertion>
</section>
<section id="4.3" title="Specialization">
-
- <assertion id="a">
- <text>If two beans both support a certain bean type, and share at least one
binding, then they are both eligible for injection to any injection point with that
declared type and binding. The container will choose the bean with the highest priority
enabled deployment type.</text>
+ <assertion id="a" testable="false">
+ <text>If two beans both support a certain bean type, and share at least one
binding, then they are both eligible for injection to any injection point with that
declared type and binding.</text>
</assertion>
<assertion id="b">
@@ -1637,23 +1606,26 @@
<text>If X declares a name explicitly, using @Named, the container
automatically detects the problem and treats it as a definition error, as defined in
Section 12.4, "Problems detected automatically by the container".</text>
</assertion>
+ <assertion id="m">
+ <text>X must have all the bean types of Y. If X does not support some bean
type of Y, the container automatically detects the problem and treats it as a definition
error, as defined in Section 12.4, "Problems detected automatically by the
container".</text>
+ </assertion>
</section>
<section id="4.3.2" title="Most specialized enabled bean for a
bean">
<assertion id="a">
- <text>Non-static producer methods, producer fields, disposal methods and
observer methods of a bean are invoked upon an instance of the most specialized enabled
bean that specializes the bean, as defined by Section 5.4.6, "Invocation of producer
or disposal methods", Section 5.4.7, "Access to producer field values" and
Section 5.4.8, "Invocation of observer methods".</text>
+ <text>Non-static producer methods, producer fields, disposal methods and
observer methods of a bean are invoked upon an instance of the most specialized enabled
bean that specializes the bean, as defined by Section 5.6.6, "Invocation of producer
or disposal methods", Section 5.6.7, "Access to producer field values" and
Section 5.6.8, "Invocation of observer methods".</text>
</assertion>
</section>
- <section id="4.3.3" title="Inconsistent specialization">
- <assertion id="aa">
- <text>If, in a particular deployment, either some enabled bean X specializes
another enabled bean Y and the deployment type of X does not have a higher precedence than
the deployment type of Y, the container automatically detects inconsistent specialization
and treats it as a deployment problem, as defined in Section 12.4, "Problems detected
automatically by the container".</text>
- </assertion>
+ <section id="4.3.3" title="Inconsistent specialization">
+ <assertion id="c">
+ <text>If, for an enabled bean X that directly specializes a second bean Y,
there is another enabled bean that directly specializes Y, we say that inconsistent
specialization exists. The container automatically detects inconsistent specialization
and treats it as a deployment problem, as defined in Section 12.4, "Problems detected
automatically by the container".</text>
+ </assertion>
- <assertion id="ba">
- <text>If, in a particular deployment, more than one enabled bean directly
specializes the same bean, the container automatically detects inconsistent specialization
and treats it as a deployment problem, as defined in Section 12.4, "Problems detected
automatically by the container".</text>
- </assertion>
+ <assertion id="d">
+ <text>If, for an enabled bean X that directly specializes a second bean Y,
there is an injection point that matches Y and not X, according to the typesafe resolution
algorithm defined in Section 5.3 "Typesafe resolution", we say that inconsistent
specialization exists. The container automatically detects inconsistent specialization
and treats it as a deployment problem, as defined in Section 12.4, "Problems detected
automatically by the container".</text>
+ </assertion>
</section>
<section id="5" title="Lookup, dependency injection and EL
resolution">