DavResource resource = null;
List<DavException> storedExceptions = new ArrayList<DavException>();
for ( String repositoryId : repositories )
{
ManagedRepositoryContent managedRepository;
try
{
managedRepository = repositoryFactory.getManagedRepositoryContent( repositoryId );
}
catch ( RepositoryNotFoundException e )
{
throw new DavException( HttpServletResponse.SC_INTERNAL_SERVER_ERROR, e );
}
catch ( RepositoryException e )
{
throw new DavException( HttpServletResponse.SC_INTERNAL_SERVER_ERROR, e );
}
try
{
DavResource updatedResource = processRepository( request, archivaLocator, activePrincipal,
managedRepository );
if ( resource == null )
{
resource = updatedResource;
}
String logicalResource = RepositoryPathUtil.getLogicalResource( archivaLocator.getResourcePath() );
if ( logicalResource.endsWith( "/" ) )
{
logicalResource = logicalResource.substring( 1 );
}
resourcesInAbsolutePath.add( new File( managedRepository.getRepoRoot(),
logicalResource ).getAbsolutePath() );
}
catch ( DavException e )
{
storedExceptions.add( e );