Always update VC statistics at server start
Statistics is always calculated before storing/updating a VC in the
database. For existing VC, it is done after checking VC-cache as the
cache is used for the statistics calculation.
Change-Id: Ib1de5bf4dd539d16c54c883374eaef8e7280ef04
diff --git a/Changes b/Changes
index beb376b..0719d14 100644
--- a/Changes
+++ b/Changes
@@ -3,7 +3,7 @@
- Add an exception for missing layer.
- Use database for querying VC statistics.
- Fixed statistics conversion.
-
+- Always update VC statistics at server start
# version 1.0
diff --git a/src/main/java/de/ids_mannheim/korap/init/NamedVCLoader.java b/src/main/java/de/ids_mannheim/korap/init/NamedVCLoader.java
index b2a8eff..7973b1d 100644
--- a/src/main/java/de/ids_mannheim/korap/init/NamedVCLoader.java
+++ b/src/main/java/de/ids_mannheim/korap/init/NamedVCLoader.java
@@ -158,14 +158,17 @@
updateCache = true;
// updateVCinDB
storeVCinDB(vcId, json, existingVC, apiVersion);
+ cacheVC(vcId, json, updateCache);
}
- else if (existingVC.getStatistics()== null) {
- jlog.info("Update statistics for VC: {}", vcId);
+ else {
+ cacheVC(vcId, json, updateCache);
+
+ jlog.info("Update statistics for VC: {}", vcId);
+ existingVC.setStatistics(null);
String statistics = vcService.computeStatisticsForVC(existingVC,
QueryType.VIRTUAL_CORPUS, apiVersion);
vcService.updateVCStatistics(existingVC,statistics);
- }
- cacheVC(vcId, json, updateCache);
+ }
}
catch (KustvaktException e) {
cacheVC(vcId, json, updateCache);