]> source.dussan.org Git - archiva.git/commitdiff
[MRM-1212]/[MRM-1197] do not execute create-missing-checksum and metadata-updater...
authorMaria Odea B. Ching <oching@apache.org>
Tue, 28 Jul 2009 05:04:44 +0000 (05:04 +0000)
committerMaria Odea B. Ching <oching@apache.org>
Tue, 28 Jul 2009 05:04:44 +0000 (05:04 +0000)
git-svn-id: https://svn.apache.org/repos/asf/archiva/trunk@798403 13f79535-47bb-0310-9956-ffa450edef68

archiva-modules/archiva-base/archiva-proxy/src/main/java/org/apache/maven/archiva/proxy/DefaultRepositoryProxyConnectors.java
archiva-modules/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/scanner/RepositoryContentConsumers.java
archiva-modules/archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/scanner/RepositoryContentConsumersTest.java
archiva-modules/archiva-scheduled/src/main/java/org/apache/maven/archiva/scheduled/executors/ArchivaRepositoryScanningTaskExecutor.java
archiva-modules/archiva-scheduled/src/main/java/org/apache/maven/archiva/scheduled/tasks/RepositoryTask.java
archiva-modules/archiva-scheduled/src/main/java/org/apache/maven/archiva/scheduled/tasks/TaskCreator.java
archiva-modules/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/UploadAction.java
archiva-modules/archiva-web/archiva-webdav/src/main/java/org/apache/maven/archiva/webdav/ArchivaDavResource.java

