Author: [log in to unmask] Date: Fri Sep 4 13:57:40 2015 New Revision: 3657 Log: Add protected method for clearing the conditions cache. Modified: projects/lcsim/trunk/conditions/src/main/java/org/lcsim/conditions/CachedConditionsImplementation.java Modified: projects/lcsim/trunk/conditions/src/main/java/org/lcsim/conditions/CachedConditionsImplementation.java ============================================================================= --- projects/lcsim/trunk/conditions/src/main/java/org/lcsim/conditions/CachedConditionsImplementation.java (original) +++ projects/lcsim/trunk/conditions/src/main/java/org/lcsim/conditions/CachedConditionsImplementation.java Fri Sep 4 13:57:40 2015 @@ -1,4 +1,10 @@ package org.lcsim.conditions; + +import java.util.logging.Level; +import java.util.logging.Logger; + +import org.lcsim.util.log.DefaultLogFormatter; +import org.lcsim.util.log.LogUtil; /** * @version $Id: CachedConditionsImplementation.java,v 1.1.1.1 2010/01/25 @@ -6,22 +12,30 @@ * @author tonyj */ class CachedConditionsImplementation<T> extends ConditionsImplementation implements CachedConditions<T>, ConditionsListener { + + private Logger LOGGER = LogUtil.create(CachedConditionsImplementation.class, new DefaultLogFormatter(), Level.ALL); + private ConditionsConverter<T> conv; private T data; CachedConditionsImplementation(ConditionsManagerImplementation manager, String name, ConditionsConverter<T> conv) { super(manager, name); + LOGGER.info("cache conditions, name: " + name + ", run: " + manager.getRun()); + LOGGER.getHandlers()[0].flush(); this.conv = conv; manager.addConditionsListener(this); } public T getCachedData() { - if (data == null) + if (data == null) { data = conv.getData(getManager(), getName()); + } return data; } - public void conditionsChanged(ConditionsEvent conditionsEvent) { + public void conditionsChanged(ConditionsEvent conditionsEvent) { + LOGGER.info(getName() + " conditionsChanged to run " + conditionsEvent.getConditionsManager().getRun()); + LOGGER.getHandlers()[0].flush(); data = null; } } ######################################################################## Use REPLY-ALL to reply to list To unsubscribe from the LCDET-SVN list, click the following link: https://listserv.slac.stanford.edu/cgi-bin/wa?SUBED1=LCDET-SVN&A=1