Author: olamy
Date: Sun Apr 21 23:36:06 2013
New Revision: 1470364

URL: http://svn.apache.org/r1470364
Log:
add mergedIndexPath in repo group view

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=1470364&r1=1470363&r2=1470364&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 23:36:06 2013
@@ -73,6 +73,7 @@ import org.apache.archiva.xml.XMLExcepti
 import org.apache.commons.io.FileUtils;
 import org.apache.commons.io.FilenameUtils;
 import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang.SystemUtils;
 import org.apache.jackrabbit.webdav.DavException;
 import org.apache.jackrabbit.webdav.DavResource;
 import org.apache.jackrabbit.webdav.DavResourceFactory;
@@ -445,7 +446,7 @@ public class ArchivaDavResourceFactory
 
         String rootPath = StringUtils.substringBeforeLast( pathInfo, "/" );
 
-        if ( StringUtils.endsWith( rootPath, "/.indexer" ) )
+        if ( StringUtils.endsWith( rootPath, "/" + 
repoGroupConfig.getMergedIndexPath() ) )
         {
             // we are in the case of index file request
             String requestedFileName = StringUtils.substringAfterLast( 
pathInfo, "/" );
@@ -926,11 +927,12 @@ public class ArchivaDavResourceFactory
 
         boolean allow = isAllowedToContinue( request, repositories, 
activePrincipal );
 
+        // remove last /
+        String pathInfo = StringUtils.removeEnd( request.getPathInfo(), "/" );
+
         if ( allow )
         {
 
-            // remove last /
-            String pathInfo = StringUtils.removeEnd( request.getPathInfo(), 
"/" );
             if ( StringUtils.endsWith( pathInfo, 
repositoryGroupConfiguration.getMergedIndexPath() ) )
             {
                 File mergedRepoDir =
@@ -939,6 +941,23 @@ public class ArchivaDavResourceFactory
             }
             else
             {
+                if ( StringUtils.equalsIgnoreCase( pathInfo, "/" + 
repositoryGroupConfiguration.getId() ) )
+                {
+                    File tmpDirectory = new File( 
SystemUtils.getJavaIoTmpDir(),
+                                                  
repositoryGroupConfiguration.getId() + "/"
+                                                      + 
repositoryGroupConfiguration.getMergedIndexPath() );
+                    if ( !tmpDirectory.exists() )
+                    {
+                        synchronized ( tmpDirectory.getAbsolutePath() )
+                        {
+                            if ( !tmpDirectory.exists() )
+                            {
+                                tmpDirectory.mkdirs();
+                            }
+                        }
+                    }
+                    mergedRepositoryContents.add( tmpDirectory.getParentFile() 
);
+                }
                 for ( String repository : repositories )
                 {
                     ManagedRepositoryContent managedRepository = null;


Reply via email to