Issue #1834 - Filter config file reads for xml only, wrap unmarshalling and log errors
Change-Id: I23829b764e1f52e9dee1a1d9701d219e949eb9fa Former-commit-id:0e1b566dd1
[formerly1beb6e4fa5
] [formerly1958700112
] [formerly302dbf2cfb
[formerly1958700112
[formerly 5304de6fff49f3db7a3b46427077c7d2d9c0b3f9]]] Former-commit-id:302dbf2cfb
Former-commit-id: 44a7dc0c858099a53c302c46a726f699843c6b9e [formerly3d1c1b146c
] Former-commit-id:c143b356ef
This commit is contained in:
parent
55572918b3
commit
be438c6fec
1 changed files with 17 additions and 7 deletions
|
@ -37,6 +37,7 @@ import com.raytheon.uf.common.localization.LocalizationContext;
|
||||||
import com.raytheon.uf.common.localization.LocalizationContext.LocalizationType;
|
import com.raytheon.uf.common.localization.LocalizationContext.LocalizationType;
|
||||||
import com.raytheon.uf.common.localization.LocalizationFile;
|
import com.raytheon.uf.common.localization.LocalizationFile;
|
||||||
import com.raytheon.uf.common.localization.PathManagerFactory;
|
import com.raytheon.uf.common.localization.PathManagerFactory;
|
||||||
|
import com.raytheon.uf.common.localization.exception.LocalizationException;
|
||||||
import com.raytheon.uf.common.serialization.JAXBManager;
|
import com.raytheon.uf.common.serialization.JAXBManager;
|
||||||
import com.raytheon.uf.common.stats.xml.StatisticsAggregate;
|
import com.raytheon.uf.common.stats.xml.StatisticsAggregate;
|
||||||
import com.raytheon.uf.common.stats.xml.StatisticsConfig;
|
import com.raytheon.uf.common.stats.xml.StatisticsConfig;
|
||||||
|
@ -44,6 +45,7 @@ import com.raytheon.uf.common.stats.xml.StatisticsEvent;
|
||||||
import com.raytheon.uf.common.stats.xml.StatisticsGroup;
|
import com.raytheon.uf.common.stats.xml.StatisticsGroup;
|
||||||
import com.raytheon.uf.common.status.IUFStatusHandler;
|
import com.raytheon.uf.common.status.IUFStatusHandler;
|
||||||
import com.raytheon.uf.common.status.UFStatus;
|
import com.raytheon.uf.common.status.UFStatus;
|
||||||
|
import com.raytheon.uf.common.status.UFStatus.Priority;
|
||||||
import com.raytheon.uf.common.util.ReflectionException;
|
import com.raytheon.uf.common.util.ReflectionException;
|
||||||
import com.raytheon.uf.common.util.ReflectionUtil;
|
import com.raytheon.uf.common.util.ReflectionUtil;
|
||||||
|
|
||||||
|
@ -59,6 +61,8 @@ import com.raytheon.uf.common.util.ReflectionUtil;
|
||||||
* Nov 07, 2012 1317 mpduff Update config files.
|
* Nov 07, 2012 1317 mpduff Update config files.
|
||||||
* Nov 29, 2012 1350 rjpeter Updated to static, fixed localization, increased validation.
|
* Nov 29, 2012 1350 rjpeter Updated to static, fixed localization, increased validation.
|
||||||
* Jan 15, 2013 1487 djohnson Make validate() static and public, so it can be run independently.
|
* Jan 15, 2013 1487 djohnson Make validate() static and public, so it can be run independently.
|
||||||
|
* Mar 27, 2013 1834 mpduff Filter for xml files on localization file read, wrap unmarshall and
|
||||||
|
* log error if one occurs
|
||||||
* </pre>
|
* </pre>
|
||||||
*
|
*
|
||||||
* @author jsanchez
|
* @author jsanchez
|
||||||
|
@ -123,11 +127,12 @@ public class ConfigLoader {
|
||||||
LocalizationContext[] searchContext = pm
|
LocalizationContext[] searchContext = pm
|
||||||
.getLocalSearchHierarchy(LocalizationType.COMMON_STATIC);
|
.getLocalSearchHierarchy(LocalizationType.COMMON_STATIC);
|
||||||
Map<String, LocalizationFile> statConfs = new HashMap<String, LocalizationFile>();
|
Map<String, LocalizationFile> statConfs = new HashMap<String, LocalizationFile>();
|
||||||
|
String[] extensions = new String[] { ".xml" };
|
||||||
|
|
||||||
// grab all stats from contexts, allowing overwrite by name
|
// grab all stats from contexts, allowing overwrite by name
|
||||||
for (LocalizationContext ctx : searchContext) {
|
for (LocalizationContext ctx : searchContext) {
|
||||||
LocalizationFile[] localizationFiles = pm.listFiles(ctx, STATS_DIR,
|
LocalizationFile[] localizationFiles = pm.listFiles(ctx, STATS_DIR,
|
||||||
null, false, true);
|
extensions, false, true);
|
||||||
for (LocalizationFile lf : localizationFiles) {
|
for (LocalizationFile lf : localizationFiles) {
|
||||||
String name = lf.getName();
|
String name = lf.getName();
|
||||||
if (!statConfs.containsKey(name)) {
|
if (!statConfs.containsKey(name)) {
|
||||||
|
@ -142,13 +147,18 @@ public class ConfigLoader {
|
||||||
Map<String, StatisticsEvent> myEvents = new HashMap<String, StatisticsEvent>();
|
Map<String, StatisticsEvent> myEvents = new HashMap<String, StatisticsEvent>();
|
||||||
|
|
||||||
for (LocalizationFile lf : statConfs.values()) {
|
for (LocalizationFile lf : statConfs.values()) {
|
||||||
StatisticsConfig config = lf.jaxbUnmarshal(
|
try {
|
||||||
StatisticsConfig.class, jaxbManager);
|
StatisticsConfig config = lf.jaxbUnmarshal(
|
||||||
if (config != null) {
|
StatisticsConfig.class, jaxbManager);
|
||||||
validate(myEvents, config);
|
if (config != null) {
|
||||||
if (!config.getEvents().isEmpty()) {
|
validate(myEvents, config);
|
||||||
myConfigurations.add(config);
|
if (!config.getEvents().isEmpty()) {
|
||||||
|
myConfigurations.add(config);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
} catch (LocalizationException e) {
|
||||||
|
statusHandler.handle(Priority.PROBLEM,
|
||||||
|
"Unable to open file [" + lf.getName() + "]", e);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue