You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@archiva.apache.org by oc...@apache.org on 2010/10/15 04:58:49 UTC

svn commit: r1022813 - in /archiva/trunk/archiva-modules/archiva-web/archiva-xmlrpc/archiva-xmlrpc-services/src: main/java/org/apache/archiva/web/xmlrpc/services/ test/java/org/apache/archiva/web/xmlrpc/services/

Author: oching
Date: Fri Oct 15 02:58:49 2010
New Revision: 1022813

URL: http://svn.apache.org/viewvc?rev=1022813&view=rev
Log:
o fix bug when checking for conflicting artifacts, compare managed repo & staging repo instead of both staging repo
o added debug logs
o removed alwaysmatcher for test so we can catch the specific values of passed params

Modified:
    archiva/trunk/archiva-modules/archiva-web/archiva-xmlrpc/archiva-xmlrpc-services/src/main/java/org/apache/archiva/web/xmlrpc/services/AdministrationServiceImpl.java
    archiva/trunk/archiva-modules/archiva-web/archiva-xmlrpc/archiva-xmlrpc-services/src/test/java/org/apache/archiva/web/xmlrpc/services/AdministrationServiceImplTest.java

Modified: archiva/trunk/archiva-modules/archiva-web/archiva-xmlrpc/archiva-xmlrpc-services/src/main/java/org/apache/archiva/web/xmlrpc/services/AdministrationServiceImpl.java
URL: http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-web/archiva-xmlrpc/archiva-xmlrpc-services/src/main/java/org/apache/archiva/web/xmlrpc/services/AdministrationServiceImpl.java?rev=1022813&r1=1022812&r2=1022813&view=diff
==============================================================================
--- archiva/trunk/archiva-modules/archiva-web/archiva-xmlrpc/archiva-xmlrpc-services/src/main/java/org/apache/archiva/web/xmlrpc/services/AdministrationServiceImpl.java (original)
+++ archiva/trunk/archiva-modules/archiva-web/archiva-xmlrpc/archiva-xmlrpc-services/src/main/java/org/apache/archiva/web/xmlrpc/services/AdministrationServiceImpl.java Fri Oct 15 02:58:49 2010
@@ -475,6 +475,8 @@ public class AdministrationServiceImpl
         Configuration config = archivaConfiguration.getConfiguration();
         repoConfig = config.findManagedRepositoryById( repoId );
 
+        log.debug( "Retrieved repository configuration for repo '" + repoId + "'" );
+
         if ( repoConfig != null )
         {
             stagingConfig = config.findManagedRepositoryById( stagingId );
@@ -485,32 +487,62 @@ public class AdministrationServiceImpl
 
                 if ( repoConfig.isReleases() && !repoConfig.isSnapshots() )
                 {
+                    log.info( "Repository to be merged contains releases only.." );
                     if ( skipConflicts )
                     {
                         List<ArtifactMetadata> conflicts =
-                            repositoryMerger.getConflictingArtifacts( stagingId, stagingId );
+                            repositoryMerger.getConflictingArtifacts( repoId, stagingId );
+
+                        log.debug( "Artifacts in conflict.." );
+                        for( ArtifactMetadata metadata : conflicts )
+                        {
+                            log.debug( metadata.getNamespace() + ":" + metadata.getProject() + ":" +
+                                metadata.getProjectVersion() );
+                        }
+
                         sourceArtifacts.removeAll( conflicts );
+
+                        log.debug( "Source artifacts size :: " + sourceArtifacts.size() );
                         mergeWithOutSnapshots( sourceArtifacts, stagingId, repoId );
                     }
                     else
                     {
+                        log.debug( "Source artifacts size :: " + sourceArtifacts.size() );
                         mergeWithOutSnapshots( sourceArtifacts, stagingId, repoId );
                     }
                 }
                 else
                 {
+                    log.info( "Repository to be merged has snapshot artifacts.." );
                     if ( skipConflicts )
                     {
                         List<ArtifactMetadata> conflicts =
-                            repositoryMerger.getConflictingArtifacts( stagingId, stagingId );
+                            repositoryMerger.getConflictingArtifacts( repoId, stagingId );
+
+                        log.debug( "Artifacts in conflict.." );
+                        for( ArtifactMetadata metadata : conflicts )
+                        {
+                            log.debug( metadata.getNamespace() + ":" + metadata.getProject() + ":" +
+                                metadata.getProjectVersion() );
+                        }
+                        
                         sourceArtifacts.removeAll( conflicts );
+
+                        log.debug( "Source artifacts size :: " + sourceArtifacts.size() );
+
                         Filter<ArtifactMetadata> artifactsWithOutConflicts =
                             new IncludesFilter<ArtifactMetadata>( sourceArtifacts );
                         repositoryMerger.merge( stagingId, repoId, artifactsWithOutConflicts );
+
+                        log.info( "Staging repository '" + stagingId + "' merged successfully with managed repo '" +
+                            repoId + "'." );
                     }
                     else
                     {
                         repositoryMerger.merge( stagingId, repoId );
+                        
+                        log.info( "Staging repository '" + stagingId + "' merged successfully with managed repo '" +
+                            repoId + "'." );
                     }
                 }
             }

