From 8a6a292a683900cad93b9436d068e01ba93b7a31 Mon Sep 17 00:00:00 2001 From: Olivier Lamy Date: Fri, 19 Oct 2012 23:16:50 +0000 Subject: [PATCH] add null check as mock can return null git-svn-id: https://svn.apache.org/repos/asf/archiva/trunk@1400336 13f79535-47bb-0310-9956-ffa450edef68 --- .../repository/AbstractRepositoryPurge.java | 55 ++++++++++--------- 1 file changed, 30 insertions(+), 25 deletions(-) diff --git a/archiva-modules/archiva-base/archiva-consumers/archiva-core-consumers/src/main/java/org/apache/archiva/consumers/core/repository/AbstractRepositoryPurge.java b/archiva-modules/archiva-base/archiva-consumers/archiva-core-consumers/src/main/java/org/apache/archiva/consumers/core/repository/AbstractRepositoryPurge.java index a9e15444e..be844fec9 100644 --- a/archiva-modules/archiva-base/archiva-consumers/archiva-core-consumers/src/main/java/org/apache/archiva/consumers/core/repository/AbstractRepositoryPurge.java +++ b/archiva-modules/archiva-base/archiva-consumers/archiva-core-consumers/src/main/java/org/apache/archiva/consumers/core/repository/AbstractRepositoryPurge.java @@ -120,40 +120,45 @@ public abstract class AbstractRepositoryPurge Collection artifacts = metadataRepository.getArtifacts( repository.getId(), reference.getGroupId(), reference.getArtifactId(), baseVersion ); - // cleanup snapshots metadata - for ( ArtifactMetadata artifactMetadata : artifacts ) + if ( artifacts != null ) { - - // TODO: mismatch between artifact (snapshot) version and project (base) version here - if ( artifactMetadata.getVersion().equals( reference.getVersion() ) ) + // cleanup snapshots metadata + for ( ArtifactMetadata artifactMetadata : artifacts ) { - if ( StringUtils.isNotBlank( reference.getClassifier() ) ) + + // TODO: mismatch between artifact (snapshot) version and project (base) version here + if ( artifactMetadata.getVersion().equals( reference.getVersion() ) ) { + if ( StringUtils.isNotBlank( reference.getClassifier() ) ) + { - // cleanup facet which contains classifier information - MavenArtifactFacet mavenArtifactFacet = - (MavenArtifactFacet) artifactMetadata.getFacet( MavenArtifactFacet.FACET_ID ); + // cleanup facet which contains classifier information + MavenArtifactFacet mavenArtifactFacet = + (MavenArtifactFacet) artifactMetadata.getFacet( + MavenArtifactFacet.FACET_ID ); + + if ( StringUtils.equals( reference.getClassifier(), + mavenArtifactFacet.getClassifier() ) ) + { + artifactMetadata.removeFacet( MavenArtifactFacet.FACET_ID ); + String groupId = reference.getGroupId(), artifactId = + reference.getArtifactId(), + version = reference.getVersion(); + MavenArtifactFacet mavenArtifactFacetToCompare = new MavenArtifactFacet(); + mavenArtifactFacetToCompare.setClassifier( reference.getClassifier() ); + metadataRepository.removeArtifact( repository.getId(), groupId, artifactId, + version, mavenArtifactFacetToCompare ); + metadataRepository.save(); + } - if ( StringUtils.equals( reference.getClassifier(), - mavenArtifactFacet.getClassifier() ) ) + } + else { - artifactMetadata.removeFacet( MavenArtifactFacet.FACET_ID ); - String groupId = reference.getGroupId(), artifactId = reference.getArtifactId(), - version = reference.getVersion(); - MavenArtifactFacet mavenArtifactFacetToCompare = new MavenArtifactFacet(); - mavenArtifactFacetToCompare.setClassifier( reference.getClassifier() ); - metadataRepository.removeArtifact( repository.getId(), groupId, artifactId, - version, mavenArtifactFacetToCompare ); - metadataRepository.save(); + metadataRepository.removeArtifact( artifactMetadata, VersionUtil.getBaseVersion( + reference.getVersion() ) ); } } - else - { - metadataRepository.removeArtifact( artifactMetadata, VersionUtil.getBaseVersion( - reference.getVersion() ) ); - } - } } } -- 2.39.5