index a594482086cd8b96289b0277eeb365ede922cf52..41fbafa6043dcde1cba2ada5df29e1475b893176 100644 (file)
@@ -585,7 +585,7 @@ public class DefaultRepositoryProxyConnectors
     
     private void queueRepositoryTask( String repositoryId, File localFile )
     {
-        RepositoryTask task = TaskCreator.createRepositoryTask( repositoryId, localFile.getName(), localFile );
+        RepositoryTask task = TaskCreator.createRepositoryTask( repositoryId, localFile.getName(), localFile, true );
         
         try
         {
index e8e4ee521942ee1c25a62296aebb019ec139e751..ec54b041edf2309dff668370593c3dec12d8ba40 100644 (file)
@@ -58,7 +58,7 @@ public class RepositoryContentConsumers
     private List<KnownRepositoryContentConsumer> selectedKnownConsumers;
 
     private List<InvalidRepositoryContentConsumer> selectedInvalidConsumers;
-
+    
     public RepositoryContentConsumers( ArchivaConfiguration archivaConfiguration )
     {
         this.archivaConfiguration = archivaConfiguration;      
@@ -229,8 +229,9 @@ public class RepositoryContentConsumers
      * 
      * @param repository the repository configuration to use.
      * @param localFile the local file to execute the consumers against.
+     * @param updateRelatedArtifacts TODO
      */
-    public void executeConsumers( ManagedRepositoryConfiguration repository, File localFile )
+    public void executeConsumers( ManagedRepositoryConfiguration repository, File localFile, boolean updateRelatedArtifacts )
     {
         // Run the repository consumers
         try
@@ -238,6 +239,24 @@ public class RepositoryContentConsumers
             Closure triggerBeginScan = new TriggerBeginScanClosure( repository, getStartTime() );
 
             List<KnownRepositoryContentConsumer> selectedKnownConsumers = getSelectedKnownConsumers();
+            
+            // MRM-1212/MRM-1197 
+            // - do not create missing/fix invalid checksums and update metadata when deploying from webdav since these are uploaded by maven          
+            if( updateRelatedArtifacts == false )
+            {  
+                List<KnownRepositoryContentConsumer> clone = new ArrayList<KnownRepositoryContentConsumer>();
+                clone.addAll( selectedKnownConsumers );
+                
+                for( KnownRepositoryContentConsumer consumer : clone )
+                {
+                    if( consumer.getId().equals( "create-missing-checksums" ) || 
+                                    consumer.getId().equals( "metadata-updater" ) )
+                    {
+                        selectedKnownConsumers.remove( consumer );
+                    }
+                }               
+            }
+            
             List<InvalidRepositoryContentConsumer> selectedInvalidConsumers = getSelectedInvalidConsumers();
             CollectionUtils.forAllDo( selectedKnownConsumers, triggerBeginScan );
             CollectionUtils.forAllDo( selectedInvalidConsumers, triggerBeginScan );
index 5906c764177593764108f40daa6f621d4c4f1a17..86c4b53701f03c62de0381118d8e327ed9f04b1e 100644 (file)
@@ -254,7 +254,7 @@ public class RepositoryContentConsumersTest
         //        invalidConsumer.completeScan();
         invalidControl.replay();
 
-        consumers.executeConsumers( repo, testFile );
+        consumers.executeConsumers( repo, testFile, true );
 
         knownControl.verify();
         invalidControl.verify();
@@ -279,7 +279,7 @@ public class RepositoryContentConsumersTest
         //        invalidConsumer.completeScan();
         invalidControl.replay();
 
-        consumers.executeConsumers( repo, notIncludedTestFile );
+        consumers.executeConsumers( repo, notIncludedTestFile, true );
 
         knownControl.verify();
         invalidControl.verify();
@@ -302,12 +302,12 @@ public class RepositoryContentConsumersTest
         //        invalidConsumer.completeScan();
         invalidControl.replay();
 
-        consumers.executeConsumers( repo, excludedTestFile );
+        consumers.executeConsumers( repo, excludedTestFile, true );
 
         knownControl.verify();
         invalidControl.verify();
     }
-
+    
     /**
      * Create an OS specific version of the filepath.
      * Provide path in unix "/" format.
index 98c3769303e8d9094e50c74bb8da419be52c0e34..99ef2fecead4db87f64551b5c99e767abaf4d479 100644 (file)
@@ -113,7 +113,7 @@ public class ArchivaRepositoryScanningTaskExecutor
         if( repoTask.getResourceFile() != null )
         {
             log.debug( "Executing task from queue with job name: " + repoTask.getName() );
-            consumers.executeConsumers( arepo, repoTask.getResourceFile() );
+            consumers.executeConsumers( arepo, repoTask.getResourceFile(), repoTask.isUpdateRelatedArtifacts() );
         }
         else
         {
index d18afcf61f6e3e2985c4599da36bc272899ed0a0..f20445135af529131e61d8f395816fca137a804a 100644 (file)
@@ -40,6 +40,8 @@ public class RepositoryTask
     
     File resourceFile;
     
+    boolean updateRelatedArtifacts;
+    
     public String getRepositoryId()
     {
         return repositoryId;
@@ -89,4 +91,14 @@ public class RepositoryTask
     {
         this.resourceFile = resourceFile;
     }
+
+    public boolean isUpdateRelatedArtifacts()
+    {
+        return updateRelatedArtifacts;
+    }
+
+    public void setUpdateRelatedArtifacts( boolean updateRelatedArtifacts )
+    {
+        this.updateRelatedArtifacts = updateRelatedArtifacts;
+    }
 }
index 1a769276193af7d6ace26290abaf5ffda555ffb8..60e4c8814f518789b9a7eaa962b9252a362c4436 100644 (file)
@@ -47,11 +47,13 @@ public class TaskCreator
         return task;
     }
         
-    public static RepositoryTask createRepositoryTask( String repositoryId, String taskNameSuffix, File resourceFile )
+    public static RepositoryTask createRepositoryTask( String repositoryId, String taskNameSuffix, File resourceFile,
+                                                       boolean updateRelatedArtifacts )
     {
         RepositoryTask task = createRepositoryTask( repositoryId, taskNameSuffix );
         task.setResourceFile( resourceFile );
-        
+        task.setUpdateRelatedArtifacts( updateRelatedArtifacts );
+
         return task;
     }
     
index 349f4eab99daa93c0afe699cf994e082cf69fa56..e64a46d0c5f24c20998f29c7a026bdda0a4d43ba 100644 (file)
@@ -617,7 +617,7 @@ public class UploadAction
 
     private void queueRepositoryTask( String repositoryId, File localFile )
     {
-        RepositoryTask task = TaskCreator.createRepositoryTask( repositoryId, localFile.getName(), localFile );
+        RepositoryTask task = TaskCreator.createRepositoryTask( repositoryId, localFile.getName(), localFile, true );
 
         try
         {
index e5a9daa5b266e52dae3a9f5786409dbece5789e1..524de1be63ae4458689a14e1e5712d476f0dcc1f 100644 (file)
@@ -322,7 +322,7 @@ public class ArchivaDavResource
             triggerAuditEvent( resource, AuditEvent.CREATE_DIR );
         }
         else
-        {
+        {            
             throw new DavException( HttpServletResponse.SC_BAD_REQUEST, "Could not write member " +
                 resource.getResourcePath() + " at " + getResourcePath() );
         }
@@ -632,8 +632,8 @@ public class ArchivaDavResource
     }
     
     private void queueRepositoryTask(  File localFile )
-    {
-        RepositoryTask task = TaskCreator.createRepositoryTask( repository.getId(), localFile.getName(), localFile );
+    {        
+        RepositoryTask task = TaskCreator.createRepositoryTask( repository.getId(), localFile.getName(), localFile, false );
         
         try
         {