On Wed, 13 Aug 2003, Weston M. Price wrote:
> My thought was that there are going to be some basic services:
>
> Reading a deployable archive.
> Manipulating a deployable archive (verifiying and iterating over
> elements
> etc)
> Reporting on failures, errors, warnings etc.
>
> that should be common to both the DeploymentManager and the Verifier. We are
> all operating on either an EAR (J2eeApplicationObject) or a WAR, RAR, JAR
> (DeployableObject), my thought was that we would share the same notion of how
> these objects are represented and implemented, or at least share code in
> certain regards. What sense would it make for the DeploymentManager team to
> write code to read an EAR, extract the relevant parts and manipulate the
> archive and then have the Verification team do exactly the same thing? Is
> there something that I am missing?
Well, java.util.jar.* provides most of what you need to read the
actual xAR files... between that and the ClassLoader, you can access
and/or iterate classes pretty easily. If we need to explode an EAR into a
temp dir, that could be common, but it's still a pretty tiny amount of
code.
If you're talking about walking through the actual DD items
(beans, resources, roles, etc.), that's what I meant by "metadata". I
think we do want a consistent set of objects to represent the J2EE and
Geronimo metadata. However, I think it will get populated in different
ways. If reading a JAR off disk, and that JAR has a couple XML files,
then something will construct metadata objects from XML. In the JSR-88
case, the DConfigBeans can write to the same metadata objects... And the
J2EE standard metadata can either be stripped from the DDBeans or read
from the DDs in the xAR.
Anyway, I think we want a general procedure for error handling
larger than the scope of the deployer and verifier. Potentially something
with I18N and so on.
Aaron