]> source.dussan.org Git - archiva.git/commitdiff
MRM-907 - Remove VersionedReference/ProjectReference/ArtifactReference from Repositor...
authorJames William Dumay <jdumay@apache.org>
Thu, 14 Aug 2008 02:17:16 +0000 (02:17 +0000)
committerJames William Dumay <jdumay@apache.org>
Thu, 14 Aug 2008 02:17:16 +0000 (02:17 +0000)
* A few more null checks for good measure.
* Metadata should always be updated even if the file does not exist. (wsmoak will love this, no more having to touch files).

git-svn-id: https://svn.apache.org/repos/asf/archiva/trunk@685748 13f79535-47bb-0310-9956-ffa450edef68

archiva-modules/archiva-base/archiva-proxy/src/main/java/org/apache/maven/archiva/proxy/DefaultRepositoryProxyConnectors.java
archiva-modules/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/metadata/MetadataTools.java

index 000c8c6c80e926aafbd84bbe90704caf6c7dc97f..2c5da3ebfb73c7dc91667fea9a5c888fda6e3759 100644 (file)
@@ -320,7 +320,7 @@ public class DefaultRepositoryProxyConnectors
                 metadataNeedsUpdating = true;
             }
 
-            if ( metadataNeedsUpdating )
+            if ( metadataNeedsUpdating || !localFile.exists())
             {
                 try
                 {
index ce29b991d11e1b9b0888aa13c5aca318eb795f21..06e387416f6b36fc354937922a82563d382b0789 100644 (file)
@@ -439,7 +439,18 @@ public class MetadataTools
             metadata = RepositoryMetadataMerge.merge(metadata, proxiedMetadata);
         }
         
-        Set<String> availableVersions = new HashSet<String>(metadata.getAvailableVersions());
+        if (metadata == null)
+        {
+            log.debug("No metadata to update for " + logicalResource);
+            return;
+        }
+        
+        Set<String> availableVersions = new HashSet<String>();
+        List<String> metadataAvailableVersions = metadata.getAvailableVersions();
+        if (metadataAvailableVersions != null)
+        {
+            availableVersions.addAll(metadataAvailableVersions);
+        }
         availableVersions = findPossibleVersions(availableVersions, metadataFile.getParentFile());
 
         if (availableVersions.size() > 0)
@@ -500,12 +511,16 @@ public class MetadataTools
             }
         }
         
-        for (String proxyId : proxies.get(managedRepository.getId()))
+        Set<String> proxyIds = proxies.get(managedRepository.getId());
+        if (proxyIds != null)
         {
-            ArchivaRepositoryMetadata proxyMetadata = readProxyMetadata( managedRepository, logicalResource, proxyId );
-            if (proxyMetadata != null)
+            for (String proxyId : proxyIds)
             {
-                metadatas.add(proxyMetadata);
+                ArchivaRepositoryMetadata proxyMetadata = readProxyMetadata( managedRepository, logicalResource, proxyId );
+                if (proxyMetadata != null)
+                {
+                    metadatas.add(proxyMetadata);
+                }
             }
         }