Przeglądaj źródła

Added full qualified name for IThread simulations

Andreas Mülder 14 lat temu
rodzic
commit
3824f53a10

+ 39 - 0
plugins/org.yakindu.sct.simulation.core/src/org/yakindu/sct/simulation/core/debugmodel/SCTDebugElement.java

@@ -10,8 +10,15 @@
  */
 package org.yakindu.sct.simulation.core.debugmodel;
 
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
+
 import org.eclipse.debug.core.model.DebugElement;
 import org.eclipse.debug.core.model.IDebugTarget;
+import org.eclipse.emf.ecore.EObject;
+import org.yakindu.sct.model.sgraph.NamedElement;
+import org.yakindu.sct.model.sgraph.Statechart;
 
 /**
  * 
@@ -35,4 +42,36 @@ public class SCTDebugElement extends DebugElement {
 		return IDebugConstants.ID_DEBUG_MODEL;
 	}
 
+	public String fullQfn(NamedElement element) {
+		List<String> qfnFragments = new ArrayList<String>();
+		qfnFragments.add(element.getName());
+		EObject current = element;
+		while (!(current.eContainer() instanceof Statechart)) {
+			current = current.eContainer();
+			if (current instanceof NamedElement) {
+				String name = ((NamedElement) current).getName();
+				if (name != null) {
+					qfnFragments.add(name.replaceAll(" ", ""));
+				} else {
+					qfnFragments.add("<name>");
+				}
+			}
+		}
+		Collections.reverse(qfnFragments);
+		StringBuilder sb = new StringBuilder();
+
+		sb.append(element.getName());
+		sb.append("  (");
+		String sep = "";
+		for (String s : qfnFragments) {
+			sb.append(sep).append(s);
+			sep = ".";
+		}
+		sb.append(")");
+
+		sb.append(" resource: ");
+		sb.append(element.eResource().getURI().lastSegment());
+		return sb.toString();
+	}
+
 }

+ 1 - 2
plugins/org.yakindu.sct.simulation.core/src/org/yakindu/sct/simulation/core/debugmodel/SCTDebugThread.java

@@ -44,7 +44,6 @@ public class SCTDebugThread extends SCTDebugElement implements IThread {
 	public IStackFrame[] getStackFrames() throws DebugException {
 		List<Vertex> activeStates = getDebugTarget().getActiveStatesForRegion(
 				region);
-		System.out.println(getName() + " active States " + activeStates);
 		List<IStackFrame> stackFrames = new ArrayList<IStackFrame>();
 		for (int i = activeStates.size() - 1; i >= 0; i--) {
 			stackFrames.add(new SCTStackFrame(this, activeStates.get(i),
@@ -58,7 +57,7 @@ public class SCTDebugThread extends SCTDebugElement implements IThread {
 	}
 
 	public String getName() throws DebugException {
-		return region.getName();
+		return fullQfn(region);
 	}
 
 	public IBreakpoint[] getBreakpoints() {

+ 1 - 36
plugins/org.yakindu.sct.simulation.core/src/org/yakindu/sct/simulation/core/debugmodel/SCTStackFrame.java

@@ -10,19 +10,12 @@
  */
 package org.yakindu.sct.simulation.core.debugmodel;
 
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.List;
-
 import org.eclipse.debug.core.DebugEvent;
 import org.eclipse.debug.core.DebugException;
 import org.eclipse.debug.core.ILaunch;
 import org.eclipse.debug.core.model.IRegisterGroup;
 import org.eclipse.debug.core.model.IStackFrame;
 import org.eclipse.debug.core.model.IVariable;
-import org.eclipse.emf.ecore.EObject;
-import org.yakindu.sct.model.sgraph.NamedElement;
-import org.yakindu.sct.model.sgraph.Statechart;
 import org.yakindu.sct.model.sgraph.Vertex;
 import org.yakindu.sct.simulation.core.ISGraphExecutionFacade;
 import org.yakindu.sct.simulation.core.SGraphSimulationSession;
@@ -138,35 +131,7 @@ public class SCTStackFrame extends SCTDebugElement implements IStackFrame {
 	}
 
 	public String getName() throws DebugException {
-		List<String> qfnFragments = new ArrayList<String>();
-		qfnFragments.add(state.getName());
-		EObject current = state;
-		while (!(current.eContainer() instanceof Statechart)) {
-			current = current.eContainer();
-			if (current instanceof NamedElement) {
-				String name = ((NamedElement) current).getName();
-				if (name != null) {
-					qfnFragments.add(name.replaceAll(" ", ""));
-				} else {
-					qfnFragments.add("<name>");
-				}
-			}
-		}
-		Collections.reverse(qfnFragments);
-		StringBuilder sb = new StringBuilder();
-
-		sb.append(state.getName());
-		sb.append("  (");
-		String sep = "";
-		for (String s : qfnFragments) {
-			sb.append(sep).append(s);
-			sep = ".";
-		}
-		sb.append(")");
-
-		sb.append(" resource: ");
-		sb.append(state.eResource().getURI().lastSegment());
-		return sb.toString();
+		return fullQfn(state);
 
 	}