Author: shane.bryzak(a)jboss.com
Date: 2009-07-15 01:38:27 -0400 (Wed, 15 Jul 2009)
New Revision: 3053
Modified:
tck/trunk/impl/src/main/resources/tck-audit.xml
Log:
updated section 12 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-15 04:20:28 UTC (rev 3052)
+++ tck/trunk/impl/src/main/resources/tck-audit.xml 2009-07-15 05:38:27 UTC (rev 3053)
@@ -4450,17 +4450,49 @@
</section>
<section id="12.1" title="Bean deployment archives">
- <assertion id="a">
- <text>Bean classes must be deployed in any EAR, JAR, WAR, EJB-JAR or RAR
archive or directory in the application classpath that has a file named |beans.xml| in the
metadata directory (META-INF, or WEB-INF in the case of a WAR). Any such archive or
directory is called a bean deployment archive.</text>
+ <assertion id="aa" testable="false">
+ <text>Bean classes must be deployed in bean deployment
archives.</text>
</assertion>
-
- <assertion id="b">
- <text>When searching for beans, the container considers any Java class in any
bean deployment archive, and any |ejb-jar.xml| file in any bean deployment
archive.</text>
+
+ <assertion id="ab">
+ <text>A library jar, EJB jar or rar archive is a bean deployment archive if
it has a file named |beans.xml| in the |META-INF| directory.</text>
</assertion>
+
+ <assertion id="ac">
+ <text>The |WEB-INF/classes| directory of a war is a bean deployment archive
if there is a file named |beans.xml| in the |WEBINF| directory of the war.</text>
+ </assertion>
+
+ <assertion id="ad">
+ <text>A directory in the JVM classpath is a bean deployment archive if it has
a file named |beans.xml| in the |META-INF| directory.</text>
+ </assertion>
- <assertion id="c">
- <text>If a bean is deployed to a location that is not in the application
classpath, or does not contain a file named |beans.xml| in the metadata directory, it will
not be discovered by the container.</text>
+ <assertion id="ba">
+ <text>The container searches for beans in bean deployment archives in the
application classpath.</text>
</assertion>
+
+ <assertion id="bb">
+ <text>In an application deployed as an ear, the container searches every bean
deployment archive belonging to the ear, including bean deployment archives contained
inside wars. The bean deployment archives might be library jars, EJB jars, rars or war
|WEB-INF/classes| directories.</text>
+ </assertion>
+
+ <assertion id="bc">
+ <text>In an application deployed as a war, the container searches every bean
deployment archive contained in the war. The bean deployment archives might be library
jars or the |WEB-INF/classes| directory.</text>
+ </assertion>
+
+ <assertion id="bd">
+ <text>An embeddable EJB container searches each bean deployment archive in
the JVM classpath that is listed in the value of the embeddable container initialization
property |javax.ejb.embeddable.modules|, or every bean deployment archive in the JVM
classpath if the property is not specified. The bean deployment archives might be
directories, library jars or EJB jars.</text>
+ </assertion>
+
+ <assertion id="be">
+ <text>When searching for beans, the container considers any Java class in any
bean deployment archive, and any |ejb-jar.xml| file in the metadata directory of any EJB
bean deployment archive.</text>
+ </assertion>
+
+ <assertion id="ca">
+ <text>If a bean is deployed in an archive or directory that does not contain
a file named |beans.xml| in the metadata directory, it will not be discovered by the
container.</text>
+ </assertion>
+
+ <assertion id="d">
+ <text>If a bean class is deployed in two different bean deployment archives,
non-portable behaviour results. Portable applications must deploy each bean class in
exactly one bean deployment archive.</text>
+ </assertion>
</section>
<section id="12.2" title="Application initialization
lifecycle">
@@ -4503,12 +4535,11 @@
</assertion>
<assertion id="b">
- <text>For each Java class in any bean deployment archive, the container must
create an |AnnotatedType| representing the class and fire an event of type
|ProcessAnnotatedType|, as defined in Section
-11.5.5, "ProcessAnnotatedType event".</text>
+ <text>For each Java class in any bean deployment archive, the container must
create an |AnnotatedType| representing the class and fire an event of type
|ProcessAnnotatedType|, as defined in Section 11.5.5, "ProcessAnnotatedType
event".</text>
</assertion>
<assertion id="c">
- <text>For each Java class in any bean deployment archive, the container must
inspect the class metadata to determine if it is a bean or other Java EE component class
supporting injection.</text>
+ <text>For each Java class in any bean deployment archive, the container must
inspect the class metadata to determine if it is a bean or other Java EE component class
supporting injection, or if it declares event mappings.</text>
</assertion>
<assertion id="d">
@@ -4516,47 +4547,44 @@
</assertion>
<assertion id="e">
- <text>For each Java class in any bean deployment archive, the container must,
if the class is a managed bean, session bean, producer method or field, or other Java EE
component class supporting injection, create an |InjectionTarget| for the class, as
defined in Section 11.4.1, "The InjectionTarget interface", and fire an event of
type |ProcessInjectionTarget|, as defined in Section 11.5.6, "ProcessInjectionTarget
event"</text>
+ <text>For each Java class in any bean deployment archive, the container must,
if the class is a managed bean, session bean, producer method or field, or other Java EE
component class supporting injection, create an |InjectionTarget| for the class, as
defined in Section 11.2, "The Producer and InjectionTarget interfaces", and fire
an event of type |ProcessInjectionTarget|, as defined in Section 11.5.6,
"ProcessInjectionTarget event"</text>
</assertion>
- <assertion id="f">
- <text>For each Java class in any bean deployment archive, the container must,
if the class is a bean, create a |Bean| object that implements the rules defined in
Chapter 7, "Bean lifecycle", and fire an event of type |ProcessBean|, as defined
in Section 11.5.7, "ProcessBean event".</text>
+ <assertion id="fa">
+ <text>For each Java class in any bean deployment archive, the container must,
if the class is a bean, create a |Bean| object that implements the rules defined in
Section 7.3.1, "Lifecycle of managed beans", Section 7.3.2, "Lifecycle of
stateful session beans" or Section 7.3.3, "Lifecycle of stateless session and
singleton beans", and fire an event which is a subtype of |ProcessBean|, as defined
in Section 11.5.8, "ProcessBean event".</text>
</assertion>
-
- <assertion id="g">
- <text>If the class is a bean, the container must search the class for
producer methods and fields, and for each producer method or field create an
InjectionTarget, as defined in Section 11.4.1, "The InjectionTarget interface",
for the producer method or field and fire an event of type |ProcessInjectionTarget|, as
defined in Section 11.5.6, "ProcessInjectionTarget event".</text>
+
+ <assertion id="fb">
+ <text>For each session bean declared in |ejb-jar.xml| in each EJB bean
deployment archive the container must create a |Bean| object that implements the rules
defined in Section 7.3.2, "Lifecycle of stateful session beans" or Section
7.3.3, "Lifecycle of stateless session and singleton beans", and fire an event
of type |ProcessSessionBean|, as defined in Section 11.5.8, "ProcessBean
event".</text>
</assertion>
-
- <assertion id="h">
- <text>If the class is a bean, the container must search the class for
producer methods and fields, and for each producer method or field create a Bean object
that implements the rules defined in Chapter 7, Bean lifecycle and fire an event of type
|ProcessBean|, as defined in Section 11.5.7, "ProcessBean event".</text>
+
+ <assertion id="fc">
+ <text>For each bean, the container must search the clas for producer methods
and fields, including resources, and for each producer method or field create a
|Producer|, as defined in Section 11.2, "The Producer and InjectionTarget
interfaces", and fire an event of type |ProcessProducer|, as defined in Section
11.5.7, "ProcessProducer event", and then
+create a |Bean| object that implements the rules defined in Section 7.3.4,
"Lifecycle of producer methods", Section 7.3.5, "Lifecycle of producer
fields" or Section 7.3.6, "Lifecycle of resources", and fire an event which
is a subtype of |ProcessBean|, as defined in Section 11.5.8, "ProcessBean
event".</text>
</assertion>
-
- <assertion id="i">
- <text>If the class is a bean, the container must search the class for
observer methods, and for each observer method create an Observer, as defined in Section
10.6.1, �Observer method notification�, for the observer method and fire an event of type
ProcessObserver, as defined in Section 11.5.8, �ProcessObserver event�.</text>
+
+ <assertion id="fd">
+ <text>For each bean, the container must search the class for observer
methods, and for each observer method create an |ObserverMethod| object, as defined in
Section 11.1.3, "The ObserverMethod interface" and fire an event of type
|ProcessObserverMethod|, as defined in Section 11.5.9, "ProcessObserverMethod
event".</text>
</assertion>
- <assertion id="j">
- <text>For each session bean declared in |ejb-jar.xml| in any bean deployment
archive the container must create a |Bean| object that implements the rules defined in
Chapter 7, "Bean lifecycle" and fire an event of type ProcessBean.</text>
+ <assertion id="ka">
+ <text>The container determines which policies, interceptors and decorators
are enabled, according to the rules defined in Section 5.2, "Policy enablement",
Section 9.4, "Interceptor enablement and ordering" and Section 8.2,
"Decorator enablement and ordering", taking into account any
|<enable>|, |<interceptors>| and |<Decorators>|
declarations in the |beans.xml| files, and registers the |Bean| and |ObserverMethod|
objects.</text>
</assertion>
- <assertion id="k">
- <text>The container determines which beans, interceptors and decorators are
enabled, according to the rules defined in Section 2.5.5, "Enabled deployment
types", Section 9.4, "Interceptor enablement and ordering" and Section 8.2,
"Decorator enablement and ordering", taking into account any
<Deploy>, <Interceptors> and <Decorators>
declarations in the |beans.xml| files, and registers the |Bean| and |Observer|
objects.</text>
+ <assertion id="la">
+ <text>For each enabled bean that is not an interceptor or decorator, the
container registers an instance of the |Bean| interface defined in Section 11.1, "The
Bean interface".</text>
</assertion>
- <assertion id="l">
- <text>For each enabled bean that is not an interceptor or decorator, the
container creates and registers an instance of |Bean| that implements the rules of Chapter
7, "Bean lifecycle".</text>
- </assertion>
-
<assertion id="m">
- <text>For each enabled interceptor, the container creates and registers an
instance of |Interceptor|, as defined in Section 11.1.2, "The Interceptor
interface".</text>
+ <text>For each enabled interceptor, the container registers an instance of
the |Interceptor| interface as defined in Section 11.1.2, "The Interceptor
interface".</text>
</assertion>
<assertion id="n">
- <text>For each enabled decorator, the container creates and registers an
instance of |Decorator|, as defined in Section 11.1.1, "The Decorator
interface".</text>
+ <text>For each enabled decorator, the container registers an instance of the
|Decorator| interface defined in Section 11.1.1, "The Decorator
interface".</text>
</assertion>
- <assertion id="o">
- <text>For each observer method of an enabled bean, the container creates and
registers an instance of |Observer| that implements the rules of Section 10.6.1,
"Observer method notification".</text>
+ <assertion id="oa">
+ <text>For each observer method of an enabled bean, the container registers an
instance of the |ObserverMethod| interface defined in Section 11.1.3, "The
ObserverMethod interface".</text>
</assertion>
</section>
@@ -4568,10 +4596,18 @@
<assertion id="b">
<text>Deployment problems are detected by the container at initialization
time. If a deployment problem exists in a deployment, initialization will be aborted by
the container.</text>
</assertion>
-
- <assertion id="c">
- <text>Execution errors are represented by instances of
|javax.enterprise.inject.InjectionException| and its subclasses.</text>
+
+ <assertion id="d">
+ <text>The container is permitted to define a non-portable mode, for use at
development time, in which some definition errors and deployment problems do not cause
application initialization to abort.</text>
</assertion>
+
+ <assertion id="e">
+ <text>Exceptions represent problems that may not be detected until they
actually occur at runtime. All exceptions defined by this specification are unchecked
exceptions.</text>
+ </assertion>
+
+ <assertion id="f">
+ <text>All exceptions defined by this specification may be safely caught and
handled by the application.</text>
+ </assertion>
</section>
</specification>