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);