On 25/01/2010, sebb <seb...@gmail.com> wrote:
> On 24/01/2010, Simone Tripodi <simone.trip...@gmail.com> wrote:
>  > Hi all guys,
>  >  I'm writing you because I really need your help on graduating my effort
>  >  spent on sandbox about the digester: I finally terminated porting my old
>  >  stuff[1] on the sandbox and implemented some test cases that show how to 
> use
>  >  annotations on pojos.
>  >  I need your help on:
>  >  - reviewing the design;
>  >  - make the code more compliant to commons-digester;
>  >  - increasing test cases
>  >  - suggest me what I have to do to propose the sandbox merged in /trunk
>  >  - help me on writing the documentation, I'm not a native English speaker 
> :(
>  >  :(
>  >
>  >  Is anyone available to help me? I'll start writing an architectural 
> document
>  >  to provide you better informations, and apologize in advance for my poor 
> way
>  >  to explain concepts in English :P
>  >
>  >  In the meanwhile, if you have spare time to have a look at the code you 
> can
>  >  check it out from svn sandbox[2]
>
>
> I cannot comment on the design or behaviour, as I'm not familiar with 
> Digester.
>
>  However, I can comment on the coding style.
>
>  There are a few missing @Override markers.
>
>  @SuppressWarnings("unchecked") should be used as close as possible to
>  the statement that causes the warning, and there should be a comment
>  as to why the warning can be ignored.
>
>  For example, in DefaultLoaderHandler.handle(), the annotation should
>  be used on the first statement of the try{} block. Similarly for
>  .MethodHandler.doHandle(), etc.
>
>  There are a few private methods where the Javadoc is incomplete, e.g.
>  MethodHandler.doHandle(). Either drop the Javadoc, or have something
>  useful there.
>
>  The Javadoc for MethodArgument() references a non-existent parameter;
>  there are a few other Javadoc problems, e.g. the @see references.
>
>  It would be useful to document which classes are intended to be
>  thread-safe, and which are definitely not intended to be thread-safe .
>
>  Could the AnnotationRuleProvider.init() method be dropped in favour of
>  providing the parameters in the constructors? That would allow the
>  fields to be made final, which would improve thread-safety.
>
>  In the MethodArgument class, two of the methods return a pointer to
>  the final Annotations array. This breaks containment, as it allows
>  external classes to modify the array. It would be safer to return a
>  copy of the array. This would also make the class immutable and
>  therefore thread-safe.
>
>  Findbugs warns that the field FromAnnotationsRuleSet.namespaceURI is
>  never written.
>  This must be a mistake.
>
>  Having said all that, I think the general style seems better than the
>  existing Digester code, which has a lot of problems, e.g. public
>  static fields that are not final! [Any such issues should be fixed in
>  trunk, not here].
>
>  By the way - did you need to make any changes to the existing Digester code?
>

One other comment:

JUnit tests don't generally need main() methods or suite()s.
It's far too easy to accidentally omit test cases from a suite(),
especially when adding new tests.

>  >  Thanks in advance, all the best!!!
>  >  Simo
>  >
>  >  [1] http://code.google.com/p/digester-annotations/ - still on google code,
>  >  do I have to drop it?
>  >  [2] https://svn.apache.org/repos/asf/commons/sandbox/at-digester/trunk
>  >
>  >  http://people.apache.org/~simonetripodi/
>  >
>

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org
For additional commands, e-mail: dev-h...@commons.apache.org

Reply via email to