Author: brett
Date: Mon Mar 1 06:01:43 2010
New Revision: 917399
URL: http://svn.apache.org/viewvc?rev=917399&view=rev
Log:
[MRM-1302] add some prevention for concurrent modification of a list
Merged from: r917398
Modified:
archiva/branches/archiva-1.3.x/ (props changed)
archiva/branches/archiva-1.3.x/archiva-modules/archiva-base/archiva-consumers/archiva-consumer-api/src/main/java/org/apache/maven/archiva/consumers/Consumer.java
(props changed)
archiva/branches/archiva-1.3.x/archiva-modules/archiva-web/archiva-webapp/src/main/resources/struts.properties
(props changed)
archiva/branches/archiva-1.3.x/archiva-modules/archiva-web/archiva-webapp/src/main/resources/struts.xml
(props changed)
archiva/branches/archiva-1.3.x/archiva-modules/archiva-web/archiva-webapp/src/test/java/org/apache/maven/archiva/security/UserRepositoriesStub.java
(props changed)
archiva/branches/archiva-1.3.x/archiva-modules/archiva-web/archiva-webapp/src/test/java/org/apache/maven/archiva/web/action/reports/
(props changed)
archiva/branches/archiva-1.3.x/archiva-modules/archiva-web/archiva-webapp/src/test/java/org/apache/maven/archiva/web/action/reports/GenerateReportActionTest.java
(props changed)
archiva/branches/archiva-1.3.x/archiva-modules/archiva-web/archiva-webapp/src/test/resources/org/apache/maven/archiva/web/action/reports/
(props changed)
archiva/branches/archiva-1.3.x/archiva-modules/archiva-web/archiva-webapp/src/test/resources/org/apache/maven/archiva/web/action/reports/GenerateReportActionTest.xml
(props changed)
archiva/branches/archiva-1.3.x/archiva-modules/archiva-web/archiva-webdav/src/main/java/org/apache/maven/archiva/webdav/ArchivaDavResourceFactory.java
Propchange: archiva/branches/archiva-1.3.x/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Mon Mar 1 06:01:43 2010
@@ -3,4 +3,4 @@
/archiva/branches/archiva-search-improvements:723609-726925
/archiva/branches/archiva-struts2:699795-705848
/archiva/tags/archiva-1.3:898632
-/archiva/trunk:900342,909454-909456
+/archiva/trunk:900342,909454-909456,917398
Propchange:
archiva/branches/archiva-1.3.x/archiva-modules/archiva-base/archiva-consumers/archiva-consumer-api/src/main/java/org/apache/maven/archiva/consumers/Consumer.java
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Mon Mar 1 06:01:43 2010
@@ -3,4 +3,4 @@
/archiva/branches/archiva-search-improvements/archiva-modules/archiva-base/archiva-consumers/archiva-consumer-api/src/main/java/org/apache/maven/archiva/consumers/Consumer.java:723609-726925
/archiva/branches/archiva-struts2/archiva-modules/archiva-base/archiva-consumers/archiva-consumer-api/src/main/java/org/apache/maven/archiva/consumers/BaseConsumer.java:699795-705848
/archiva/tags/archiva-1.3/archiva-modules/archiva-base/archiva-consumers/archiva-consumer-api/src/main/java/org/apache/maven/archiva/consumers/Consumer.java:898632
-/archiva/trunk/archiva-modules/archiva-base/archiva-consumers/archiva-consumer-api/src/main/java/org/apache/maven/archiva/consumers/Consumer.java:900342,909454-909456
+/archiva/trunk/archiva-modules/archiva-base/archiva-consumers/archiva-consumer-api/src/main/java/org/apache/maven/archiva/consumers/Consumer.java:900342,909454-909456,917398
Propchange:
archiva/branches/archiva-1.3.x/archiva-modules/archiva-web/archiva-webapp/src/main/resources/struts.properties
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Mon Mar 1 06:01:43 2010
@@ -3,4 +3,4 @@
/archiva/branches/archiva-search-improvements/archiva-modules/archiva-web/archiva-webapp/src/main/resources/struts.properties:723609-726925
/archiva/branches/archiva-struts2/archiva-modules/archiva-web/archiva-webapp/src/main/resources/struts.properties:699795-705848
/archiva/tags/archiva-1.3/archiva-modules/archiva-web/archiva-webapp/src/main/resources/struts.properties:898632
-/archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/main/resources/struts.properties:900342,909454-909456
+/archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/main/resources/struts.properties:900342,909454-909456,917398
Propchange:
archiva/branches/archiva-1.3.x/archiva-modules/archiva-web/archiva-webapp/src/main/resources/struts.xml
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Mon Mar 1 06:01:43 2010
@@ -3,4 +3,4 @@
/archiva/branches/archiva-search-improvements/archiva-modules/archiva-web/archiva-webapp/src/main/resources/struts.xml:723609-726925
/archiva/branches/archiva-struts2/archiva-modules/archiva-web/archiva-webapp/src/main/resources/struts.xml:699795-705848
/archiva/tags/archiva-1.3/archiva-modules/archiva-web/archiva-webapp/src/main/resources/struts.xml:898632
-/archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/main/resources/struts.xml:900342,909454-909456
+/archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/main/resources/struts.xml:900342,909454-909456,917398
Propchange:
archiva/branches/archiva-1.3.x/archiva-modules/archiva-web/archiva-webapp/src/test/java/org/apache/maven/archiva/security/UserRepositoriesStub.java
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Mon Mar 1 06:01:43 2010
@@ -3,4 +3,4 @@
/archiva/branches/archiva-search-improvements/archiva-modules/archiva-web/archiva-webapp/src/test/java/org/apache/maven/archiva/web/rss/UserRepositoriesStub.java:723609-726925
/archiva/branches/archiva-struts2/archiva-modules/archiva-web/archiva-webapp/src/test/java/org/apache/maven/archiva/web/rss/UserRepositoriesStub.java:699795-705848
/archiva/tags/archiva-1.3/archiva-modules/archiva-web/archiva-webapp/src/test/java/org/apache/maven/archiva/security/UserRepositoriesStub.java:898632
-/archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/test/java/org/apache/maven/archiva/security/UserRepositoriesStub.java:900342,909454-909456
+/archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/test/java/org/apache/maven/archiva/security/UserRepositoriesStub.java:900342,909454-909456,917398
Propchange:
archiva/branches/archiva-1.3.x/archiva-modules/archiva-web/archiva-webapp/src/test/java/org/apache/maven/archiva/web/action/reports/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Mon Mar 1 06:01:43 2010
@@ -3,4 +3,4 @@
/archiva/branches/archiva-search-improvements/archiva-modules/archiva-web/archiva-webapp/src/test/java/org/apache/maven/archiva/web/action/reports:723609-726925
/archiva/branches/archiva-struts2/archiva-modules/archiva-web/archiva-webapp/src/test/java/org/apache/maven/archiva/web/action/reports:699795-705848
/archiva/tags/archiva-1.3/archiva-modules/archiva-web/archiva-webapp/src/test/java/org/apache/maven/archiva/web/action/reports:898632*
-/archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/test/java/org/apache/maven/archiva/web/action/reports:900342,909454-909456
+/archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/test/java/org/apache/maven/archiva/web/action/reports:900342,909454-909456,917398
Propchange:
archiva/branches/archiva-1.3.x/archiva-modules/archiva-web/archiva-webapp/src/test/java/org/apache/maven/archiva/web/action/reports/GenerateReportActionTest.java
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Mon Mar 1 06:01:43 2010
@@ -3,4 +3,4 @@
/archiva/branches/archiva-search-improvements/archiva-modules/archiva-web/archiva-webapp/src/test/java/org/apache/maven/archiva/web/action/reports/GenerateReportActionTest.java:723609-726925
/archiva/branches/archiva-struts2/archiva-modules/archiva-web/archiva-webapp/src/test/java/org/apache/maven/archiva/web/action/reports/GenerateReportActionTest.java:699795-705848
/archiva/tags/archiva-1.3/archiva-modules/archiva-web/archiva-webapp/src/test/java/org/apache/maven/archiva/web/action/reports/GenerateReportActionTest.java:898632
-/archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/test/java/org/apache/maven/archiva/web/action/reports/GenerateReportActionTest.java:900342,909454-909456
+/archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/test/java/org/apache/maven/archiva/web/action/reports/GenerateReportActionTest.java:900342,909454-909456,917398
Propchange:
archiva/branches/archiva-1.3.x/archiva-modules/archiva-web/archiva-webapp/src/test/resources/org/apache/maven/archiva/web/action/reports/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Mon Mar 1 06:01:43 2010
@@ -3,4 +3,4 @@
/archiva/branches/archiva-search-improvements/archiva-modules/archiva-web/archiva-webapp/src/test/resources/org/apache/maven/archiva/web/action/reports:723609-726925
/archiva/branches/archiva-struts2/archiva-modules/archiva-web/archiva-webapp/src/test/resources/org/apache/maven/archiva/web/action/reports:699795-705848
/archiva/tags/archiva-1.3/archiva-modules/archiva-web/archiva-webapp/src/test/resources/org/apache/maven/archiva/web/action/reports:898632*
-/archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/test/resources/org/apache/maven/archiva/web/action/reports:900342,909454-909456
+/archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/test/resources/org/apache/maven/archiva/web/action/reports:900342,909454-909456,917398
Propchange:
archiva/branches/archiva-1.3.x/archiva-modules/archiva-web/archiva-webapp/src/test/resources/org/apache/maven/archiva/web/action/reports/GenerateReportActionTest.xml
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Mon Mar 1 06:01:43 2010
@@ -3,4 +3,4 @@
/archiva/branches/archiva-search-improvements/archiva-modules/archiva-web/archiva-webapp/src/test/resources/org/apache/maven/archiva/web/action/reports/GenerateReportActionTest.xml:723609-726925
/archiva/branches/archiva-struts2/archiva-modules/archiva-web/archiva-webapp/src/test/resources/org/apache/maven/archiva/web/action/reports/GenerateReportActionTest.xml:699795-705848
/archiva/tags/archiva-1.3/archiva-modules/archiva-web/archiva-webapp/src/test/resources/org/apache/maven/archiva/web/action/reports/GenerateReportActionTest.xml:898632
-/archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/test/resources/org/apache/maven/archiva/web/action/reports/GenerateReportActionTest.xml:900342,909454-909456
+/archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/test/resources/org/apache/maven/archiva/web/action/reports/GenerateReportActionTest.xml:900342,909454-909456,917398
Modified:
archiva/branches/archiva-1.3.x/archiva-modules/archiva-web/archiva-webdav/src/main/java/org/apache/maven/archiva/webdav/ArchivaDavResourceFactory.java
URL:
http://svn.apache.org/viewvc/archiva/branches/archiva-1.3.x/archiva-modules/archiva-web/archiva-webdav/src/main/java/org/apache/maven/archiva/webdav/ArchivaDavResourceFactory.java?rev=917399&r1=917398&r2=917399&view=diff
==============================================================================
---
archiva/branches/archiva-1.3.x/archiva-modules/archiva-web/archiva-webdav/src/main/java/org/apache/maven/archiva/webdav/ArchivaDavResourceFactory.java
(original)
+++
archiva/branches/archiva-1.3.x/archiva-modules/archiva-web/archiva-webdav/src/main/java/org/apache/maven/archiva/webdav/ArchivaDavResourceFactory.java
Mon Mar 1 06:01:43 2010
@@ -88,6 +88,14 @@
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import java.io.File;
+import java.io.FileNotFoundException;
+import java.io.FileReader;
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.List;
+import javax.servlet.http.HttpServletResponse;
+
/**
* @plexus.component
role="org.apache.maven.archiva.webdav.ArchivaDavResourceFactory"
*/
@@ -206,10 +214,13 @@
return getResource( request,
repoGroupConfig.getRepositories(), archivaLocator );
}
else
- {
- resource =
- processRepositoryGroup( request, archivaLocator,
repoGroupConfig.getRepositories(),
- activePrincipal,
resourcesInAbsolutePath );
+ {
+ // make a copy to avoid potential concurrent modifications
(eg. by configuration)
+ // TODO: ultimately, locking might be more efficient than
copying in this fashion since updates are
+ // infrequent
+ ArrayList<String> repositories = new ArrayList<String>(
repoGroupConfig.getRepositories() );
+ resource = processRepositoryGroup( request, archivaLocator,
repositories, activePrincipal,
+ resourcesInAbsolutePath );
}
}
else
@@ -222,8 +233,8 @@
}
catch ( RepositoryNotFoundException e )
{
- throw new DavException( HttpServletResponse.SC_NOT_FOUND,
"Invalid repository: " +
- archivaLocator.getRepositoryId() );
+ throw new DavException( HttpServletResponse.SC_NOT_FOUND,
+ "Invalid repository: " +
archivaLocator.getRepositoryId() );
}
catch ( RepositoryException e )
{
@@ -231,19 +242,20 @@
}
log.debug( "Managed repository '" + managedRepository.getId() + "'
accessed by '" + activePrincipal + "'" );
-
- resource = processRepository( request, archivaLocator,
activePrincipal, managedRepository );
+
+ resource = processRepository( request, archivaLocator,
activePrincipal, managedRepository );
String logicalResource = RepositoryPathUtil.getLogicalResource(
locator.getResourcePath() );
- resourcesInAbsolutePath.add( new File(
managedRepository.getRepoRoot(), logicalResource ).getAbsolutePath() );
+ resourcesInAbsolutePath.add( new File(
managedRepository.getRepoRoot(),
+ logicalResource
).getAbsolutePath() );
}
String requestedResource = request.getRequestURI();
// MRM-872 : merge all available metadata
// merge metadata only when requested via the repo group
- if ( ( repositoryRequest.isMetadata( requestedResource ) ||
repositoryRequest.isMetadataSupportFile( requestedResource ) ) &&
- repoGroupConfig != null )
+ if ( ( repositoryRequest.isMetadata( requestedResource ) ||
repositoryRequest.isMetadataSupportFile(
+ requestedResource ) ) && repoGroupConfig != null )
{
// this should only be at the project level not version level!
if ( isProjectReference( requestedResource ) )
@@ -252,19 +264,19 @@
artifactId = StringUtils.substringAfterLast( artifactId, "/" );
ArchivaDavResource res = (ArchivaDavResource) resource;
- String filePath =
- StringUtils.substringBeforeLast(
res.getLocalResource().getAbsolutePath().replace( '\\', '/' ), "/" );
+ String filePath = StringUtils.substringBeforeLast(
res.getLocalResource().getAbsolutePath().replace(
+ '\\', '/' ), "/" );
filePath = filePath + "/maven-metadata-" +
repoGroupConfig.getId() + ".xml";
// for MRM-872 handle checksums of the merged metadata files
if ( repositoryRequest.isSupportFile( requestedResource ) )
{
- File metadataChecksum =
- new File( filePath + "." +
StringUtils.substringAfterLast( requestedResource, "." ) );
+ File metadataChecksum = new File( filePath + "." +
StringUtils.substringAfterLast(
+ requestedResource, "." ) );
if ( metadataChecksum.exists() )
{
- LogicalResource logicalResource =
- new LogicalResource(
RepositoryPathUtil.getLogicalResource( locator.getResourcePath() ) );
+ LogicalResource logicalResource = new LogicalResource(
RepositoryPathUtil.getLogicalResource(
+ locator.getResourcePath() ) );
resource =
new ArchivaDavResource(
metadataChecksum.getAbsolutePath(), logicalResource.getPath(),
@@ -298,8 +310,8 @@
{
File resourceFile = writeMergedMetadataToFile(
mergedMetadata, filePath );
- LogicalResource logicalResource =
- new LogicalResource(
RepositoryPathUtil.getLogicalResource( locator.getResourcePath() ) );
+ LogicalResource logicalResource = new
LogicalResource(
+ RepositoryPathUtil.getLogicalResource(
locator.getResourcePath() ) );
resource =
new ArchivaDavResource(
resourceFile.getAbsolutePath(), logicalResource.getPath(),
@@ -348,7 +360,7 @@
for ( String repositoryId : repositories )
{
- ManagedRepositoryContent managedRepository = null;
+ ManagedRepositoryContent managedRepository;
try
{
managedRepository =
repositoryFactory.getManagedRepositoryContent( repositoryId );
@@ -364,8 +376,8 @@
try
{
- DavResource updatedResource =
- processRepository( request, archivaLocator,
activePrincipal, managedRepository );
+ DavResource updatedResource = processRepository( request,
archivaLocator, activePrincipal,
+
managedRepository );
if ( resource == null )
{
resource = updatedResource;
@@ -376,7 +388,8 @@
{
logicalResource = logicalResource.substring( 1 );
}
- resourcesInAbsolutePath.add( new File(
managedRepository.getRepoRoot(), logicalResource ).getAbsolutePath() );
+ resourcesInAbsolutePath.add( new File(
managedRepository.getRepoRoot(),
+ logicalResource
).getAbsolutePath() );
}
catch ( DavException e )
{
@@ -448,8 +461,8 @@
{
// Perform an adjustment of the resource to the
managed
// repository expected path.
- String localResourcePath =
- repositoryRequest.toNativePath(
logicalResource.getPath(), managedRepository );
+ String localResourcePath =
repositoryRequest.toNativePath( logicalResource.getPath(),
+
managedRepository );
resourceFile = new File(
managedRepository.getRepoRoot(), localResourcePath );
resource =
new ArchivaDavResource(
resourceFile.getAbsolutePath(), logicalResource.getPath(),
@@ -467,9 +480,8 @@
if ( fromProxy )
{
- String event =
- ( previouslyExisted ? AuditEvent.MODIFY_FILE :
AuditEvent.CREATE_FILE ) +
- PROXIED_SUFFIX;
+ String event = ( previouslyExisted ?
AuditEvent.MODIFY_FILE : AuditEvent.CREATE_FILE ) +
+ PROXIED_SUFFIX;
log.debug( "Proxied artifact '" +
resourceFile.getName() + "' in repository '" +
managedRepository.getId() + "' (current user
'" + activePrincipal + "')" );
@@ -489,7 +501,7 @@
if ( request.getMethod().equals( HTTP_PUT_METHOD ) )
{
String resourcePath = logicalResource.getPath();
-
+
// check if target repo is enabled for releases
// we suppose that release-artifacts can be deployed only to
repos enabled for releases
if ( managedRepository.getRepository().isReleases() &&
!repositoryRequest.isMetadata( resourcePath ) &&
@@ -499,13 +511,15 @@
try
{
artifact = managedRepository.toArtifactReference(
resourcePath );
-
+
if ( !VersionUtil.isSnapshot( artifact.getVersion() ) )
{
// check if artifact already exists and if
artifact re-deployment to the repository is allowed
- if ( managedRepository.hasContent( artifact ) &&
managedRepository.getRepository().isBlockRedeployments() )
+ if ( managedRepository.hasContent( artifact ) &&
+
managedRepository.getRepository().isBlockRedeployments() )
{
- log.warn( "Overwriting released artifacts in
repository '" + managedRepository.getId() + "' is not allowed." );
+ log.warn( "Overwriting released artifacts in
repository '" + managedRepository.getId() +
+ "' is not allowed." );
throw new DavException(
HttpServletResponse.SC_CONFLICT,
"Overwriting released
artifacts is not allowed." );
}
@@ -532,8 +546,9 @@
destDir.mkdirs();
String relPath = PathUtil.getRelative(
rootDirectory.getAbsolutePath(), destDir );
- log.debug( "Creating destination directory '" +
destDir.getName() + "' (current user '" +
- activePrincipal + "')" );
+ log.debug(
+ "Creating destination directory '" + destDir.getName()
+ "' (current user '" + activePrincipal +
+ "')" );
triggerAuditEvent( request.getRemoteAddr(),
managedRepository.getId(), relPath,
AuditEvent.CREATE_DIR, activePrincipal
);
@@ -555,8 +570,8 @@
}
catch ( RepositoryNotFoundException e )
{
- throw new DavException( HttpServletResponse.SC_NOT_FOUND, "Invalid
repository: " +
- archivaLocator.getRepositoryId() );
+ throw new DavException( HttpServletResponse.SC_NOT_FOUND,
+ "Invalid repository: " +
archivaLocator.getRepositoryId() );
}
catch ( RepositoryException e )
{
@@ -622,7 +637,8 @@
catch ( ProxyDownloadException e )
{
log.error( e.getMessage(), e );
- throw new DavException(
HttpServletResponse.SC_INTERNAL_SERVER_ERROR, "Unable to fetch artifact
resource." );
+ throw new DavException(
HttpServletResponse.SC_INTERNAL_SERVER_ERROR,
+ "Unable to fetch artifact resource." );
}
return false;
}
@@ -715,6 +731,7 @@
}
// TODO: remove?
+
private void triggerAuditEvent( String remoteIP, String repositoryId,
String resource, String action,
String principal )
{
@@ -811,9 +828,10 @@
AuthenticationResult result = httpAuth.getAuthenticationResult(
request, null );
SecuritySession securitySession = httpAuth.getSecuritySession(
request.getSession( true ) );
- return servletAuth.isAuthenticated( request, result ) &&
- servletAuth.isAuthorized( request, securitySession,
repositoryId,
-
WebdavMethodUtil.getMethodPermission( request.getMethod() ) );
+ return servletAuth.isAuthenticated( request, result ) &&
servletAuth.isAuthorized( request, securitySession,
+
repositoryId,
+
WebdavMethodUtil.getMethodPermission(
+
request.getMethod() ) );
}
catch ( AuthenticationException e )
{
@@ -821,8 +839,7 @@
String guest = UserManager.GUEST_USERNAME;
try
{
- if ( servletAuth.isAuthorized(
- guest,
+ if ( servletAuth.isAuthorized( guest,
( (ArchivaDavResourceLocator)
request.getRequestLocator() ).getRepositoryId(),
WebdavMethodUtil.getMethodPermission( request.getMethod() ) ) )
{
@@ -915,8 +932,9 @@
catch ( DavException e )
{
// TODO: review exception handling
- log.debug( "Skipping repository '" +
managedRepository + "' for user '" + activePrincipal +
- "': " + e.getMessage() );
+ log.debug(
+ "Skipping repository '" + managedRepository +
"' for user '" + activePrincipal + "': " +
+ e.getMessage() );
}
}
else
@@ -925,7 +943,8 @@
try
{
if ( servletAuth.isAuthorized( activePrincipal,
repository,
-
WebdavMethodUtil.getMethodPermission( request.getMethod() ) ) )
+
WebdavMethodUtil.getMethodPermission(
+
request.getMethod() ) ) )
{
mergedRepositoryContents.add( resourceFile );
log.debug( "Repository '" + repository + "'
accessed by '" + activePrincipal + "'" );
@@ -934,8 +953,9 @@
catch ( UnauthorizedException e )
{
// TODO: review exception handling
- log.debug( "Skipping repository '" +
managedRepository + "' for user '" + activePrincipal +
- "': " + e.getMessage() );
+ log.debug(
+ "Skipping repository '" + managedRepository +
"' for user '" + activePrincipal + "': " +
+ e.getMessage() );
}
}
}
@@ -946,9 +966,9 @@
throw new UnauthorizedDavException( locator.getRepositoryId(),
"User not authorized." );
}
- ArchivaVirtualDavResource resource =
- new ArchivaVirtualDavResource( mergedRepositoryContents,
logicalResource.getPath(), mimeTypes, locator,
- this );
+ ArchivaVirtualDavResource resource = new ArchivaVirtualDavResource(
mergedRepositoryContents,
+
logicalResource.getPath(), mimeTypes,
+
locator, this );
// compatibility with MRM-440 to ensure browsing the repository group
works ok
if ( resource.isCollection() && !request.getRequestURI().endsWith( "/"
) )
@@ -967,7 +987,7 @@
/**
* Check if the current user is authorized to access any of the repos
- *
+ *
* @param request
* @param repositories
* @param activePrincipal
@@ -1002,8 +1022,8 @@
{
try
{
- if ( servletAuth.isAuthorized( activePrincipal, repository,
-
WebdavMethodUtil.getMethodPermission( request.getMethod() ) ) )
+ if ( servletAuth.isAuthorized( activePrincipal,
repository, WebdavMethodUtil.getMethodPermission(
+ request.getMethod() ) ) )
{
allow = true;
break;