Modified: archiva/trunk/archiva-modules/archiva-web/archiva-xmlrpc/archiva-xmlrpc-services/src/test/java/org/apache/archiva/web/xmlrpc/services/AdministrationServiceImplTest.java
URL: http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-web/archiva-xmlrpc/archiva-xmlrpc-services/src/test/java/org/apache/archiva/web/xmlrpc/services/AdministrationServiceImplTest.java?rev=1022813&r1=1022812&r2=1022813&view=diff
==============================================================================
--- archiva/trunk/archiva-modules/archiva-web/archiva-xmlrpc/archiva-xmlrpc-services/src/test/java/org/apache/archiva/web/xmlrpc/services/AdministrationServiceImplTest.java (original)
+++ archiva/trunk/archiva-modules/archiva-web/archiva-xmlrpc/archiva-xmlrpc-services/src/test/java/org/apache/archiva/web/xmlrpc/services/AdministrationServiceImplTest.java Fri Oct 15 02:58:49 2010
@@ -720,7 +720,6 @@ public class AdministrationServiceImplTe
                                                                                                   merge.getId() ),
                                                         sources );
         repositoryMerger.merge( staging.getId(), merge.getId() );
-        repositoryMergerControl.setMatcher( MockControl.ALWAYS_MATCHER );
         repositoryMergerControl.setVoidCallable();
         repositoryTaskSchedulerControl.expectAndReturn( repositoryTaskScheduler.isProcessingRepositoryTask( "merge" ),
                                                         false );



Re: svn commit: r1022813 - in /archiva/trunk/archiva-modules/archiva-web/archiva-xmlrpc/archiva-xmlrpc-services/src: main/java/org/apache/archiva/web/xmlrpc/services/ test/java/org/apache/archiva/web/xmlrpc/services/

Posted by Deng Ching <oc...@apache.org>.
Sorry, I was in a hurry when I fixed this bug. I'll update the said
code to use isDebugLogEnabled()  instead :)

Thanks,
Deng

