From: Olivier Lamy Date: Sun, 21 Apr 2013 13:22:26 +0000 (+0000) Subject: [MRM-1745] path of merged index for group configurable X-Git-Tag: archiva-1.4-M4~80 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=e0c2f0af78e7a4475e864db4b0f0cb3613fede97;p=archiva.git [MRM-1745] path of merged index for group configurable implement backend part git-svn-id: https://svn.apache.org/repos/asf/archiva/trunk@1470295 13f79535-47bb-0310-9956-ffa450edef68 --- diff --git a/archiva-modules/archiva-base/archiva-configuration/src/main/mdo/configuration.mdo b/archiva-modules/archiva-base/archiva-configuration/src/main/mdo/configuration.mdo index 55ffc242a..43b383819 100644 --- a/archiva-modules/archiva-base/archiva-configuration/src/main/mdo/configuration.mdo +++ b/archiva-modules/archiva-base/archiva-configuration/src/main/mdo/configuration.mdo @@ -840,6 +840,14 @@ true The id of the repository group. + + mergedIndexPath + 1.2.0+ + String + false + /.indexer + The path of the merged index. + repositories 1.2.0+ diff --git a/archiva-modules/archiva-web/archiva-webdav/src/main/java/org/apache/archiva/webdav/ArchivaDavResourceFactory.java b/archiva-modules/archiva-web/archiva-webdav/src/main/java/org/apache/archiva/webdav/ArchivaDavResourceFactory.java index 25fac26ad..bc72bccce 100644 --- a/archiva-modules/archiva-web/archiva-webdav/src/main/java/org/apache/archiva/webdav/ArchivaDavResourceFactory.java +++ b/archiva-modules/archiva-web/archiva-webdav/src/main/java/org/apache/archiva/webdav/ArchivaDavResourceFactory.java @@ -262,8 +262,8 @@ public class ArchivaDavResourceFactory // handle browse requests for virtual repos if ( RepositoryPathUtil.getLogicalResource( archivaLocator.getOrigResourcePath() ).endsWith( "/" ) ) { - return getResource( request, repoGroupConfig.getRepositories(), archivaLocator, - archivaLocator.getRepositoryId() ); + return getResourceFromGroup( request, repoGroupConfig.getRepositories(), archivaLocator, + repoGroupConfig ); } else { @@ -904,8 +904,9 @@ public class ArchivaDavResourceFactory } } - private DavResource getResource( DavServletRequest request, List repositories, - ArchivaDavResourceLocator locator, String groupId ) + private DavResource getResourceFromGroup( DavServletRequest request, List repositories, + ArchivaDavResourceLocator locator, + RepositoryGroupConfiguration repositoryGroupConfiguration ) throws DavException { List mergedRepositoryContents = new ArrayList(); @@ -930,9 +931,11 @@ public class ArchivaDavResourceFactory // remove last / String pathInfo = StringUtils.removeEnd( request.getPathInfo(), "/" ); - if ( StringUtils.endsWith( pathInfo, "/.indexer" ) ) + if ( StringUtils.endsWith( pathInfo, "/" + repositoryGroupConfiguration.getMergedIndexPath() ) + || StringUtils.endsWith( pathInfo, "/" + repositoryGroupConfiguration.getMergedIndexPath() + "/" ) ) { - File mergedRepoDir = buildMergedIndexDirectory( repositories, activePrincipal, request, groupId ); + File mergedRepoDir = buildMergedIndexDirectory( repositories, activePrincipal, request, + repositoryGroupConfiguration.getId() ); mergedRepositoryContents.add( mergedRepoDir ); } else