[MRM-1854] Last modified date is epoch on directory listing for a group

This commit is contained in:
Olivier Lamy 2014-09-01 14:04:41 +10:00
parent d42a81ac34
commit d4c85abfac
1 changed files with 13 additions and 4 deletions

View File

@ -244,7 +244,7 @@ public class ArchivaDavResourceFactory
getResourceFromGroup( request, repoGroupConfig.getRepositories(), archivaLocator, getResourceFromGroup( request, repoGroupConfig.getRepositories(), archivaLocator,
repoGroupConfig ); repoGroupConfig );
setHeaders( response, locator, davResource ); setHeaders( response, locator, davResource, true );
return davResource; return davResource;
@ -291,7 +291,7 @@ public class ArchivaDavResourceFactory
auditListeners, // auditListeners, //
scheduler, // scheduler, //
fileLockManager ); fileLockManager );
setHeaders( response, locator, resource ); setHeaders( response, locator, resource, false );
return resource; return resource;
} }
} }
@ -432,7 +432,7 @@ public class ArchivaDavResourceFactory
} }
} }
setHeaders( response, locator, resource ); setHeaders( response, locator, resource, false );
// compatibility with MRM-440 to ensure browsing the repository works ok // compatibility with MRM-440 to ensure browsing the repository works ok
if ( resource.isCollection() && !request.getRequestURI().endsWith( "/" ) ) if ( resource.isCollection() && !request.getRequestURI().endsWith( "/" ) )
@ -873,7 +873,8 @@ public class ArchivaDavResourceFactory
this.auditListeners.remove( listener ); this.auditListeners.remove( listener );
} }
private void setHeaders( DavServletResponse response, DavResourceLocator locator, DavResource resource ) private void setHeaders( DavServletResponse response, DavResourceLocator locator, DavResource resource,
boolean group )
{ {
// [MRM-503] - Metadata file need Pragma:no-cache response // [MRM-503] - Metadata file need Pragma:no-cache response
// header. // header.
@ -894,6 +895,14 @@ public class ArchivaDavResourceFactory
response.setHeader( "Cache-Control", "no-cache" ); response.setHeader( "Cache-Control", "no-cache" );
response.setDateHeader( "Last-Modified", new Date().getTime() ); response.setDateHeader( "Last-Modified", new Date().getTime() );
} }
else if ( group )
{
if ( resource instanceof ArchivaVirtualDavResource )
{
//MRM-1854 here we have a directory so force "Last-Modified"
response.setDateHeader( "Last-Modified", new Date().getTime() );
}
}
else else
{ {
// We need to specify this so connecting wagons can work correctly // We need to specify this so connecting wagons can work correctly