remove deprecated class

git-svn-id: https://svn.apache.org/repos/asf/archiva/trunk@1299574 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Olivier Lamy 2012-03-12 08:10:38 +00:00
parent 2bf4472caf
commit 6a46674535
10 changed files with 106 additions and 120 deletions

View File

@ -19,9 +19,9 @@
* under the License. * under the License.
*/ */
import org.apache.commons.lang.StringUtils;
import org.apache.archiva.common.utils.VersionUtil; import org.apache.archiva.common.utils.VersionUtil;
import org.apache.archiva.configuration.ProxyConnectorConfiguration; import org.apache.archiva.configuration.ProxyConnectorConfiguration;
import org.apache.archiva.maven2.metadata.MavenMetadataReader;
import org.apache.archiva.model.ArchivaRepositoryMetadata; import org.apache.archiva.model.ArchivaRepositoryMetadata;
import org.apache.archiva.model.Plugin; import org.apache.archiva.model.Plugin;
import org.apache.archiva.model.ProjectReference; import org.apache.archiva.model.ProjectReference;
@ -33,19 +33,19 @@
import org.apache.archiva.policies.SnapshotsPolicy; import org.apache.archiva.policies.SnapshotsPolicy;
import org.apache.archiva.repository.metadata.MetadataTools; import org.apache.archiva.repository.metadata.MetadataTools;
import org.apache.archiva.repository.metadata.RepositoryMetadataException; 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.metadata.RepositoryMetadataWriter;
import org.apache.commons.lang.StringUtils;
import org.apache.maven.wagon.TransferFailedException; import org.apache.maven.wagon.TransferFailedException;
import org.custommonkey.xmlunit.DetailedDiff; import org.custommonkey.xmlunit.DetailedDiff;
import org.custommonkey.xmlunit.Diff; import org.custommonkey.xmlunit.Diff;
import org.junit.Test; import org.junit.Test;
import javax.inject.Inject;
import javax.inject.Named;
import java.io.File; import java.io.File;
import java.io.StringWriter; import java.io.StringWriter;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Arrays; import java.util.Arrays;
import javax.inject.Inject;
import javax.inject.Named;
import static org.junit.Assert.*; import static org.junit.Assert.*;
@ -1088,7 +1088,7 @@ private void assertMetadataEquals( String expectedMetadataXml, File actualFile )
assertTrue( "Actual file exists.", actualFile.exists() ); assertTrue( "Actual file exists.", actualFile.exists() );
StringWriter actualContents = new StringWriter(); StringWriter actualContents = new StringWriter();
ArchivaRepositoryMetadata metadata = RepositoryMetadataReader.read( actualFile ); ArchivaRepositoryMetadata metadata = MavenMetadataReader.read( actualFile );
RepositoryMetadataWriter.write( metadata, actualContents ); RepositoryMetadataWriter.write( metadata, actualContents );
DetailedDiff detailedDiff = new DetailedDiff( new Diff( expectedMetadataXml, actualContents.toString() ) ); DetailedDiff detailedDiff = new DetailedDiff( new Diff( expectedMetadataXml, actualContents.toString() ) );

View File

