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