* 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;
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.*;
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() ) );
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;
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;
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;
*
*/
@Inject
- @Named(value = "fileTypes")
+ @Named( value = "fileTypes" )
private FileTypes filetypes;
private ChecksumAlgorithm[] algorithms = new ChecksumAlgorithm[]{ ChecksumAlgorithm.SHA1, ChecksumAlgorithm.MD5 };
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?
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?
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?
{
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 );
Set<Plugin> allPlugins;
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
{
try
{
- ArchivaRepositoryMetadata metadata = RepositoryMetadataReader.read( metadataFile );
+ ArchivaRepositoryMetadata metadata = MavenMetadataReader.read( metadataFile );
return getLastUpdated( metadata );
}
- catch ( RepositoryMetadataException e )
+ catch ( XMLException e )
{
// Error.
return 0;
+++ /dev/null
-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 );
- }
- }
-}
*/
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;
{
@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() );
@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() );
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;
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;
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;
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;
}
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;
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;
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;
}
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;
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;
// 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() );
// 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() );
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;
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;
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;
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
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;
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() );
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;
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;
{
private Logger log = LoggerFactory.getLogger( getClass() );
+
/**
*
*/
@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;
String sourceRepoPath = sourceRepoConfig.getLocation();
-
-
String artifactPath = pathTranslator.toPath( artifactMetadata.getNamespace(), artifactMetadata.getProject(),
artifactMetadata.getProjectVersion(), artifactMetadata.getId() );
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() )
{
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;
}
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;