mirror of
https://github.com/apache/archiva.git
synced 2025-03-07 00:49:49 +00:00
Moving to new layout interface
This commit is contained in:
parent
da89fe394c
commit
ddfcb4adb6
@ -288,8 +288,14 @@ public StorageAsset fetchFromProxies( ManagedRepository repository, String path
|
||||
}
|
||||
|
||||
@Override
|
||||
public ProxyFetchResult fetchMetadataFromProxies( ManagedRepository repository, String logicalPath )
|
||||
public ProxyFetchResult fetchMetadataFromProxies( ManagedRepository repository, String rawLogicalPath )
|
||||
{
|
||||
String logicalPath;
|
||||
if (rawLogicalPath.startsWith( "/" )){
|
||||
logicalPath = rawLogicalPath.substring( 1 );
|
||||
} else {
|
||||
logicalPath = rawLogicalPath;
|
||||
}
|
||||
StorageAsset localFile = repository.getAsset( logicalPath );
|
||||
|
||||
Properties requestProperties = new Properties();
|
||||
@ -470,7 +476,11 @@ protected StorageAsset transferFile( ProxyConnector connector, RemoteRepository
|
||||
{
|
||||
url = url + "/";
|
||||
}
|
||||
url = url + remotePath;
|
||||
if (remotePath.startsWith( "/" )) {
|
||||
url = url + remotePath.substring( 1 );
|
||||
} else {
|
||||
url = url + remotePath;
|
||||
}
|
||||
requestProperties.setProperty( "url", url );
|
||||
|
||||
// Is a whitelist defined?
|
||||
|
@ -258,6 +258,14 @@ public interface BaseRepositoryContentLayout extends ManagedRepositoryContentLay
|
||||
*/
|
||||
DataItem getMetadataItem( Version version );
|
||||
|
||||
/**
|
||||
* Returns the metadata file for the given project
|
||||
*
|
||||
* @param project the project
|
||||
* @return the metadata file
|
||||
*/
|
||||
DataItem getMetadataItem( Project project );
|
||||
|
||||
|
||||
/// ***************** End of new generation interface **********************
|
||||
|
||||
|
@ -292,6 +292,14 @@ public DataItem getMetadataItem( Version version )
|
||||
.withDataType( BaseDataItemTypes.METADATA ).build();
|
||||
}
|
||||
|
||||
@Override
|
||||
public DataItem getMetadataItem( Project project )
|
||||
{
|
||||
return ArchivaDataItem.withAsset( project.getAsset( ).resolve( "maven-metadata.xml" ) ).withId( "maven-metadata.xml" )
|
||||
.withDataType( BaseDataItemTypes.METADATA ).build( );
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public ContentItem toItem( String path ) throws LayoutException
|
||||
{
|
||||
|
@ -29,6 +29,7 @@
|
||||
import org.apache.archiva.model.VersionedReference;
|
||||
import org.apache.archiva.repository.*;
|
||||
import org.apache.archiva.repository.content.Artifact;
|
||||
import org.apache.archiva.repository.content.BaseDataItemTypes;
|
||||
import org.apache.archiva.repository.content.ContentItem;
|
||||
import org.apache.archiva.repository.content.DataItem;
|
||||
import org.apache.archiva.repository.content.ItemNotFoundException;
|
||||
@ -36,6 +37,7 @@
|
||||
import org.apache.archiva.repository.content.Namespace;
|
||||
import org.apache.archiva.repository.content.Project;
|
||||
import org.apache.archiva.repository.content.Version;
|
||||
import org.apache.archiva.repository.content.base.ArchivaDataItem;
|
||||
import org.apache.archiva.repository.content.base.ArchivaNamespace;
|
||||
import org.apache.archiva.repository.content.base.ArchivaProject;
|
||||
import org.apache.archiva.repository.content.base.ArchivaVersion;
|
||||
@ -286,6 +288,14 @@ public DataItem getMetadataItem( Version version )
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public DataItem getMetadataItem( Project project )
|
||||
{
|
||||
return ArchivaDataItem.withAsset( project.getAsset( ).resolve( "maven-metadata.xml" ) ).withId( "maven-metadata.xml" )
|
||||
.withDataType( BaseDataItemTypes.METADATA ).build( );
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public ContentItem toItem( String path ) throws LayoutException
|
||||
{
|
||||
|
@ -34,7 +34,9 @@
|
||||
import org.apache.archiva.repository.BaseRepositoryContentLayout;
|
||||
import org.apache.archiva.repository.content.ContentItem;
|
||||
import org.apache.archiva.repository.content.DataItem;
|
||||
import org.apache.archiva.repository.content.Project;
|
||||
import org.apache.archiva.repository.content.Version;
|
||||
import org.apache.archiva.repository.content.base.ArchivaItemSelector;
|
||||
import org.apache.archiva.repository.metadata.base.MetadataTools;
|
||||
import org.apache.archiva.repository.metadata.RepositoryMetadataException;
|
||||
import org.apache.archiva.repository.metadata.base.RepositoryMetadataWriter;
|
||||
@ -129,13 +131,13 @@ public void testGetProjectMetadataProxiedNotLocalOnRemoteConnectoDisabled()
|
||||
assertNoRepoMetadata( ID_PROXIED1, requestedResource );
|
||||
|
||||
Path expectedFile = managedDefaultDir.resolve(requestedResource);
|
||||
|
||||
ProjectReference metadata = createProjectReference( requestedResource );
|
||||
|
||||
BaseRepositoryContentLayout layout = managedDefaultRepository.getLayout( BaseRepositoryContentLayout.class );
|
||||
ContentItem metaItem = managedDefaultRepository.toItem( requestedResource );
|
||||
Project project = layout.adaptItem( Project.class, managedDefaultRepository.getParent( metaItem ) );
|
||||
assertNotNull( project );
|
||||
String metaPath = managedDefaultRepository.toPath( layout.getMetadataItem( project ) );
|
||||
StorageAsset downloadedFile = proxyHandler.fetchMetadataFromProxies( managedDefaultRepository.getRepository(),
|
||||
layout.toMetadataPath(
|
||||
metadata ) ).getFile();
|
||||
metaPath ).getFile();
|
||||
|
||||
assertNull( "Should not have downloaded a file.", downloadedFile );
|
||||
assertNoTempFiles( expectedFile );
|
||||
@ -994,13 +996,14 @@ private void assertFetchProjectOrGroup( String requestedResource )
|
||||
{
|
||||
Path expectedFile = managedDefaultDir.resolve(requestedResource);
|
||||
|
||||
ProjectReference metadata = createProjectReference( requestedResource );
|
||||
|
||||
BaseRepositoryContentLayout layout = managedDefaultRepository.getLayout( BaseRepositoryContentLayout.class );
|
||||
ContentItem metaItem = managedDefaultRepository.toItem( requestedResource );
|
||||
Project project = layout.adaptItem( Project.class, managedDefaultRepository.getParent( metaItem ) );
|
||||
assertNotNull( project );
|
||||
String metaPath = managedDefaultRepository.toPath( layout.getMetadataItem( project ) );
|
||||
|
||||
StorageAsset downloadedFile = proxyHandler.fetchMetadataFromProxies( managedDefaultRepository.getRepository(),
|
||||
layout.toMetadataPath(
|
||||
metadata ) ).getFile();
|
||||
metaPath ).getFile();
|
||||
|
||||
assertNotNull( "Should have downloaded a file.", downloadedFile );
|
||||
assertNoTempFiles( expectedFile );
|
||||
@ -1022,12 +1025,14 @@ private void assertFetchProjectOrGroupFailed( String requestedResource )
|
||||
throws Exception
|
||||
{
|
||||
Path expectedFile = managedDefaultDir.resolve(requestedResource);
|
||||
ProjectReference metadata = createProjectReference( requestedResource );
|
||||
|
||||
BaseRepositoryContentLayout layout = managedDefaultRepository.getLayout( BaseRepositoryContentLayout.class );
|
||||
ContentItem metaItem = managedDefaultRepository.toItem( requestedResource );
|
||||
Project project = layout.adaptItem( Project.class, managedDefaultRepository.getParent( metaItem ) );
|
||||
assertNotNull( project );
|
||||
String metaPath = managedDefaultRepository.toPath( layout.getMetadataItem( project ) );
|
||||
StorageAsset downloadedFile = proxyHandler.fetchMetadataFromProxies( managedDefaultRepository.getRepository(),
|
||||
layout.toMetadataPath(
|
||||
metadata ) ).getFile();
|
||||
metaPath ).getFile();
|
||||
|
||||
assertNull( downloadedFile );
|
||||
assertNoTempFiles( expectedFile );
|
||||
|
@ -293,6 +293,13 @@ public DataItem getMetadataItem( Version version )
|
||||
.withDataType( BaseDataItemTypes.METADATA ).build();
|
||||
}
|
||||
|
||||
@Override
|
||||
public DataItem getMetadataItem( Project project )
|
||||
{
|
||||
return ArchivaDataItem.withAsset( project.getAsset( ).resolve( "maven-metadata.xml" ) ).withId( "maven-metadata.xml" )
|
||||
.withDataType( BaseDataItemTypes.METADATA ).build( );
|
||||
}
|
||||
|
||||
@Override
|
||||
public ContentItem toItem( String path ) throws LayoutException
|
||||
{
|
||||
|
@ -1336,6 +1336,13 @@ public DataItem getMetadataItem( Version version ) {
|
||||
return getDataItemFromPath( metaPath );
|
||||
}
|
||||
|
||||
@Override
|
||||
public DataItem getMetadataItem( Project project )
|
||||
{
|
||||
StorageAsset metaPath = project.getAsset( ).resolve( MAVEN_METADATA );
|
||||
return getDataItemFromPath( metaPath );
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public void deleteVersion( VersionedReference ref ) throws ContentNotFoundException, ContentAccessException
|
||||
|
Loading…
x
Reference in New Issue
Block a user