3135: Uri Resolver enhancements: create a Geonetwork Resolver
Task-Url: https://support.d4science.org/issues/3135 Added reset for cache and scope cached git-svn-id: http://svn.research-infrastructures.eu/public/d4science/gcube/trunk/data-transfer/uri-resolver@126796 82a268e6-3cf1-43bd-a215-b396298e98cf
This commit is contained in:
parent
5fa9dcfaa9
commit
48541a1f09
|
@ -49,6 +49,8 @@ public class GeonetworkResolver extends HttpServlet{
|
||||||
*/
|
*/
|
||||||
private static final long serialVersionUID = -61097584153314181L;
|
private static final long serialVersionUID = -61097584153314181L;
|
||||||
public static final String SCOPE = "scope";
|
public static final String SCOPE = "scope";
|
||||||
|
public static final String RESET_CACHE = "resetcache";
|
||||||
|
public static final String RESET_CACHED_SCOPE = "resetcachedscope";
|
||||||
public static final String CSW_SERVER = "srv/en/csw";
|
public static final String CSW_SERVER = "srv/en/csw";
|
||||||
|
|
||||||
/** The logger. */
|
/** The logger. */
|
||||||
|
@ -75,7 +77,7 @@ public class GeonetworkResolver extends HttpServlet{
|
||||||
@Override
|
@Override
|
||||||
public void run() {
|
public void run() {
|
||||||
logger.info("Resetting Geonetwork configuratios cache...");
|
logger.info("Resetting Geonetwork configuratios cache...");
|
||||||
reseCacheServerParameters();
|
resetCacheServerParameters();
|
||||||
}
|
}
|
||||||
}, CACHE_RESET_DELAY, CACHE_RESET_TIME);
|
}, CACHE_RESET_DELAY, CACHE_RESET_TIME);
|
||||||
}
|
}
|
||||||
|
@ -86,6 +88,8 @@ public class GeonetworkResolver extends HttpServlet{
|
||||||
@Override
|
@Override
|
||||||
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
|
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
|
||||||
String scope = req.getParameter(SCOPE);
|
String scope = req.getParameter(SCOPE);
|
||||||
|
String resetCache = req.getParameter(RESET_CACHE);
|
||||||
|
String resetScope = req.getParameter(RESET_CACHED_SCOPE);
|
||||||
|
|
||||||
if (scope == null || scope.equals("")) {
|
if (scope == null || scope.equals("")) {
|
||||||
logger.debug("Scope not found");
|
logger.debug("Scope not found");
|
||||||
|
@ -93,6 +97,14 @@ public class GeonetworkResolver extends HttpServlet{
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if(resetCache!=null && Boolean.parseBoolean(resetCache)){
|
||||||
|
resetCacheServerParameters();
|
||||||
|
}
|
||||||
|
|
||||||
|
if(resetScope!=null && Boolean.parseBoolean(resetScope)){
|
||||||
|
resetCacheServerParameterForScope(resetScope);
|
||||||
|
}
|
||||||
|
|
||||||
logger.info("SCOPE: " + scope +", Query String: " + req.getQueryString());
|
logger.info("SCOPE: " + scope +", Query String: " + req.getQueryString());
|
||||||
try {
|
try {
|
||||||
|
|
||||||
|
@ -222,7 +234,7 @@ public class GeonetworkResolver extends HttpServlet{
|
||||||
protected ServerParameters getGeonetworkCachedServerParameters(String scope) throws Exception{
|
protected ServerParameters getGeonetworkCachedServerParameters(String scope) throws Exception{
|
||||||
|
|
||||||
if(cacheGNServerParams==null)
|
if(cacheGNServerParams==null)
|
||||||
reseCacheServerParameters();
|
resetCacheServerParameters();
|
||||||
|
|
||||||
logger.info("Tentative for recovering geonetwork server parameters from cache with scope: "+scope);
|
logger.info("Tentative for recovering geonetwork server parameters from cache with scope: "+scope);
|
||||||
ServerParameters serverParam = cacheGNServerParams.get(scope);
|
ServerParameters serverParam = cacheGNServerParams.get(scope);
|
||||||
|
@ -246,12 +258,28 @@ public class GeonetworkResolver extends HttpServlet{
|
||||||
return serverParam;
|
return serverParam;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Rese cache server parameters.
|
* Reset cache server parameter for scope.
|
||||||
|
*
|
||||||
|
* @param scope the scope
|
||||||
*/
|
*/
|
||||||
private void reseCacheServerParameters(){
|
private void resetCacheServerParameterForScope(String scope){
|
||||||
|
if(cacheGNServerParams!=null && cacheGNServerParams.get(scope)!=null){
|
||||||
|
cacheGNServerParams.remove(scope);
|
||||||
|
logger.info("Reset of "+scope+" in Cache Geonetwork server params perfomed!");
|
||||||
|
}else
|
||||||
|
logger.info("Reset of "+scope+" in Cache Geonetwork skipped, scope not exists!");
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Reset cache server parameters.
|
||||||
|
*/
|
||||||
|
private void resetCacheServerParameters(){
|
||||||
cacheGNServerParams = new HashMap<String, ServerParameters>();
|
cacheGNServerParams = new HashMap<String, ServerParameters>();
|
||||||
logger.info("Cache Geonetwork server params reset!");
|
logger.info("Reset of Cache Geonetwork server params perfomed!");
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
Loading…
Reference in New Issue