if (m_lm == null) {
if (getLogger().isDebugEnabled()) {
getLogger().debug("loading location map at " + m_src);
}
m_srcVal = source.getValidity();
m_lm = new LocationMap(m_manager);
m_lm.enableLogging(getLogger());
m_lm.build(loadConfiguration(source));
}
}
}
else {
SourceValidity valid = source.getValidity();
if (m_srcVal != null && m_srcVal.isValid(valid) != 1) {
synchronized (this) {
if (m_srcVal != null && m_srcVal.isValid(valid) != 1) {
if (getLogger().isDebugEnabled()) {
getLogger().debug("reloading location map at " + m_src);
}
m_srcVal = valid;
m_lm.dispose();
m_lm = new LocationMap(m_manager);
m_lm.enableLogging(getLogger());
m_lm.build(loadConfiguration(source));
}
}
}