From 487ad3e8260fb095a54b1d4ed0514274e3df4d67 Mon Sep 17 00:00:00 2001 From: Robert von Burg Date: Mon, 21 Jan 2013 18:39:11 +0100 Subject: [PATCH] Fefactored xml parsing and writing to no longer depend on JDom. Now only basic Java XML is used. --- pom.xml | 7 ----- .../strolch/model/AbstractStrolchElement.java | 14 +++++----- .../model/GroupedParameterizedElement.java | 15 +++++------ src/main/java/li/strolch/model/Locator.java | 1 - src/main/java/li/strolch/model/Order.java | 20 +++++++------- .../java/li/strolch/model/ParameterBag.java | 9 ++++--- .../strolch/model/ParameterizedElement.java | 16 +++++------ src/main/java/li/strolch/model/Resource.java | 10 +++---- .../java/li/strolch/model/StrolchElement.java | 9 +++++-- .../model/parameter/AbstractParameter.java | 27 +++++++++---------- .../model/parameter/BooleanParameter.java | 7 +++-- .../model/parameter/DateParameter.java | 7 +++-- .../model/parameter/FloatParameter.java | 7 +++-- .../model/parameter/IntegerParameter.java | 7 +++-- .../model/parameter/LongParameter.java | 7 +++-- .../model/parameter/StringListParameter.java | 7 +++-- .../model/parameter/StringParameter.java | 7 +++-- .../model/timevalue/impl/StringSetValue.java | 2 +- .../model/timedstate/TimeStateTest.java | 2 -- .../timevalue/FloatTimeVariableTest.java | 3 --- .../timevalue/IntegerTimeVariableTest.java | 3 --- .../timevalue/StringTimeVariableTest.java | 3 --- .../strolch/model/timevalue/ValueTests.java | 1 - 23 files changed, 84 insertions(+), 107 deletions(-) diff --git a/pom.xml b/pom.xml index db66be151..f4e48c423 100644 --- a/pom.xml +++ b/pom.xml @@ -96,13 +96,6 @@ test - - - dom4j - dom4j - 1.6 - - junit diff --git a/src/main/java/li/strolch/model/AbstractStrolchElement.java b/src/main/java/li/strolch/model/AbstractStrolchElement.java index 3bff1ca58..97829e99a 100644 --- a/src/main/java/li/strolch/model/AbstractStrolchElement.java +++ b/src/main/java/li/strolch/model/AbstractStrolchElement.java @@ -24,7 +24,7 @@ package li.strolch.model; import li.strolch.exception.StrolchException; import li.strolch.model.Locator.LocatorBuilder; -import org.dom4j.Element; +import org.w3c.dom.Element; /** * @author Robert von Burg @@ -113,9 +113,9 @@ public abstract class AbstractStrolchElement implements StrolchElement { } protected void fillElement(Element element) { - element.addAttribute("Id", getId()); - element.addAttribute("Name", getName()); - element.addAttribute("Type", getType()); + element.setAttribute("Id", getId()); + element.setAttribute("Name", getName()); + element.setAttribute("Type", getType()); } /** @@ -124,14 +124,14 @@ public abstract class AbstractStrolchElement implements StrolchElement { * @param element */ protected void fromDom(Element element) { - String id = element.attributeValue("Id"); - String name = element.attributeValue("Name"); + String id = element.getAttribute("Id"); + String name = element.getAttribute("Name"); if (id != null && name != null) { setId(id); setName(name); } else { - throw new StrolchException("Check the values of the element: " + element.getName() + throw new StrolchException("Check the values of the element: " + element.getNodeName() + " either id or name attribute is null!"); } } diff --git a/src/main/java/li/strolch/model/GroupedParameterizedElement.java b/src/main/java/li/strolch/model/GroupedParameterizedElement.java index e5cf3bd29..16c936349 100644 --- a/src/main/java/li/strolch/model/GroupedParameterizedElement.java +++ b/src/main/java/li/strolch/model/GroupedParameterizedElement.java @@ -24,14 +24,14 @@ package li.strolch.model; import java.util.Collections; import java.util.HashMap; import java.util.HashSet; -import java.util.List; import java.util.Map; import java.util.Set; import li.strolch.exception.StrolchException; import li.strolch.model.parameter.Parameter; -import org.dom4j.Element; +import org.w3c.dom.Element; +import org.w3c.dom.NodeList; import ch.eitchnet.utils.helper.StringHelper; @@ -222,16 +222,15 @@ public abstract class GroupedParameterizedElement extends AbstractStrolchElement } @Override - @SuppressWarnings("unchecked") public void fromDom(Element element) { super.fromDom(element); - String type = element.attributeValue("Type"); + String type = element.getAttribute("Type"); setType(type); - List bags = element.elements("ParameterBag"); - for (Element bagElement : bags) { - + NodeList bags = element.getElementsByTagName("ParameterBag"); + for (int i = 0; i < bags.getLength(); i++) { + Element bagElement = (Element) bags.item(i); ParameterBag bag = new ParameterBag(bagElement); addParameterBag(bag); } @@ -243,7 +242,7 @@ public abstract class GroupedParameterizedElement extends AbstractStrolchElement if (this.parameterBagMap != null) { for (ParameterBag bag : this.parameterBagMap.values()) { - element.add(bag.toDom()); + element.appendChild(bag.toDom(element.getOwnerDocument())); } } } diff --git a/src/main/java/li/strolch/model/Locator.java b/src/main/java/li/strolch/model/Locator.java index 893440eb7..cff524545 100644 --- a/src/main/java/li/strolch/model/Locator.java +++ b/src/main/java/li/strolch/model/Locator.java @@ -28,7 +28,6 @@ import java.util.Iterator; import java.util.List; import li.strolch.exception.StrolchException; - import ch.eitchnet.utils.helper.StringHelper; /** diff --git a/src/main/java/li/strolch/model/Order.java b/src/main/java/li/strolch/model/Order.java index 3e3d880cd..91061facd 100644 --- a/src/main/java/li/strolch/model/Order.java +++ b/src/main/java/li/strolch/model/Order.java @@ -21,10 +21,10 @@ */ package li.strolch.model; -import li.strolch.model.Locator.LocatorBuilder; +import org.w3c.dom.Document; +import org.w3c.dom.Element; -import org.dom4j.Element; -import org.dom4j.tree.DefaultElement; +import li.strolch.model.Locator.LocatorBuilder; /** * The Order is an object used in the EDF to transfer data from one range to another. Orders are not to be thought of as @@ -91,8 +91,8 @@ public class Order extends GroupedParameterizedElement { public Order(Element element) { super.fromDom(element); - String date = element.attributeValue("Date"); - String state = element.attributeValue("State"); + String date = element.getAttribute("Date"); + String state = element.getAttribute("State"); // TODO the format should be globally configured if (date == null || date.isEmpty()) { @@ -139,17 +139,17 @@ public class Order extends GroupedParameterizedElement { } /** - * @see li.strolch.StrolchElement.datalandscape.element.IEdpElement#toDom() + * @see li.strolch.StrolchElement.datalandscape.element.IEdpElement#toDom(Document) */ @Override - public Element toDom() { + public Element toDom(Document doc) { - Element orderElement = new DefaultElement("Order"); + Element orderElement = doc.createElement("Order"); fillElement(orderElement); // TODO the format should be globally configured - orderElement.addAttribute("Date", Long.toString(this.date)); - orderElement.addAttribute("State", this.state.toString()); + orderElement.setAttribute("Date", Long.toString(this.date)); + orderElement.setAttribute("State", this.state.toString()); return orderElement; } diff --git a/src/main/java/li/strolch/model/ParameterBag.java b/src/main/java/li/strolch/model/ParameterBag.java index b110fc3af..ec1d7b4f0 100644 --- a/src/main/java/li/strolch/model/ParameterBag.java +++ b/src/main/java/li/strolch/model/ParameterBag.java @@ -21,8 +21,9 @@ */ package li.strolch.model; -import org.dom4j.Element; -import org.dom4j.tree.DefaultElement; +import org.w3c.dom.Document; +import org.w3c.dom.Element; + /** * @author Robert von Burg @@ -65,9 +66,9 @@ public class ParameterBag extends ParameterizedElement { } @Override - public Element toDom() { + public Element toDom(Document doc) { - Element element = new DefaultElement("ParameterBag"); + Element element = doc.createElement("ParameterBag"); fillElement(element); diff --git a/src/main/java/li/strolch/model/ParameterizedElement.java b/src/main/java/li/strolch/model/ParameterizedElement.java index 21ed6feb5..318585663 100644 --- a/src/main/java/li/strolch/model/ParameterizedElement.java +++ b/src/main/java/li/strolch/model/ParameterizedElement.java @@ -39,7 +39,8 @@ import li.strolch.model.parameter.LongParameter; import li.strolch.model.parameter.Parameter; import li.strolch.model.parameter.StringParameter; -import org.dom4j.Element; +import org.w3c.dom.Element; +import org.w3c.dom.NodeList; import ch.eitchnet.utils.helper.StringHelper; @@ -207,15 +208,14 @@ public abstract class ParameterizedElement extends AbstractStrolchElement { protected void fromDom(Element element) { super.fromDom(element); - String type = element.attributeValue("Type"); + String type = element.getAttribute("Type"); setType(type); // add all the parameters - @SuppressWarnings("unchecked") - List parameterElements = element.elements("Parameter"); - for (Object object : parameterElements) { - Element paramElement = (Element) object; - String paramtype = paramElement.attributeValue("Type"); + NodeList parameterElements = element.getElementsByTagName("Parameter"); + for (int i = 0; i < parameterElements.getLength(); i++) { + Element paramElement = (Element) parameterElements.item(i); + String paramtype = paramElement.getAttribute("Type"); if (paramtype.equals(StringParameter.TYPE)) { StringParameter param = new StringParameter(paramElement); @@ -247,7 +247,7 @@ public abstract class ParameterizedElement extends AbstractStrolchElement { if (this.parameterMap != null) { for (Parameter parameter : this.parameterMap.values()) { - element.add(parameter.toDom()); + element.appendChild(parameter.toDom(element.getOwnerDocument())); } } } diff --git a/src/main/java/li/strolch/model/Resource.java b/src/main/java/li/strolch/model/Resource.java index 09d1718d9..8588431fa 100644 --- a/src/main/java/li/strolch/model/Resource.java +++ b/src/main/java/li/strolch/model/Resource.java @@ -21,10 +21,10 @@ */ package li.strolch.model; -import li.strolch.model.Locator.LocatorBuilder; +import org.w3c.dom.Document; +import org.w3c.dom.Element; -import org.dom4j.Element; -import org.dom4j.tree.DefaultElement; +import li.strolch.model.Locator.LocatorBuilder; /** * @author Robert von Burg @@ -62,9 +62,9 @@ public class Resource extends GroupedParameterizedElement { } @Override - public Element toDom() { + public Element toDom(Document doc) { - Element element = new DefaultElement("Resource"); + Element element = doc.createElement("Resource"); fillElement(element); return element; diff --git a/src/main/java/li/strolch/model/StrolchElement.java b/src/main/java/li/strolch/model/StrolchElement.java index 98be6970c..a0c9fb2ea 100644 --- a/src/main/java/li/strolch/model/StrolchElement.java +++ b/src/main/java/li/strolch/model/StrolchElement.java @@ -23,7 +23,8 @@ package li.strolch.model; import java.io.Serializable; -import org.dom4j.Element; +import org.w3c.dom.Document; +import org.w3c.dom.Element; /** * @author Robert von Burg @@ -85,9 +86,13 @@ public interface StrolchElement extends Serializable, Comparable /** * Returns a dom4j {@link Element} object which is an XML representation of this object * + * @param doc + * the document to which this element is being written. The client should not append to the document, the + * caller will perform this as needed + * * @return */ - public Element toDom(); + public Element toDom(Document doc); /** * Returns the type of this {@link StrolchElement} diff --git a/src/main/java/li/strolch/model/parameter/AbstractParameter.java b/src/main/java/li/strolch/model/parameter/AbstractParameter.java index e51d2daea..ea4d9cdad 100644 --- a/src/main/java/li/strolch/model/parameter/AbstractParameter.java +++ b/src/main/java/li/strolch/model/parameter/AbstractParameter.java @@ -21,15 +21,14 @@ */ package li.strolch.model.parameter; +import org.w3c.dom.Document; +import org.w3c.dom.Element; + import li.strolch.exception.StrolchException; import li.strolch.model.AbstractStrolchElement; import li.strolch.model.Locator; import li.strolch.model.Locator.LocatorBuilder; import li.strolch.model.ParameterizedElement; - -import org.dom4j.Element; -import org.dom4j.tree.DefaultElement; - import ch.eitchnet.utils.helper.StringHelper; /** @@ -113,18 +112,18 @@ public abstract class AbstractParameter extends AbstractStrolchElement implem } @Override - public Element toDom() { - Element element = new DefaultElement("Parameter"); + public Element toDom(Document doc) { + Element element = doc.createElement("Parameter"); fillElement(element); - element.addAttribute("Value", getValueAsString()); + element.setAttribute("Value", getValueAsString()); if (!this.interpretation.equals(Parameter.INTERPRETATION_NONE)) - element.addAttribute("Interpretation", this.interpretation); + element.setAttribute("Interpretation", this.interpretation); if (!this.uom.equals(Parameter.UOM_NONE)) - element.addAttribute("Uom", this.uom); + element.setAttribute("Uom", this.uom); if (this.hidden) - element.addAttribute("Hidden", Boolean.toString(this.hidden)); + element.setAttribute("Hidden", Boolean.toString(this.hidden)); return element; } @@ -134,16 +133,16 @@ public abstract class AbstractParameter extends AbstractStrolchElement implem super.fromDom(element); - String typeS = element.attributeValue("Type"); + String typeS = element.getAttribute("Type"); if (StringHelper.isEmpty(typeS)) { throw new StrolchException("Type must be set on element with id " + this.id); } else if (!typeS.equals(getType())) { throw new StrolchException(getClass().getSimpleName() + " must have type " + getType() + ", not: " + typeS); } - String interpretation = element.attributeValue("Interpretation"); - String isHidden = element.attributeValue("Hidden"); - String uom = element.attributeValue("Uom"); + String interpretation = element.getAttribute("Interpretation"); + String isHidden = element.getAttribute("Hidden"); + String uom = element.getAttribute("Uom"); setInterpretation(interpretation); setUom(uom); diff --git a/src/main/java/li/strolch/model/parameter/BooleanParameter.java b/src/main/java/li/strolch/model/parameter/BooleanParameter.java index 4d6921ee9..97b748a06 100644 --- a/src/main/java/li/strolch/model/parameter/BooleanParameter.java +++ b/src/main/java/li/strolch/model/parameter/BooleanParameter.java @@ -21,10 +21,9 @@ */ package li.strolch.model.parameter; +import org.w3c.dom.Element; + import li.strolch.exception.StrolchException; - -import org.dom4j.Element; - import ch.eitchnet.utils.helper.StringHelper; /** @@ -64,7 +63,7 @@ public class BooleanParameter extends AbstractParameter { public BooleanParameter(Element element) { super.fromDom(element); - String valueS = element.attributeValue("Value"); + String valueS = element.getAttribute("Value"); if (StringHelper.isEmpty(valueS)) { throw new StrolchException("No value defined for " + this.id); } diff --git a/src/main/java/li/strolch/model/parameter/DateParameter.java b/src/main/java/li/strolch/model/parameter/DateParameter.java index 3e0667861..1986958a8 100644 --- a/src/main/java/li/strolch/model/parameter/DateParameter.java +++ b/src/main/java/li/strolch/model/parameter/DateParameter.java @@ -23,10 +23,9 @@ package li.strolch.model.parameter; import java.text.DateFormat; +import org.w3c.dom.Element; + import li.strolch.exception.StrolchException; - -import org.dom4j.Element; - import ch.eitchnet.utils.helper.StringHelper; /** @@ -66,7 +65,7 @@ public class DateParameter extends AbstractParameter { public DateParameter(Element element) { super.fromDom(element); - String valueS = element.attributeValue("Value"); + String valueS = element.getAttribute("Value"); if (StringHelper.isEmpty(valueS)) { throw new StrolchException("No value defined for " + this.id); } diff --git a/src/main/java/li/strolch/model/parameter/FloatParameter.java b/src/main/java/li/strolch/model/parameter/FloatParameter.java index e313828ab..8683a2a19 100644 --- a/src/main/java/li/strolch/model/parameter/FloatParameter.java +++ b/src/main/java/li/strolch/model/parameter/FloatParameter.java @@ -21,10 +21,9 @@ */ package li.strolch.model.parameter; +import org.w3c.dom.Element; + import li.strolch.exception.StrolchException; - -import org.dom4j.Element; - import ch.eitchnet.utils.helper.StringHelper; /** @@ -66,7 +65,7 @@ public class FloatParameter extends AbstractParameter { public FloatParameter(Element element) { super.fromDom(element); - String valueS = element.attributeValue("Value"); + String valueS = element.getAttribute("Value"); if (StringHelper.isEmpty(valueS)) { throw new StrolchException("No value defined for " + this.id); } diff --git a/src/main/java/li/strolch/model/parameter/IntegerParameter.java b/src/main/java/li/strolch/model/parameter/IntegerParameter.java index 40d0315c3..74333fe14 100644 --- a/src/main/java/li/strolch/model/parameter/IntegerParameter.java +++ b/src/main/java/li/strolch/model/parameter/IntegerParameter.java @@ -21,10 +21,9 @@ */ package li.strolch.model.parameter; +import org.w3c.dom.Element; + import li.strolch.exception.StrolchException; - -import org.dom4j.Element; - import ch.eitchnet.utils.helper.StringHelper; /** @@ -65,7 +64,7 @@ public class IntegerParameter extends AbstractParameter { public IntegerParameter(Element element) { super.fromDom(element); - String valueS = element.attributeValue("Value"); + String valueS = element.getAttribute("Value"); if (StringHelper.isEmpty(valueS)) { throw new StrolchException("No value defined for " + this.id); } diff --git a/src/main/java/li/strolch/model/parameter/LongParameter.java b/src/main/java/li/strolch/model/parameter/LongParameter.java index 1eb0fc0bf..68059d34c 100644 --- a/src/main/java/li/strolch/model/parameter/LongParameter.java +++ b/src/main/java/li/strolch/model/parameter/LongParameter.java @@ -21,10 +21,9 @@ */ package li.strolch.model.parameter; +import org.w3c.dom.Element; + import li.strolch.exception.StrolchException; - -import org.dom4j.Element; - import ch.eitchnet.utils.helper.StringHelper; /** @@ -65,7 +64,7 @@ public class LongParameter extends AbstractParameter { public LongParameter(Element element) { super.fromDom(element); - String valueS = element.attributeValue("Value"); + String valueS = element.getAttribute("Value"); if (StringHelper.isEmpty(valueS)) { throw new StrolchException("No value defined for " + this.id); } diff --git a/src/main/java/li/strolch/model/parameter/StringListParameter.java b/src/main/java/li/strolch/model/parameter/StringListParameter.java index c5dc35056..77819cd42 100644 --- a/src/main/java/li/strolch/model/parameter/StringListParameter.java +++ b/src/main/java/li/strolch/model/parameter/StringListParameter.java @@ -27,11 +27,10 @@ import java.util.Collections; import java.util.Iterator; import java.util.List; +import org.w3c.dom.Element; + import li.strolch.exception.StrolchException; import li.strolch.model.StrolchElement; - -import org.dom4j.Element; - import ch.eitchnet.utils.helper.StringHelper; /** @@ -72,7 +71,7 @@ public class StringListParameter extends AbstractParameter> impleme public StringListParameter(Element element) { super.fromDom(element); - String valueS = element.attributeValue("Value"); + String valueS = element.getAttribute("Value"); if (StringHelper.isEmpty(valueS)) { throw new StrolchException("No value defined for " + this.id); } diff --git a/src/main/java/li/strolch/model/parameter/StringParameter.java b/src/main/java/li/strolch/model/parameter/StringParameter.java index 9cf021c6a..7f0de4e79 100644 --- a/src/main/java/li/strolch/model/parameter/StringParameter.java +++ b/src/main/java/li/strolch/model/parameter/StringParameter.java @@ -21,10 +21,9 @@ */ package li.strolch.model.parameter; +import org.w3c.dom.Element; + import li.strolch.exception.StrolchException; - -import org.dom4j.Element; - import ch.eitchnet.utils.helper.StringHelper; /** @@ -66,7 +65,7 @@ public class StringParameter extends AbstractParameter { public StringParameter(Element element) { super.fromDom(element); - String valueS = element.attributeValue("Value"); + String valueS = element.getAttribute("Value"); if (StringHelper.isEmpty(valueS)) { throw new StrolchException("No value defined for " + this.id); } diff --git a/src/main/java/li/strolch/model/timevalue/impl/StringSetValue.java b/src/main/java/li/strolch/model/timevalue/impl/StringSetValue.java index 499211bfc..b298264c4 100644 --- a/src/main/java/li/strolch/model/timevalue/impl/StringSetValue.java +++ b/src/main/java/li/strolch/model/timevalue/impl/StringSetValue.java @@ -1,7 +1,7 @@ package li.strolch.model.timevalue.impl; -import java.util.HashSet; import java.util.Collections; +import java.util.HashSet; import java.util.Iterator; import java.util.Set; diff --git a/src/test/java/li/strolch/model/timedstate/TimeStateTest.java b/src/test/java/li/strolch/model/timedstate/TimeStateTest.java index f2525094c..9ef800718 100644 --- a/src/test/java/li/strolch/model/timedstate/TimeStateTest.java +++ b/src/test/java/li/strolch/model/timedstate/TimeStateTest.java @@ -1,8 +1,6 @@ package li.strolch.model.timedstate; import junit.framework.Assert; -import li.strolch.model.timedstate.ITimedState; -import li.strolch.model.timedstate.TimedState; import li.strolch.model.timevalue.ITimeValue; import li.strolch.model.timevalue.IValueChange; import li.strolch.model.timevalue.impl.DoubleValue; diff --git a/src/test/java/li/strolch/model/timevalue/FloatTimeVariableTest.java b/src/test/java/li/strolch/model/timevalue/FloatTimeVariableTest.java index e8fe45670..b3bb6d2df 100644 --- a/src/test/java/li/strolch/model/timevalue/FloatTimeVariableTest.java +++ b/src/test/java/li/strolch/model/timevalue/FloatTimeVariableTest.java @@ -4,9 +4,6 @@ import java.util.Collection; import java.util.SortedSet; import junit.framework.Assert; -import li.strolch.model.timevalue.ITimeValue; -import li.strolch.model.timevalue.IValue; -import li.strolch.model.timevalue.IValueChange; import li.strolch.model.timevalue.impl.DoubleValue; import li.strolch.model.timevalue.impl.TimeVariable; import li.strolch.model.timevalue.impl.ValueChange; diff --git a/src/test/java/li/strolch/model/timevalue/IntegerTimeVariableTest.java b/src/test/java/li/strolch/model/timevalue/IntegerTimeVariableTest.java index 9af523bb1..601c8fc77 100644 --- a/src/test/java/li/strolch/model/timevalue/IntegerTimeVariableTest.java +++ b/src/test/java/li/strolch/model/timevalue/IntegerTimeVariableTest.java @@ -6,9 +6,6 @@ import java.util.Map; import java.util.SortedSet; import junit.framework.Assert; -import li.strolch.model.timevalue.ITimeValue; -import li.strolch.model.timevalue.IValue; -import li.strolch.model.timevalue.IValueChange; import li.strolch.model.timevalue.impl.IntegerValue; import li.strolch.model.timevalue.impl.TimeVariable; import li.strolch.model.timevalue.impl.ValueChange; diff --git a/src/test/java/li/strolch/model/timevalue/StringTimeVariableTest.java b/src/test/java/li/strolch/model/timevalue/StringTimeVariableTest.java index 031d2de0e..10fa4d92b 100644 --- a/src/test/java/li/strolch/model/timevalue/StringTimeVariableTest.java +++ b/src/test/java/li/strolch/model/timevalue/StringTimeVariableTest.java @@ -8,9 +8,6 @@ import java.util.Set; import java.util.SortedSet; import junit.framework.Assert; -import li.strolch.model.timevalue.ITimeValue; -import li.strolch.model.timevalue.IValue; -import li.strolch.model.timevalue.IValueChange; import li.strolch.model.timevalue.impl.AString; import li.strolch.model.timevalue.impl.StringSetValue; import li.strolch.model.timevalue.impl.TimeVariable; diff --git a/src/test/java/li/strolch/model/timevalue/ValueTests.java b/src/test/java/li/strolch/model/timevalue/ValueTests.java index 072262fe6..f88a0512b 100644 --- a/src/test/java/li/strolch/model/timevalue/ValueTests.java +++ b/src/test/java/li/strolch/model/timevalue/ValueTests.java @@ -5,7 +5,6 @@ import static org.junit.Assert.assertEquals; import java.util.HashSet; import java.util.Set; -import li.strolch.model.timevalue.IValue; import li.strolch.model.timevalue.impl.AString; import li.strolch.model.timevalue.impl.DoubleValue; import li.strolch.model.timevalue.impl.IntegerValue;