Author: brett
Date: Wed Mar 10 14:55:59 2010
New Revision: 921376

URL: http://svn.apache.org/viewvc?rev=921376&view=rev
Log:
[MRM-1282] remove duplicated artifact population, ensuring the metadata 
consumer now sets facets correctly too

Added:
    
archiva/trunk/archiva-modules/metadata/metadata-repository-api/src/main/java/org/apache/archiva/metadata/repository/filter/IncludesFilter.java
      - copied, changed from r920650, 
archiva/trunk/archiva-modules/metadata/metadata-repository-api/src/main/java/org/apache/archiva/metadata/repository/filter/ExcludesFilter.java
Modified:
    
archiva/trunk/archiva-modules/archiva-base/archiva-consumers/archiva-metadata-consumer/src/main/java/org/apache/archiva/consumers/metadata/ArchivaMetadataCreationConsumer.java

Modified: 
archiva/trunk/archiva-modules/archiva-base/archiva-consumers/archiva-metadata-consumer/src/main/java/org/apache/archiva/consumers/metadata/ArchivaMetadataCreationConsumer.java
URL: 
http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-base/archiva-consumers/archiva-metadata-consumer/src/main/java/org/apache/archiva/consumers/metadata/ArchivaMetadataCreationConsumer.java?rev=921376&r1=921375&r2=921376&view=diff
==============================================================================
--- 
archiva/trunk/archiva-modules/archiva-base/archiva-consumers/archiva-metadata-consumer/src/main/java/org/apache/archiva/consumers/metadata/ArchivaMetadataCreationConsumer.java
 (original)
+++ 
archiva/trunk/archiva-modules/archiva-base/archiva-consumers/archiva-metadata-consumer/src/main/java/org/apache/archiva/consumers/metadata/ArchivaMetadataCreationConsumer.java
 Wed Mar 10 14:55:59 2010
@@ -19,13 +19,12 @@ package org.apache.archiva.consumers.met
  * under the License.
  */
 
-import org.apache.archiva.checksum.ChecksumAlgorithm;
-import org.apache.archiva.checksum.ChecksummedFile;
 import org.apache.archiva.metadata.model.ArtifactMetadata;
 import org.apache.archiva.metadata.model.ProjectMetadata;
 import org.apache.archiva.metadata.model.ProjectVersionMetadata;
 import org.apache.archiva.metadata.repository.MetadataRepository;
 import org.apache.archiva.metadata.repository.MetadataResolutionException;
+import org.apache.archiva.metadata.repository.filter.IncludesFilter;
 import org.apache.archiva.metadata.repository.storage.StorageMetadataResolver;
 import org.apache.maven.archiva.common.utils.VersionUtil;
 import org.apache.maven.archiva.configuration.ArchivaConfiguration;
@@ -46,8 +45,8 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 import java.io.File;
-import java.io.IOException;
 import java.util.ArrayList;
+import java.util.Arrays;
 import java.util.Date;
 import java.util.List;
 
@@ -185,35 +184,15 @@ public class ArchivaMetadataCreationCons
             createVersionMetadata = true;
         }
 
-        // TODO: merge with storage implementation, add Maven facet        
-        ArtifactMetadata artifactMeta = new ArtifactMetadata();
-        artifactMeta.setRepositoryId( repository.getId() );
-        artifactMeta.setNamespace( artifact.getGroupId() );
-        artifactMeta.setProject( artifact.getArtifactId() );
-        artifactMeta.setId( file.getName() );
-        artifactMeta.setFileLastModified( file.lastModified() );
-        artifactMeta.setSize( file.length() );
+        // A bit weird to reconstruct the file we already have, but don't want 
to expose getArtifactFromFile in the
+        // storage API
+        IncludesFilter<String> filter = new IncludesFilter<String>( 
Arrays.asList( file.getName() ) );
+        ArtifactMetadata artifactMeta = storageResolver.getArtifacts( 
repository.getId(), artifact.getGroupId(),
+                                                                      
artifact.getArtifactId(), projectVersion,
+                                                                      filter 
).iterator().next();
         artifactMeta.setVersion( artifact.getVersion() );
         artifactMeta.setWhenGathered( whenGathered );
 
-        ChecksummedFile checksummedFile = new ChecksummedFile( file );
-        try
-        {
-            artifactMeta.setMd5( checksummedFile.calculateChecksum( 
ChecksumAlgorithm.MD5 ) );
-        }
-        catch ( IOException e )
-        {
-            log.error( "Error attempting to get MD5 checksum for " + file + ": 
" + e.getMessage() );
-        }
-        try
-        {
-            artifactMeta.setSha1( checksummedFile.calculateChecksum( 
ChecksumAlgorithm.SHA1 ) );
-        }
-        catch ( IOException e )
-        {
-            log.error( "Error attempting to get SHA-1 checksum for " + file + 
": " + e.getMessage() );
-        }
-
         // TODO: transaction
         // read the metadata and update it if it is newer or doesn't exist
         metadataRepository.updateArtifact( repository.getId(), 
project.getNamespace(), project.getId(), projectVersion,

Copied: 
archiva/trunk/archiva-modules/metadata/metadata-repository-api/src/main/java/org/apache/archiva/metadata/repository/filter/IncludesFilter.java
 (from r920650, 
archiva/trunk/archiva-modules/metadata/metadata-repository-api/src/main/java/org/apache/archiva/metadata/repository/filter/ExcludesFilter.java)
URL: 
http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/metadata/metadata-repository-api/src/main/java/org/apache/archiva/metadata/repository/filter/IncludesFilter.java?p2=archiva/trunk/archiva-modules/metadata/metadata-repository-api/src/main/java/org/apache/archiva/metadata/repository/filter/IncludesFilter.java&p1=archiva/trunk/archiva-modules/metadata/metadata-repository-api/src/main/java/org/apache/archiva/metadata/repository/filter/ExcludesFilter.java&r1=920650&r2=921376&rev=921376&view=diff
==============================================================================
--- 
archiva/trunk/archiva-modules/metadata/metadata-repository-api/src/main/java/org/apache/archiva/metadata/repository/filter/ExcludesFilter.java
 (original)
+++ 
archiva/trunk/archiva-modules/metadata/metadata-repository-api/src/main/java/org/apache/archiva/metadata/repository/filter/IncludesFilter.java
 Wed Mar 10 14:55:59 2010
@@ -21,18 +21,18 @@ package org.apache.archiva.metadata.repo
 
 import java.util.Collection;
 
-public class ExcludesFilter<T>
+public class IncludesFilter<T>
     implements Filter<T>
 {
-    private Collection<T> excludes;
+    private Collection<T> includes;
 
-    public ExcludesFilter( Collection<T> excludes )
+    public IncludesFilter( Collection<T> includes )
     {
-        this.excludes = excludes;
+        this.includes = includes;
     }
 
     public boolean accept( T value )
     {
-        return !excludes.contains( value );
+        return includes.contains( value );
     }
-}
+}
\ No newline at end of file


Reply via email to