[Major] changed XML format of time value of TimedStates to be ISO8601
This commit is contained in:
parent
c1cdfbb4ea
commit
8f50a159b1
|
@ -15,6 +15,7 @@
|
|||
*/
|
||||
package li.strolch.model.timedstate;
|
||||
|
||||
import java.util.Date;
|
||||
import java.util.SortedSet;
|
||||
|
||||
import li.strolch.model.Tags;
|
||||
|
@ -25,6 +26,8 @@ import org.w3c.dom.Document;
|
|||
import org.w3c.dom.Element;
|
||||
import org.w3c.dom.NodeList;
|
||||
|
||||
import ch.eitchnet.utils.iso8601.ISO8601FormatFactory;
|
||||
|
||||
/**
|
||||
* @author Robert von Burg <eitch@eitchnet.ch>
|
||||
*/
|
||||
|
@ -50,7 +53,10 @@ public class BooleanTimedState extends AbstractStrolchTimedState<BooleanValue> {
|
|||
NodeList timeValueElems = element.getElementsByTagName(Tags.VALUE);
|
||||
for (int i = 0; i < timeValueElems.getLength(); i++) {
|
||||
Element timeValueElem = (Element) timeValueElems.item(i);
|
||||
Long time = Long.valueOf(timeValueElem.getAttribute(Tags.TIME));
|
||||
String timeS = timeValueElem.getAttribute(Tags.TIME);
|
||||
Date date = ISO8601FormatFactory.getInstance().parseDate(timeS);
|
||||
long time = date.getTime();
|
||||
|
||||
Boolean value = Boolean.valueOf(timeValueElem.getAttribute(Tags.VALUE));
|
||||
BooleanValue booleanValue = new BooleanValue(value);
|
||||
this.state.getTimeEvolution().setValueAt(time, booleanValue);
|
||||
|
@ -67,7 +73,7 @@ public class BooleanTimedState extends AbstractStrolchTimedState<BooleanValue> {
|
|||
Long time = timeValue.getTime();
|
||||
BooleanValue value = timeValue.getValue();
|
||||
Element valueElem = doc.createElement(Tags.VALUE);
|
||||
valueElem.setAttribute(Tags.TIME, time.toString());
|
||||
valueElem.setAttribute(Tags.TIME, ISO8601FormatFactory.getInstance().formatDate(time));
|
||||
valueElem.setAttribute(Tags.VALUE, value.getValue().toString());
|
||||
stateElement.appendChild(valueElem);
|
||||
}
|
||||
|
|
|
@ -15,6 +15,7 @@
|
|||
*/
|
||||
package li.strolch.model.timedstate;
|
||||
|
||||
import java.util.Date;
|
||||
import java.util.SortedSet;
|
||||
|
||||
import li.strolch.model.Tags;
|
||||
|
@ -25,6 +26,8 @@ import org.w3c.dom.Document;
|
|||
import org.w3c.dom.Element;
|
||||
import org.w3c.dom.NodeList;
|
||||
|
||||
import ch.eitchnet.utils.iso8601.ISO8601FormatFactory;
|
||||
|
||||
/**
|
||||
* @author Robert von Burg <eitch@eitchnet.ch>
|
||||
*/
|
||||
|
@ -50,7 +53,10 @@ public class FloatTimedState extends AbstractStrolchTimedState<FloatValue> {
|
|||
NodeList timeValueElems = element.getElementsByTagName(Tags.VALUE);
|
||||
for (int i = 0; i < timeValueElems.getLength(); i++) {
|
||||
Element timeValueElem = (Element) timeValueElems.item(i);
|
||||
Long time = Long.valueOf(timeValueElem.getAttribute(Tags.TIME));
|
||||
String timeS = timeValueElem.getAttribute(Tags.TIME);
|
||||
Date date = ISO8601FormatFactory.getInstance().parseDate(timeS);
|
||||
long time = date.getTime();
|
||||
|
||||
Double value = Double.valueOf(timeValueElem.getAttribute(Tags.VALUE));
|
||||
FloatValue floatValue = new FloatValue(value);
|
||||
this.state.getTimeEvolution().setValueAt(time, floatValue);
|
||||
|
@ -67,7 +73,7 @@ public class FloatTimedState extends AbstractStrolchTimedState<FloatValue> {
|
|||
Long time = timeValue.getTime();
|
||||
FloatValue value = timeValue.getValue();
|
||||
Element valueElem = doc.createElement(Tags.VALUE);
|
||||
valueElem.setAttribute(Tags.TIME, time.toString());
|
||||
valueElem.setAttribute(Tags.TIME, ISO8601FormatFactory.getInstance().formatDate(time));
|
||||
valueElem.setAttribute(Tags.VALUE, value.getValue().toString());
|
||||
stateElement.appendChild(valueElem);
|
||||
}
|
||||
|
|
|
@ -15,6 +15,7 @@
|
|||
*/
|
||||
package li.strolch.model.timedstate;
|
||||
|
||||
import java.util.Date;
|
||||
import java.util.SortedSet;
|
||||
|
||||
import li.strolch.model.Tags;
|
||||
|
@ -25,6 +26,8 @@ import org.w3c.dom.Document;
|
|||
import org.w3c.dom.Element;
|
||||
import org.w3c.dom.NodeList;
|
||||
|
||||
import ch.eitchnet.utils.iso8601.ISO8601FormatFactory;
|
||||
|
||||
/**
|
||||
* @author Robert von Burg <eitch@eitchnet.ch>
|
||||
*/
|
||||
|
@ -50,7 +53,10 @@ public class IntegerTimedState extends AbstractStrolchTimedState<IntegerValue> {
|
|||
NodeList timeValueElems = element.getElementsByTagName(Tags.VALUE);
|
||||
for (int i = 0; i < timeValueElems.getLength(); i++) {
|
||||
Element timeValueElem = (Element) timeValueElems.item(i);
|
||||
Long time = Long.valueOf(timeValueElem.getAttribute(Tags.TIME));
|
||||
String timeS = timeValueElem.getAttribute(Tags.TIME);
|
||||
Date date = ISO8601FormatFactory.getInstance().parseDate(timeS);
|
||||
long time = date.getTime();
|
||||
|
||||
Integer value = Integer.valueOf(timeValueElem.getAttribute(Tags.VALUE));
|
||||
IntegerValue integerValue = new IntegerValue(value);
|
||||
this.state.getTimeEvolution().setValueAt(time, integerValue);
|
||||
|
@ -67,7 +73,7 @@ public class IntegerTimedState extends AbstractStrolchTimedState<IntegerValue> {
|
|||
Long time = timeValue.getTime();
|
||||
IntegerValue value = timeValue.getValue();
|
||||
Element valueElem = doc.createElement(Tags.VALUE);
|
||||
valueElem.setAttribute(Tags.TIME, time.toString());
|
||||
valueElem.setAttribute(Tags.TIME, ISO8601FormatFactory.getInstance().formatDate(time));
|
||||
valueElem.setAttribute(Tags.VALUE, value.getValue().toString());
|
||||
stateElement.appendChild(valueElem);
|
||||
}
|
||||
|
|
|
@ -15,6 +15,7 @@
|
|||
*/
|
||||
package li.strolch.model.timedstate;
|
||||
|
||||
import java.util.Date;
|
||||
import java.util.HashSet;
|
||||
import java.util.Iterator;
|
||||
import java.util.Set;
|
||||
|
@ -29,6 +30,8 @@ import org.w3c.dom.Document;
|
|||
import org.w3c.dom.Element;
|
||||
import org.w3c.dom.NodeList;
|
||||
|
||||
import ch.eitchnet.utils.iso8601.ISO8601FormatFactory;
|
||||
|
||||
/**
|
||||
* @author Robert von Burg <eitch@eitchnet.ch>
|
||||
*/
|
||||
|
@ -54,7 +57,9 @@ public class StringSetTimedState extends AbstractStrolchTimedState<StringSetValu
|
|||
NodeList timeValueElems = element.getElementsByTagName(Tags.VALUE);
|
||||
for (int i = 0; i < timeValueElems.getLength(); i++) {
|
||||
Element timeValueElem = (Element) timeValueElems.item(i);
|
||||
Long time = Long.valueOf(timeValueElem.getAttribute(Tags.TIME));
|
||||
String timeS = timeValueElem.getAttribute(Tags.TIME);
|
||||
Date date = ISO8601FormatFactory.getInstance().parseDate(timeS);
|
||||
long time = date.getTime();
|
||||
|
||||
String valueAsString = timeValueElem.getAttribute(Tags.VALUE);
|
||||
Set<AString> value = new HashSet<>();
|
||||
|
@ -90,7 +95,7 @@ public class StringSetTimedState extends AbstractStrolchTimedState<StringSetValu
|
|||
String valueAsString = sb.toString();
|
||||
|
||||
Element valueElem = doc.createElement(Tags.VALUE);
|
||||
valueElem.setAttribute(Tags.TIME, time.toString());
|
||||
valueElem.setAttribute(Tags.TIME, ISO8601FormatFactory.getInstance().formatDate(time));
|
||||
valueElem.setAttribute(Tags.VALUE, valueAsString);
|
||||
stateElement.appendChild(valueElem);
|
||||
}
|
||||
|
|
|
@ -213,19 +213,18 @@ public class XmlModelSaxReader extends DefaultHandler {
|
|||
|
||||
case Tags.VALUE:
|
||||
String valueTime = attributes.getValue(Tags.TIME);
|
||||
Date date = ISO8601FormatFactory.getInstance().parseDate(valueTime);
|
||||
long time = date.getTime();
|
||||
String valueValue = attributes.getValue(Tags.VALUE);
|
||||
switch (this.stateType) {
|
||||
case FloatTimedState.TYPE:
|
||||
((FloatTimedState) this.state).getTimeEvolution().setValueAt(Long.valueOf(valueTime),
|
||||
new FloatValue(valueValue));
|
||||
((FloatTimedState) this.state).getTimeEvolution().setValueAt(time, new FloatValue(valueValue));
|
||||
break;
|
||||
case IntegerTimedState.TYPE:
|
||||
((IntegerTimedState) this.state).getTimeEvolution().setValueAt(Long.valueOf(valueTime),
|
||||
new IntegerValue(valueValue));
|
||||
((IntegerTimedState) this.state).getTimeEvolution().setValueAt(time, new IntegerValue(valueValue));
|
||||
break;
|
||||
case BooleanTimedState.TYPE:
|
||||
((BooleanTimedState) this.state).getTimeEvolution().setValueAt(Long.valueOf(valueTime),
|
||||
new BooleanValue(valueValue));
|
||||
((BooleanTimedState) this.state).getTimeEvolution().setValueAt(time, new BooleanValue(valueValue));
|
||||
break;
|
||||
case StringSetTimedState.TYPE:
|
||||
|
||||
|
@ -236,8 +235,7 @@ public class XmlModelSaxReader extends DefaultHandler {
|
|||
}
|
||||
|
||||
StringSetValue stringSetValue = new StringSetValue(value);
|
||||
((StringSetTimedState) this.state).getTimeEvolution().setValueAt(Long.valueOf(valueTime),
|
||||
stringSetValue);
|
||||
((StringSetTimedState) this.state).getTimeEvolution().setValueAt(time, stringSetValue);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
|
|
|
@ -15,30 +15,30 @@
|
|||
<Parameter Id="@param1" Name="Boolean Param" Type="Boolean" Value="true" />
|
||||
</ParameterBag>
|
||||
<TimedState Id="@booleanState" Name="Boolean State" Type="BooleanState">
|
||||
<Value Time="0" Value="false" />
|
||||
<Value Time="1" Value="true" />
|
||||
<Value Time="2" Value="false" />
|
||||
<Value Time="1970-01-01T00:00:00.000+01:00" Value="false" />
|
||||
<Value Time="1970-01-01T00:01:00.000+01:00" Value="true" />
|
||||
<Value Time="1970-01-01T00:02:00.000+01:00" Value="false" />
|
||||
</TimedState>
|
||||
<TimedState Id="@integerState" Name="Integer State" Type="IntegerState">
|
||||
<Value Time="0" Value="1" />
|
||||
<Value Time="1" Value="2" />
|
||||
<Value Time="2" Value="3" />
|
||||
<Value Time="3" Value="2" />
|
||||
<Value Time="4" Value="1" />
|
||||
<Value Time="5" Value="0" />
|
||||
<Value Time="1970-01-01T00:00:00.000+01:00" Value="1" />
|
||||
<Value Time="1970-01-01T00:01:00.000+01:00" Value="2" />
|
||||
<Value Time="1970-01-01T00:02:00.000+01:00" Value="3" />
|
||||
<Value Time="1970-01-01T00:03:00.000+01:00" Value="2" />
|
||||
<Value Time="1970-01-01T00:04:00.000+01:00" Value="1" />
|
||||
<Value Time="1970-01-01T00:05:00.000+01:00" Value="0" />
|
||||
</TimedState>
|
||||
<TimedState Id="@floatState" Name="Float State" Type="FloatState">
|
||||
<Value Time="0" Value="1.1" />
|
||||
<Value Time="1" Value="2.2" />
|
||||
<Value Time="2" Value="3.3" />
|
||||
<Value Time="3" Value="2.2" />
|
||||
<Value Time="4" Value="1.1" />
|
||||
<Value Time="5" Value="0.0" />
|
||||
<Value Time="1970-01-01T00:00:00.000+01:00" Value="1.1" />
|
||||
<Value Time="1970-01-01T00:01:00.000+01:00" Value="2.2" />
|
||||
<Value Time="1970-01-01T00:02:00.000+01:00" Value="3.3" />
|
||||
<Value Time="1970-01-01T00:03:00.000+01:00" Value="2.2" />
|
||||
<Value Time="1970-01-01T00:04:00.000+01:00" Value="1.1" />
|
||||
<Value Time="1970-01-01T00:05:00.000+01:00" Value="0.0" />
|
||||
</TimedState>
|
||||
<TimedState Id="@stringSetState" Name="StringSet State" Type="StringSetState">
|
||||
<Value Time="0" Value="foo" />
|
||||
<Value Time="1" Value="foo, bar" />
|
||||
<Value Time="2" Value="bar" />
|
||||
<Value Time="1970-01-01T00:00:00.000+01:00" Value="foo" />
|
||||
<Value Time="1970-01-01T00:01:00.000+01:00" Value="foo, bar" />
|
||||
<Value Time="1970-01-01T00:02:00.000+01:00" Value="bar" />
|
||||
</TimedState>
|
||||
</Resource>
|
||||
</StrolchModel>
|
||||
|
|
Loading…
Reference in New Issue