You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@archiva.apache.org by ol...@apache.org on 2012/06/26 19:25:09 UTC

svn commit: r1354120 - /archiva/trunk/archiva-modules/plugins/metadata-store-file/src/main/java/org/apache/archiva/metadata/repository/file/FileMetadataRepository.java

Author: olamy
Date: Tue Jun 26 17:25:08 2012
New Revision: 1354120

URL: http://svn.apache.org/viewvc?rev=1354120&view=rev
Log:
implements the method with metadata-store-file

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

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=1354120&r1=1354119&r2=1354120&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 Tue Jun 26 17:25:08 2012
@@ -600,8 +600,43 @@ public class FileMetadataRepository
     public void removeArtifact( ArtifactMetadata artifactMetadata, String baseVersion )
         throws MetadataRepositoryException
     {
-        // FIXME implement this
-        throw new UnsupportedOperationException();
+
+        File directory = new File( getDirectory( artifactMetadata.getRepositoryId() ),
+                                   artifactMetadata.getNamespace() + "/" + artifactMetadata.getProject() + "/"
+                                       + baseVersion );
+
+        Properties properties = readOrCreateProperties( directory, PROJECT_VERSION_METADATA_KEY );
+
+        String id = artifactMetadata.getId();
+
+        properties.remove( "artifact:updated:" + id );
+        properties.remove( "artifact:whenGathered:" + id );
+        properties.remove( "artifact:size:" + id );
+        properties.remove( "artifact:md5:" + id );
+        properties.remove( "artifact:sha1:" + id );
+        properties.remove( "artifact:version:" + id );
+        properties.remove( "artifact:facetIds:" + id );
+
+        String prefix = "artifact:facet:" + id + ":";
+        for ( Object key : new ArrayList<Object>( properties.keySet() ) )
+        {
+            String property = (String) key;
+            if ( property.startsWith( prefix ) )
+            {
+                properties.remove( property );
+            }
+        }
+
+        try
+        {
+            writeProperties( properties, directory, PROJECT_VERSION_METADATA_KEY );
+        }
+        catch ( IOException e )
+        {
+            // TODO
+            log.error( e.getMessage(), e );
+        }
+
     }
 
     public void removeArtifact( String repoId, String namespace, String project, String version, String id )
@@ -645,6 +680,7 @@ public class FileMetadataRepository
 
     /**
      * FIXME implements this !!!!
+     *
      * @param repositoryId
      * @param namespace
      * @param project
@@ -654,10 +690,10 @@ public class FileMetadataRepository
      * @throws MetadataRepositoryException
      */
     public void removeArtifact( String repositoryId, String namespace, String project, String projectVersion,
-                                 MetadataFacet metadataFacet )
+                                MetadataFacet metadataFacet )
         throws MetadataRepositoryException
     {
-        throw new UnsupportedOperationException("not implemented");
+        throw new UnsupportedOperationException( "not implemented" );
     }
 
     public void removeRepository( String repoId )