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