@@ -43,8 +43,10 @@ public class ValueTypeQualifierConverter implements ReadConverter {
4343 private static final String DATE_QUALIFIERS_NODE_NAME = "DateQualifiers" ;
4444 private static final String NUMBER_QUALIFIERS_NODE_NAME = "NumberQualifiers" ;
4545 private static final String BINARY_DATA_QUALIFIERS_NODE_NAME = "BinaryDataQualifiers" ;
46+ private static final String BINARY_QUALIFIERS_NODE_NAME = "BinaryQualifiers" ;
4647 private static final String LENGTH_NODE_NAME = "length" ;
4748 private static final String ALLOWED_LENGTH_NODE_NAME = "allowedLength" ;
49+ private static final String FIXED_NODE_NAME = "fixed" ;
4850 private static final String DATE_FRACTIONS_NODE_NAME = "dateFractions" ;
4951 private static final String SCALE_NODE_NAME = "scale" ;
5052 private static final String PRECISION_NODE_NAME = "precision" ;
@@ -71,6 +73,9 @@ public Object unmarshal(HierarchicalStreamReader reader, UnmarshallingContext co
7173 length = Integer .parseInt (reader .getValue ());
7274 } else if (ALLOWED_LENGTH_NODE_NAME .equalsIgnoreCase (reader .getNodeName ())) {
7375 allowedLength = AllowedLength .valueByName (reader .getValue ());
76+ } else if (FIXED_NODE_NAME .equalsIgnoreCase (reader .getNodeName ())) {
77+ var value = Boolean .parseBoolean (reader .getValue ());
78+ allowedLength = value ? AllowedLength .FIXED : AllowedLength .VARIABLE ;
7479 } else if (DATE_FRACTIONS_NODE_NAME .equalsIgnoreCase (reader .getNodeName ())) {
7580 dateFractions = DateFractions .valueByName (reader .getValue ());
7681 } else if (SCALE_NODE_NAME .equalsIgnoreCase (reader .getNodeName ())
@@ -93,7 +98,8 @@ public Object unmarshal(HierarchicalStreamReader reader, UnmarshallingContext co
9398 return DateQualifiers .create (dateFractions );
9499 } else if (NUMBER_QUALIFIERS_NODE_NAME .equalsIgnoreCase (nodeName )) {
95100 return NumberQualifiers .create (precision , scale , nonNegative );
96- } else if (BINARY_DATA_QUALIFIERS_NODE_NAME .equalsIgnoreCase (nodeName )) {
101+ } else if (BINARY_DATA_QUALIFIERS_NODE_NAME .equalsIgnoreCase (nodeName )
102+ || BINARY_QUALIFIERS_NODE_NAME .equalsIgnoreCase (nodeName )) {
97103 return BinaryDataQualifiers .create (length , allowedLength );
98104 } else { // квалификаторы пока не обрабатываются
99105 LOGGER .warn ("Unknown qualifiers {}" , nodeName );
0 commit comments