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.


Reply via email to