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


Reply via email to