archiva-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Brett Porter <>
Subject Re: ArchivaArtifactModel versus ArchivaProjectModel
Date Wed, 08 Apr 2009 14:06:09 GMT

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

View raw message