This is an automated email from the git hooks/post-receive script. New commit to branch develop in repository tutti. See https://gitlab.nuiton.org/codelutin/tutti.git commit 5dbc8d1e4a632f45f7156893e92fd1475660196d Author: Tony CHEMIT <chemit@codelutin.com> Date: Sun Apr 24 22:15:30 2016 +0200 Ajout d'une méthode pour nettoyer les caches (supprimer les clefs vides) + afficher les caches --- .../service/sampling/CruiseSamplingCache.java | 41 ++++++++++++++++++---- .../sampling/CruiseSamplingInternalCache.java | 8 +++++ 2 files changed, 42 insertions(+), 7 deletions(-) diff --git a/tutti-service/src/main/java/fr/ifremer/tutti/service/sampling/CruiseSamplingCache.java b/tutti-service/src/main/java/fr/ifremer/tutti/service/sampling/CruiseSamplingCache.java index 23d5743..f6c4e19 100644 --- a/tutti-service/src/main/java/fr/ifremer/tutti/service/sampling/CruiseSamplingCache.java +++ b/tutti-service/src/main/java/fr/ifremer/tutti/service/sampling/CruiseSamplingCache.java @@ -319,15 +319,17 @@ public class CruiseSamplingCache implements CruiseCacheAble { }); - cruiseCache.cleanEmptyEntries(); - zoneCache.cleanEmptyEntries(); - fishingOperationCache.cleanEmptyEntries(); + printInfos("After removing " + fishingOperation); + + cleanEmptyEntries(); + + printInfos("After cleanEmptyEntries"); if (log.isInfoEnabled()) { - log.info("Fishing operation: " + fishingOperation + " removed from fishingOperationCache: " + fishingOperationCache.size()); - log.info("Fishing operation: " + fishingOperation + " removed from cruiseCache: " + cruiseCache.size()); - log.info("Fishing operation: " + fishingOperation + " removed from zoneCache: " + zoneCache.size()); - log.info("Fishing operation: " + fishingOperation + " removed from " + this); + log.info(fishingOperation + " removed from fishingOperationCache: " + fishingOperationCache.size()); + log.info(fishingOperation + " removed from cruiseCache: " + cruiseCache.size()); + log.info(fishingOperation + " removed from zoneCache: " + zoneCache.size()); + log.info(fishingOperation + " removed from " + this); } } @@ -847,4 +849,29 @@ public class CruiseSamplingCache implements CruiseCacheAble { } + private void cleanEmptyEntries() { + cruiseCache.cleanEmptyEntries(); + zoneCache.cleanEmptyEntries(); + fishingOperationCache.cleanEmptyEntries(); + } + + public void printInfos(String message) { + + if (log.isInfoEnabled()) { + + String cruiseCacheInfos = cruiseCache.toStringVerbose(); + String zoneCacheInfos = zoneCache.toStringVerbose(); + String fishingOperationCacheInfos = fishingOperationCache.toStringVerbose(); + + StringBuilder stringBuilder = new StringBuilder(message); + stringBuilder.append("\nCruise cache: ").append(cruiseCacheInfos); + stringBuilder.append("\nZone cache: ").append(zoneCacheInfos); + stringBuilder.append("\nFishing operation cache: ").append(fishingOperationCacheInfos); + + if (log.isInfoEnabled()) { + log.info(stringBuilder.toString()); + } + } + } + } diff --git a/tutti-service/src/main/java/fr/ifremer/tutti/service/sampling/CruiseSamplingInternalCache.java b/tutti-service/src/main/java/fr/ifremer/tutti/service/sampling/CruiseSamplingInternalCache.java index d327d78..f32e606 100644 --- a/tutti-service/src/main/java/fr/ifremer/tutti/service/sampling/CruiseSamplingInternalCache.java +++ b/tutti-service/src/main/java/fr/ifremer/tutti/service/sampling/CruiseSamplingInternalCache.java @@ -199,6 +199,14 @@ class CruiseSamplingInternalCache implements Closeable { } } + private static final String TO_STRING_VERBOSE_FORMAT = "\n%1$-40s → %2$s"; + + public String toStringVerbose() { + StringBuilder stringBuilder = new StringBuilder(size() +" entries."); + data.entrySet().forEach(entry -> stringBuilder.append(String.format(TO_STRING_VERBOSE_FORMAT, entry.getKey(), entry.getValue()))); + return stringBuilder.toString(); + } + class SamplingData { /** -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.