From 6a46674535827acd278ba5271b2fac924bb24bb0 Mon Sep 17 00:00:00 2001 From: Olivier Lamy Date: Mon, 12 Mar 2012 08:10:38 +0000 Subject: [PATCH] remove deprecated class git-svn-id: https://svn.apache.org/repos/asf/archiva/trunk@1299574 13f79535-47bb-0310-9956-ffa450edef68 --- .../archiva/proxy/MetadataTransferTest.java | 10 ++-- .../repository/metadata/MetadataTools.java | 43 ++++++++------ .../metadata/RepositoryMetadataReader.java | 56 ------------------- .../RepositoryMetadataReaderTest.java | 10 ++-- .../services/DefaultRepositoriesService.java | 12 +++- .../archiva/web/action/UploadAction.java | 30 ++++++---- .../archiva/web/action/UploadActionTest.java | 12 ++-- .../webdav/ArchivaDavResourceFactory.java | 12 +++- .../RepositoryServletRepositoryGroupTest.java | 8 +-- .../merge/Maven2RepositoryMerger.java | 33 +++++++---- 10 files changed, 106 insertions(+), 120 deletions(-) delete mode 100644 archiva-modules/archiva-base/archiva-repository-layer/src/main/java/org/apache/archiva/repository/metadata/RepositoryMetadataReader.java diff --git a/archiva-modules/archiva-base/archiva-proxy/src/test/java/org/apache/archiva/proxy/MetadataTransferTest.java b/archiva-modules/archiva-base/archiva-proxy/src/test/java/org/apache/archiva/proxy/MetadataTransferTest.java index b2f289953..59694abdb 100644 --- a/archiva-modules/archiva-base/archiva-proxy/src/test/java/org/apache/archiva/proxy/MetadataTransferTest.java +++ b/archiva-modules/archiva-base/archiva-proxy/src/test/java/org/apache/archiva/proxy/MetadataTransferTest.java @@ -19,9 +19,9 @@ package org.apache.archiva.proxy; * under the License. */ -import org.apache.commons.lang.StringUtils; import org.apache.archiva.common.utils.VersionUtil; import org.apache.archiva.configuration.ProxyConnectorConfiguration; +import org.apache.archiva.maven2.metadata.MavenMetadataReader; import org.apache.archiva.model.ArchivaRepositoryMetadata; import org.apache.archiva.model.Plugin; import org.apache.archiva.model.ProjectReference; @@ -33,19 +33,19 @@ import org.apache.archiva.policies.ReleasesPolicy; import org.apache.archiva.policies.SnapshotsPolicy; import org.apache.archiva.repository.metadata.MetadataTools; import org.apache.archiva.repository.metadata.RepositoryMetadataException; -import org.apache.archiva.repository.metadata.RepositoryMetadataReader; import org.apache.archiva.repository.metadata.RepositoryMetadataWriter; +import org.apache.commons.lang.StringUtils; import org.apache.maven.wagon.TransferFailedException; import org.custommonkey.xmlunit.DetailedDiff; import org.custommonkey.xmlunit.Diff; import org.junit.Test; +import javax.inject.Inject; +import javax.inject.Named; import java.io.File; import java.io.StringWriter; import java.util.ArrayList; import java.util.Arrays; -import javax.inject.Inject; -import javax.inject.Named; import static org.junit.Assert.*; @@ -1088,7 +1088,7 @@ public class MetadataTransferTest assertTrue( "Actual file exists.", actualFile.exists() ); StringWriter actualContents = new StringWriter(); - ArchivaRepositoryMetadata metadata = RepositoryMetadataReader.read( actualFile ); + ArchivaRepositoryMetadata metadata = MavenMetadataReader.read( actualFile ); RepositoryMetadataWriter.write( metadata, actualContents ); DetailedDiff detailedDiff = new DetailedDiff( new Diff( expectedMetadataXml, actualContents.toString() ) ); diff --git a/archiva-modules/archiva-base/archiva-repository-layer/src/main/java/org/apache/archiva/repository/metadata/MetadataTools.java b/archiva-modules/archiva-base/archiva-repository-layer/src/main/java/org/apache/archiva/repository/metadata/MetadataTools.java index f0db9917d..eab28b403 100644 --- a/archiva-modules/archiva-base/archiva-repository-layer/src/main/java/org/apache/archiva/repository/metadata/MetadataTools.java +++ b/archiva-modules/archiva-base/archiva-repository-layer/src/main/java/org/apache/archiva/repository/metadata/MetadataTools.java @@ -21,11 +21,6 @@ package org.apache.archiva.repository.metadata; import org.apache.archiva.checksum.ChecksumAlgorithm; import org.apache.archiva.checksum.ChecksummedFile; -import org.apache.commons.collections.CollectionUtils; -import org.apache.commons.io.FileUtils; -import org.apache.commons.lang.StringUtils; -import org.apache.commons.lang.math.NumberUtils; -import org.apache.commons.lang.time.DateUtils; import org.apache.archiva.common.utils.PathUtil; import org.apache.archiva.common.utils.VersionComparator; import org.apache.archiva.common.utils.VersionUtil; @@ -33,6 +28,7 @@ import org.apache.archiva.configuration.ArchivaConfiguration; import org.apache.archiva.configuration.ConfigurationNames; import org.apache.archiva.configuration.FileTypes; import org.apache.archiva.configuration.ProxyConnectorConfiguration; +import org.apache.archiva.maven2.metadata.MavenMetadataReader; import org.apache.archiva.model.ArchivaRepositoryMetadata; import org.apache.archiva.model.ArtifactReference; import org.apache.archiva.model.Plugin; @@ -43,6 +39,12 @@ import org.apache.archiva.repository.ContentNotFoundException; import org.apache.archiva.repository.ManagedRepositoryContent; import org.apache.archiva.repository.RemoteRepositoryContent; import org.apache.archiva.repository.layout.LayoutException; +import org.apache.archiva.xml.XMLException; +import org.apache.commons.collections.CollectionUtils; +import org.apache.commons.io.FileUtils; +import org.apache.commons.lang.StringUtils; +import org.apache.commons.lang.math.NumberUtils; +import org.apache.commons.lang.time.DateUtils; import org.codehaus.plexus.registry.Registry; import org.codehaus.plexus.registry.RegistryListener; import org.slf4j.Logger; @@ -98,7 +100,7 @@ public class MetadataTools * */ @Inject - @Named(value = "fileTypes") + @Named( value = "fileTypes" ) private FileTypes filetypes; private ChecksumAlgorithm[] algorithms = new ChecksumAlgorithm[]{ ChecksumAlgorithm.SHA1, ChecksumAlgorithm.MD5 }; @@ -366,9 +368,9 @@ public class MetadataTools try { - return RepositoryMetadataReader.read( metadataFile ); + return MavenMetadataReader.read( metadataFile ); } - catch ( RepositoryMetadataException e ) + catch ( XMLException e ) { // TODO: [monitor] consider a monitor for this event. // TODO: consider a read-redo on monitor return code? @@ -391,9 +393,9 @@ public class MetadataTools try { - return RepositoryMetadataReader.read( metadataFile ); + return MavenMetadataReader.read( metadataFile ); } - catch ( RepositoryMetadataException e ) + catch ( XMLException e ) { // TODO: [monitor] consider a monitor for this event. // TODO: consider a read-redo on monitor return code? @@ -416,9 +418,9 @@ public class MetadataTools try { - return RepositoryMetadataReader.read( metadataFile ); + return MavenMetadataReader.read( metadataFile ); } - catch ( RepositoryMetadataException e ) + catch ( XMLException e ) { // TODO: [monitor] consider a monitor for this event. // TODO: consider a read-redo on monitor return code? @@ -506,13 +508,13 @@ public class MetadataTools { try { - ArchivaRepositoryMetadata existingMetadata = RepositoryMetadataReader.read( file ); + ArchivaRepositoryMetadata existingMetadata = MavenMetadataReader.read( file ); if ( existingMetadata != null ) { metadatas.add( existingMetadata ); } } - catch ( RepositoryMetadataException e ) + catch ( XMLException e ) { log.debug( "Could not read metadata at {}. Metadata will be removed.", file.getAbsolutePath() ); FileUtils.deleteQuietly( file ); @@ -574,7 +576,14 @@ public class MetadataTools Set allPlugins; if ( metadataFile.exists() ) { - allPlugins = new LinkedHashSet( RepositoryMetadataReader.read( metadataFile ).getPlugins() ); + try + { + allPlugins = new LinkedHashSet( MavenMetadataReader.read( metadataFile ).getPlugins() ); + } + catch ( XMLException e ) + { + throw new RepositoryMetadataException( e.getMessage(), e ); + } } else { @@ -730,11 +739,11 @@ public class MetadataTools try { - ArchivaRepositoryMetadata metadata = RepositoryMetadataReader.read( metadataFile ); + ArchivaRepositoryMetadata metadata = MavenMetadataReader.read( metadataFile ); return getLastUpdated( metadata ); } - catch ( RepositoryMetadataException e ) + catch ( XMLException e ) { // Error. return 0; diff --git a/archiva-modules/archiva-base/archiva-repository-layer/src/main/java/org/apache/archiva/repository/metadata/RepositoryMetadataReader.java b/archiva-modules/archiva-base/archiva-repository-layer/src/main/java/org/apache/archiva/repository/metadata/RepositoryMetadataReader.java deleted file mode 100644 index 160afc1a8..000000000 --- a/archiva-modules/archiva-base/archiva-repository-layer/src/main/java/org/apache/archiva/repository/metadata/RepositoryMetadataReader.java +++ /dev/null @@ -1,56 +0,0 @@ -package org.apache.archiva.repository.metadata; - -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -import org.apache.archiva.maven2.metadata.MavenMetadataReader; -import org.apache.archiva.model.ArchivaRepositoryMetadata; -import org.apache.archiva.xml.XMLException; - -import java.io.File; - -/** - * RepositoryMetadataReader - read maven-metadata.xml files. - * - * @version $Id$ - * @deprecated use {@link MavenMetadataReader} - */ -public class RepositoryMetadataReader -{ - - /** - * Read and return the {@link ArchivaRepositoryMetadata} object from the provided xml file. - * - * @param metadataFile the maven-metadata.xml file to read. - * @return the archiva repository metadata object that represents the provided file contents. - * @throws RepositoryMetadataException - */ - public static ArchivaRepositoryMetadata read( File metadataFile ) - throws RepositoryMetadataException - { - try - { - return MavenMetadataReader.read( metadataFile ); - } - catch ( XMLException e ) - { - throw new RepositoryMetadataException( e.getMessage(), e ); - } - } -} diff --git a/archiva-modules/archiva-base/archiva-repository-layer/src/test/java/org/apache/archiva/repository/metadata/RepositoryMetadataReaderTest.java b/archiva-modules/archiva-base/archiva-repository-layer/src/test/java/org/apache/archiva/repository/metadata/RepositoryMetadataReaderTest.java index d015e73e8..8da14bd08 100644 --- a/archiva-modules/archiva-base/archiva-repository-layer/src/test/java/org/apache/archiva/repository/metadata/RepositoryMetadataReaderTest.java +++ b/archiva-modules/archiva-base/archiva-repository-layer/src/test/java/org/apache/archiva/repository/metadata/RepositoryMetadataReaderTest.java @@ -20,7 +20,9 @@ package org.apache.archiva.repository.metadata; */ import junit.framework.TestCase; +import org.apache.archiva.maven2.metadata.MavenMetadataReader; import org.apache.archiva.model.ArchivaRepositoryMetadata; +import org.apache.archiva.xml.XMLException; import org.junit.Test; import org.junit.runner.RunWith; import org.junit.runners.JUnit4; @@ -38,12 +40,12 @@ public class RepositoryMetadataReaderTest { @Test public void testLoadSimple() - throws RepositoryMetadataException + throws XMLException { File defaultRepoDir = new File( "src/test/repositories/default-repository" ); File metadataFile = new File( defaultRepoDir, "org/apache/maven/shared/maven-downloader/maven-metadata.xml" ); - ArchivaRepositoryMetadata metadata = RepositoryMetadataReader.read( metadataFile ); + ArchivaRepositoryMetadata metadata = MavenMetadataReader.read( metadataFile ); assertNotNull( metadata ); assertEquals( "Group Id", "org.apache.maven.shared", metadata.getGroupId() ); @@ -56,12 +58,12 @@ public class RepositoryMetadataReaderTest @Test public void testLoadComplex() - throws RepositoryMetadataException + throws XMLException { File defaultRepoDir = new File( "src/test/repositories/default-repository" ); File metadataFile = new File( defaultRepoDir, "org/apache/maven/samplejar/maven-metadata.xml" ); - ArchivaRepositoryMetadata metadata = RepositoryMetadataReader.read( metadataFile ); + ArchivaRepositoryMetadata metadata = MavenMetadataReader.read( metadataFile ); assertNotNull( metadata ); assertEquals( "Group Id", "org.apache.maven", metadata.getGroupId() ); 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 936f57e69..5ce90875b 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 @@ -32,6 +32,7 @@ import org.apache.archiva.common.plexusbridge.MavenIndexerUtils; import org.apache.archiva.common.plexusbridge.PlexusSisuBridge; import org.apache.archiva.common.utils.VersionComparator; import org.apache.archiva.common.utils.VersionUtil; +import org.apache.archiva.maven2.metadata.MavenMetadataReader; import org.apache.archiva.metadata.model.ArtifactMetadata; import org.apache.archiva.metadata.repository.MetadataRepository; import org.apache.archiva.metadata.repository.MetadataRepositoryException; @@ -49,7 +50,6 @@ import org.apache.archiva.repository.RepositoryNotFoundException; import org.apache.archiva.repository.events.RepositoryListener; import org.apache.archiva.repository.metadata.MetadataTools; import org.apache.archiva.repository.metadata.RepositoryMetadataException; -import org.apache.archiva.repository.metadata.RepositoryMetadataReader; import org.apache.archiva.repository.metadata.RepositoryMetadataWriter; import org.apache.archiva.repository.scanner.RepositoryScanStatistics; import org.apache.archiva.repository.scanner.RepositoryScanner; @@ -66,6 +66,7 @@ import org.apache.archiva.scheduler.indexing.DownloadRemoteIndexScheduler; import org.apache.archiva.scheduler.repository.RepositoryArchivaTaskScheduler; import org.apache.archiva.scheduler.repository.RepositoryTask; import org.apache.archiva.security.common.ArchivaRoleConstants; +import org.apache.archiva.xml.XMLException; import org.apache.commons.io.FilenameUtils; import org.apache.commons.io.IOUtils; import org.apache.commons.lang.StringUtils; @@ -513,7 +514,14 @@ public class DefaultRepositoriesService ArchivaRepositoryMetadata metadata = new ArchivaRepositoryMetadata(); if ( metadataFile.exists() ) { - metadata = RepositoryMetadataReader.read( metadataFile ); + try + { + metadata = MavenMetadataReader.read( metadataFile ); + } + catch ( XMLException e ) + { + throw new RepositoryMetadataException( e.getMessage(), e ); + } } return metadata; } diff --git a/archiva-modules/archiva-web/archiva-webapp/src/main/java/org/apache/archiva/web/action/UploadAction.java b/archiva-modules/archiva-web/archiva-webapp/src/main/java/org/apache/archiva/web/action/UploadAction.java index d19aab8c5..db29e1f72 100644 --- a/archiva-modules/archiva-web/archiva-webapp/src/main/java/org/apache/archiva/web/action/UploadAction.java +++ b/archiva-modules/archiva-web/archiva-webapp/src/main/java/org/apache/archiva/web/action/UploadAction.java @@ -29,17 +29,9 @@ import org.apache.archiva.audit.AuditEvent; import org.apache.archiva.audit.Auditable; import org.apache.archiva.checksum.ChecksumAlgorithm; import org.apache.archiva.checksum.ChecksummedFile; -import org.apache.archiva.scheduler.ArchivaTaskScheduler; -import org.apache.archiva.scheduler.repository.RepositoryTask; -import org.apache.archiva.security.AccessDeniedException; -import org.apache.archiva.security.ArchivaSecurityException; -import org.apache.archiva.security.PrincipalNotFoundException; -import org.apache.archiva.security.UserRepositories; -import org.apache.commons.io.FilenameUtils; -import org.apache.commons.io.IOUtils; -import org.apache.commons.lang.StringUtils; import org.apache.archiva.common.utils.VersionComparator; import org.apache.archiva.common.utils.VersionUtil; +import org.apache.archiva.maven2.metadata.MavenMetadataReader; import org.apache.archiva.model.ArchivaRepositoryMetadata; import org.apache.archiva.model.ArtifactReference; import org.apache.archiva.model.SnapshotVersion; @@ -49,8 +41,17 @@ import org.apache.archiva.repository.RepositoryException; import org.apache.archiva.repository.RepositoryNotFoundException; import org.apache.archiva.repository.metadata.MetadataTools; import org.apache.archiva.repository.metadata.RepositoryMetadataException; -import org.apache.archiva.repository.metadata.RepositoryMetadataReader; import org.apache.archiva.repository.metadata.RepositoryMetadataWriter; +import org.apache.archiva.scheduler.ArchivaTaskScheduler; +import org.apache.archiva.scheduler.repository.RepositoryTask; +import org.apache.archiva.security.AccessDeniedException; +import org.apache.archiva.security.ArchivaSecurityException; +import org.apache.archiva.security.PrincipalNotFoundException; +import org.apache.archiva.security.UserRepositories; +import org.apache.archiva.xml.XMLException; +import org.apache.commons.io.FilenameUtils; +import org.apache.commons.io.IOUtils; +import org.apache.commons.lang.StringUtils; import org.apache.maven.model.Model; import org.apache.maven.model.io.xpp3.MavenXpp3Writer; import org.codehaus.plexus.taskqueue.TaskQueueException; @@ -508,7 +509,14 @@ public class UploadAction ArchivaRepositoryMetadata metadata = new ArchivaRepositoryMetadata(); if ( metadataFile.exists() ) { - metadata = RepositoryMetadataReader.read( metadataFile ); + try + { + metadata = MavenMetadataReader.read( metadataFile ); + } + catch ( XMLException e ) + { + throw new RepositoryMetadataException( e.getMessage(), e ); + } } return metadata; } diff --git a/archiva-modules/archiva-web/archiva-webapp/src/test/java/org/apache/archiva/web/action/UploadActionTest.java b/archiva-modules/archiva-web/archiva-webapp/src/test/java/org/apache/archiva/web/action/UploadActionTest.java index f3722f3aa..96c5ee5a7 100644 --- a/archiva-modules/archiva-web/archiva-webapp/src/test/java/org/apache/archiva/web/action/UploadActionTest.java +++ b/archiva-modules/archiva-web/archiva-webapp/src/test/java/org/apache/archiva/web/action/UploadActionTest.java @@ -28,10 +28,8 @@ import org.apache.archiva.audit.AuditEvent; import org.apache.archiva.audit.AuditListener; import org.apache.archiva.checksum.ChecksumAlgorithm; import org.apache.archiva.checksum.ChecksummedFile; -import org.apache.archiva.scheduler.ArchivaTaskScheduler; -import org.apache.commons.io.FileUtils; -import org.apache.commons.lang.StringUtils; import org.apache.archiva.common.utils.FileUtil; +import org.apache.archiva.maven2.metadata.MavenMetadataReader; import org.apache.archiva.model.ArchivaRepositoryMetadata; import org.apache.archiva.model.SnapshotVersion; import org.apache.archiva.repository.ManagedRepositoryContent; @@ -39,7 +37,9 @@ import org.apache.archiva.repository.RepositoryContentFactory; import org.apache.archiva.repository.RepositoryNotFoundException; import org.apache.archiva.repository.content.ManagedDefaultRepositoryContent; import org.apache.archiva.repository.metadata.MetadataTools; -import org.apache.archiva.repository.metadata.RepositoryMetadataReader; +import org.apache.archiva.scheduler.ArchivaTaskScheduler; +import org.apache.commons.io.FileUtils; +import org.apache.commons.lang.StringUtils; import org.easymock.MockControl; import org.easymock.classextension.MockClassControl; @@ -611,7 +611,7 @@ public class UploadActionTest // verify build number File metadataFile = new File( repoLocation, "/org/apache/archiva/artifact-upload/1.0-SNAPSHOT/" + MetadataTools.MAVEN_METADATA ); - ArchivaRepositoryMetadata artifactMetadata = RepositoryMetadataReader.read( metadataFile ); + ArchivaRepositoryMetadata artifactMetadata = MavenMetadataReader.read( metadataFile ); SnapshotVersion snapshotVersion = artifactMetadata.getSnapshotVersion(); assertEquals( "Incorrect build number set in artifact metadata.", 1, snapshotVersion.getBuildNumber() ); @@ -668,7 +668,7 @@ public class UploadActionTest // verify build number set in metadata and in filename metadataFile = new File( repoLocation, "/org/apache/archiva/artifact-upload/1.0-SNAPSHOT/" + MetadataTools.MAVEN_METADATA ); - artifactMetadata = RepositoryMetadataReader.read( metadataFile ); + artifactMetadata = MavenMetadataReader.read( metadataFile ); snapshotVersion = artifactMetadata.getSnapshotVersion(); assertEquals( "Incorrect build number set in artifact metadata.", 2, snapshotVersion.getBuildNumber() ); diff --git a/archiva-modules/archiva-web/archiva-webdav/src/main/java/org/apache/archiva/webdav/ArchivaDavResourceFactory.java b/archiva-modules/archiva-web/archiva-webdav/src/main/java/org/apache/archiva/webdav/ArchivaDavResourceFactory.java index de71e9d15..3fad50a9a 100644 --- a/archiva-modules/archiva-web/archiva-webdav/src/main/java/org/apache/archiva/webdav/ArchivaDavResourceFactory.java +++ b/archiva-modules/archiva-web/archiva-webdav/src/main/java/org/apache/archiva/webdav/ArchivaDavResourceFactory.java @@ -33,6 +33,7 @@ import org.apache.archiva.indexer.merger.IndexMerger; import org.apache.archiva.indexer.merger.IndexMergerException; import org.apache.archiva.indexer.merger.TemporaryGroupIndex; import org.apache.archiva.indexer.search.RepositorySearch; +import org.apache.archiva.maven2.metadata.MavenMetadataReader; import org.apache.archiva.model.ArchivaRepositoryMetadata; import org.apache.archiva.model.ArtifactReference; import org.apache.archiva.policies.ProxyDownloadException; @@ -47,7 +48,6 @@ import org.apache.archiva.repository.layout.LayoutException; import org.apache.archiva.repository.metadata.MetadataTools; import org.apache.archiva.repository.metadata.RepositoryMetadataException; import org.apache.archiva.repository.metadata.RepositoryMetadataMerge; -import org.apache.archiva.repository.metadata.RepositoryMetadataReader; import org.apache.archiva.repository.metadata.RepositoryMetadataWriter; import org.apache.archiva.scheduler.repository.RepositoryArchivaTaskScheduler; import org.apache.archiva.security.ServletAuthenticator; @@ -55,6 +55,7 @@ import org.apache.archiva.webdav.util.MimeTypes; import org.apache.archiva.webdav.util.RepositoryPathUtil; import org.apache.archiva.webdav.util.TemporaryGroupIndexSessionCleaner; import org.apache.archiva.webdav.util.WebdavMethodUtil; +import org.apache.archiva.xml.XMLException; import org.apache.commons.io.FileUtils; import org.apache.commons.io.FilenameUtils; import org.apache.commons.lang.StringUtils; @@ -345,14 +346,19 @@ public class ArchivaDavResourceFactory try { File metadataFile = new File( resourceAbsPath ); - ArchivaRepositoryMetadata repoMetadata = RepositoryMetadataReader.read( metadataFile ); + ArchivaRepositoryMetadata repoMetadata = MavenMetadataReader.read( metadataFile ); mergedMetadata = RepositoryMetadataMerge.merge( mergedMetadata, repoMetadata ); } - catch ( RepositoryMetadataException r ) + catch ( XMLException e ) { throw new DavException( HttpServletResponse.SC_INTERNAL_SERVER_ERROR, "Error occurred while reading metadata file." ); } + catch ( RepositoryMetadataException r ) + { + throw new DavException( HttpServletResponse.SC_INTERNAL_SERVER_ERROR, + "Error occurred while merging metadata file." ); + } } try diff --git a/archiva-modules/archiva-web/archiva-webdav/src/test/java/org/apache/archiva/webdav/RepositoryServletRepositoryGroupTest.java b/archiva-modules/archiva-web/archiva-webdav/src/test/java/org/apache/archiva/webdav/RepositoryServletRepositoryGroupTest.java index bd792d368..8245cb48d 100644 --- a/archiva-modules/archiva-web/archiva-webdav/src/test/java/org/apache/archiva/webdav/RepositoryServletRepositoryGroupTest.java +++ b/archiva-modules/archiva-web/archiva-webdav/src/test/java/org/apache/archiva/webdav/RepositoryServletRepositoryGroupTest.java @@ -23,13 +23,13 @@ import com.meterware.httpunit.GetMethodWebRequest; import com.meterware.httpunit.PutMethodWebRequest; import com.meterware.httpunit.WebRequest; import com.meterware.httpunit.WebResponse; -import org.apache.commons.io.FileUtils; -import org.apache.commons.lang.StringUtils; import org.apache.archiva.configuration.Configuration; import org.apache.archiva.configuration.ManagedRepositoryConfiguration; import org.apache.archiva.configuration.RepositoryGroupConfiguration; +import org.apache.archiva.maven2.metadata.MavenMetadataReader; import org.apache.archiva.model.ArchivaRepositoryMetadata; -import org.apache.archiva.repository.metadata.RepositoryMetadataReader; +import org.apache.commons.io.FileUtils; +import org.apache.commons.lang.StringUtils; import org.junit.After; import org.junit.Before; import org.junit.Test; @@ -261,7 +261,7 @@ public class RepositoryServletRepositoryGroupTest File returnedMetadata = new File( "target/test-classes/retrievedMetadataFile.xml" ); FileUtils.writeStringToFile( returnedMetadata, response.getText() ); - ArchivaRepositoryMetadata metadata = RepositoryMetadataReader.read( returnedMetadata ); + ArchivaRepositoryMetadata metadata = MavenMetadataReader.read( returnedMetadata ); assertResponseOK( response ); assertEquals( "Versions list size", 4, metadata.getAvailableVersions().size() ); diff --git a/archiva-modules/plugins/stage-repository-merge/src/main/java/org/apache/archiva/stagerepository/merge/Maven2RepositoryMerger.java b/archiva-modules/plugins/stage-repository-merge/src/main/java/org/apache/archiva/stagerepository/merge/Maven2RepositoryMerger.java index 779626ef4..589b6b6ed 100644 --- a/archiva-modules/plugins/stage-repository-merge/src/main/java/org/apache/archiva/stagerepository/merge/Maven2RepositoryMerger.java +++ b/archiva-modules/plugins/stage-repository-merge/src/main/java/org/apache/archiva/stagerepository/merge/Maven2RepositoryMerger.java @@ -24,6 +24,7 @@ import org.apache.archiva.common.utils.VersionUtil; import org.apache.archiva.configuration.ArchivaConfiguration; import org.apache.archiva.configuration.Configuration; import org.apache.archiva.configuration.ManagedRepositoryConfiguration; +import org.apache.archiva.maven2.metadata.MavenMetadataReader; import org.apache.archiva.metadata.model.ArtifactMetadata; import org.apache.archiva.metadata.repository.MetadataRepository; import org.apache.archiva.metadata.repository.filter.Filter; @@ -32,8 +33,8 @@ import org.apache.archiva.metadata.repository.storage.RepositoryPathTranslator; import org.apache.archiva.model.ArchivaRepositoryMetadata; import org.apache.archiva.repository.RepositoryException; import org.apache.archiva.repository.metadata.RepositoryMetadataException; -import org.apache.archiva.repository.metadata.RepositoryMetadataReader; import org.apache.archiva.repository.metadata.RepositoryMetadataWriter; +import org.apache.archiva.xml.XMLException; import org.apache.commons.io.IOUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -63,6 +64,7 @@ public class Maven2RepositoryMerger { private Logger log = LoggerFactory.getLogger( getClass() ); + /** * */ @@ -78,7 +80,7 @@ public class Maven2RepositoryMerger @Inject public Maven2RepositoryMerger( @Named( value = "archivaConfiguration#default" ) ArchivaConfiguration archivaConfiguration, - @Named( value = "repositoryPathTranslator#maven2") RepositoryPathTranslator repositoryPathTranslator ) + @Named( value = "repositoryPathTranslator#maven2" ) RepositoryPathTranslator repositoryPathTranslator ) { this.configuration = archivaConfiguration; this.pathTranslator = repositoryPathTranslator; @@ -139,8 +141,6 @@ public class Maven2RepositoryMerger String sourceRepoPath = sourceRepoConfig.getLocation(); - - String artifactPath = pathTranslator.toPath( artifactMetadata.getNamespace(), artifactMetadata.getProject(), artifactMetadata.getProjectVersion(), artifactMetadata.getId() ); @@ -180,10 +180,12 @@ public class Maven2RepositoryMerger String index = artifactPath.substring( lastIndex + 1 ); int last = index.lastIndexOf( '.' ); - File sourcePomFile = new File( sourceRepoPath, artifactPath.substring( 0, lastIndex ) + "/" - + artifactPath.substring( lastIndex + 1 ).substring( 0, last ) + ".pom" ); - File targetPomFile = new File( targetRepoPath, artifactPath.substring( 0, lastIndex ) + "/" - + artifactPath.substring( lastIndex + 1 ).substring( 0, last ) + ".pom" ); + File sourcePomFile = new File( sourceRepoPath, + artifactPath.substring( 0, lastIndex ) + "/" + artifactPath.substring( + lastIndex + 1 ).substring( 0, last ) + ".pom" ); + File targetPomFile = new File( targetRepoPath, + artifactPath.substring( 0, lastIndex ) + "/" + artifactPath.substring( + lastIndex + 1 ).substring( 0, last ) + ".pom" ); if ( !targetPomFile.exists() && sourcePomFile.exists() ) { @@ -335,7 +337,14 @@ public class Maven2RepositoryMerger ArchivaRepositoryMetadata metadata = new ArchivaRepositoryMetadata(); if ( metadataFile.exists() ) { - metadata = RepositoryMetadataReader.read( metadataFile ); + try + { + metadata = MavenMetadataReader.read( metadataFile ); + } + catch ( XMLException e ) + { + throw new RepositoryMetadataException( e.getMessage(), e ); + } } return metadata; } @@ -373,9 +382,9 @@ public class Maven2RepositoryMerger boolean isSame = false; if ( ( sourceArtifact.getNamespace().equals( targetArtifact.getNamespace() ) ) - && ( sourceArtifact.getProject().equals( targetArtifact.getProject() ) ) - && ( sourceArtifact.getId().equals( targetArtifact.getId() ) ) - && ( sourceArtifact.getProjectVersion().equals( targetArtifact.getProjectVersion() ) ) ) + && ( sourceArtifact.getProject().equals( targetArtifact.getProject() ) ) && ( sourceArtifact.getId().equals( + targetArtifact.getId() ) ) && ( sourceArtifact.getProjectVersion().equals( + targetArtifact.getProjectVersion() ) ) ) { isSame = true; -- 2.39.5