Author: brett
Date: Wed Nov 25 15:18:54 2009
New Revision: 884134

URL: http://svn.apache.org/viewvc?rev=884134&view=rev
Log:
[MRM-1282] fix some problems with the metadata repository

Modified:
    
archiva/branches/MRM-1025/archiva-modules/metadata/metadata-model/src/main/java/org/apache/archiva/metadata/model/ProjectVersionMetadata.java
    
archiva/branches/MRM-1025/archiva-modules/metadata/metadata-repository-api/src/main/java/org/apache/archiva/metadata/repository/DefaultMetadataResolver.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/ProjectVersionMetadata.java
URL: 
http://svn.apache.org/viewvc/archiva/branches/MRM-1025/archiva-modules/metadata/metadata-model/src/main/java/org/apache/archiva/metadata/model/ProjectVersionMetadata.java?rev=884134&r1=884133&r2=884134&view=diff
==============================================================================
--- 
archiva/branches/MRM-1025/archiva-modules/metadata/metadata-model/src/main/java/org/apache/archiva/metadata/model/ProjectVersionMetadata.java
 (original)
+++ 
archiva/branches/MRM-1025/archiva-modules/metadata/metadata-model/src/main/java/org/apache/archiva/metadata/model/ProjectVersionMetadata.java
 Wed Nov 25 15:18:54 2009
@@ -156,6 +156,6 @@
 
     public ProjectVersionFacet getFacet( String facetId )
     {
-        return this.facets.get( facetId );
+        return this.facets != null ? this.facets.get( facetId ) : null;
     }
 }

Modified: 
archiva/branches/MRM-1025/archiva-modules/metadata/metadata-repository-api/src/main/java/org/apache/archiva/metadata/repository/DefaultMetadataResolver.java
URL: 
http://svn.apache.org/viewvc/archiva/branches/MRM-1025/archiva-modules/metadata/metadata-repository-api/src/main/java/org/apache/archiva/metadata/repository/DefaultMetadataResolver.java?rev=884134&r1=884133&r2=884134&view=diff
==============================================================================
--- 
archiva/branches/MRM-1025/archiva-modules/metadata/metadata-repository-api/src/main/java/org/apache/archiva/metadata/repository/DefaultMetadataResolver.java
 (original)
+++ 
archiva/branches/MRM-1025/archiva-modules/metadata/metadata-repository-api/src/main/java/org/apache/archiva/metadata/repository/DefaultMetadataResolver.java
 Wed Nov 25 15:18:54 2009
@@ -37,7 +37,8 @@
 
     /**
      * FIXME: this needs to be configurable based on storage type, and 
availability of proxy module
-     *        ... could be a different type since we need methods to modify 
the storage metadata
+     * ... could be a different type since we need methods to modify the 
storage metadata
+     *
      * @plexus.requirement role-hint="maven2"
      */
     private MetadataResolver storageResolver;
@@ -48,21 +49,27 @@
         return metadataRepository.getProject( repoId, namespace, projectId );
     }
 
-    public ProjectVersionMetadata getProjectVersion( String repoId, String 
namespace, String projectId, String projectVersion )
+    public ProjectVersionMetadata getProjectVersion( String repoId, String 
namespace, String projectId,
+                                                     String projectVersion )
         throws MetadataResolverException
     {
-        ProjectVersionMetadata metadata = 
metadataRepository.getProjectVersion( repoId, namespace, projectId, 
projectVersion );
+        ProjectVersionMetadata metadata =
+            metadataRepository.getProjectVersion( repoId, namespace, 
projectId, projectVersion );
         // TODO: do we want to detect changes as well by comparing timestamps? 
isProjectVersionNewerThan(updated)
         //       in such cases we might also remove/update stale metadata, 
including adjusting plugin-based facets
         if ( metadata == null )
         {
             metadata = storageResolver.getProjectVersion( repoId, namespace, 
projectId, projectVersion );
-            metadataRepository.updateProjectVersion( repoId, namespace, 
projectId, metadata );
+            if ( metadata != null )
+            {
+                metadataRepository.updateProjectVersion( repoId, namespace, 
projectId, metadata );
+            }
         }
         return metadata;
     }
 
-    public Collection<String> getArtifactVersions( String repoId, String 
namespace, String projectId, String projectVersion )
+    public Collection<String> getArtifactVersions( String repoId, String 
namespace, String projectId,
+                                                   String projectVersion )
     {
         // TODO: intercept
         return metadataRepository.getArtifactVersions( repoId, namespace, 
projectId, projectVersion );

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=884134&r1=884133&r2=884134&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
 Wed Nov 25 15:18:54 2009
@@ -134,9 +134,9 @@
         return properties;
     }
 
-    public ProjectMetadata getProject( String repoId, String groupId, String 
projectId )
+    public ProjectMetadata getProject( String repoId, String namespace, String 
projectId )
     {
-        File directory = new File( this.directory, repoId + "/" + projectId );
+        File directory = new File( this.directory, repoId + "/" + namespace + 
"/" + projectId );
 
         Properties properties = readProperties( directory );
 
@@ -146,22 +146,26 @@
         return project;
     }
 
-    public ProjectVersionMetadata getProjectVersion( String repoId, String 
groupId, String projectId,
+    public ProjectVersionMetadata getProjectVersion( String repoId, String 
namespace, String projectId,
                                                      String projectVersion )
     {
-        File directory = new File( this.directory, repoId + "/" + projectId + 
"/" + projectVersion );
+        File directory = new File( this.directory, repoId + "/" + namespace + 
"/" + projectId + "/" + projectVersion );
 
         Properties properties = readProperties( directory );
-
-        ProjectVersionMetadata versionMetadata = new ProjectVersionMetadata();
-        versionMetadata.setId( properties.getProperty( "id" ) );
+        String id = properties.getProperty( "id" );
+        ProjectVersionMetadata versionMetadata = null;
+        if ( id != null )
+        {
+            versionMetadata = new ProjectVersionMetadata();
+            versionMetadata.setId( id );
+        }
         return versionMetadata;
     }
 
     public Collection<String> getArtifactVersions( String repoId, String 
namespace, String projectId,
                                                    String projectVersion )
     {
-        File directory = new File( this.directory, repoId + "/" + projectId + 
"/" + projectVersion );
+        File directory = new File( this.directory, repoId + "/" + namespace + 
"/" + projectId + "/" + projectVersion );
 
         Properties properties = readProperties( directory );
 


Reply via email to