Loading plugins/org.etsi.mts.tdl.common/src/org/etsi/mts/tdl/scoping/TDLScopeProvider.java +9 −2 Original line number Diff line number Diff line Loading @@ -469,8 +469,15 @@ public class TDLScopeProvider extends AbstractDeclarativeScopeProvider { } if (reduction != null && !reduction.isEmpty()) { int rIndex = reduction.indexOf(context); if (rIndex > 0) referenceType = reduction.get(rIndex - 1).getMember().getDataType(); if (rIndex > 0) { MemberReference preceding = reduction.get(rIndex - 1); if (preceding.getMember()!=null) { referenceType = preceding.getMember().getDataType(); } else { //TODO: handle, e.g. first reference referenceType = ((DataUse)context.eContainer()).resolveBaseDataType(); } } } if (referenceType instanceof CollectionDataType) { referenceType = ((CollectionDataType) referenceType).getItemType(); Loading plugins/org.etsi.mts.tdl.model/model/tdl.ecore +1 −1 Original line number Diff line number Diff line Loading @@ -194,7 +194,7 @@ <eClassifiers xsi:type="ecore:EClass" name="DataUse" abstract="true" eSuperTypes="#//Element"> <eOperations name="resolveDataType" eType="#//DataType"> <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"> <details key="body" value="
 	if (self.reduction->isEmpty()) then
 self.resolveBaseDataType()
 	else
 		self.reduction->last().member.dataType
 endif"/> <details key="body" value="
 	if (self.reduction->isEmpty()) then
 self.resolveBaseDataType()
 	else
 		if (self.reduction->last().member.oclIsUndefined()) then
	 self.resolveBaseDataType().oclAsType(CollectionDataType).itemType
 		else
	 		self.reduction->last().member.dataType
 		endif
 endif"/> </eAnnotations> </eOperations> <eOperations name="resolveBaseDataType" eType="#//DataType"> Loading Loading
plugins/org.etsi.mts.tdl.common/src/org/etsi/mts/tdl/scoping/TDLScopeProvider.java +9 −2 Original line number Diff line number Diff line Loading @@ -469,8 +469,15 @@ public class TDLScopeProvider extends AbstractDeclarativeScopeProvider { } if (reduction != null && !reduction.isEmpty()) { int rIndex = reduction.indexOf(context); if (rIndex > 0) referenceType = reduction.get(rIndex - 1).getMember().getDataType(); if (rIndex > 0) { MemberReference preceding = reduction.get(rIndex - 1); if (preceding.getMember()!=null) { referenceType = preceding.getMember().getDataType(); } else { //TODO: handle, e.g. first reference referenceType = ((DataUse)context.eContainer()).resolveBaseDataType(); } } } if (referenceType instanceof CollectionDataType) { referenceType = ((CollectionDataType) referenceType).getItemType(); Loading
plugins/org.etsi.mts.tdl.model/model/tdl.ecore +1 −1 Original line number Diff line number Diff line Loading @@ -194,7 +194,7 @@ <eClassifiers xsi:type="ecore:EClass" name="DataUse" abstract="true" eSuperTypes="#//Element"> <eOperations name="resolveDataType" eType="#//DataType"> <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"> <details key="body" value="
 	if (self.reduction->isEmpty()) then
 self.resolveBaseDataType()
 	else
 		self.reduction->last().member.dataType
 endif"/> <details key="body" value="
 	if (self.reduction->isEmpty()) then
 self.resolveBaseDataType()
 	else
 		if (self.reduction->last().member.oclIsUndefined()) then
	 self.resolveBaseDataType().oclAsType(CollectionDataType).itemType
 		else
	 		self.reduction->last().member.dataType
 		endif
 endif"/> </eAnnotations> </eOperations> <eOperations name="resolveBaseDataType" eType="#//DataType"> Loading