Bug 566972 - [SUML] Enable a specializing locus adapter to access the context instance
Change-Id: I1fcdd32ffed4d8c7b9a7da54435992638d523af4
Signed-off-by: jeremie.tatibouet <jeremie.tatibouet@cea.fr>
diff --git a/suml/bundles/org.eclipse.papyrus.moka.engine.suml/src/org/eclipse/papyrus/moka/engine/suml/opaquebehaviors/LocusAdapter.java b/suml/bundles/org.eclipse.papyrus.moka.engine.suml/src/org/eclipse/papyrus/moka/engine/suml/opaquebehaviors/LocusAdapter.java
index 8305a6c..96ba367 100644
--- a/suml/bundles/org.eclipse.papyrus.moka.engine.suml/src/org/eclipse/papyrus/moka/engine/suml/opaquebehaviors/LocusAdapter.java
+++ b/suml/bundles/org.eclipse.papyrus.moka.engine.suml/src/org/eclipse/papyrus/moka/engine/suml/opaquebehaviors/LocusAdapter.java
@@ -23,7 +23,6 @@
import org.eclipse.papyrus.moka.engine.suml.accessor.ComponentAccessor;
import org.eclipse.papyrus.moka.engine.suml.accessor.ValueTypeWrapper;
import org.eclipse.papyrus.moka.engine.suml.accessor.locus.IValueConverter;
-import org.eclipse.papyrus.moka.engine.suml.accessor.structures.ListAccess;
import org.eclipse.papyrus.moka.fuml.commonbehavior.IExecution;
import org.eclipse.papyrus.moka.fuml.commonbehavior.IParameterValue;
import org.eclipse.papyrus.moka.fuml.commonbehavior.ParameterValue;
@@ -55,6 +54,10 @@
this.ctxInstance = context;
}
+ protected IObject_ getExecutionInstance() {
+ return ctxInstance;
+ }
+
private ILocus getLocus() {
return ctxInstance.getLocus();
}
@@ -63,7 +66,7 @@
return ctxInstance.getTypes().get(0);
}
- private NamedElement findNamedElement(String qualifiedName) {
+ protected NamedElement findNamedElement(String qualifiedName) {
Classifier context = getContextType();
@@ -284,7 +287,7 @@
IValueConverter conv = AccessAdapterRegistry.getInstance().getConverterForClass(IValue.class);
if( params != null ) {
- List<Property> attributes = signal.getOwnedAttributes();
+ List<Property> attributes = signal.getAllAttributes();
for (int i = 0; i < attributes.size(); i++) {
Property attribute = attributes.get(i);
List<IValue> values = new ArrayList<IValue>();