From 88b0ecce5f3d18e5a7ebabdb235918473dcbdcf9 Mon Sep 17 00:00:00 2001 From: chenson42 Date: Fri, 23 Nov 2012 18:08:53 +0000 Subject: [PATCH] log the override of a virtual table only once. --- .../symmetric/service/impl/AbstractService.java | 11 +++++++++++ .../symmetric/service/impl/TriggerRouterService.java | 4 ++-- 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/symmetric-core/src/main/java/org/jumpmind/symmetric/service/impl/AbstractService.java b/symmetric-core/src/main/java/org/jumpmind/symmetric/service/impl/AbstractService.java index 638ca2127f..85603425c7 100644 --- a/symmetric-core/src/main/java/org/jumpmind/symmetric/service/impl/AbstractService.java +++ b/symmetric-core/src/main/java/org/jumpmind/symmetric/service/impl/AbstractService.java @@ -23,8 +23,10 @@ import java.sql.SQLException; import java.util.HashMap; +import java.util.HashSet; import java.util.List; import java.util.Map; +import java.util.Set; import org.apache.commons.lang.StringUtils; import org.apache.commons.lang.exception.ExceptionUtils; @@ -55,6 +57,8 @@ abstract public class AbstractService implements IService { protected String tablePrefix; private ISqlMap sqlMap; + + private Set logOnce = new HashSet(); public AbstractService(IParameterService parameterService, ISymmetricDialect symmetricDialect) { this.symmetricDialect = symmetricDialect; @@ -200,5 +204,12 @@ protected String buildBatchWhere(List nodeIds, List channels, return where.toString(); } + protected void logOnce(String message) { + if (!logOnce.contains(message)) { + logOnce.add(message); + log.info(message); + } + } + } \ No newline at end of file diff --git a/symmetric-core/src/main/java/org/jumpmind/symmetric/service/impl/TriggerRouterService.java b/symmetric-core/src/main/java/org/jumpmind/symmetric/service/impl/TriggerRouterService.java index 033b8c048c..1b54e62a99 100644 --- a/symmetric-core/src/main/java/org/jumpmind/symmetric/service/impl/TriggerRouterService.java +++ b/symmetric-core/src/main/java/org/jumpmind/symmetric/service/impl/TriggerRouterService.java @@ -282,8 +282,8 @@ protected List buildTriggersForSymmetricTables(String version, List definedTriggers = getTriggers(); for (Trigger trigger : definedTriggers) { if (tables.remove(trigger.getSourceTableName())) { - log.info("Not generating virtual triggers for {} because there is a user defined trigger already defined", - trigger.getSourceTableName()); + logOnce(String.format("Not generating virtual triggers for %s because there is a user defined trigger already defined", + trigger.getSourceTableName())); } }