diff --git a/tools/model_generator/build2.sh b/tools/model_generator/build2.sh index 8bf31dfb..52bd6f80 100755 --- a/tools/model_generator/build2.sh +++ b/tools/model_generator/build2.sh @@ -4,7 +4,7 @@ mkdir build find src/ -name "*.java" > listFile.tmp -javac -target 1.6 -source 1.6 -d build @listFile.tmp +javac -target 1.8 -source 1.8 -d build @listFile.tmp jar cfm genconfig.jar manifest-dynamic.mf -C build/ com/ diff --git a/tools/model_generator/src/com/libiec61850/scl/model/DataModelValue.java b/tools/model_generator/src/com/libiec61850/scl/model/DataModelValue.java index 2bd18a3d..ccf4d8f0 100644 --- a/tools/model_generator/src/com/libiec61850/scl/model/DataModelValue.java +++ b/tools/model_generator/src/com/libiec61850/scl/model/DataModelValue.java @@ -188,19 +188,35 @@ public class DataModelValue { case TIMESTAMP: case ENTRY_TIME: - try { + { String modValueString = value.replace(',', '.'); - SimpleDateFormat parser = new SimpleDateFormat("yyyy-MM-d'T'HH:mm:ss.SSS"); - parser.setTimeZone(TimeZone.getTimeZone("UTC")); + try { + SimpleDateFormat parser = new SimpleDateFormat("yyyy-MM-d'T'HH:mm:ss.SSS"); + parser.setTimeZone(TimeZone.getTimeZone("UTC")); + + Date date = parser.parse(modValueString); - Date date = parser.parse(modValueString); + this.value = new Long(date.toInstant().toEpochMilli()); + + break; + } + catch (java.text.ParseException e) {}; + + try { + SimpleDateFormat parser = new SimpleDateFormat("yyyy-MM-d'T'HH:mm:ss"); + parser.setTimeZone(TimeZone.getTimeZone("UTC")); + + Date date = parser.parse(modValueString); - this.value = new Long(date.toInstant().toEpochMilli()); - } - catch (java.text.ParseException e) { + this.value = new Long(date.toInstant().toEpochMilli()); + + break; + } + catch (java.text.ParseException e) {}; + this.value = null; - System.out.println("Warning: Val element does not contain a valid time stamp: " + e.getMessage()); + System.out.println("Warning: Val element does not contain a valid time stamp: " + value); } break; diff --git a/tools/model_generator/src/com/libiec61850/tools/DynamicModelGenerator.java b/tools/model_generator/src/com/libiec61850/tools/DynamicModelGenerator.java index 4a10f56b..35d4059c 100644 --- a/tools/model_generator/src/com/libiec61850/tools/DynamicModelGenerator.java +++ b/tools/model_generator/src/com/libiec61850/tools/DynamicModelGenerator.java @@ -543,6 +543,11 @@ public class DynamicModelGenerator { case FLOAT64: output.print("=" + value.getValue()); break; + case TIMESTAMP: + case ENTRY_TIME: + output.print("=" + value.getLongValue()); + break; + default: System.out.println("Unknown default value for " + dataAttribute.getName() + " type: " + dataAttribute.getType()); break;