mirror of
https://github.com/scm-manager/scm-manager.git
synced 2025-11-12 08:25:44 +01:00
disable caching for repositories
This commit is contained in:
@@ -237,7 +237,18 @@ public abstract class AbstractManagerResource<T extends ModelObject,
|
|||||||
|
|
||||||
prepareForReturn(item);
|
prepareForReturn(item);
|
||||||
|
|
||||||
return createResponse(request, item);
|
Response response = null;
|
||||||
|
|
||||||
|
if (disableCache)
|
||||||
|
{
|
||||||
|
response = Response.ok(item).build();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
response = createCacheResponse(request, item);
|
||||||
|
}
|
||||||
|
|
||||||
|
return response;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -259,7 +270,18 @@ public abstract class AbstractManagerResource<T extends ModelObject,
|
|||||||
prepareForReturn(manager.getAll());
|
prepareForReturn(manager.getAll());
|
||||||
}
|
}
|
||||||
|
|
||||||
return createResponse(request, items);
|
Response response = null;
|
||||||
|
|
||||||
|
if (disableCache)
|
||||||
|
{
|
||||||
|
response = Response.ok(items).build();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
response = createCacheResponse(request, items);
|
||||||
|
}
|
||||||
|
|
||||||
|
return response;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -273,6 +295,17 @@ public abstract class AbstractManagerResource<T extends ModelObject,
|
|||||||
return cacheMaxAge;
|
return cacheMaxAge;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Method description
|
||||||
|
*
|
||||||
|
*
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
public boolean isDisableCache()
|
||||||
|
{
|
||||||
|
return disableCache;
|
||||||
|
}
|
||||||
|
|
||||||
//~--- set methods ----------------------------------------------------------
|
//~--- set methods ----------------------------------------------------------
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -286,6 +319,17 @@ public abstract class AbstractManagerResource<T extends ModelObject,
|
|||||||
this.cacheMaxAge = cacheMaxAge;
|
this.cacheMaxAge = cacheMaxAge;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Method description
|
||||||
|
*
|
||||||
|
*
|
||||||
|
* @param disableCache
|
||||||
|
*/
|
||||||
|
public void setDisableCache(boolean disableCache)
|
||||||
|
{
|
||||||
|
this.disableCache = disableCache;
|
||||||
|
}
|
||||||
|
|
||||||
//~--- methods --------------------------------------------------------------
|
//~--- methods --------------------------------------------------------------
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -361,7 +405,7 @@ public abstract class AbstractManagerResource<T extends ModelObject,
|
|||||||
*
|
*
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
private Response createResponse(Request request, T item)
|
private Response createCacheResponse(Request request, T item)
|
||||||
{
|
{
|
||||||
Response.ResponseBuilder builder = null;
|
Response.ResponseBuilder builder = null;
|
||||||
Date lastModified = getLastModified(item);
|
Date lastModified = getLastModified(item);
|
||||||
@@ -395,7 +439,7 @@ public abstract class AbstractManagerResource<T extends ModelObject,
|
|||||||
*
|
*
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
private Response createResponse(Request request, Collection<T> items)
|
private Response createCacheResponse(Request request, Collection<T> items)
|
||||||
{
|
{
|
||||||
Response.ResponseBuilder builder = null;
|
Response.ResponseBuilder builder = null;
|
||||||
Date lastModified = getLastModified(manager);
|
Date lastModified = getLastModified(manager);
|
||||||
@@ -443,6 +487,9 @@ public abstract class AbstractManagerResource<T extends ModelObject,
|
|||||||
/** Field description */
|
/** Field description */
|
||||||
protected int cacheMaxAge = 1;
|
protected int cacheMaxAge = 1;
|
||||||
|
|
||||||
|
/** Field description */
|
||||||
|
protected boolean disableCache = false;
|
||||||
|
|
||||||
/** Field description */
|
/** Field description */
|
||||||
protected Manager<T, E> manager;
|
protected Manager<T, E> manager;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -94,6 +94,7 @@ public class RepositoryResource
|
|||||||
this.repositoryManager = repositoryManager;
|
this.repositoryManager = repositoryManager;
|
||||||
this.securityContextProvider = securityContextProvider;
|
this.securityContextProvider = securityContextProvider;
|
||||||
this.requestProvider = requestProvider;
|
this.requestProvider = requestProvider;
|
||||||
|
setDisableCache(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
//~--- methods --------------------------------------------------------------
|
//~--- methods --------------------------------------------------------------
|
||||||
|
|||||||
Reference in New Issue
Block a user