Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJuergen Haug2017-05-19 11:59:15 +0000
committerJuergen Haug2017-05-19 11:59:15 +0000
commitd7cccfb959d571175ff2c2be175e871de529e90a (patch)
tree336ca7c309f14db398df411d25583c5c4c0eb066
parentde2d04418033982a233f6472a5f516b468052b6d (diff)
downloadorg.eclipse.etrice-d7cccfb959d571175ff2c2be175e871de529e90a.tar.gz
org.eclipse.etrice-d7cccfb959d571175ff2c2be175e871de529e90a.tar.xz
org.eclipse.etrice-d7cccfb959d571175ff2c2be175e871de529e90a.zip
readded effect of RoomConvertingLazyLinker
API is available since 2.7 Change-Id: Id86aede6f9254c05b47b8c64596ea770f744bc96
-rw-r--r--plugins/org.eclipse.etrice.core.room/src/org/eclipse/etrice/core/linking/RoomConvertingLazyLinker.java42
1 files changed, 25 insertions, 17 deletions
diff --git a/plugins/org.eclipse.etrice.core.room/src/org/eclipse/etrice/core/linking/RoomConvertingLazyLinker.java b/plugins/org.eclipse.etrice.core.room/src/org/eclipse/etrice/core/linking/RoomConvertingLazyLinker.java
index 1324adc5d..c13fc6de4 100644
--- a/plugins/org.eclipse.etrice.core.room/src/org/eclipse/etrice/core/linking/RoomConvertingLazyLinker.java
+++ b/plugins/org.eclipse.etrice.core.room/src/org/eclipse/etrice/core/linking/RoomConvertingLazyLinker.java
@@ -12,27 +12,35 @@
package org.eclipse.etrice.core.linking;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EReference;
+import org.eclipse.etrice.core.fsm.fSM.FSMPackage;
+import org.eclipse.etrice.core.room.RoomPackage;
import org.eclipse.xtext.linking.lazy.LazyLinker;
/**
- * Linker that converts incompatible super classes to corresponding room sub classes
+ * Linker that uses concrete ROOM sub classes instead of FSM super classes.
*/
public class RoomConvertingLazyLinker extends LazyLinker {
-// protected static FSMPackage fsm = FSMPackage.eINSTANCE;
-// protected static RoomPackage room = RoomPackage.eINSTANCE;
-//
-// @Override
-// protected EClass getProxyType(EObject obj, EReference eRef) {
-// EClass orig = super.getProxyType(obj, eRef);
-//
-// if(orig == fsm.getModelComponent())
-// return room.getActorClass();
-// if(orig == fsm.getAbstractInterfaceItem())
-// return room.getInterfaceItem();
-//// if(orig == room.getGeneralProtocolClass())
-//// return ? => cannot decide, bad
-//
-// return orig;
-// }
+ protected static FSMPackage fsm = FSMPackage.eINSTANCE;
+ protected static RoomPackage room = RoomPackage.eINSTANCE;
+
+ @Override
+ protected EClass getProxyType(EObject obj, EReference eRef) {
+ EClass orig = super.getProxyType(obj, eRef);
+
+ // use concrete room classes
+ if(orig == fsm.getModelComponent())
+ return room.getActorClass();
+ if(orig == fsm.getAbstractInterfaceItem())
+ return room.getInterfaceItem();
+
+
+// if(orig == room.getGeneralProtocolClass())
+// return ? => cannot decide
+
+ return orig;
+ }
}

Back to the top