Loading plugins/Prototypes/org.etsi.mts.tdl.common/src/org/etsi/mts/tdl/scoping/TDLScopeProvider.java +19 −0 Original line number Diff line number Diff line Loading @@ -26,6 +26,8 @@ import org.etsi.mts.tdl.Connection; import org.etsi.mts.tdl.DataElementMapping; import org.etsi.mts.tdl.DataInstanceUse; import org.etsi.mts.tdl.DataType; import org.etsi.mts.tdl.CollectionDataType; import org.etsi.mts.tdl.CollectionDataInstance; import org.etsi.mts.tdl.DataUse; import org.etsi.mts.tdl.Element; import org.etsi.mts.tdl.ElementImport; Loading Loading @@ -293,6 +295,23 @@ public class TDLScopeProvider extends AbstractDeclarativeScopeProvider { IScope scope = Scopes.scopeFor(((StructuredDataType)((MemberReference)targetContext).getMember().getDataType()).allMembers()); return scope; } } else if (((MemberReference)targetContext).getCollectionIndex()!=null) { if (targetContext.eContainer() instanceof DataInstanceUse) { DataInstanceUse dataInstanceUse = (DataInstanceUse)targetContext.eContainer(); if (dataInstanceUse.getDataType()!=null) { //TODO:? } else if (dataInstanceUse.getDataInstance()!=null) { //TODO: check type DataType itemType = ((CollectionDataType)dataInstanceUse.getDataInstance().getDataType()).getItemType(); if (itemType instanceof StructuredDataType) { IScope scope = Scopes.scopeFor(((StructuredDataType)itemType).allMembers()); return scope; } } } else { //TODO: handle other scenarios? } } } if (context.eContainer() instanceof DataInstanceUse) { Loading Loading
plugins/Prototypes/org.etsi.mts.tdl.common/src/org/etsi/mts/tdl/scoping/TDLScopeProvider.java +19 −0 Original line number Diff line number Diff line Loading @@ -26,6 +26,8 @@ import org.etsi.mts.tdl.Connection; import org.etsi.mts.tdl.DataElementMapping; import org.etsi.mts.tdl.DataInstanceUse; import org.etsi.mts.tdl.DataType; import org.etsi.mts.tdl.CollectionDataType; import org.etsi.mts.tdl.CollectionDataInstance; import org.etsi.mts.tdl.DataUse; import org.etsi.mts.tdl.Element; import org.etsi.mts.tdl.ElementImport; Loading Loading @@ -293,6 +295,23 @@ public class TDLScopeProvider extends AbstractDeclarativeScopeProvider { IScope scope = Scopes.scopeFor(((StructuredDataType)((MemberReference)targetContext).getMember().getDataType()).allMembers()); return scope; } } else if (((MemberReference)targetContext).getCollectionIndex()!=null) { if (targetContext.eContainer() instanceof DataInstanceUse) { DataInstanceUse dataInstanceUse = (DataInstanceUse)targetContext.eContainer(); if (dataInstanceUse.getDataType()!=null) { //TODO:? } else if (dataInstanceUse.getDataInstance()!=null) { //TODO: check type DataType itemType = ((CollectionDataType)dataInstanceUse.getDataInstance().getDataType()).getItemType(); if (itemType instanceof StructuredDataType) { IScope scope = Scopes.scopeFor(((StructuredDataType)itemType).allMembers()); return scope; } } } else { //TODO: handle other scenarios? } } } if (context.eContainer() instanceof DataInstanceUse) { Loading