From b04b11d886c55e670c9df60a093ad1619c4b370d Mon Sep 17 00:00:00 2001 From: Michael Zillgith Date: Tue, 13 Jan 2015 11:09:00 +0100 Subject: [PATCH] - fixed Bug #270: Static model generator does not consider default values from "DataTypeTemplates" section of ICD file --- tools/model_generator/genmodel.jar | Bin 73220 -> 73728 bytes .../tools/StaticModelGenerator.java | 25 +++++++++++++----- 2 files changed, 19 insertions(+), 6 deletions(-) diff --git a/tools/model_generator/genmodel.jar b/tools/model_generator/genmodel.jar index 7edb5dbafb7fba83124ce6709a5d4ec84777dc4c..705432f9d436ed84f029ba8cf727919bd8a6123f 100644 GIT binary patch delta 26640 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%0DL--kT;JKqWoQijb^F3*F$9F5-jQYkzTu^I$l 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⋙{H{{r-t3I(XO2YneD)0Xa!R(e_Z%QV^KN4M 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 delta 25985 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 Wt7srPSy+e>CIB~%$aU20h4Ftk8fo|d diff --git a/tools/model_generator/src/com/libiec61850/tools/StaticModelGenerator.java b/tools/model_generator/src/com/libiec61850/tools/StaticModelGenerator.java index 0c6afc0..0a03b23 100644 --- a/tools/model_generator/src/com/libiec61850/tools/StaticModelGenerator.java +++ b/tools/model_generator/src/com/libiec61850/tools/StaticModelGenerator.java @@ -536,17 +536,30 @@ public class StaticModelGenerator { cOut.println("};\n"); if (dataAttribute.getSubDataAttributes() != null) - printDataAttributeDefinitions(daName, dataAttribute.getSubDataAttributes()); - - if (dataAttribute.getValue() != null) { - printValue(daName, dataAttribute); + + + printDataAttributeDefinitions(daName, dataAttribute.getSubDataAttributes()); + + DataModelValue value = dataAttribute.getValue(); + + /* if no value is given use default value for type if present */ + if (value == null) { + value = dataAttribute.getDefinition().getValue(); + + if (value != null) + if (value.getValue() == null) + value.updateEnumOrdValue(ied.getTypeDeclarations()); } + + if (value != null) { + printValue(daName, dataAttribute, value); + } + } } - private void printValue(String daName, DataAttribute dataAttribute) { - DataModelValue value = dataAttribute.getValue(); + private void printValue(String daName, DataAttribute dataAttribute, DataModelValue value) { StringBuffer buffer = this.initializerBuffer;