Author: brett
Date: Mon Dec  1 16:37:27 2008
New Revision: 722312

URL: http://svn.apache.org/viewvc?rev=722312&view=rev
Log:
[MRM-1025] write more information out

Modified:
    
archiva/branches/MRM-1025/archiva-modules/metadata/metadata-model/src/main/java/org/apache/archiva/metadata/model/ProjectBuildMetadata.java
    
archiva/branches/MRM-1025/archiva-modules/metadata/metadata-model/src/main/java/org/apache/archiva/metadata/model/ProjectMetadata.java
    
archiva/branches/MRM-1025/archiva-modules/plugins/metadata-repository-file/src/main/java/org/apache/archiva/metadata/repository/file/FileMetadataRepository.java

Modified: 
archiva/branches/MRM-1025/archiva-modules/metadata/metadata-model/src/main/java/org/apache/archiva/metadata/model/ProjectBuildMetadata.java
URL: 
http://svn.apache.org/viewvc/archiva/branches/MRM-1025/archiva-modules/metadata/metadata-model/src/main/java/org/apache/archiva/metadata/model/ProjectBuildMetadata.java?rev=722312&r1=722311&r2=722312&view=diff
==============================================================================
--- 
archiva/branches/MRM-1025/archiva-modules/metadata/metadata-model/src/main/java/org/apache/archiva/metadata/model/ProjectBuildMetadata.java
 (original)
+++ 
archiva/branches/MRM-1025/archiva-modules/metadata/metadata-model/src/main/java/org/apache/archiva/metadata/model/ProjectBuildMetadata.java
 Mon Dec  1 16:37:27 2008
@@ -1,5 +1,6 @@
 package org.apache.archiva.metadata.model;
 
+import java.util.Collection;
 import java.util.LinkedHashMap;
 import java.util.Map;
 
@@ -42,4 +43,9 @@
     {
         this.artifacts.put( artifact.getId(), artifact );
     }
+
+    public Collection<ArtifactMetadata> getArtifacts()
+    {
+        return artifacts.values();
+    }
 }

Modified: 
archiva/branches/MRM-1025/archiva-modules/metadata/metadata-model/src/main/java/org/apache/archiva/metadata/model/ProjectMetadata.java
URL: 
http://svn.apache.org/viewvc/archiva/branches/MRM-1025/archiva-modules/metadata/metadata-model/src/main/java/org/apache/archiva/metadata/model/ProjectMetadata.java?rev=722312&r1=722311&r2=722312&view=diff
==============================================================================
--- 
archiva/branches/MRM-1025/archiva-modules/metadata/metadata-model/src/main/java/org/apache/archiva/metadata/model/ProjectMetadata.java
 (original)
+++ 
archiva/branches/MRM-1025/archiva-modules/metadata/metadata-model/src/main/java/org/apache/archiva/metadata/model/ProjectMetadata.java
 Mon Dec  1 16:37:27 2008
@@ -1,5 +1,6 @@
 package org.apache.archiva.metadata.model;
 
+import java.util.Collection;
 import java.util.LinkedHashMap;
 import java.util.Map;
 
@@ -42,4 +43,9 @@
     {
         this.builds.put( build.getId(), build );
     }
+
+    public Collection<ProjectBuildMetadata> getBuilds()
+    {
+        return builds.values();
+    }
 }

Modified: 
archiva/branches/MRM-1025/archiva-modules/plugins/metadata-repository-file/src/main/java/org/apache/archiva/metadata/repository/file/FileMetadataRepository.java
URL: 
http://svn.apache.org/viewvc/archiva/branches/MRM-1025/archiva-modules/plugins/metadata-repository-file/src/main/java/org/apache/archiva/metadata/repository/file/FileMetadataRepository.java?rev=722312&r1=722311&r2=722312&view=diff
==============================================================================
--- 
archiva/branches/MRM-1025/archiva-modules/plugins/metadata-repository-file/src/main/java/org/apache/archiva/metadata/repository/file/FileMetadataRepository.java
 (original)
+++ 
archiva/branches/MRM-1025/archiva-modules/plugins/metadata-repository-file/src/main/java/org/apache/archiva/metadata/repository/file/FileMetadataRepository.java
 Mon Dec  1 16:37:27 2008
@@ -25,6 +25,8 @@
 import java.io.IOException;
 import java.util.Properties;
 
+import org.apache.archiva.metadata.model.ArtifactMetadata;
+import org.apache.archiva.metadata.model.ProjectBuildMetadata;
 import org.apache.archiva.metadata.model.ProjectMetadata;
 import org.apache.archiva.metadata.repository.MetadataRepository;
 import org.apache.commons.io.IOUtils;
@@ -32,8 +34,8 @@
 public class FileMetadataRepository
     implements MetadataRepository
 {
-    private File directory; 
-    
+    private File directory;
+
     public FileMetadataRepository( File directory )
     {
         this.directory = directory;
@@ -41,9 +43,16 @@
 
     public void update( ProjectMetadata project )
     {
+        // TODO: this is a more braindead implementation than we would 
normally expect, for prototyping purposes
         try
         {
-            store( project );
+            File projectDirectory = new File( this.directory, project.getId() 
);
+            store( project, projectDirectory );
+
+            for ( ProjectBuildMetadata build : project.getBuilds() )
+            {
+                store( build, projectDirectory );
+            }
         }
         catch ( IOException e )
         {
@@ -52,14 +61,33 @@
         }
     }
 
-    private void store( ProjectMetadata project )
+    private void store( ProjectBuildMetadata build, File directory )
         throws FileNotFoundException, IOException
     {
-        // TODO: this is a more braindead implementation than we would 
normally expect, for prototyping purposes
+        Properties properties = new Properties();
+        properties.setProperty( "id", build.getId() );
         
+        for ( ArtifactMetadata artifact : build.getArtifacts() )
+        {
+            properties.setProperty( artifact.getId() + ".updated", 
Long.toString( artifact.getUpdated().getTime() ) );
+            properties.setProperty( artifact.getId() + ".size", Long.toString( 
artifact.getSize() ) );
+        }
+        
+        writeProperties( properties, new File( directory, build.getId() ) );
+    }
+
+    private void store( ProjectMetadata project, File directory )
+        throws FileNotFoundException, IOException
+    {
+
         Properties properties = new Properties();
-        properties.put( "id", project.getId() );
-        File directory = new File( this.directory, project.getId() );
+        properties.setProperty( "id", project.getId() );
+        writeProperties( properties, directory );
+    }
+
+    private void writeProperties( Properties properties, File directory )
+        throws FileNotFoundException, IOException
+    {
         directory.mkdirs();
         FileOutputStream os = new FileOutputStream( new File( directory, 
"metadata.xml" ) );
         try


Reply via email to