private RepositoryProjectResolver toResolver( ArchivaRepository repo )
throws RepositoryException
{
if ( !repo.isManaged() )
{
throw new RepositoryException( "Unable to create RepositoryProjectResolver from non-managed repository: "
+ repo );
}
try
{
BidirectionalRepositoryLayout layout = layoutFactory.getLayout( repo.getLayoutType() );
ProjectModelReader reader = project400Reader;
if ( StringUtils.equals( "legacy", repo.getLayoutType() ) )
{
reader = project300Reader;
}
RepositoryProjectResolver resolver = new RepositoryProjectResolver( repo, reader, layout );
return resolver;
}
catch ( LayoutException e )
{
throw new RepositoryException( "Unable to create RepositoryProjectResolver due to invalid layout spec: "
+ repo );
}
}