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 2011/03/16 15:53:41 UTC

svn commit: r1082160 - in /archiva/trunk/archiva-modules: archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/content/ archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/admin/repositories/ ...

Author: oching
Date: Wed Mar 16 14:53:40 2011
New Revision: 1082160

URL: http://svn.apache.org/viewvc?rev=1082160&view=rev
Log:
[MRM-1461]
submitted by Maria Catherine Tan
o continue deleting contents of the repo even if it encountered a file that it couldn't delete then throw an IOException at the end

Modified:
    archiva/trunk/archiva-modules/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/content/ManagedDefaultRepositoryContent.java
    archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/admin/repositories/AbstractManagedRepositoriesAction.java
    archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/test/java/org/apache/maven/archiva/web/action/admin/repositories/EditManagedRepositoryActionTest.java
    archiva/trunk/archiva-modules/archiva-web/archiva-webdav/src/main/java/org/apache/maven/archiva/webdav/ArchivaDavResource.java
    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/plugins/metadata-repository-file/src/main/java/org/apache/archiva/metadata/repository/file/FileMetadataRepository.java

Modified: archiva/trunk/archiva-modules/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/content/ManagedDefaultRepositoryContent.java
URL: http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/content/ManagedDefaultRepositoryContent.java?rev=1082160&r1=1082159&r2=1082160&view=diff
==============================================================================
--- archiva/trunk/archiva-modules/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/content/ManagedDefaultRepositoryContent.java (original)
+++ archiva/trunk/archiva-modules/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/content/ManagedDefaultRepositoryContent.java Wed Mar 16 14:53:40 2011
@@ -74,14 +74,7 @@ public class ManagedDefaultRepositoryCon
         File projectDir = projectPath.getParentFile();
         if( projectDir.exists() && projectDir.isDirectory() )
         {
-            try
-            {
-                FileUtils.deleteDirectory( projectDir );
-            }
-            catch ( IOException e )
-            {
-                // TODO: log this somewhere?
-            }
+            FileUtils.deleteQuietly( projectDir );
         }
         else
         {

Modified: archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/admin/repositories/AbstractManagedRepositoriesAction.java
URL: http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/admin/repositories/AbstractManagedRepositoriesAction.java?rev=1082160&r1=1082159&r2=1082160&view=diff
==============================================================================
--- archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/admin/repositories/AbstractManagedRepositoriesAction.java (original)
+++ archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/admin/repositories/AbstractManagedRepositoriesAction.java Wed Mar 16 14:53:40 2011
@@ -96,7 +96,11 @@ public abstract class AbstractManagedRep
     protected void removeContents( ManagedRepositoryConfiguration existingRepository )
         throws IOException
     {
-        FileUtils.deleteDirectory( new File( existingRepository.getLocation() ) );
+        File dir = new File( existingRepository.getLocation() );
+        if ( !FileUtils.deleteQuietly( dir ) )
+        {
+            throw new IOException( "Cannot delete repository " + dir );
+        }
     }
 
     protected void removeRepository( String repoId, Configuration configuration )

Modified: archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/test/java/org/apache/maven/archiva/web/action/admin/repositories/EditManagedRepositoryActionTest.java
URL: http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/test/java/org/apache/maven/archiva/web/action/admin/repositories/EditManagedRepositoryActionTest.java?rev=1082160&r1=1082159&r2=1082160&view=diff
==============================================================================
--- archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/test/java/org/apache/maven/archiva/web/action/admin/repositories/EditManagedRepositoryActionTest.java (original)
+++ archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/test/java/org/apache/maven/archiva/web/action/admin/repositories/EditManagedRepositoryActionTest.java Wed Mar 16 14:53:40 2011
@@ -181,6 +181,8 @@ public class EditManagedRepositoryAction
         // no deletion
         repositoryStatisticsManagerControl.replay();
 
+        new File( "target/test/" + REPO_ID + "-stage" ).mkdirs();
+
         String status = action.commit();
         assertEquals( Action.SUCCESS, status );
 
@@ -237,6 +239,8 @@ public class EditManagedRepositoryAction
         repositoryStatisticsManager.deleteStatistics( metadataRepository, REPO_ID );
         repositoryStatisticsManagerControl.replay();
 
+        new File( "target/test/location/" + REPO_ID + "-stage" ).mkdirs();
+
         action.setRepoid( REPO_ID );
         action.prepare();
         assertEquals( REPO_ID, action.getRepoid() );

Modified: archiva/trunk/archiva-modules/archiva-web/archiva-webdav/src/main/java/org/apache/maven/archiva/webdav/ArchivaDavResource.java
URL: http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-web/archiva-webdav/src/main/java/org/apache/maven/archiva/webdav/ArchivaDavResource.java?rev=1082160&r1=1082159&r2=1082160&view=diff
==============================================================================
--- archiva/trunk/archiva-modules/archiva-web/archiva-webdav/src/main/java/org/apache/maven/archiva/webdav/ArchivaDavResource.java (original)
+++ archiva/trunk/archiva-modules/archiva-web/archiva-webdav/src/main/java/org/apache/maven/archiva/webdav/ArchivaDavResource.java Wed Mar 16 14:53:40 2011
@@ -384,7 +384,10 @@ public class ArchivaDavResource
             {
                 if ( resource.isDirectory() )
                 {
-                    FileUtils.deleteDirectory( resource );
+                    if ( !FileUtils.deleteQuietly( resource ) )
+                    {
+                        throw new IOException( "Could not remove directory" );
+                    }
 
                     triggerAuditEvent( member, AuditEvent.REMOVE_DIR );
                 }

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=1082160&r1=1082159&r2=1082160&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 Wed Mar 16 14:53:40 2011
@@ -440,7 +440,11 @@ public class AdministrationServiceImpl
             throw new Exception( "Error saving configuration for delete action" + e.getMessage() );
         }
 
-        FileUtils.deleteDirectory( new File( repository.getLocation() ) );
+        File dir = new File( repository.getLocation() );
+        if ( !FileUtils.deleteQuietly( dir ) )
+        {
+            throw new IOException( "Cannot delete repository " + dir );
+        }
 
         List<ProxyConnectorConfiguration> proxyConnectors = config.getProxyConnectors();
         for ( ProxyConnectorConfiguration proxyConnector : proxyConnectors )
@@ -499,7 +503,12 @@ public class AdministrationServiceImpl
         {
             for ( File child : children )
             {
-                FileUtils.deleteDirectory( child );
+                FileUtils.deleteQuietly( child );
+            }
+
+            if ( repoDir.listFiles().length > 0 )
+            {
+                throw new IOException( "Cannot delete repository contents of " + repoDir );
             }
         }
 

Modified: archiva/trunk/archiva-modules/plugins/metadata-repository-file/src/main/java/org/apache/archiva/metadata/repository/file/FileMetadataRepository.java
URL: http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/plugins/metadata-repository-file/src/main/java/org/apache/archiva/metadata/repository/file/FileMetadataRepository.java?rev=1082160&r1=1082159&r2=1082160&view=diff
==============================================================================
--- archiva/trunk/archiva-modules/plugins/metadata-repository-file/src/main/java/org/apache/archiva/metadata/repository/file/FileMetadataRepository.java (original)
+++ archiva/trunk/archiva-modules/plugins/metadata-repository-file/src/main/java/org/apache/archiva/metadata/repository/file/FileMetadataRepository.java Wed Mar 16 14:53:40 2011
@@ -371,28 +371,19 @@ public class FileMetadataRepository
 
     public void removeMetadataFacets( String repositoryId, String facetId )
     {
-        try
+        File dir = getMetadataDirectory( repositoryId, facetId );
+        if ( !FileUtils.deleteQuietly( dir ) )
         {
-            FileUtils.deleteDirectory( getMetadataDirectory( repositoryId, facetId ) );
-        }
-        catch ( IOException e )
-        {
-            // TODO!
-            e.printStackTrace();  //To change body of catch statement use File | Settings | File Templates.
+            log.error( "Cannot delete the metadata repository {}", dir );
         }
     }
 
     public void removeMetadataFacet( String repoId, String facetId, String name )
     {
         File dir = new File( getMetadataDirectory( repoId, facetId ), name );
-        try
+        if ( !FileUtils.deleteQuietly( dir ) )
         {
-            FileUtils.deleteDirectory( dir );
-        }
-        catch ( IOException e )
-        {
-            // TODO
-            e.printStackTrace();  //To change body of catch statement use File | Settings | File Templates.
+            log.error( "Cannot delete the metadata repository {}", dir );
         }
     }
 
@@ -629,14 +620,10 @@ public class FileMetadataRepository
 
     public void removeRepository( String repoId )
     {
-        try
-        {
-            FileUtils.deleteDirectory( getDirectory( repoId ) );
-        }
-        catch ( IOException e )
+        File dir = getDirectory( repoId );
+        if ( !FileUtils.deleteQuietly( dir ) )
         {
-            // TODO
-            e.printStackTrace();  //To change body of catch statement use File | Settings | File Templates.
+            log.error( "Cannot delete repository {}", dir );
         }
     }