archiva-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Brett Porter <br...@apache.org>
Subject Re: Help on how Archiva consumers work
Date Wed, 12 Dec 2007 11:44:35 GMT
http://maven.apache.org/developers/maven-eclipse-codestyle.xml

Thanks!

- Brett

On 12/12/2007, at 10:35 PM, Dário Oliveros wrote:

>
> Thank you for letting me contribute with such a nice project. I  
> appreciate
> it.
> BTW do you happen to have any code style formatter profile for Eclipse
> Europa ? I noticed Archiva's is a little bit different from Java  
> Convention
> profile and I could not find it anywhere.
> Thanks.
>
>
> Maria Odea Ching-2 wrote:
>>
>> Okey dokey, thanks a lot Dario!  :-)
>>
>> -Deng
>>
>> Dário Oliveros wrote:
>>> Good to hear from you.
>>>
>>> I had made some code changes before getting your response back and
>>> surprisingly I was on the right track by working on pretty much  
>>> the same
>>> steps as you've suggested in the first place. The only difference  
>>> was
>>> regarding the UnprocessedArtifactPredicate to where I added a new
>>> condition
>>> for checking whether whenProcessed date is before lastModified  
>>> instead of
>>> using snapshot verification. Besides I changed the else statement of
>>> ArtifactsProcessedConstraint by adding the same verification as  
>>> shown
>>> previously:
>>> whereClause = "whenProcessed == null || (whenProcessed != null &&
>>> whenProcessed < lastModified)";
>>> In your third step, I went for the date checking instead of  
>>> checksum.
>>>
>>> Anyway it looks like your second solution is better since it tends  
>>> to be
>>> cleaner than the first one.
>>> I will take a look and let you know as soon as I can. Once I fix the
>>> issue,
>>> I will post the patch for your analysis.
>>>
>>> Thank you so much for your support.
>>>
>>>
>>>
>>> Maria Odea Ching-2 wrote:
>>>
>>>> Hi Dario,
>>>>
>>>> I think the solution you've proposed would work.. to implement  
>>>> it, these
>>>> are probably what you need to change in Archiva:
>>>>
>>>> 1. update the UnprocessedArtifactPredicate
>>>>    - add the constraint to get the SNAPSHOT artifacts as you've
>>>> mentioned (there is a 'snapshot' field in the  
>>>> ArchivaArtifactModel which
>>>> flags whether the artifact is a snapshot or not, though using  
>>>> this would
>>>> return all snapshots -- unique & non-unique)
>>>>
>>>> 2. update UnprocessedArtifactPredicate
>>>>    - add check if artifact isProcessed() OR isSnapshot() for the
>>>> condition the artifact needs to satisfy
>>>>
>>>> 3. update ProjectModelToDatabaseConsumer
>>>>    - in the statement if( hasProjectModelInDatabase(...) ) is
>>>> satisfied, the project model/pom file should be verified against  
>>>> the
>>>> existing project model (in the db) if there were updates or  
>>>> changes made
>>>> to it (maybe via the lastModified date or via its checksum). If  
>>>> there
>>>> are changes, then the existing project model must be removed from  
>>>> the db
>>>> and the new project model shall be added.
>>>>
>>>>
>>>> I've also thought of another way to tackle this issue..
>>>>
>>>> You could just update the  
>>>> DatabaseCleanupRemoveProjectModelConsumer to
>>>> add checking for changes in the project models/pom files of those
>>>> artifacts that have already been processed. If the project model  
>>>> has
>>>> been changed, just remove the project model from the db and  
>>>> update the
>>>> ArchivaArtifactModel's "whenProcessed" field to NULL so that it  
>>>> would
>>>> qualify in the UnProcessedArtifactPredicate(false) constraint.  
>>>> The other
>>>> thing that needs to be done is to update the JdoDatabaseUpdater's
>>>> update() method -- just switch the lines updateAllUnprocessed() and
>>>> updateAllProcessed() inside it. updateAllProcessed() should be  
>>>> executed
>>>> first  before updateAllUnprocessed() in order to capture the  
>>>> updates
>>>> performed in DatabaseCleanupRemoveProjectModelConsumer.
>>>>
>>>> More thoughts/suggestions anyone? :-)
>>>>
>>>>
>>>> Thanks,
>>>> Deng
>>>>
>>>>
>>>> Dário Oliveros wrote:
>>>>
>>>>> Hi all,
>>>>>
>>>>> I would like to understand why a processed artifact does not have
>>>>> update-db-project consumer in case of a non-unique SNAPSHOT  
>>>>> project
>>>>> (please
>>>>> refer to http://jira.codehaus.org/browse/MRM-622 for more  
>>>>> information).
>>>>>
>>>>> The reason for bringing this up is that the database is not being
>>>>> updated
>>>>> accordingly when a non-unique SNAPSHOT project with dependency  
>>>>> version
>>>>> changes is deployed once again to Archiva repository. Even  
>>>>> though it
>>>>> contains differences compared to the previous one, it's considered
>>>>> processed
>>>>> already and therefore not updated. It looks like a bug in my  
>>>>> opinion
>>>>> and
>>>>> I
>>>>> would like to contribute for this fix.
>>>>>
>>>>> Should I change the query constraint for unprocessed artifacts
>>>>> (ArtifactsProcessedConstraint(false)) so it also retrieves the
>>>>> non-unique
>>>>> SNAPSHOT projects or add a new consumer to processed artifacts for
>>>>> database
>>>>> update ?
>>>>>
>>>>> Any tips or pointers would be appreciated.
>>>>>
>>>>> Thanks,
>>>>> Dário
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>
>>>>
>>>
>>>
>>
>>
>>
>
> -- 
> View this message in context: http://www.nabble.com/Help-on-how-Archiva-consumers-work-tp14272457p14293357.html
> Sent from the archiva-dev mailing list archive at Nabble.com.
>


Mime
View raw message