Author: olamy
Date: Mon Oct 22 14:51:12 2012
New Revision: 1400904

URL: http://svn.apache.org/viewvc?rev=1400904&view=rev
Log:
[MRM-1703] Cannot delete project add unit test for metadata repository.

Modified:
    
archiva/trunk/archiva-modules/metadata/metadata-repository-api/src/test/java/org/apache/archiva/metadata/repository/AbstractMetadataRepositoryTest.java
    
archiva/trunk/archiva-modules/plugins/metadata-store-file/src/main/java/org/apache/archiva/metadata/repository/file/FileMetadataRepository.java

Modified: 
archiva/trunk/archiva-modules/metadata/metadata-repository-api/src/test/java/org/apache/archiva/metadata/repository/AbstractMetadataRepositoryTest.java
URL: 
http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/metadata/metadata-repository-api/src/test/java/org/apache/archiva/metadata/repository/AbstractMetadataRepositoryTest.java?rev=1400904&r1=1400903&r2=1400904&view=diff
==============================================================================
--- 
archiva/trunk/archiva-modules/metadata/metadata-repository-api/src/test/java/org/apache/archiva/metadata/repository/AbstractMetadataRepositoryTest.java
 (original)
+++ 
archiva/trunk/archiva-modules/metadata/metadata-repository-api/src/test/java/org/apache/archiva/metadata/repository/AbstractMetadataRepositoryTest.java
 Mon Oct 22 14:51:12 2012
@@ -1170,6 +1170,25 @@ public abstract class AbstractMetadataRe
     }
 
     @Test
+    public void deleteProject()
+        throws Exception
+    {
+        ArtifactMetadata artifact = createArtifact();
+        artifact.addFacet( new TestMetadataFacet( "value" ) );
+
+        repository.updateArtifact( TEST_REPO_ID, TEST_NAMESPACE, TEST_PROJECT, 
TEST_PROJECT_VERSION, artifact );
+
+        repository.updateArtifact( TEST_REPO_ID, TEST_NAMESPACE, TEST_PROJECT, 
TEST_PROJECT_VERSION, artifact );
+
+        assertEquals( 1, repository.getProjectVersions( TEST_REPO_ID, 
TEST_NAMESPACE, TEST_PROJECT ).size() );
+
+        repository.removeProject( TEST_REPO_ID, TEST_NAMESPACE, TEST_PROJECT );
+
+        assertEquals( 0, repository.getProjectVersions( TEST_REPO_ID, 
TEST_NAMESPACE, TEST_PROJECT ).size() );
+    }
+
+
+    @Test
     public void deleteSnapshotVersion()
         throws Exception
     {

Modified: 
archiva/trunk/archiva-modules/plugins/metadata-store-file/src/main/java/org/apache/archiva/metadata/repository/file/FileMetadataRepository.java
URL: 
http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/plugins/metadata-store-file/src/main/java/org/apache/archiva/metadata/repository/file/FileMetadataRepository.java?rev=1400904&r1=1400903&r2=1400904&view=diff
==============================================================================
--- 
archiva/trunk/archiva-modules/plugins/metadata-store-file/src/main/java/org/apache/archiva/metadata/repository/file/FileMetadataRepository.java
 (original)
+++ 
archiva/trunk/archiva-modules/plugins/metadata-store-file/src/main/java/org/apache/archiva/metadata/repository/file/FileMetadataRepository.java
 Mon Oct 22 14:51:12 2012
@@ -1165,7 +1165,18 @@ public class FileMetadataRepository
     public void removeProject( String repositoryId, String namespace, String 
projectId )
         throws MetadataRepositoryException
     {
-        // TODO
+        File directory = new File( getDirectory( repositoryId ), namespace + 
"/" + projectId );
+        try
+        {
+            if ( directory.exists() )
+            {
+                FileUtils.deleteDirectory( directory );
+            }
+        }
+        catch ( IOException e )
+        {
+            throw new MetadataRepositoryException( e.getMessage(), e );
+        }
     }
 
     public void removeProjectVersion( String repoId, String namespace, String 
projectId, String projectVersion )


Reply via email to