Просмотр исходного кода

Added check for referenced gen model to prevent ClassCastException

benjamin.schwertfeger@googlemail.com 11 лет назад
Родитель
Сommit
127874ef67

+ 7 - 1
plugins/org.yakindu.sct.generator.core/src/org/yakindu/sct/generator/core/impl/AbstractSGraphModelGenerator.java

@@ -14,6 +14,7 @@ import java.io.File;
 import java.io.PrintWriter;
 
 import org.eclipse.core.resources.IProject;
+import org.eclipse.emf.ecore.EObject;
 import org.eclipse.ui.PlatformUI;
 import org.eclipse.ui.console.ConsolePlugin;
 import org.eclipse.ui.console.IConsole;
@@ -101,7 +102,12 @@ public abstract class AbstractSGraphModelGenerator implements ISCTGenerator {
 	}
 
 	public final void generate(GeneratorEntry entry) {
-		Statechart statechart = (Statechart) entry.getElementRef();
+		EObject element = entry.getElementRef();
+		if (element != null && !element.eIsProxy() && !(element instanceof Statechart)) {
+			writeToConsole("No Statechart selected in genmodel (" + entry + ")");
+			return;
+		}
+		Statechart statechart = (Statechart) element;
 		try {
 			writeToConsole(String.format("Generating Statechart %s ...",
 					statechart.getName()));