}
throw new IllegalArgumentException("Missing <displayer> tag.");
}
protected DomainConfiguration parseDomain(NodeList domainNodes) {
DomainConfiguration domainConfig = new DomainConfiguration();
for (int k = 0; k < domainNodes.getLength(); k++) {
Node item = domainNodes.item(k);
if (item.getNodeName().equals("propertyid") && item.hasChildNodes()) {
domainConfig.setPropertyId(StringEscapeUtils.unescapeXml(item.getFirstChild().getNodeValue()));
}
if (item.getNodeName().equals("name") && item.hasChildNodes()) {
String name = item.getFirstChild().getNodeValue();
Locale locale = LocaleManager.currentLocale();
Node languageNode = item.getAttributes().getNamedItem("language");
if (languageNode != null) locale = new Locale(languageNode.getNodeValue());
domainConfig.setPropertyName(StringEscapeUtils.unescapeXml(name), locale);
}
if (item.getNodeName().equals("maxnumberofintervals") && item.hasChildNodes()) {
domainConfig.setMaxNumberOfIntervals(StringEscapeUtils.unescapeXml(item.getFirstChild().getNodeValue()));
}
// Label domain.
if (item.getNodeName().equals("intervalstohide") && item.hasChildNodes()) {
String interval = item.getFirstChild().getNodeValue();
Locale locale = LocaleManager.currentLocale();
Node languageNode = item.getAttributes().getNamedItem("language");
if (languageNode != null) locale = new Locale(languageNode.getNodeValue());
domainConfig.setLabelIntervalsToHide(StringEscapeUtils.unescapeXml(interval), locale);
}
// Date domain.
if (item.getNodeName().equals("taminterval") && item.hasChildNodes()) {
domainConfig.setDateTamInterval(StringEscapeUtils.unescapeXml(item.getFirstChild().getNodeValue()));
}
if (item.getNodeName().equals("mindate") && item.hasChildNodes()) {
domainConfig.setDateMinDate(StringEscapeUtils.unescapeXml(item.getFirstChild().getNodeValue()));
}
if (item.getNodeName().equals("maxdate") && item.hasChildNodes()) {
domainConfig.setDateMaxDate(StringEscapeUtils.unescapeXml(item.getFirstChild().getNodeValue()));
}
// Numeric domain.
if (item.getNodeName().equals("taminterval") && item.hasChildNodes()) {
domainConfig.setNumericTamInterval(StringEscapeUtils.unescapeXml(item.getFirstChild().getNodeValue()));
}
if (item.getNodeName().equals("minvalue") && item.hasChildNodes()) {
domainConfig.setNumericMinValue(StringEscapeUtils.unescapeXml(item.getFirstChild().getNodeValue()));
}
if (item.getNodeName().equals("maxvalue") && item.hasChildNodes()) {
domainConfig.setNumericMaxValue(StringEscapeUtils.unescapeXml(item.getFirstChild().getNodeValue()));
}
}
return domainConfig;
}