Loading plugins/org.etsi.mts.tdl.common/src/org/etsi/mts/tdl/TDLValueConverterService.java +30 −1 Original line number Diff line number Diff line Loading @@ -10,6 +10,7 @@ public class TDLValueConverterService extends EString2XtextConverter { private IdentifierValueConverter identifierValueConverter; private QIdentifierValueConverter qidentifierValueConverter; private GRIdentifierValueConverter gridentifierValueConverter; @ValueConverter(rule = "org.etsi.mts.tdl.TDLtx.Identifier") public IValueConverter<String> Identifier() { Loading Loading @@ -37,7 +38,10 @@ public class TDLValueConverterService extends EString2XtextConverter { @ValueConverter(rule = "org.etsi.mts.tdl.TDLtx.GRIdentifier") public IValueConverter<String> GRIdentifier() { return this.QIdentifier(); // return this.QIdentifier(); if (this.gridentifierValueConverter == null) this.gridentifierValueConverter = new GRIdentifierValueConverter(this.ID()); return this.gridentifierValueConverter; } @ValueConverter(rule = "GRIdentifier") Loading Loading @@ -89,3 +93,28 @@ class QIdentifierValueConverter extends IdentifierValueConverter { return String.join(".", parts); } } class GRIdentifierValueConverter extends IdentifierValueConverter { public GRIdentifierValueConverter(IValueConverter<String> iValueConverter) { super(iValueConverter); } @Override public String toValue(String string, INode node) throws ValueConverterException { String[] parts = string.split("::"); for (int i = 0; i < parts.length; i++) { parts[i] = super.toValue(parts[i], node); } return String.join("::", parts); } @Override public String toString(String value) throws ValueConverterException { String[] parts = value.split("::"); for (int i = 0; i < parts.length; i++) { parts[i] = super.toString(parts[i]); } return String.join("::", parts); } } No newline at end of file Loading
plugins/org.etsi.mts.tdl.common/src/org/etsi/mts/tdl/TDLValueConverterService.java +30 −1 Original line number Diff line number Diff line Loading @@ -10,6 +10,7 @@ public class TDLValueConverterService extends EString2XtextConverter { private IdentifierValueConverter identifierValueConverter; private QIdentifierValueConverter qidentifierValueConverter; private GRIdentifierValueConverter gridentifierValueConverter; @ValueConverter(rule = "org.etsi.mts.tdl.TDLtx.Identifier") public IValueConverter<String> Identifier() { Loading Loading @@ -37,7 +38,10 @@ public class TDLValueConverterService extends EString2XtextConverter { @ValueConverter(rule = "org.etsi.mts.tdl.TDLtx.GRIdentifier") public IValueConverter<String> GRIdentifier() { return this.QIdentifier(); // return this.QIdentifier(); if (this.gridentifierValueConverter == null) this.gridentifierValueConverter = new GRIdentifierValueConverter(this.ID()); return this.gridentifierValueConverter; } @ValueConverter(rule = "GRIdentifier") Loading Loading @@ -89,3 +93,28 @@ class QIdentifierValueConverter extends IdentifierValueConverter { return String.join(".", parts); } } class GRIdentifierValueConverter extends IdentifierValueConverter { public GRIdentifierValueConverter(IValueConverter<String> iValueConverter) { super(iValueConverter); } @Override public String toValue(String string, INode node) throws ValueConverterException { String[] parts = string.split("::"); for (int i = 0; i < parts.length; i++) { parts[i] = super.toValue(parts[i], node); } return String.join("::", parts); } @Override public String toString(String value) throws ValueConverterException { String[] parts = value.split("::"); for (int i = 0; i < parts.length; i++) { parts[i] = super.toString(parts[i]); } return String.join("::", parts); } } No newline at end of file