protected List<ValueEval> fetchValuesWithOptimisations( DsLookupParameters parameters, OperationEvaluationContext ec) { DataSetOptimisationsCache caches = (DataSetOptimisationsCache) ec.getCustomEvaluationContext().get(DataSetOptimisationsCache.class); if (caches == null) { caches = this.external.getDataSetOptimisationsCache(); } Cache<DsLookupParameters, List> cache = caches.getDataSetToDsLookupParameters(); if (cache.containsKey(parameters)) { return cache.get(parameters); } return null; }
protected void updateOptimisationsCache( DsLookupParameters parameters, IDataSet dataSet, List<ValueEval> fetchedValues, OperationEvaluationContext ec) { if (fetchedValues == null || parameters == null) { return; } DataSetOptimisationsCache caches = (DataSetOptimisationsCache) ec.getCustomEvaluationContext().get(DataSetOptimisationsCache.class); if (caches == null) { caches = this.external.getDataSetOptimisationsCache(); } Cache<DsLookupParameters, List> cache = caches.getDataSetToDsLookupParameters(); cache.put(parameters, fetchedValues); }