Author: olamy
Date: Sun Apr 21 13:22:26 2013
New Revision: 1470295
URL: http://svn.apache.org/r1470295
Log:
[MRM-1745] path of merged index for group configurable
implement backend part
Modified:
archiva/trunk/archiva-modules/archiva-base/archiva-configuration/src/main/mdo/configuration.mdo
archiva/trunk/archiva-modules/archiva-web/archiva-webdav/src/main/java/org/apache/archiva/webdav/ArchivaDavResourceFactory.java
Modified:
archiva/trunk/archiva-modules/archiva-base/archiva-configuration/src/main/mdo/configuration.mdo
URL:
http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-base/archiva-configuration/src/main/mdo/configuration.mdo?rev=1470295&r1=1470294&r2=1470295&view=diff
==============================================================================
---
archiva/trunk/archiva-modules/archiva-base/archiva-configuration/src/main/mdo/configuration.mdo
(original)
+++
archiva/trunk/archiva-modules/archiva-base/archiva-configuration/src/main/mdo/configuration.mdo
Sun Apr 21 13:22:26 2013
@@ -841,6 +841,14 @@
<description>The id of the repository group.</description>
</field>
<field>
+ <name>mergedIndexPath</name>
+ <version>1.2.0+</version>
+ <type>String</type>
+ <required>false</required>
+ <defaultValue>/.indexer</defaultValue>
+ <description>The path of the merged index.</description>
+ </field>
+ <field>
<name>repositories</name>
<version>1.2.0+</version>
<association>
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=1470295&r1=1470294&r2=1470295&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
Sun Apr 21 13:22:26 2013
@@ -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<String>
repositories,
- ArchivaDavResourceLocator locator, String
groupId )
+ private DavResource getResourceFromGroup( DavServletRequest request,
List<String> repositories,
+ ArchivaDavResourceLocator
locator,
+ RepositoryGroupConfiguration
repositoryGroupConfiguration )
throws DavException
{
List<File> mergedRepositoryContents = new ArrayList<File>();
@@ -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