Date: 2004-08-12T19:17:59
   Editor: KenTam <[EMAIL PROTECTED]>
   Wiki: Apache Beehive Wiki
   Page: Controls/AssemblyAndBinding
   URL: http://wiki.apache.org/beehive/Controls/AssemblyAndBinding

   no comment

Change Log:

------------------------------------------------------------------------------
@@ -62,15 +62,17 @@
 
 == The Assembly Process ==
 
-A control implementation declares its desire to participate in the assembly 
process via the optional "assemblyClass" attribute on the [EMAIL PROTECTED] 
annotation.  The class referenced by "assemblyClass" must implement the 
{{{ControlAssembler}}} interface.
+A control implementation declares its desire to participate in the assembly 
process via the optional "assembler" attribute on the 
[http://svn.apache.org/viewcvs.cgi/incubator/beehive/trunk/controls/src/api/org/apache/beehive/controls/api/bean/ControlImplementation.java?rev=&root=Apache-SVN&view=markup
 @ControlImplementation]  annotation.  The class referenced by "assembler" must 
implement the 
[http://svn.apache.org/viewcvs.cgi/incubator/beehive/trunk/controls/src/api/org/apache/beehive/controls/api/assembly/ControlAssembler.java?rev=&root=Apache-SVN&view=markup
 ControlAssembler]  interface.
+
 Assembly takes place after the control clients have been handled by the 
control client processor, and relies on the client manifest (or its moral 
equivalent which can be obtained via reflection).  All controls referenced by 
the client be must completely compiled prior to assembly; in particular, the 
assembler classes associated with the control implementations must be compiled 
(note for nested controls usage -- "compiled" does not include running 
assembly!  It does include bean gen).
 
 The assembly process operates on a set of "assembly targets".  An assembly 
target is any J2EE module that contains 1+ control clients, and represents the 
smallest amount of assembly work that can be done.  For example, an EJB-based 
JWS is an assembly target, and a webapp with several JPFs that use controls is 
an assembly target.
 
-For a J2EE module type to support control clients, there must be provided an 
implementation of the {{{ControlAssemblyContext}}} interface, which exposes the 
characteristics of the module to the assembly process (ie, providing access to 
file system locations so files can be added to the module, providing access to 
read/modify descriptors, etc).
+For a J2EE module type to support control clients, there must be provided an 
implementation of the 
[http://svn.apache.org/viewcvs.cgi/incubator/beehive/trunk/controls/src/api/org/apache/beehive/controls/api/assembly/ControlAssemblyContext.java?rev=&root=Apache-SVN&view=markup
 ControlAssemblyContext] interface, which exposes the characteristics of the 
module to the assembly process (ie, providing access to file system locations 
so files can be added to the module, providing access to read/modify 
descriptors, etc).
 
 {{{
-REVIEW: Consider exposing specific operations like "addEjbLink"
+TBD: Add message logging functionality to ControlAssemblyContext so 
implementations can emit diagnostics to assembly tools.
+TBD: Expose more abstract operations like "addEjbRef()" on 
ControlAssemblyContext.EJBModule, rather than just raw "getEjbJarXml()".
 }}}
 
 The assembly process:

Reply via email to