On 08/04/2009, at 10:22 AM, Felipe Roos da Rosa wrote:
Hi Folks!
I didn't find much information on the topic, but I guess the first
one is relative to the artifact itself, and the second is about
information that get shown in the user interface (like, browse
artifact). I could see that ShowArtifactAction is pretty much based
on the ArchivaProjectModel. I also saw that
ProjectModelToDatabaseConsumer is reponsible for processing the
ArchivaProjectModel information for POM files and insert it into the
database. But I did not find a straight path from the UI actions to
the ProjectModelToDatabaseConsumer, as I see for
ArtifactUpdateDatabaseConsumer, for example.
When does that kind of consumer get called?
Is the information contained in ArchivaProjectModel available on the
database only after the ProjectModelToDatabaseConsumer gets called?
Generally through the scans, but there is a trigger via SAA ->
DefaultRepositoryBrowsing -> JdoDatabaseUpdater -> DatabaseConsumer
(which this implements). So this should occur here if the scan hasn't
done it already.
Sorry about the dummy questions, but I'm having a hard time trying
to understand the system orchestration.
Not at all, frankly it is too confusing. For this reason we've
proposed a set of simplifications to the architecture in the long run.
The consumer side is fine, but they find their way into too much of
the code rather than being centralised, and the reliance on scanning
is too burdensome.
After I get this right, I could provide some more detailed
documentation on how to extend Archiva consumers, if you like.
That would certainly be helpful, keeping in mind the caveat above :)
- Brett