Commit 084301ab authored by Philip Makedonski's avatar Philip Makedonski
Browse files

+ use package from settings, #163

parent f4ce474b
Loading
Loading
Loading
Loading
Loading
+19 −5
Original line number Diff line number Diff line
package org.etsi.mts.tdl.execution.java.eclipse.commands;

import java.util.Iterator;
import java.util.List;

import org.eclipse.core.commands.AbstractHandler;
import org.eclipse.core.commands.ExecutionEvent;
import org.eclipse.core.commands.ExecutionException;
import org.eclipse.core.resources.IContainer;
import org.eclipse.core.resources.IFile;
import org.eclipse.core.resources.IFolder;
import org.eclipse.core.resources.IProject;
import org.eclipse.core.resources.ProjectScope;
import org.eclipse.core.resources.ResourcesPlugin;
import org.eclipse.core.runtime.CoreException;
import org.eclipse.core.runtime.IStatus;
import org.eclipse.core.runtime.NullProgressMonitor;
import org.eclipse.core.runtime.Path;
import org.eclipse.core.runtime.Status;
import org.eclipse.debug.core.DebugPlugin;
import org.eclipse.debug.core.ILaunchConfiguration;
@@ -37,6 +43,9 @@ import org.eclipse.xtext.EcoreUtil2;
import org.eclipse.xtext.resource.XtextResourceSet;
import org.etsi.mts.tdl.Package;
import org.etsi.mts.tdl.TestDescription;
import org.etsi.mts.tdl.execution.java.codegen.Settings;
import org.etsi.mts.tdl.execution.java.eclipse.ui.PropertyPage;
import org.osgi.service.prefs.Preferences;

import com.google.inject.Guice;
import com.google.inject.Injector;
@@ -101,14 +110,20 @@ public class RunJUnitTestHandler extends AbstractHandler {

		Package p = (Package) r.getContents().get(0);
		List<TestDescription> tests = EcoreUtil2.getAllContentsOfType(r, TestDescription.class);
        
		ProjectScope ps = new ProjectScope(project);
		Preferences preferences = ps.getNode(PropertyPage.PREFERENCE_SCOPE);
		String targetPackage = preferences.get(Settings.PACKAGE, "");

		
		// ── 2. Open the selection dialog ────────────────────────────────────
		
        List<JUnitTestDescriptor> all = tests.stream()
        		.filter(TestDescription::isIsLocallyOrdered)
        		.map(t -> new JUnitTestDescriptor(
        				t.getName(), //DONE: add test objective?
        				//TODO: why is this specific to mec.testcases?
        				"org.etsi.mts.tdl.tests.mec.testcases."
        				t.getName(), 
        				targetPackage+
        				"."
        				+p.getName().toLowerCase()
        				+"."
        				+t.getName(), 
@@ -116,7 +131,6 @@ public class RunJUnitTestHandler extends AbstractHandler {
        				t.getTestObjective().isEmpty() ? null : t.getTestObjective().getFirst().getDescription())
        			)
        		.toList();
        
        //TODO: refine display
		SelectJUnitTestDialog dialog =
                new SelectJUnitTestDialog(window.getShell(), all);