diff options
-rw-r--r-- | archiva-modules/archiva-web/archiva-rest/archiva-rest-services/src/main/java/org/apache/archiva/rest/services/DefaultRepositoriesService.java | 21 |
1 files changed, 18 insertions, 3 deletions
diff --git a/archiva-modules/archiva-web/archiva-rest/archiva-rest-services/src/main/java/org/apache/archiva/rest/services/DefaultRepositoriesService.java b/archiva-modules/archiva-web/archiva-rest/archiva-rest-services/src/main/java/org/apache/archiva/rest/services/DefaultRepositoriesService.java index e51a360f0..e69ce4631 100644 --- a/archiva-modules/archiva-web/archiva-rest/archiva-rest-services/src/main/java/org/apache/archiva/rest/services/DefaultRepositoriesService.java +++ b/archiva-modules/archiva-web/archiva-rest/archiva-rest-services/src/main/java/org/apache/archiva/rest/services/DefaultRepositoriesService.java @@ -728,9 +728,23 @@ public class DefaultRepositoriesService updateMetadata( metadata, metadataFile, lastUpdatedTimestamp, artifact ); } - Collection<ArtifactMetadata> artifacts = - metadataRepository.getArtifacts( repositoryId, artifact.getGroupId(), artifact.getArtifactId(), - artifact.getVersion() ); + Collection<ArtifactMetadata> artifacts = Collections.emptyList(); + + if ( snapshotVersion ) + { + String baseVersion = VersionUtil.getBaseVersion( artifact.getVersion() ); + artifacts = + metadataRepository.getArtifacts( repositoryId, artifact.getGroupId(), artifact.getArtifactId(), + baseVersion ); + } + else + { + artifacts = + metadataRepository.getArtifacts( repositoryId, artifact.getGroupId(), artifact.getArtifactId(), + artifact.getVersion() ); + } + + log.debug( "artifacts: {}", artifacts ); for ( ArtifactMetadata artifactMetadata : artifacts ) { @@ -813,6 +827,7 @@ public class DefaultRepositoriesService } finally { + repositorySession.save(); repositorySession.close(); |