On 01/11/2007, at 10:46 AM, Joakim Erdfelt wrote:


Switching from boolean return on .applyPolicy() to throwing exception, to gain better logging of why the transfer failed.

No need to change it now, but I don't really agree with this. I don't agree with using exceptions for non-exceptional conditions for readability reasons - particularly just to pass a string around. IMO, better alternatives:
1) just log in the policy check and return true/false as before
2) return an object that has a "success" flag and a "reason" string (essentially the same as an exception, but correctly using the return type)

The flaw with that is that only having a boolean doesn't tell us WHY something failed. Also the log didn't make a distinction between config issue, normal happy path, informational, and problem path.
Since this is a failure, throw an exception.
Made the code easier to read too.  Lots of uncoding here.

But that's what option 2 is for - roughly same amount of code, has a reason, but is still true/false return code. This isn't an exceptional condition - you would expect things to fail policies all the time when they are not updated, etc.

Anyway, it's just IMO, it obviously works just fine either way.


As for noise, the standard failure reasoning will easily be (10* (proxyConnector.size()) more noisy than the configuration errors.

but that's getting adjusted in a separate issue, right?


Working on that now, the DefaultArchivaConfiguration.load() mechanism has many configuration cleanup / sanity things in it. Shame you got rid of the ConfigurationCleanup interface a while back. would have made this easy to test individually instead of all lumped together like it is now.

I'm not really sure what you are referring to here, but let's focus on this some more after 1.0? I was just asking a question, I don't think we want to much with configuration any further at this point as the only issue I see open is one about clarity in the web interface.

- Brett

--
Brett Porter - [EMAIL PROTECTED]
Blog: http://www.devzuz.org/blogs/bporter/

Reply via email to