@ -21,11 +21,6 @@
import org.apache.archiva.checksum.ChecksumAlgorithm; import org.apache.archiva.checksum.ChecksumAlgorithm;
import org.apache.archiva.checksum.ChecksummedFile; 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.PathUtil;
import org.apache.archiva.common.utils.VersionComparator; import org.apache.archiva.common.utils.VersionComparator;
import org.apache.archiva.common.utils.VersionUtil; import org.apache.archiva.common.utils.VersionUtil;
@ -33,6 +28,7 @@
import org.apache.archiva.configuration.ConfigurationNames; import org.apache.archiva.configuration.ConfigurationNames;
import org.apache.archiva.configuration.FileTypes; import org.apache.archiva.configuration.FileTypes;
import org.apache.archiva.configuration.ProxyConnectorConfiguration; import org.apache.archiva.configuration.ProxyConnectorConfiguration;
import org.apache.archiva.maven2.metadata.MavenMetadataReader;
import org.apache.archiva.model.ArchivaRepositoryMetadata; import org.apache.archiva.model.ArchivaRepositoryMetadata;
import org.apache.archiva.model.ArtifactReference; import org.apache.archiva.model.ArtifactReference;
import org.apache.archiva.model.Plugin; import org.apache.archiva.model.Plugin;
@ -43,6 +39,12 @@
import org.apache.archiva.repository.ManagedRepositoryContent; import org.apache.archiva.repository.ManagedRepositoryContent;
import org.apache.archiva.repository.RemoteRepositoryContent; import org.apache.archiva.repository.RemoteRepositoryContent;
import org.apache.archiva.repository.layout.LayoutException; 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.Registry;
import org.codehaus.plexus.registry.RegistryListener; import org.codehaus.plexus.registry.RegistryListener;
import org.slf4j.Logger; import org.slf4j.Logger;
@ -98,7 +100,7 @@ public class MetadataTools
* *
*/ */
@Inject @Inject
@Named(value = "fileTypes") @Named( value = "fileTypes" )
private FileTypes filetypes; private FileTypes filetypes;
private ChecksumAlgorithm[] algorithms = new ChecksumAlgorithm[]{ ChecksumAlgorithm.SHA1, ChecksumAlgorithm.MD5 }; private ChecksumAlgorithm[] algorithms = new ChecksumAlgorithm[]{ ChecksumAlgorithm.SHA1, ChecksumAlgorithm.MD5 };
@ -366,9 +368,9 @@ public ArchivaRepositoryMetadata readProxyMetadata( ManagedRepositoryContent man
try try
{ {
return RepositoryMetadataReader.read( metadataFile ); return MavenMetadataReader.read( metadataFile );
} }
catch ( RepositoryMetadataException e ) catch ( XMLException e )
{ {
// TODO: [monitor] consider a monitor for this event. // TODO: [monitor] consider a monitor for this event.
// TODO: consider a read-redo on monitor return code? // TODO: consider a read-redo on monitor return code?
@ -391,9 +393,9 @@ public ArchivaRepositoryMetadata readProxyMetadata( ManagedRepositoryContent man
try try
{ {
return RepositoryMetadataReader.read( metadataFile ); return MavenMetadataReader.read( metadataFile );
} }
catch ( RepositoryMetadataException e ) catch ( XMLException e )
{ {
// TODO: [monitor] consider a monitor for this event. // TODO: [monitor] consider a monitor for this event.
// TODO: consider a read-redo on monitor return code? // TODO: consider a read-redo on monitor return code?
@ -416,9 +418,9 @@ public ArchivaRepositoryMetadata readProxyMetadata( ManagedRepositoryContent man
try try
{ {
return RepositoryMetadataReader.read( metadataFile ); return MavenMetadataReader.read( metadataFile );
} }
catch ( RepositoryMetadataException e ) catch ( XMLException e )
{ {
// TODO: [monitor] consider a monitor for this event. // TODO: [monitor] consider a monitor for this event.
// TODO: consider a read-redo on monitor return code? // TODO: consider a read-redo on monitor return code?
@ -506,13 +508,13 @@ private List<ArchivaRepositoryMetadata> getMetadatasForManagedRepository(
{ {
try try
{ {
ArchivaRepositoryMetadata existingMetadata = RepositoryMetadataReader.read( file ); ArchivaRepositoryMetadata existingMetadata = MavenMetadataReader.read( file );
if ( existingMetadata != null ) if ( existingMetadata != null )
{ {
metadatas.add( existingMetadata ); metadatas.add( existingMetadata );
} }
} }
catch ( RepositoryMetadataException e ) catch ( XMLException e )
{ {
log.debug( "Could not read metadata at {}. Metadata will be removed.", file.getAbsolutePath() ); log.debug( "Could not read metadata at {}. Metadata will be removed.", file.getAbsolutePath() );
FileUtils.deleteQuietly( file ); FileUtils.deleteQuietly( file );
@ -574,7 +576,14 @@ public void updateMetadata( ManagedRepositoryContent managedRepository, ProjectR
Set<Plugin> allPlugins; Set<Plugin> allPlugins;
if ( metadataFile.exists() ) if ( metadataFile.exists() )
{ {
allPlugins = new LinkedHashSet<Plugin>( RepositoryMetadataReader.read( metadataFile ).getPlugins() ); try
{
allPlugins = new LinkedHashSet<Plugin>( MavenMetadataReader.read( metadataFile ).getPlugins() );
}
catch ( XMLException e )
{
throw new RepositoryMetadataException( e.getMessage(), e );
}
} }
else else
{ {
@ -730,11 +739,11 @@ private long getExistingLastUpdated( File metadataFile )
try try
{ {
ArchivaRepositoryMetadata metadata = RepositoryMetadataReader.read( metadataFile ); ArchivaRepositoryMetadata metadata = MavenMetadataReader.read( metadataFile );
return getLastUpdated( metadata ); return getLastUpdated( metadata );
} }
catch ( RepositoryMetadataException e ) catch ( XMLException e )
{ {
// Error. // Error.
return 0; return 0;

View File

@ -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 );
}
}
}

View File

@ -20,7 +20,9 @@
*/ */
import junit.framework.TestCase; import junit.framework.TestCase;
import org.apache.archiva.maven2.metadata.MavenMetadataReader;
import org.apache.archiva.model.ArchivaRepositoryMetadata; import org.apache.archiva.model.ArchivaRepositoryMetadata;
import org.apache.archiva.xml.XMLException;
import org.junit.Test; import org.junit.Test;
import org.junit.runner.RunWith; import org.junit.runner.RunWith;
import org.junit.runners.JUnit4; import org.junit.runners.JUnit4;
@ -38,12 +40,12 @@ public class RepositoryMetadataReaderTest
{ {
@Test @Test
public void testLoadSimple() public void testLoadSimple()
throws RepositoryMetadataException throws XMLException
{ {
File defaultRepoDir = new File( "src/test/repositories/default-repository" ); File defaultRepoDir = new File( "src/test/repositories/default-repository" );
File metadataFile = new File( defaultRepoDir, "org/apache/maven/shared/maven-downloader/maven-metadata.xml" ); 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 ); assertNotNull( metadata );
assertEquals( "Group Id", "org.apache.maven.shared", metadata.getGroupId() ); assertEquals( "Group Id", "org.apache.maven.shared", metadata.getGroupId() );
@ -56,12 +58,12 @@ public void testLoadSimple()
@Test @Test
public void testLoadComplex() public void testLoadComplex()
throws RepositoryMetadataException throws XMLException
{ {
File defaultRepoDir = new File( "src/test/repositories/default-repository" ); File defaultRepoDir = new File( "src/test/repositories/default-repository" );
File metadataFile = new File( defaultRepoDir, "org/apache/maven/samplejar/maven-metadata.xml" ); File metadataFile = new File( defaultRepoDir, "org/apache/maven/samplejar/maven-metadata.xml" );
ArchivaRepositoryMetadata metadata = RepositoryMetadataReader.read( metadataFile ); ArchivaRepositoryMetadata metadata = MavenMetadataReader.read( metadataFile );
assertNotNull( metadata ); assertNotNull( metadata );
assertEquals( "Group Id", "org.apache.maven", metadata.getGroupId() ); assertEquals( "Group Id", "org.apache.maven", metadata.getGroupId() );

View File

@ -32,6 +32,7 @@
import org.apache.archiva.common.plexusbridge.PlexusSisuBridge; import org.apache.archiva.common.plexusbridge.PlexusSisuBridge;
import org.apache.archiva.common.utils.VersionComparator; import org.apache.archiva.common.utils.VersionComparator;
import org.apache.archiva.common.utils.VersionUtil; 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.model.ArtifactMetadata;
import org.apache.archiva.metadata.repository.MetadataRepository; import org.apache.archiva.metadata.repository.MetadataRepository;
import org.apache.archiva.metadata.repository.MetadataRepositoryException; import org.apache.archiva.metadata.repository.MetadataRepositoryException;
@ -49,7 +50,6 @@
import org.apache.archiva.repository.events.RepositoryListener; import org.apache.archiva.repository.events.RepositoryListener;
import org.apache.archiva.repository.metadata.MetadataTools; import org.apache.archiva.repository.metadata.MetadataTools;
import org.apache.archiva.repository.metadata.RepositoryMetadataException; 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.metadata.RepositoryMetadataWriter;
import org.apache.archiva.repository.scanner.RepositoryScanStatistics; import org.apache.archiva.repository.scanner.RepositoryScanStatistics;
import org.apache.archiva.repository.scanner.RepositoryScanner; import org.apache.archiva.repository.scanner.RepositoryScanner;
@ -66,6 +66,7 @@
import org.apache.archiva.scheduler.repository.RepositoryArchivaTaskScheduler; import org.apache.archiva.scheduler.repository.RepositoryArchivaTaskScheduler;
import org.apache.archiva.scheduler.repository.RepositoryTask; import org.apache.archiva.scheduler.repository.RepositoryTask;
import org.apache.archiva.security.common.ArchivaRoleConstants; import org.apache.archiva.security.common.ArchivaRoleConstants;
import org.apache.archiva.xml.XMLException;
import org.apache.commons.io.FilenameUtils; import org.apache.commons.io.FilenameUtils;
import org.apache.commons.io.IOUtils; import org.apache.commons.io.IOUtils;
import org.apache.commons.lang.StringUtils; import org.apache.commons.lang.StringUtils;
@ -513,7 +514,14 @@ private ArchivaRepositoryMetadata getMetadata( File metadataFile )
ArchivaRepositoryMetadata metadata = new ArchivaRepositoryMetadata(); ArchivaRepositoryMetadata metadata = new ArchivaRepositoryMetadata();
if ( metadataFile.exists() ) if ( metadataFile.exists() )
{ {
metadata = RepositoryMetadataReader.read( metadataFile ); try
{
metadata = MavenMetadataReader.read( metadataFile );
}
catch ( XMLException e )
{
throw new RepositoryMetadataException( e.getMessage(), e );
}
} }
return metadata; return metadata;
} }

View File

@ -29,17 +29,9 @@
import org.apache.archiva.audit.Auditable; import org.apache.archiva.audit.Auditable;
import org.apache.archiva.checksum.ChecksumAlgorithm; import org.apache.archiva.checksum.ChecksumAlgorithm;
import org.apache.archiva.checksum.ChecksummedFile; 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.VersionComparator;
import org.apache.archiva.common.utils.VersionUtil; 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.ArchivaRepositoryMetadata;
import org.apache.archiva.model.ArtifactReference; import org.apache.archiva.model.ArtifactReference;
import org.apache.archiva.model.SnapshotVersion; import org.apache.archiva.model.SnapshotVersion;
@ -49,8 +41,17 @@
import org.apache.archiva.repository.RepositoryNotFoundException; import org.apache.archiva.repository.RepositoryNotFoundException;
import org.apache.archiva.repository.metadata.MetadataTools; import org.apache.archiva.repository.metadata.MetadataTools;
import org.apache.archiva.repository.metadata.RepositoryMetadataException; 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.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.Model;
import org.apache.maven.model.io.xpp3.MavenXpp3Writer; import org.apache.maven.model.io.xpp3.MavenXpp3Writer;
import org.codehaus.plexus.taskqueue.TaskQueueException; import org.codehaus.plexus.taskqueue.TaskQueueException;
@ -508,7 +509,14 @@ private ArchivaRepositoryMetadata getMetadata( File metadataFile )
ArchivaRepositoryMetadata metadata = new ArchivaRepositoryMetadata(); ArchivaRepositoryMetadata metadata = new ArchivaRepositoryMetadata();
if ( metadataFile.exists() ) if ( metadataFile.exists() )
{ {
metadata = RepositoryMetadataReader.read( metadataFile ); try
{
metadata = MavenMetadataReader.read( metadataFile );
}
catch ( XMLException e )
{
throw new RepositoryMetadataException( e.getMessage(), e );
}
} }
return metadata; return metadata;
} }

View File

@ -28,10 +28,8 @@
import org.apache.archiva.audit.AuditListener; import org.apache.archiva.audit.AuditListener;
import org.apache.archiva.checksum.ChecksumAlgorithm; import org.apache.archiva.checksum.ChecksumAlgorithm;
import org.apache.archiva.checksum.ChecksummedFile; 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.common.utils.FileUtil;
import org.apache.archiva.maven2.metadata.MavenMetadataReader;
import org.apache.archiva.model.ArchivaRepositoryMetadata; import org.apache.archiva.model.ArchivaRepositoryMetadata;
import org.apache.archiva.model.SnapshotVersion; import org.apache.archiva.model.SnapshotVersion;
import org.apache.archiva.repository.ManagedRepositoryContent; import org.apache.archiva.repository.ManagedRepositoryContent;
@ -39,7 +37,9 @@
import org.apache.archiva.repository.RepositoryNotFoundException; import org.apache.archiva.repository.RepositoryNotFoundException;
import org.apache.archiva.repository.content.ManagedDefaultRepositoryContent; import org.apache.archiva.repository.content.ManagedDefaultRepositoryContent;
import org.apache.archiva.repository.metadata.MetadataTools; 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.MockControl;
import org.easymock.classextension.MockClassControl; import org.easymock.classextension.MockClassControl;
@ -611,7 +611,7 @@ public void testArtifactUploadSnapshots()
// verify build number // verify build number
File metadataFile = new File( repoLocation, "/org/apache/archiva/artifact-upload/1.0-SNAPSHOT/" File metadataFile = new File( repoLocation, "/org/apache/archiva/artifact-upload/1.0-SNAPSHOT/"
+ MetadataTools.MAVEN_METADATA ); + MetadataTools.MAVEN_METADATA );
ArchivaRepositoryMetadata artifactMetadata = RepositoryMetadataReader.read( metadataFile ); ArchivaRepositoryMetadata artifactMetadata = MavenMetadataReader.read( metadataFile );
SnapshotVersion snapshotVersion = artifactMetadata.getSnapshotVersion(); SnapshotVersion snapshotVersion = artifactMetadata.getSnapshotVersion();
assertEquals( "Incorrect build number set in artifact metadata.", 1, snapshotVersion.getBuildNumber() ); assertEquals( "Incorrect build number set in artifact metadata.", 1, snapshotVersion.getBuildNumber() );
@ -668,7 +668,7 @@ public void testArtifactUploadSnapshots()
// verify build number set in metadata and in filename // verify build number set in metadata and in filename
metadataFile = new File( repoLocation, metadataFile = new File( repoLocation,
"/org/apache/archiva/artifact-upload/1.0-SNAPSHOT/" + MetadataTools.MAVEN_METADATA ); "/org/apache/archiva/artifact-upload/1.0-SNAPSHOT/" + MetadataTools.MAVEN_METADATA );
artifactMetadata = RepositoryMetadataReader.read( metadataFile ); artifactMetadata = MavenMetadataReader.read( metadataFile );
snapshotVersion = artifactMetadata.getSnapshotVersion(); snapshotVersion = artifactMetadata.getSnapshotVersion();
assertEquals( "Incorrect build number set in artifact metadata.", 2, snapshotVersion.getBuildNumber() ); assertEquals( "Incorrect build number set in artifact metadata.", 2, snapshotVersion.getBuildNumber() );

View File

@ -33,6 +33,7 @@
import org.apache.archiva.indexer.merger.IndexMergerException; import org.apache.archiva.indexer.merger.IndexMergerException;
import org.apache.archiva.indexer.merger.TemporaryGroupIndex; import org.apache.archiva.indexer.merger.TemporaryGroupIndex;
import org.apache.archiva.indexer.search.RepositorySearch; 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.ArchivaRepositoryMetadata;
import org.apache.archiva.model.ArtifactReference; import org.apache.archiva.model.ArtifactReference;
import org.apache.archiva.policies.ProxyDownloadException; import org.apache.archiva.policies.ProxyDownloadException;
@ -47,7 +48,6 @@
import org.apache.archiva.repository.metadata.MetadataTools; import org.apache.archiva.repository.metadata.MetadataTools;
import org.apache.archiva.repository.metadata.RepositoryMetadataException; import org.apache.archiva.repository.metadata.RepositoryMetadataException;
import org.apache.archiva.repository.metadata.RepositoryMetadataMerge; 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.repository.metadata.RepositoryMetadataWriter;
import org.apache.archiva.scheduler.repository.RepositoryArchivaTaskScheduler; import org.apache.archiva.scheduler.repository.RepositoryArchivaTaskScheduler;
import org.apache.archiva.security.ServletAuthenticator; import org.apache.archiva.security.ServletAuthenticator;
@ -55,6 +55,7 @@
import org.apache.archiva.webdav.util.RepositoryPathUtil; import org.apache.archiva.webdav.util.RepositoryPathUtil;
import org.apache.archiva.webdav.util.TemporaryGroupIndexSessionCleaner; import org.apache.archiva.webdav.util.TemporaryGroupIndexSessionCleaner;
import org.apache.archiva.webdav.util.WebdavMethodUtil; import org.apache.archiva.webdav.util.WebdavMethodUtil;
import org.apache.archiva.xml.XMLException;
import org.apache.commons.io.FileUtils; import org.apache.commons.io.FileUtils;
import org.apache.commons.io.FilenameUtils; import org.apache.commons.io.FilenameUtils;
import org.apache.commons.lang.StringUtils; import org.apache.commons.lang.StringUtils;
@ -345,13 +346,18 @@ public DavResource createResource( final DavResourceLocator locator, final DavSe
try try
{ {
File metadataFile = new File( resourceAbsPath ); File metadataFile = new File( resourceAbsPath );
ArchivaRepositoryMetadata repoMetadata = RepositoryMetadataReader.read( metadataFile ); ArchivaRepositoryMetadata repoMetadata = MavenMetadataReader.read( metadataFile );
mergedMetadata = RepositoryMetadataMerge.merge( mergedMetadata, repoMetadata ); mergedMetadata = RepositoryMetadataMerge.merge( mergedMetadata, repoMetadata );
} }
catch ( XMLException e )
{
throw new DavException( HttpServletResponse.SC_INTERNAL_SERVER_ERROR,
"Error occurred while reading metadata file." );
}
catch ( RepositoryMetadataException r ) catch ( RepositoryMetadataException r )
{ {
throw new DavException( HttpServletResponse.SC_INTERNAL_SERVER_ERROR, throw new DavException( HttpServletResponse.SC_INTERNAL_SERVER_ERROR,
"Error occurred while reading metadata file." ); "Error occurred while merging metadata file." );
} }
} }

View File

@ -23,13 +23,13 @@
import com.meterware.httpunit.PutMethodWebRequest; import com.meterware.httpunit.PutMethodWebRequest;
import com.meterware.httpunit.WebRequest; import com.meterware.httpunit.WebRequest;
import com.meterware.httpunit.WebResponse; 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.Configuration;
import org.apache.archiva.configuration.ManagedRepositoryConfiguration; import org.apache.archiva.configuration.ManagedRepositoryConfiguration;
import org.apache.archiva.configuration.RepositoryGroupConfiguration; import org.apache.archiva.configuration.RepositoryGroupConfiguration;
import org.apache.archiva.maven2.metadata.MavenMetadataReader;
import org.apache.archiva.model.ArchivaRepositoryMetadata; 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.After;
import org.junit.Before; import org.junit.Before;
import org.junit.Test; import org.junit.Test;
@ -261,7 +261,7 @@ public void testGetMergedMetadata()
File returnedMetadata = new File( "target/test-classes/retrievedMetadataFile.xml" ); File returnedMetadata = new File( "target/test-classes/retrievedMetadataFile.xml" );
FileUtils.writeStringToFile( returnedMetadata, response.getText() ); FileUtils.writeStringToFile( returnedMetadata, response.getText() );
ArchivaRepositoryMetadata metadata = RepositoryMetadataReader.read( returnedMetadata ); ArchivaRepositoryMetadata metadata = MavenMetadataReader.read( returnedMetadata );
assertResponseOK( response ); assertResponseOK( response );
assertEquals( "Versions list size", 4, metadata.getAvailableVersions().size() ); assertEquals( "Versions list size", 4, metadata.getAvailableVersions().size() );

View File

@ -24,6 +24,7 @@
import org.apache.archiva.configuration.ArchivaConfiguration; import org.apache.archiva.configuration.ArchivaConfiguration;
import org.apache.archiva.configuration.Configuration; import org.apache.archiva.configuration.Configuration;
import org.apache.archiva.configuration.ManagedRepositoryConfiguration; 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.model.ArtifactMetadata;
import org.apache.archiva.metadata.repository.MetadataRepository; import org.apache.archiva.metadata.repository.MetadataRepository;
import org.apache.archiva.metadata.repository.filter.Filter; import org.apache.archiva.metadata.repository.filter.Filter;
@ -32,8 +33,8 @@
import org.apache.archiva.model.ArchivaRepositoryMetadata; import org.apache.archiva.model.ArchivaRepositoryMetadata;
import org.apache.archiva.repository.RepositoryException; import org.apache.archiva.repository.RepositoryException;
import org.apache.archiva.repository.metadata.RepositoryMetadataException; 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.metadata.RepositoryMetadataWriter;
import org.apache.archiva.xml.XMLException;
import org.apache.commons.io.IOUtils; import org.apache.commons.io.IOUtils;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
@ -63,6 +64,7 @@ public class Maven2RepositoryMerger
{ {
private Logger log = LoggerFactory.getLogger( getClass() ); private Logger log = LoggerFactory.getLogger( getClass() );
/** /**
* *
*/ */
@ -78,7 +80,7 @@ public class Maven2RepositoryMerger
@Inject @Inject
public Maven2RepositoryMerger( public Maven2RepositoryMerger(
@Named( value = "archivaConfiguration#default" ) ArchivaConfiguration archivaConfiguration, @Named( value = "archivaConfiguration#default" ) ArchivaConfiguration archivaConfiguration,
@Named( value = "repositoryPathTranslator#maven2") RepositoryPathTranslator repositoryPathTranslator ) @Named( value = "repositoryPathTranslator#maven2" ) RepositoryPathTranslator repositoryPathTranslator )
{ {
this.configuration = archivaConfiguration; this.configuration = archivaConfiguration;
this.pathTranslator = repositoryPathTranslator; this.pathTranslator = repositoryPathTranslator;
@ -139,8 +141,6 @@ private void createFolderStructure( String sourceRepoId, String targetRepoId, Ar
String sourceRepoPath = sourceRepoConfig.getLocation(); String sourceRepoPath = sourceRepoConfig.getLocation();
String artifactPath = pathTranslator.toPath( artifactMetadata.getNamespace(), artifactMetadata.getProject(), String artifactPath = pathTranslator.toPath( artifactMetadata.getNamespace(), artifactMetadata.getProject(),
artifactMetadata.getProjectVersion(), artifactMetadata.getId() ); artifactMetadata.getProjectVersion(), artifactMetadata.getId() );
@ -180,10 +180,12 @@ private void createFolderStructure( String sourceRepoId, String targetRepoId, Ar
String index = artifactPath.substring( lastIndex + 1 ); String index = artifactPath.substring( lastIndex + 1 );
int last = index.lastIndexOf( '.' ); int last = index.lastIndexOf( '.' );
File sourcePomFile = new File( sourceRepoPath, artifactPath.substring( 0, lastIndex ) + "/" File sourcePomFile = new File( sourceRepoPath,
+ artifactPath.substring( lastIndex + 1 ).substring( 0, last ) + ".pom" ); artifactPath.substring( 0, lastIndex ) + "/" + artifactPath.substring(
File targetPomFile = new File( targetRepoPath, artifactPath.substring( 0, lastIndex ) + "/" lastIndex + 1 ).substring( 0, last ) + ".pom" );
+ 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() ) if ( !targetPomFile.exists() && sourcePomFile.exists() )
{ {
@ -335,7 +337,14 @@ private ArchivaRepositoryMetadata getMetadata( File metadataFile )
ArchivaRepositoryMetadata metadata = new ArchivaRepositoryMetadata(); ArchivaRepositoryMetadata metadata = new ArchivaRepositoryMetadata();
if ( metadataFile.exists() ) if ( metadataFile.exists() )
{ {
metadata = RepositoryMetadataReader.read( metadataFile ); try
{
metadata = MavenMetadataReader.read( metadataFile );
}
catch ( XMLException e )
{
throw new RepositoryMetadataException( e.getMessage(), e );
}
} }
return metadata; return metadata;
} }
@ -373,9 +382,9 @@ private boolean isEquals( ArtifactMetadata sourceArtifact, ArtifactMetadata targ
boolean isSame = false; boolean isSame = false;
if ( ( sourceArtifact.getNamespace().equals( targetArtifact.getNamespace() ) ) if ( ( sourceArtifact.getNamespace().equals( targetArtifact.getNamespace() ) )
&& ( sourceArtifact.getProject().equals( targetArtifact.getProject() ) ) && ( sourceArtifact.getProject().equals( targetArtifact.getProject() ) ) && ( sourceArtifact.getId().equals(
&& ( sourceArtifact.getId().equals( targetArtifact.getId() ) ) targetArtifact.getId() ) ) && ( sourceArtifact.getProjectVersion().equals(
&& ( sourceArtifact.getProjectVersion().equals( targetArtifact.getProjectVersion() ) ) ) targetArtifact.getProjectVersion() ) ) )
{ {
isSame = true; isSame = true;