avalon-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Berin Loritsch" <blorit...@citi-us.com>
Subject RE: [Avalon4:Fortress] Eating Crow (was Changes to RoleManager)
Date Thu, 12 Dec 2002 19:08:36 GMT
> From: Berin Loritsch [mailto:bloritsch@citi-us.com]
> 
> 
> Somebody made some *major* changes to the RoleManager interface,
> and I do not recall any conversations/explanations regarding it.

I had a deeper look at the changes, and have changed my impressions.


> The problem is that I *specifically* designed the RoleManager
> to support both forwards and backwards interpretation of a
> component's entry in the configuration.  My intent was that in
> the future, the configuration file would be "self-healing".
> If there was an entry in the configuration file that was with
> the old "<component/>" format and there was an entry for it
> in the RoleManager, then the Container would be able to write
> the configuration file back with the human readable form of
> the name.

At a closer look, it still supports "self-healing" config files.

> The new implementations and interface does not allow for this
> type of action, and in fact it prevents it from ever happening
> in the future.  Also, the replacement did not meet the Java
> API documentation standards as the original version did.

Now that I jumped in the code, I found that my initial reaction
and analysis was flat out wrong.  However, I would liked to have
known what the changes were ahead of time so that we could have
made the journey together.

My comment regarding the API documentation standards still
apply.  The new interface rocks, there are a couple minor
tweaks for the implementation, but the JavaDocs could have
been better.

> I am going to revert the changes *back* to the way they were.
> If there are any serious objections (which I doubt), please
> voice them now.

I am not going to do this anymore, but I will make some
fundamental changes:

1) We should *never* explicitly throw a NullPointerException.
   If an argument is required, throw an IllegalArgumentException
   instead.  The meaning of the error is much more clear.

2) Javadocs should be well written, not non-existent

--
To unsubscribe, e-mail:   <mailto:avalon-dev-unsubscribe@jakarta.apache.org>
For additional commands, e-mail: <mailto:avalon-dev-help@jakarta.apache.org>


Mime
View raw message