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;