Any thoughts on using an APT processor?  That's how I automatically generate
Hibernate configuration docs that include all of my annotated classes (those
marked as @Entities).  You could run APT to get a list of annotated classes
and then process those.

On 4/11/07, Johan Lindquist <[EMAIL PROTECTED]> wrote:

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Ok, there we go :)

Then I guess then that the verifiers and hivedoc will have to take this
into consideration.

Cheers,

Johan

Achim Hügen wrote:
> Spring is able to load classpath resources by wildcard, using
> patterns like this one:
>
> classpath*:**/*Module.class
>
> So there is a lot of working code waiting to be copied ;-)
>
>
http://springframework.cvs.sourceforge.net/springframework/spring/src/org/springframework/core/io/support/PathMatchingResourcePatternResolver.java?revision=1.39&view=markup
>
>
> Achim
>
>
> Am Tue, 10 Apr 2007 16:35:01 +0200 schrieb Paul Cooley
> <[EMAIL PROTECTED]>:
>
>> Using the URLClassLoader, you can hand it a jar and it will create a
>> ClassLoader instance that contains ONLY those classes that were in the
>> jar.
>> In conjunction with creating the class loader, I then opened the jar
>> using
>> the JarFile class.  It sounds convoluted, but I got all the names of
the
>> classes from the jar file and then used them to get the specific
>> classes in
>> the ClassLoader.
>>
>> There are obviously more elegant ways to do this, and I'm sure someone
>> out
>> there has already built a class that does the same.  And if they
haven't,
>> perhaps I do have something I can contribute rather quickly to the
>> project.
>> ;)
>>
>> Cheers.
>>
>> On 4/10/07, Johan Lindquist <[EMAIL PROTECTED]> wrote:
>>>
> Cool, we are closer to being able to provide 1.0 behaviour for loading
> modules than I though.  I should admit that my 2.0 knowledge is still
> somewhat limited, but having trawled the docs somewhat, Achim mentions
> that autoloading will be made simpler so the below may well be what he
> is looking into.
>
> One question - when you say introspects a jar - how do you process it
> (if you don't mind me asking)?  I was always under the impression that
> class loaders would not allow you to "query" what classes were
> available.
>
> Cheers,
>
> Johan
>
> Paul Cooley wrote:
>> In my current project I had to create a simplistic ORM style generator
>> (was unable to use Hibernate or Torque for reasons I won't even get
>> into...) using annotations.  When the application starts up, it loads
>> the jars it's going to use for plugin functionality and introspects
>> them.  Classes marked with specific annotations are processed
>> accordingly.  It's easy to do and although it sounds as though it
>> involves tons of processing (and obviously for large numbers of
> jars, it
>> can), it all takes place at startup and the results are cached.
>
>> But since the classloaders are kept separate, specific questions
> can by
>> asked of any class in that classloader without worrying about hitting
>> those of the application itself.
>
>> Cheers.
>
>> On 4/10/07, [EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>*
>> <[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>> wrote:
>
>>     I've never tried something like "give me all classes annotated
> with
>>     X", but I think it's possible.
>>     For example the launcher of the Test-NG eclipse plugin does a good
>>     job in offering you all classes annotated with @Test
>
>
> ------------------------------------------------------------------------
>>         *From:* Paul Cooley [mailto:[EMAIL PROTECTED]
>>         <mailto:[EMAIL PROTECTED]>]
>>         *Sent:* Tuesday, April 10, 2007 4:04 PM
>>         *To:* [email protected] <mailto:[email protected]>
>>         *Subject:* Re: HiveMind Site
>
>>         Johan:
>>         Perhaps I've misunderstood the issue.  However, let me blindly
>>         proceed in ignorance.  :)
>
>>         Regardless of when classes are loaded (hivemind runtime or for
>>         hivedoc), each class can be introspected to determine its
>>         annotations, provided they are marked as Runtime.  If the
>>         annotations are documentation only, then yes, it obviously
> gets
>>         more difficult and a real parser will have to be used, but
> this
>>         also means the source code will have to be available for all
>>         elements to be hivedoc'd.  I assume that since the annotations
>>         are going to be used in building the registry ( HM2.0??), that
>>         all these annotations will have runtime marking.
>
>>         Again, I hope I haven't misunderstood the issue.  And if I
> have,
>>         my apologies.
>
>>         Cheers.
>
>>         On 4/10/07, *Johan Lindquist* <[EMAIL PROTECTED]
>>         <mailto:[EMAIL PROTECTED]>> wrote:
>
>> Hi Paul,
>
>> But that is if you know the class already right?
>
>> When you load the Hivemind registry using XML, it will do a
>> getResources("META-INF/hivemodule.xml") on the class loader and
>> processes a list of hivemodules.  Now, if you can do the
>> same with
>> annotations, then we are in the clear.
>
>> Cheers,
>
>> Johan
>
>> Paul Cooley wrote:
>>> Johan:
>>> Discovering Annotations at runtime is fairly
>> straightforward.  There are
>>> some tricks, however, when you begin going across
>> ClassLoaders (which I
>>> assume is going to happen in this case since jars are being
>> loaded at
>>> runtime).  In these instances, it may be necessary to compare
>>> annotations by name rather than Class, since they may not
>> match (due to
>>> different ClassLoaders).
>
>>> Cheers.
>
>>> On 4/10/07, *Johan Lindquist* < [EMAIL PROTECTED]
>> <mailto:[EMAIL PROTECTED]>
>>> <mailto: [EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>>> wrote:
>
>>> Hi Marcus,
>
>>> Yes, I can admit the same for the verifier just now - but
>> as you say,
>>> the code is short ...
>
>>> As for parsing the code (and maybe Achim has some thoughts
>> on this) to
>>> create a registry - sounds like a good plan.  I guess it
>> can be written
>>> to raise events which the plugins can act on (similar to
>> module loading
>>> now i belive??).
>
>>> However, both plugins depend on runtime discovery of
>> modules - and as I
>>> understand it, this is something which is currently not
>> supported by
>>> 2.0?  Do I understand things correctly when I say that
>> supporting such
>>> discovery is currently not possible with JDK 1.5 and
>> annotations?  I.e.
>>> it is very hard (if not impossible) to "discover" classes
>> which have
>>> annotations on them?  Is the plan to solve this by creating
>> a sort of
>>> hybrid solution which uses both XML and annotations?
>
>>> Not sure if I am completely off the mark here :)
>
>>> Johan
>
>>> [EMAIL PROTECTED]
>> <mailto:[EMAIL PROTECTED]><mailto: [EMAIL PROTECTED]
>> <mailto:[EMAIL PROTECTED]>> wrote:
>>>> Hi Johan,
>
>>>> I think, I used the Apache License - so no problem here.
>
>>>> However, I have to blushingly admit, that the hivedoc
>> plugin is
>>> quite a quick hack. So don't expect any clean abstraction
>> from the
>>> xml-Registry-Definition.
>>>> On the positive side, the code is short and
>> straightforward, so it
>>> shouldn't be really difficult to pull apart the xml-parsing
>> and the
>>> output-generation.
>>>> Unfortunately, I've not yet had the time to look into the
>> new API.
>>> Basically, one probably needs to search the source-files for
>>> HiveMind-2.0 annotations.
>>>> This annotation-parsing thing should be common for
>> validator and
>>> hivedoc mojos. The simplest thing might be to generate the
>> good old
>>> xml-registry as a temporary file from the annotations and
>> use it as
>>> input for both tools.
>
>>>> Marcus
>
>>>>> -----Original Message-----
>>>>> From: Johan Lindquist [mailto:[EMAIL PROTECTED]
>> <mailto:[EMAIL PROTECTED]>
>>> <mailto: [EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>>]
>>>>> Sent: Tuesday, April 10, 2007 9:04 AM
>>>>> To: [email protected]
>> <mailto:[email protected]>
>> <mailto:[email protected]
>> <mailto:[email protected]> >
>>>>> Subject: Re: HiveMind Site
>>>>>
>>>> Hi,
>
>>>> For the verifier mojo, there are no issues - not sure about
>>>> the HiveDoc one - Marcus?
>
>>>> And yes, HiveMind 2.0 integration should be considered.
>>>> verifier should definately be possibly to re-use for XML
>>>> descriptors but it needs to be retrofitted to handle
>>>> annotated registries.  For HiveDoc, I would assume the same
>>>> thing applies?
>
>>>> Johan
>
>>>> Achim Hügen wrote:
>>>>>>> It would be great to add that plugin to the hivemind
>> subversion
>>>>>>> repository as an additional module.
>>>>>>> Does any licensing issues or copyright speak against it?
>>>>>>>
>>>>>>> BTW, we will have to check how such plugins can be
>>>> integrated with the
>>>>>>> HiveMind 2 registry definition API.
>>>>>>>
>>>>>>> Achim
>>>>>>>
>>>>>>> Am Thu, 05 Apr 2007 10:09:17 +0200 schrieb Johan Lindquist
>>>>>>> < [EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]> <mailto:
>> [EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>>>:
>>>>>>>
>>>>>>> Hi,
>>>>>>>
>>>>>>> Ok, I will take a look - and file the JIRA.
>>>>>>>
>>>>>>> About the plugin - basically there are two mojos that were
>>>> mentioned
>>>>>>> on the list - a hivedoc report plugin (written by Marcus
>>>> Schulte) and
>>>>>>> a hivemodule.xml verifier plugin (started by
>> myself).  The thoughts
>>>>>>> were to create one single hivemind plugin with these two
>>>> sub-goals (if
>>>>>>> that is the correct wording).  Then of course, any
>> other sub-goals
>>>>>>> that come along would slot in quite nicely as
>> well.  Makes sense?
>>>>>>>
>>>>>>> Cheers,
>>>>>>>
>>>>>>> Johan
>>>>>>>
>>>>>>> Achim Hügen wrote:
>>>>>>>>>> Your changes are very welcome.
>>>>>>>>>> Please use JIRA for submitting the patches.
>>>>>>>>>> Maybe the IE bug has already been fixed on the tapestry
>>>> site where
>>>>>>>>>> I copied the styles from.
>>>>>>>>>>
>>>>>>>>>> Could you give me a short update on the plugin subject?
>>>>>>>>>> Did you create the plugins or who is the owner?
>>>>>>>>>>
>>>>>>>>>> Achim
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> Am Tue, 03 Apr 2007 09:42:24 +0200 schrieb Johan
>> Lindquist
>>>>>>>>>> <[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>
>> <mailto: [EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>>>:
>>>>>>>>>>
>>>>>>>>>> Hi Achim,
>>>>>>>>>>
>>>>>>>>>> I think misunderstood the problem with the pom -
>> thought it was
>>>>>>>>>> related to the "root" source repository location as
>> indicated by
>>>>>>>>>> the project info on the homepage.  Apologies for my
>>>> hasty conclusions.
>>>>>>>>>> In any case, I think we all agree that the site should
>>>> be updated
>>>>>>>>>> and I understand fully if time prevents this .  And
>> as far as
>>>>>>>>>> committers go, I guess James is only one still active?
>>>>>>>>>>
>>>>>>>>>> On a different note - looks like the site doesn't
>> work entirely
>>>>>>>>>> correct on IE (at least for me, the left nav is not
>>>> visible in IE -
>>>>>>>>>> firefox works fine) - do you mind if I make one or two
>>>> changes to
>>>>>>>>>> the hivemind site project to correct this?  Would you
>>>> want another
>>>>>>>>>> JIRA for this to keep track?
>>>>>>>>>>
>>>>>>>>>> And lastly, was also hoping to incorpororate the
>> Maven Hivemind
>>>>>>>>>> plugins previously mentioned - module verification and
>>>> hivedoc.  Thoughts?
>>>>>>>>>> Cheers,
>>>>>>>>>>
>>>>>>>>>> Johan
>>>>>>>>>>
>>>>>>>>>> Achim Hügen wrote:
>>>>>>>>>>>>> Johan, the bug refered to the HiveMind 2 poms and
>> I fixed
>>> it.
>>>>>>>>>>>>> Nevertheless it would be nice if someone could apply
>>>> the patches
>>>>>>>>>>>>> to the 1.2 site and release it.
>>>>>>>>>>>>> Unfortunately my time is limited and I focus on
>>>> version 2.0 in
>>>>>>>>>>>>> the moment.
>>>>>>>>>>>>>
>>>>>>>>>>>>> Anybody else?
>>>>>>>>>>>>>
>>>>>>>>>>>>> Achim
>>>>>>>>>>>>>
>>>>>>>>>>>>> Am Mon, 02 Apr 2007 09:17:01 +0200 schrieb Johan
>> Lindquist
>>>>>>>>>>>>> < [EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>
>> <mailto: [EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>>>:
>>>>>>>>>>>>>
>>>>>>>>>>>>> Hi All,
>>>>>>>>>>>>>
>>>>>>>>>>>>> Over the weekend there was a JIRA opened for the SVN
>>> links on
>>>>>>>>>>>>> the HiveMind site.  Looks like the current
>> project info (as
>>>>>>>>>>>>> generated by
>>>>>>>>>>>>> Maven) uses the site scm URL (someone correct me if I
>>>> am wrong)?
>>>>>>>>>>>>> Now, to make sure that users don't get confused
>> can I
>>>> suggest we
>>>>>>>>>>>>> try to get the updated site up for Hivemind?  The
>>>> patch already
>>>>>>>>>>>>> supplied will provide the new look and feel and
>> other updates
>>>>>>>>>>>>> that the maven build brings.  The 2.0 site should
>> of course
>>>>>>>>>>>>> still be there but I guess it
>>>>>>>>>>>>> depends somewhat on how complete the
>> documentation is
>>>> - Achim?   If
>>>>>>>>>>>>> there is some work required to complete it,
>> anything someone
>>>>>>>>>>>>> else can pick up?
>>>>>>>>>>>>>
>>>>>>>>>>>>> In any case, we should try to clean up the site
>> and make sure
>>>>>>>>>>>>> links (such as the SCM) works correctly.
>>>>>>>>>>>>>
>>>>>>>>>>>>> Only my two cents worth, but we don't want to confuse
>>>> the users
>>>>>>>>>>>>> further by having the (so far very good)
>> documentation fall
>>>>>>>>>>>>> apart on us.
>>>>>>>>>>>>>
>>>>>>>>>>>>> Thoughts?
>>>>>>>>>>>>>
>>>>>>>>>>>>> Cheers,
>>>>>>>>>>>>>
>>>>>>>>>>>>> Johan
>>>>>>>>>>>>>
>>>>>
>
>
>>> --
>>> Gotta find my destiny, before it gets too late.-- Ian Curtis
>
>
>>         --
>>         Gotta find my destiny, before it gets too late.-- Ian Curtis
>
>
>
>
>> --
>> Gotta find my destiny, before it gets too late.-- Ian Curtis
>
>>>
>>
>>
>>

- --
you too?
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.6 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFGHJTG1Tv8wj7aQ34RApc6AJ96K/9oig6/jAwkRkGUXuCzjwHbkgCfY+6P
pyMex8Wearf99/Okr9aXEhA=
=P/XL
-----END PGP SIGNATURE-----

Reply via email to