20 package net.sf.gridarta.model.filter;
22 import java.util.Map.Entry;
25 import nu.xom.Element;
26 import nu.xom.Elements;
27 import nu.xom.ParentNode;
28 import org.jetbrains.annotations.NotNull;
29 import org.jetbrains.annotations.Nullable;
53 final Element result =
new Element(
"value");
55 final Element enabled =
new Element(
"enabled");
56 enabled.appendChild(Boolean.toString(filterConfig.isEnabled()));
57 result.appendChild(enabled);
59 final Element inverted =
new Element(
"inverted");
60 inverted.appendChild(Boolean.toString(filterConfig.isInverted()));
61 result.appendChild(inverted);
63 for (
final Entry<String,
FilterConfig<?, ?>> entry : filterConfig.getEntries().entrySet()) {
64 final String key = entry.getKey();
66 final Element filterValue =
toXML(subFilterConfig);
67 final ParentNode subFilter =
new Element(
"subfilter");
68 final Element fName =
new Element(
"name");
69 fName.appendChild(key);
70 subFilter.appendChild(fName);
71 subFilter.appendChild(filterValue);
72 result.appendChild(subFilter);
79 final Element value =
new Element(
"value");
81 final Element enabled =
new Element(
"enabled");
82 enabled.appendChild(Boolean.toString(filterConfig.isEnabled()));
83 value.appendChild(enabled);
85 for (
final String key : filterConfig.getProperties()) {
86 final Element
property =
new Element(
"property");
87 property.appendChild(filterConfig.getProperty(key));
88 value.appendChild(property);
104 filterConfig.getFilter().resetConfig(filterConfig);
109 final Elements valueElements =
element.getChildElements(
"value");
110 if (valueElements.size() == 0) {
113 final Element value = valueElements.get(0);
115 final boolean enabled = Boolean.valueOf(
XmlUtils.
getChild(value,
"enabled").getValue().trim());
116 filterConfig.setEnabled(enabled);
117 filterConfig.setInverted(Boolean.valueOf(
XmlUtils.
getChild(value,
"inverted").getValue().trim()));
118 for (
final Element filterElement :
new ElementsIterable(value.getChildElements(
"subfilter"))) {
121 fromXML(filterElement, subFilterConfig);
131 final Elements valueElements =
element.getChildElements(
"value");
132 if (valueElements.size() == 0) {
135 final Element value = valueElements.get(0);
137 final boolean enabled = Boolean.valueOf(
XmlUtils.
getChild(value,
"enabled").getValue().trim());
138 filterConfig.setEnabled(enabled);
139 for (
final Element property :
new ElementsIterable(value.getChildElements(
"property"))) {
141 final String pValue =
XmlUtils.
getChild(property,
"value").getValue().trim();
142 filterConfig.setProperty(pName, pValue);
155 final Element prevElement =
element;
172 final Element prevElement = this.
element;
177 this.element = prevElement;