On Wed, Oct 27, 2010 at 1:34 PM, Brett Porter <br...@apache.org> wrote:
>
> On 15/10/2010, at 1:58 PM, oching@apache.org wrote:
>
>> Modified: archiva/trunk/archiva-modules/archiva-web/archiva-xmlrpc/archiva-xmlrpc-services/src/main/java/org/apache/archiva/web/xmlrpc/services/AdministrationServiceImpl.java
>> URL: http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-web/archiva-xmlrpc/archiva-xmlrpc-services/src/main/java/org/apache/archiva/web/xmlrpc/services/AdministrationServiceImpl.java?rev=1022813&r1=1022812&r2=1022813&view=diff
>> ==============================================================================
>> --- archiva/trunk/archiva-modules/archiva-web/archiva-xmlrpc/archiva-xmlrpc-services/src/main/java/org/apache/archiva/web/xmlrpc/services/AdministrationServiceImpl.java (original)
>> +++ archiva/trunk/archiva-modules/archiva-web/archiva-xmlrpc/archiva-xmlrpc-services/src/main/java/org/apache/archiva/web/xmlrpc/services/AdministrationServiceImpl.java Fri Oct 15 02:58:49 2010
>> @@ -475,6 +475,8 @@ public class AdministrationServiceImpl
>>         Configuration config = archivaConfiguration.getConfiguration();
>>         repoConfig = config.findManagedRepositoryById( repoId );
>>
>> +        log.debug( "Retrieved repository configuration for repo '" + repoId + "'" );
>> +
>>         if ( repoConfig != null )
>>         {
>>             stagingConfig = config.findManagedRepositoryById( stagingId );
>> @@ -485,32 +487,62 @@ public class AdministrationServiceImpl
>>
>>                 if ( repoConfig.isReleases() && !repoConfig.isSnapshots() )
>>                 {
>> +                    log.info( "Repository to be merged contains releases only.." );
>>                     if ( skipConflicts )
>>                     {
>>                         List<ArtifactMetadata> conflicts =
>> -                            repositoryMerger.getConflictingArtifacts( stagingId, stagingId );
>> +                            repositoryMerger.getConflictingArtifacts( repoId, stagingId );
>> +
>> +                        log.debug( "Artifacts in conflict.." );
>> +                        for( ArtifactMetadata metadata : conflicts )
>> +                        {
>> +                            log.debug( metadata.getNamespace() + ":" + metadata.getProject() + ":" +
>> +                                metadata.getProjectVersion() );
>> +                        }
>
> you can wrap this in an isDebugLogEnabled() so it doesn't have to loop aimlessly when not debugging (same thing further down in the class).
>
> - Brett
>
> --
> Brett Porter
> brett@apache.org
> http://brettporter.wordpress.com/
>
>

Re: svn commit: r1022813 - in /archiva/trunk/archiva-modules/archiva-web/archiva-xmlrpc/archiva-xmlrpc-services/src: main/java/org/apache/archiva/web/xmlrpc/services/ test/java/org/apache/archiva/web/xmlrpc/services/

Posted by Brett Porter <br...@apache.org>.
On 15/10/2010, at 1:58 PM, oching@apache.org wrote:

> Modified: archiva/trunk/archiva-modules/archiva-web/archiva-xmlrpc/archiva-xmlrpc-services/src/main/java/org/apache/archiva/web/xmlrpc/services/AdministrationServiceImpl.java
> URL: http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-web/archiva-xmlrpc/archiva-xmlrpc-services/src/main/java/org/apache/archiva/web/xmlrpc/services/AdministrationServiceImpl.java?rev=1022813&r1=1022812&r2=1022813&view=diff
> ==============================================================================
> --- archiva/trunk/archiva-modules/archiva-web/archiva-xmlrpc/archiva-xmlrpc-services/src/main/java/org/apache/archiva/web/xmlrpc/services/AdministrationServiceImpl.java (original)
> +++ archiva/trunk/archiva-modules/archiva-web/archiva-xmlrpc/archiva-xmlrpc-services/src/main/java/org/apache/archiva/web/xmlrpc/services/AdministrationServiceImpl.java Fri Oct 15 02:58:49 2010
> @@ -475,6 +475,8 @@ public class AdministrationServiceImpl
>         Configuration config = archivaConfiguration.getConfiguration();
>         repoConfig = config.findManagedRepositoryById( repoId );
> 
> +        log.debug( "Retrieved repository configuration for repo '" + repoId + "'" );
> +
>         if ( repoConfig != null )
>         {
>             stagingConfig = config.findManagedRepositoryById( stagingId );
> @@ -485,32 +487,62 @@ public class AdministrationServiceImpl
> 
>                 if ( repoConfig.isReleases() && !repoConfig.isSnapshots() )
>                 {
> +                    log.info( "Repository to be merged contains releases only.." );
>                     if ( skipConflicts )
>                     {
>                         List<ArtifactMetadata> conflicts =
> -                            repositoryMerger.getConflictingArtifacts( stagingId, stagingId );
> +                            repositoryMerger.getConflictingArtifacts( repoId, stagingId );
> +
> +                        log.debug( "Artifacts in conflict.." );
> +                        for( ArtifactMetadata metadata : conflicts )
> +                        {
> +                            log.debug( metadata.getNamespace() + ":" + metadata.getProject() + ":" +
> +                                metadata.getProjectVersion() );
> +                        }

you can wrap this in an isDebugLogEnabled() so it doesn't have to loop aimlessly when not debugging (same thing further down in the class).

- Brett

--
Brett Porter
brett@apache.org
http://brettporter.wordpress.com/