commons-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Craig McClanahan <>
Subject Re: [chain] dependencies
Date Wed, 16 Nov 2005 07:19:15 GMT
On 11/15/05, Wendy Smoak <> wrote:
> I'm trying to sort out the dependencies for Chain-- right now the pom
> in the repository (for Maven 2) is bringing the Servlet and Portlet
> APIs plus a beta version of MyFaces into any project that depends on
> it.
> From the project home page, it looks like all three of these are optional.

At runtime, that's true unless you use the corresponding Context
implementation class. It's also true at compile time if you use the Ant
script (which has conditional compilation targets -- don't know whether you
can do that in Maven or not).

Can someone please confirm (for a non-portlet developer) that Portlet
> works the same way as Servlet, that is, the container provides the API
> at runtime?

It *can* work that way. However, the portlet API is not a required part of
the J2EE (now Java EE) platform, so you cannot be guaranteed that it will be
in your average servlet container. For example, the portlet API jar is not
shipped with Tomcat by default.

In addition, the docs say, "To maximize the usefulness of the Chain of
> Responsibility pattern APIs, the fundamental interface contracts are
> defined in a manner with zero dependencies other than an appropriate
> JDK."
> Does that mean that the BeanUtils, Digester and Logging dependencies
> are also optional?

If you take the intended meaning of "fundamental APIs" to mean the interface
definitions in org.apache.commons.chain (which was the intent of that
statement, since I wrote it :-) then yes, they are optional. However,
logging is required by most of the impl subpackage implementations.
Digester/BeanUtils are only required if you use the provided utility classes
to parse XML based configuration files. Nothing in Commons Chain actually
requires this ... you are perfectly free to create Catalog, Chain, and
Command instances manually and integrate them appropriately.

> Wendy


> To unsubscribe, e-mail:
> For additional commands, e-mail:

  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message