summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--archiva-modules/archiva-web/archiva-webdav/src/main/java/org/apache/archiva/webdav/ArchivaDavResourceFactory.java25
1 files changed, 17 insertions, 8 deletions
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 ba8f4ce22..c8fe1b87b 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
@@ -112,7 +112,7 @@ import java.util.Set;
/**
*
*/
-@Service ( "davResourceFactory#archiva" )
+@Service ("davResourceFactory#archiva")
public class ArchivaDavResourceFactory
implements DavResourceFactory, Auditable
{
@@ -145,7 +145,7 @@ public class ArchivaDavResourceFactory
*
*/
@Inject
- @Named ( value = "repositoryProxyConnectors#default" )
+ @Named (value = "repositoryProxyConnectors#default")
private RepositoryProxyConnectors connectors;
/**
@@ -175,7 +175,7 @@ public class ArchivaDavResourceFactory
*
*/
@Inject
- @Named ( value = "httpAuthenticator#basic" )
+ @Named (value = "httpAuthenticator#basic")
private HttpAuthenticator httpAuth;
@Inject
@@ -208,7 +208,7 @@ public class ArchivaDavResourceFactory
*
*/
@Inject
- @Named ( value = "archivaTaskScheduler#repository" )
+ @Named (value = "archivaTaskScheduler#repository")
private RepositoryArchivaTaskScheduler scheduler;
private ApplicationContext applicationContext;
@@ -852,10 +852,19 @@ public class ArchivaDavResourceFactory
response.setHeader( "Pragma", "no-cache" );
response.setHeader( "Cache-Control", "no-cache" );
}
-
- // We need to specify this so connecting wagons can work correctly
- response.setDateHeader( "last-modified", resource.getModificationTime() );
-
+ // if the resource is a directory don't cache it as new groupId deployed will be available
+ // without need of refreshing browser
+ if ( ( (ArchivaDavResource) resource ).getLocalResource().isDirectory() )
+ {
+ response.setHeader( "Pragma", "no-cache" );
+ response.setHeader( "Cache-Control", "no-cache" );
+ response.setDateHeader( "last-modified", new Date().getTime() );
+ }
+ else
+ {
+ // We need to specify this so connecting wagons can work correctly
+ response.setDateHeader( "last-modified", resource.getModificationTime() );
+ }
// TODO: [MRM-524] determine http caching options for other types of files (artifacts, sha1, md5, snapshots)
}