You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@archiva.apache.org by ol...@apache.org on 2011/11/02 23:29:30 UTC
svn commit: r1196834 -
/archiva/trunk/archiva-modules/archiva-web/archiva-webdav/src/main/java/org/apache/archiva/webdav/ArchivaDavResourceFactory.java
Author: olamy
Date: Wed Nov 2 22:29:30 2011
New Revision: 1196834
URL: http://svn.apache.org/viewvc?rev=1196834&view=rev
Log:
do not display index directory in case of group
Modified:
archiva/trunk/archiva-modules/archiva-web/archiva-webdav/src/main/java/org/apache/archiva/webdav/ArchivaDavResourceFactory.java
Modified: archiva/trunk/archiva-modules/archiva-web/archiva-webdav/src/main/java/org/apache/archiva/webdav/ArchivaDavResourceFactory.java
URL: http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-web/archiva-webdav/src/main/java/org/apache/archiva/webdav/ArchivaDavResourceFactory.java?rev=1196834&r1=1196833&r2=1196834&view=diff
==============================================================================
--- archiva/trunk/archiva-modules/archiva-web/archiva-webdav/src/main/java/org/apache/archiva/webdav/ArchivaDavResourceFactory.java (original)
+++ archiva/trunk/archiva-modules/archiva-web/archiva-webdav/src/main/java/org/apache/archiva/webdav/ArchivaDavResourceFactory.java Wed Nov 2 22:29:30 2011
@@ -50,6 +50,7 @@ import org.apache.archiva.webdav.util.Mi
import org.apache.archiva.webdav.util.RepositoryPathUtil;
import org.apache.archiva.webdav.util.WebdavMethodUtil;
import org.apache.commons.io.FileUtils;
+import org.apache.commons.io.FilenameUtils;
import org.apache.commons.lang.StringUtils;
import org.apache.jackrabbit.webdav.DavException;
import org.apache.jackrabbit.webdav.DavResource;
@@ -948,49 +949,69 @@ public class ArchivaDavResourceFactory
File resourceFile = new File( managedRepository.getRepoRoot(), logicalResource.getPath() );
if ( resourceFile.exists() )
{
- // for prompted authentication
- if ( httpAuth.getSecuritySession( request.getSession( true ) ) != null )
+ // in case of group displaying index directory doesn't have sense !!
+ String repoIndexDirectory = managedRepository.getRepository().getIndexDirectory();
+ if ( !new File( repoIndexDirectory ).isAbsolute() )
{
- try
+ repoIndexDirectory = new File( managedRepository.getRepository().getLocation(),
+ StringUtils.isEmpty( repoIndexDirectory )
+ ? ".indexer"
+ : repoIndexDirectory ).getAbsolutePath();
+ }
+ if ( StringUtils.isEmpty( repoIndexDirectory ) )
+ {
+ repoIndexDirectory =
+ new File( managedRepository.getRepository().getLocation(), ".indexer" ).getAbsolutePath();
+ }
+
+ if ( !StringUtils.equals( FilenameUtils.normalize( repoIndexDirectory ),
+ FilenameUtils.normalize( resourceFile.getAbsolutePath() ) ) )
+ {
+ // for prompted authentication
+ if ( httpAuth.getSecuritySession( request.getSession( true ) ) != null )
{
- if ( isAuthorized( request, repository ) )
+ try
{
- mergedRepositoryContents.add( resourceFile );
- log.debug( "Repository '{}' accessed by '{}'", repository, activePrincipal );
+ if ( isAuthorized( request, repository ) )
+ {
+ mergedRepositoryContents.add( resourceFile );
+ log.debug( "Repository '{}' accessed by '{}'", repository, activePrincipal );
+ }
}
- }
- catch ( DavException e )
- {
- // TODO: review exception handling
- if ( log.isDebugEnabled() )
+ catch ( DavException e )
{
- log.debug(
- "Skipping repository '" + managedRepository + "' for user '" + activePrincipal
- + "': " + e.getMessage() );
+ // TODO: review exception handling
+ if ( log.isDebugEnabled() )
+ {
+ log.debug(
+ "Skipping repository '" + managedRepository + "' for user '" + activePrincipal
+ + "': " + e.getMessage() );
+ }
}
+
}
- }
- else
- {
- // for the current user logged in
- try
+ else
{
- if ( servletAuth.isAuthorized( activePrincipal, repository,
- WebdavMethodUtil.getMethodPermission(
- request.getMethod() ) ) )
+ // for the current user logged in
+ try
{
- mergedRepositoryContents.add( resourceFile );
- log.debug( "Repository '{}' accessed by '{}'", repository, activePrincipal );
+ if ( servletAuth.isAuthorized( activePrincipal, repository,
+ WebdavMethodUtil.getMethodPermission(
+ request.getMethod() ) ) )
+ {
+ mergedRepositoryContents.add( resourceFile );
+ log.debug( "Repository '{}' accessed by '{}'", repository, activePrincipal );
+ }
}
- }
- catch ( UnauthorizedException e )
- {
- // TODO: review exception handling
- if ( log.isDebugEnabled() )
+ catch ( UnauthorizedException e )
{
- log.debug(
- "Skipping repository '" + managedRepository + "' for user '" + activePrincipal
- + "': " + e.getMessage() );
+ // TODO: review exception handling
+ if ( log.isDebugEnabled() )
+ {
+ log.debug(
+ "Skipping repository '" + managedRepository + "' for user '" + activePrincipal
+ + "': " + e.getMessage() );
+ }
}
}
}