This commit was manufactured by cvs2svn to create branch 'e_3_2_m_1_0'.
Sprout from master 2006-12-23 00:17:33 UTC mkersten 'Version update'
Cherrypick from master 2006-04-07 22:03:23 UTC mkersten 'Progress on: clear context broken when task active?':
org.eclipse.mylyn.java.ui/src/org/eclipse/mylyn/internal/java/ui/junit/MylarJUnitTabGroup.java
Cherrypick from e_3_2 2006-12-23 00:40:39 UTC mkersten 'Version update':
org.eclipse.mylyn.ide-feature/feature.xml
org.eclipse.mylyn.java.ui/.settings/org.eclipse.mylar.tasklist.prefs
org.eclipse.mylyn.java.ui/META-INF/MANIFEST.MF
org.eclipse.mylyn.java.ui/icons/elcl16/templateprop_co.gif
org.eclipse.mylyn.java.ui/plugin.xml
org.eclipse.mylyn.java.ui/src/org/eclipse/mylyn/internal/java/JavaDebugStructureBridge.java
org.eclipse.mylyn.java.ui/src/org/eclipse/mylyn/internal/java/JavaStructureBridge.java
org.eclipse.mylyn.java.ui/src/org/eclipse/mylyn/internal/java/MylarJavaPlugin.java
org.eclipse.mylyn.java.ui/src/org/eclipse/mylyn/internal/java/TypeHistoryManager.java
org.eclipse.mylyn.java.ui/src/org/eclipse/mylyn/internal/java/search/AbstractJavaRelationProvider.java
org.eclipse.mylyn.java.ui/src/org/eclipse/mylyn/internal/java/search/JavaActiveSearchResultUpdater.java
org.eclipse.mylyn.java.ui/src/org/eclipse/mylyn/internal/java/ui/JavaUiBridge.java
org.eclipse.mylyn.java.ui/src/org/eclipse/mylyn/internal/java/ui/JavaUiUtil.java
org.eclipse.mylyn.java.ui/src/org/eclipse/mylyn/internal/java/ui/LandmarkMarkerManager.java
org.eclipse.mylyn.java.ui/src/org/eclipse/mylyn/internal/java/ui/actions/FilterMembersAction.java
org.eclipse.mylyn.java.ui/src/org/eclipse/mylyn/internal/java/ui/actions/FocusBrowsingPerspectiveAction.java
org.eclipse.mylyn.java.ui/src/org/eclipse/mylyn/internal/java/ui/actions/FocusDebugViewAction.java
org.eclipse.mylyn.java.ui/src/org/eclipse/mylyn/internal/java/ui/actions/FocusPackageExplorerAction.java
org.eclipse.mylyn.java.ui/src/org/eclipse/mylyn/internal/java/ui/editor/ActiveFoldingListener.java
org.eclipse.mylyn.java.ui/src/org/eclipse/mylyn/internal/java/ui/editor/MylarJavaNoTypeProposalComputer.java
org.eclipse.mylyn.java.ui/src/org/eclipse/mylyn/internal/java/ui/editor/MylarJavaProposalProcessor.java
org.eclipse.mylyn.java.ui/src/org/eclipse/mylyn/internal/java/ui/editor/MylarJavaTypeProposalComputer.java
org.eclipse.mylyn.java.ui/src/org/eclipse/mylyn/internal/java/ui/junit/MylarContextTestUtil.java
org.eclipse.mylyn.java.ui/src/org/eclipse/mylyn/internal/java/ui/junit/MylarJUnitLaunchConfiguration.java
org.eclipse.mylyn.java.ui/src/org/eclipse/mylyn/internal/java/ui/junit/MylarJUnitMainTab.java
org.eclipse.mylyn.java.ui/src/org/eclipse/mylyn/internal/java/ui/junit/MylarPdeJUnitLaunchConfiguration.java
org.eclipse.mylyn.java.ui/src/org/eclipse/mylyn/internal/java/ui/junit/MylarPdeJUnitTabGroup.java
org.eclipse.mylyn.java.ui/src/org/eclipse/mylyn/internal/java/ui/views/ActiveHierarchyView.java
org.eclipse.mylyn.java.ui/src/org/eclipse/mylyn/internal/java/ui/views/MylarPerspectiveFactory.java
org.eclipse.mylyn.java.ui/src/org/eclipse/mylyn/internal/java/ui/wizards/MylarPreferenceWizardPage.java
org.eclipse.mylyn.team.ui/plugin.xml
Delete:
org.eclipse.mylyn.ide-feature/.settings/org.eclipse.mylar.tasklist.prefs
org.eclipse.mylyn.java.ui/src/org/eclipse/mylyn/internal/java/ui/junit/JUnitLaunchConfigurationDelegateCOPY.java
org.eclipse.mylyn.team.ui/src/org/eclipse/mylyn/internal/team/ui/actions/ApplyPatchAction.javadiff --git a/org.eclipse.mylyn.ide-feature/.settings/org.eclipse.mylar.tasklist.prefs b/org.eclipse.mylyn.ide-feature/.settings/org.eclipse.mylar.tasklist.prefs
deleted file mode 100644
index 9c2a206..0000000
--- a/org.eclipse.mylyn.ide-feature/.settings/org.eclipse.mylar.tasklist.prefs
+++ /dev/null
@@ -1,4 +0,0 @@
-#Fri Oct 20 16:44:42 PDT 2006
-eclipse.preferences.version=1
-project.repository.kind=bugzilla
-project.repository.url=https\://bugs.eclipse.org/bugs
diff --git a/org.eclipse.mylyn.ide-feature/feature.xml b/org.eclipse.mylyn.ide-feature/feature.xml
index a07bca3..8c9b9f4 100644
--- a/org.eclipse.mylyn.ide-feature/feature.xml
+++ b/org.eclipse.mylyn.ide-feature/feature.xml
@@ -214,7 +214,7 @@
</license>
<url>
- <update label="Mylar for Eclipse 3.3" url="http://download.eclipse.org/technology/mylar/update-site/e3.3"/>
+ <update label="Mylar for Eclipse 3.2" url="http://download.eclipse.org/technology/mylar/update-site/e3.2"/>
</url>
<requires>
@@ -240,27 +240,19 @@
<import plugin="org.eclipse.pde.ui"/>
<import plugin="org.eclipse.pde.core"/>
<import plugin="org.eclipse.ui.ide"/>
- <import plugin="org.eclipse.mylar.context.core" version="1.0.0" match="greaterOrEqual"/>
- <import plugin="org.eclipse.mylar.ide"/>
- <import plugin="org.eclipse.mylar.tasks.ui"/>
- <import plugin="org.eclipse.mylar.context.ui"/>
<import plugin="org.eclipse.team.ui"/>
<import plugin="org.eclipse.team.cvs.core"/>
<import plugin="org.eclipse.team.core"/>
<import plugin="org.eclipse.ui.forms"/>
- <import plugin="org.eclipse.mylar.monitor"/>
- <import plugin="org.eclipse.mylar.resources"/>
<import plugin="org.eclipse.jdt.debug"/>
<import plugin="org.eclipse.ui.navigator"/>
<import plugin="org.eclipse.ant.ui"/>
<import plugin="org.eclipse.ui.navigator.resources"/>
<import plugin="org.eclipse.pde.runtime"/>
<import plugin="org.eclipse.compare"/>
- <import plugin="org.eclipse.mylar.tasks.core"/>
<import plugin="org.eclipse.jface"/>
<import plugin="org.eclipse.ui.workbench"/>
- <import feature="org.eclipse.mylar_feature" version="1.0.0" match="greaterOrEqual"/>
- <import plugin="org.eclipse.mylar.doc"/>
+ <import feature="org.eclipse.mylar_feature" version="1.0.1" match="greaterOrEqual"/>
</requires>
<plugin
diff --git a/org.eclipse.mylyn.java.ui/src/org/eclipse/mylyn/internal/java/JavaStructureBridge.java b/org.eclipse.mylyn.java.ui/src/org/eclipse/mylyn/internal/java/JavaStructureBridge.java
index d4ee56b..7ea3fb1 100644
--- a/org.eclipse.mylyn.java.ui/src/org/eclipse/mylyn/internal/java/JavaStructureBridge.java
+++ b/org.eclipse.mylyn.java.ui/src/org/eclipse/mylyn/internal/java/JavaStructureBridge.java
@@ -38,13 +38,12 @@
import org.eclipse.jdt.internal.core.JarEntryFile;
import org.eclipse.jdt.internal.core.JarPackageFragmentRoot;
import org.eclipse.jdt.internal.ui.packageview.ClassPathContainer;
-import org.eclipse.jdt.internal.ui.packageview.PackageFragmentRootContainer;
import org.eclipse.jdt.internal.ui.util.ExceptionHandler;
-import org.eclipse.mylar.context.core.AbstractContextStructureBridge;
import org.eclipse.mylar.context.core.AbstractRelationProvider;
import org.eclipse.mylar.context.core.ContextCorePlugin;
import org.eclipse.mylar.context.core.IDegreeOfSeparation;
import org.eclipse.mylar.context.core.IMylarElement;
+import org.eclipse.mylar.context.core.AbstractContextStructureBridge;
import org.eclipse.mylar.context.core.MylarStatusHandler;
import org.eclipse.mylar.internal.context.core.DegreeOfSeparation;
import org.eclipse.mylar.internal.java.search.JUnitReferencesProvider;
@@ -215,7 +214,7 @@
return adapter instanceof IJavaElement;
}
- boolean accepts = object instanceof IJavaElement || object instanceof PackageFragmentRootContainer
+ boolean accepts = object instanceof IJavaElement || object instanceof ClassPathContainer
|| object instanceof ClassPathContainer.RequiredProjectWrapper || object instanceof JarEntryFile
|| object instanceof IPackageFragment || object instanceof WorkingSet
|| isWtpClass(object);
@@ -231,11 +230,11 @@
public boolean canFilter(Object object) {
if (object instanceof ClassPathContainer.RequiredProjectWrapper) {
return true;
- } else if (object instanceof PackageFragmentRootContainer) {
- // since not in model, check if it contains anything interesting
- PackageFragmentRootContainer container = (PackageFragmentRootContainer) object;
+ } else if (object instanceof ClassPathContainer) {
+ // HACK: check if it has anything interesting
+ ClassPathContainer container = (ClassPathContainer) object;
- Object[] children = container.getChildren();
+ Object[] children = container.getChildren(container);
for (int i = 0; i < children.length; i++) {
if (children[i] instanceof JarPackageFragmentRoot) {
JarPackageFragmentRoot element = (JarPackageFragmentRoot) children[i];
diff --git a/org.eclipse.mylyn.java.ui/src/org/eclipse/mylyn/internal/java/TypeHistoryManager.java b/org.eclipse.mylyn.java.ui/src/org/eclipse/mylyn/internal/java/TypeHistoryManager.java
index f41e4fa..1b6d19c 100644
--- a/org.eclipse.mylyn.java.ui/src/org/eclipse/mylyn/internal/java/TypeHistoryManager.java
+++ b/org.eclipse.mylyn.java.ui/src/org/eclipse/mylyn/internal/java/TypeHistoryManager.java
@@ -11,15 +11,26 @@
package org.eclipse.mylar.internal.java;
+import java.io.File;
import java.util.List;
+import org.eclipse.core.resources.IFile;
+import org.eclipse.core.resources.ResourcesPlugin;
+import org.eclipse.core.runtime.IPath;
import org.eclipse.jdt.core.IJavaElement;
+import org.eclipse.jdt.core.IMember;
+import org.eclipse.jdt.core.IPackageFragmentRoot;
import org.eclipse.jdt.core.IType;
import org.eclipse.jdt.core.JavaCore;
import org.eclipse.jdt.core.JavaModelException;
-import org.eclipse.jdt.core.search.TypeNameMatch;
-import org.eclipse.jdt.internal.core.search.JavaSearchTypeNameMatch;
+import org.eclipse.jdt.core.compiler.CharOperation;
+import org.eclipse.jdt.core.search.IJavaSearchScope;
+import org.eclipse.jdt.internal.core.JavaModel;
+import org.eclipse.jdt.internal.core.search.HierarchyScope;
+import org.eclipse.jdt.internal.core.search.indexing.IIndexConstants;
import org.eclipse.jdt.internal.corext.util.OpenTypeHistory;
+import org.eclipse.jdt.internal.corext.util.TypeInfo;
+import org.eclipse.jdt.internal.corext.util.TypeInfoFactory;
import org.eclipse.mylar.context.core.IMylarContext;
import org.eclipse.mylar.context.core.IMylarContextListener;
import org.eclipse.mylar.context.core.IMylarElement;
@@ -30,7 +41,7 @@
*/
public class TypeHistoryManager implements IMylarContextListener {
-// private TypeInfoFactory factory = new TypeInfoFactory();
+ private TypeInfoFactory factory = new TypeInfoFactory();
public void contextActivated(IMylarContext context) {
clearTypeHistory();
@@ -47,15 +58,13 @@
IType type = (IType) element;
try {
if (type != null && type.exists() && !type.isAnonymous() && !isAspectjType(type)) {
-// TypeInfo info = factory.create(type.getPackageFragment().getElementName().toCharArray(), type
-// .getElementName().toCharArray(), enclosingTypeNames(type), type.getFlags(), getPath(type));
+ TypeInfo info = factory.create(type.getPackageFragment().getElementName().toCharArray(), type
+ .getElementName().toCharArray(), enclosingTypeNames(type), type.getFlags(), getPath(type));
- JavaSearchTypeNameMatch typeNameMatch = new JavaSearchTypeNameMatch(type, type.getFlags());
-
- if (add && !OpenTypeHistory.getInstance().contains(typeNameMatch)) {
- OpenTypeHistory.getInstance().accessed(typeNameMatch);
+ if (add && !OpenTypeHistory.getInstance().contains(info)) {
+ OpenTypeHistory.getInstance().accessed(info);
} else {
- OpenTypeHistory.getInstance().remove(typeNameMatch);
+ OpenTypeHistory.getInstance().remove(info);
}
}
} catch (JavaModelException e) {
@@ -78,14 +87,14 @@
}
public void contextDeactivated(IMylarContext context) {
- clearTypeHistory();
+// clearTypeHistory();
}
/**
* Public for testing
*/
public void clearTypeHistory() {
- TypeNameMatch[] typeInfos = OpenTypeHistory.getInstance().getTypeInfos();
+ TypeInfo[] typeInfos = OpenTypeHistory.getInstance().getTypeInfos();
for (int i = 0; i < typeInfos.length; i++) {
OpenTypeHistory.getInstance().remove(typeInfos[i]);
}
@@ -120,4 +129,61 @@
public void relationsChanged(IMylarElement node) {
// ignore
}
+
+ /**
+ * Coped from: HierarchyScope constructor
+ */
+ private String getPath(IType type) {
+ String focusPath = null;
+ IPackageFragmentRoot root = (IPackageFragmentRoot) type.getPackageFragment().getParent();
+ if (root.isArchive()) {
+ IPath jarPath = root.getPath();
+ Object target = JavaModel.getTarget(ResourcesPlugin.getWorkspace().getRoot(), jarPath, true);
+ String zipFileName;
+ if (target instanceof IFile) {
+ // internal jar
+ zipFileName = jarPath.toString();
+ } else if (target instanceof File) {
+ // external jar
+ zipFileName = ((File) target).getPath();
+ } else {
+ return null; // unknown target
+ }
+ focusPath = zipFileName + IJavaSearchScope.JAR_FILE_ENTRY_SEPARATOR
+ + type.getFullyQualifiedName().replace('.', '/') + HierarchyScope.SUFFIX_STRING_class;
+ } else {
+ focusPath = type.getPath().toString();
+ }
+ return focusPath;
+ }
+
+ /**
+ * Copied from: org.eclipse.java.search.SearchPattern
+ */
+ private char[][] enclosingTypeNames(IType type) {
+ IJavaElement parent = type.getParent();
+ switch (parent.getElementType()) {
+ case IJavaElement.CLASS_FILE:
+ // For a binary type, the parent is not the enclosing type, but the
+ // declaring type is.
+ // (see bug 20532 Declaration of member binary type not found)
+ IType declaringType = type.getDeclaringType();
+ if (declaringType == null)
+ return CharOperation.NO_CHAR_CHAR;
+ return CharOperation.arrayConcat(enclosingTypeNames(declaringType), declaringType.getElementName()
+ .toCharArray());
+ case IJavaElement.COMPILATION_UNIT:
+ return CharOperation.NO_CHAR_CHAR;
+ case IJavaElement.FIELD:
+ case IJavaElement.INITIALIZER:
+ case IJavaElement.METHOD:
+ IType declaringClass = ((IMember) parent).getDeclaringType();
+ return CharOperation.arrayConcat(enclosingTypeNames(declaringClass), new char[][] {
+ declaringClass.getElementName().toCharArray(), IIndexConstants.ONE_STAR });
+ case IJavaElement.TYPE:
+ return CharOperation.arrayConcat(enclosingTypeNames((IType) parent), parent.getElementName().toCharArray());
+ default:
+ return null;
+ }
+ }
}
diff --git a/org.eclipse.mylyn.java.ui/src/org/eclipse/mylyn/internal/java/ui/junit/JUnitLaunchConfigurationDelegateCOPY.java b/org.eclipse.mylyn.java.ui/src/org/eclipse/mylyn/internal/java/ui/junit/JUnitLaunchConfigurationDelegateCOPY.java
deleted file mode 100644
index d795bd0..0000000
--- a/org.eclipse.mylyn.java.ui/src/org/eclipse/mylyn/internal/java/ui/junit/JUnitLaunchConfigurationDelegateCOPY.java
+++ /dev/null
@@ -1,578 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- * David Saff (saff@mit.edu) - bug 102632: [JUnit] Support for JUnit 4.
- *******************************************************************************/
-package org.eclipse.mylar.internal.java.ui.junit;
-
-import java.io.File;
-import java.util.ArrayList;
-import java.util.Map;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.Assert;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.core.runtime.SubProgressMonitor;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.ILaunch;
-import org.eclipse.debug.core.ILaunchConfiguration;
-import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.core.IType;
-import org.eclipse.jdt.internal.junit.launcher.JUnitBaseLaunchConfiguration;
-import org.eclipse.jdt.internal.junit.launcher.TestSearchResult;
-import org.eclipse.jdt.launching.ExecutionArguments;
-import org.eclipse.jdt.launching.IJavaLaunchConfigurationConstants;
-import org.eclipse.jdt.launching.IVMInstall;
-import org.eclipse.jdt.launching.IVMRunner;
-import org.eclipse.jdt.launching.SocketUtil;
-import org.eclipse.jdt.launching.VMRunnerConfiguration;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.pde.core.plugin.IFragmentModel;
-import org.eclipse.pde.core.plugin.IPluginModelBase;
-import org.eclipse.pde.internal.core.ClasspathHelper;
-import org.eclipse.pde.internal.core.PDECore;
-import org.eclipse.pde.internal.core.PluginModelManager;
-import org.eclipse.pde.internal.core.TargetPlatform;
-import org.eclipse.pde.internal.core.util.CoreUtility;
-import org.eclipse.pde.internal.ui.IPDEUIConstants;
-import org.eclipse.pde.internal.ui.PDEPlugin;
-import org.eclipse.pde.internal.ui.PDEUIMessages;
-import org.eclipse.pde.internal.ui.launcher.LaunchArgumentsHelper;
-import org.eclipse.pde.internal.ui.launcher.LaunchConfigurationHelper;
-import org.eclipse.pde.internal.ui.launcher.LaunchPluginValidator;
-import org.eclipse.pde.internal.ui.launcher.LauncherUtils;
-import org.eclipse.pde.internal.ui.launcher.VMHelper;
-import org.eclipse.pde.ui.launcher.IPDELauncherConstants;
-import org.eclipse.pde.ui.launcher.PDESourcePathProvider;
-
-/**
- * A launch delegate for launching JUnit Plug-in tests.
- * <p>
- * <b> Note: This class may still undergo significant changes in 3.3 before it
- * stabilizes </b>
- * </p>
- *
- * @since 3.3
- */
-@SuppressWarnings("unchecked")
-public abstract class JUnitLaunchConfigurationDelegateCOPY extends JUnitBaseLaunchConfiguration {
-
- // Changed to protected
- protected abstract TestSearchResult customFindTestTypes(ILaunchConfiguration configuration, IProgressMonitor pm)
- throws CoreException;
-
- /*
- * ---------------
- */
- private String getTestPluginId(ILaunchConfiguration configuration) throws CoreException {
- IJavaProject javaProject = getJavaProject(configuration);
- IPluginModelBase model = PDECore.getDefault().getModelManager().findModel(javaProject.getProject());
- if (model == null)
- throw new CoreException(new Status(IStatus.ERROR, IPDEUIConstants.PLUGIN_ID, IStatus.ERROR,
- PDEUIMessages.JUnitLaunchConfiguration_error_notaplugin, null));
- if (model instanceof IFragmentModel)
- return ((IFragmentModel) model).getFragment().getPluginId();
-
- return model.getPluginBase().getId();
- }
-
- public static final String CORE_APPLICATION = "org.eclipse.pde.junit.runtime.coretestapplication"; //$NON-NLS-1$
-
- public static final String UI_APPLICATION = "org.eclipse.pde.junit.runtime.uitestapplication"; //$NON-NLS-1$
-
- public static String[] REQUIRED_PLUGINS = {
- "org.junit", "org.eclipse.jdt.junit.runtime", "org.eclipse.pde.junit.runtime" }; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-
- protected File fConfigDir = null;
-
- private Map fPluginMap;
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jdt.internal.junit.launcher.JUnitBaseLaunchConfiguration#launch(org.eclipse.debug.core.ILaunchConfiguration,
- * java.lang.String, org.eclipse.debug.core.ILaunch,
- * org.eclipse.core.runtime.IProgressMonitor)
- */
- @Override
- public void launch(ILaunchConfiguration configuration, String mode, ILaunch launch, IProgressMonitor monitor)
- throws CoreException {
- try {
- fConfigDir = null;
- monitor.beginTask("", 4); //$NON-NLS-1$
-
- TestSearchResult testSearchResult = customFindTestTypes(configuration, new SubProgressMonitor(monitor, 1));
- IType[] testTypes = testSearchResult.getTypes();
-
- // Get the list of plug-ins to run
- fPluginMap = LaunchPluginValidator.getPluginsToRun(configuration);
-
- // implicitly add the plug-ins required for JUnit testing if
- // necessary
- for (int i = 0; i < REQUIRED_PLUGINS.length; i++) {
- String id = REQUIRED_PLUGINS[i];
- if (!fPluginMap.containsKey(id)) {
- fPluginMap.put(id, findPlugin(id));
- }
- }
-
- try {
- preLaunchCheck(configuration, launch, new SubProgressMonitor(monitor, 2));
- } catch (CoreException e) {
- if (e.getStatus().getSeverity() == IStatus.CANCEL) {
- monitor.setCanceled(true);
- return;
- }
- throw e;
- }
-
- int port = SocketUtil.findFreePort();
- launch.setAttribute(PORT_ATTR, Integer.toString(port));
- launch.setAttribute(TESTTYPE_ATTR, testTypes[0].getHandleIdentifier());
- VMRunnerConfiguration runnerConfig = createVMRunner(configuration, testSearchResult, port, mode);
- monitor.worked(1);
-
- setDefaultSourceLocator(launch, configuration);
- manageLaunch(launch);
- IVMRunner runner = getVMRunner(configuration, mode);
- if (runner != null)
- runner.run(runnerConfig, launch, monitor);
- else
- monitor.setCanceled(true);
- monitor.done();
- } catch (CoreException e) {
- monitor.setCanceled(true);
- throw e;
- }
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jdt.launching.AbstractJavaLaunchConfigurationDelegate#getVMRunner(org.eclipse.debug.core.ILaunchConfiguration,
- * java.lang.String)
- */
- @Override
- public IVMRunner getVMRunner(ILaunchConfiguration configuration, String mode) throws CoreException {
- IVMInstall launcher = VMHelper.createLauncher(configuration);
- return launcher.getVMRunner(mode);
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jdt.internal.junit.launcher.JUnitBaseLaunchConfiguration#createVMRunner(org.eclipse.debug.core.ILaunchConfiguration,
- * org.eclipse.jdt.internal.junit.launcher.TestSearchResult, int,
- * java.lang.String)
- */
- @Override
- protected VMRunnerConfiguration createVMRunner(ILaunchConfiguration configuration, TestSearchResult testTypes,
- int port, String runMode) throws CoreException {
-
- VMRunnerConfiguration runnerConfig = new VMRunnerConfiguration(
- "org.eclipse.core.launcher.Main", getClasspath(configuration)); //$NON-NLS-1$
- runnerConfig.setVMArguments(new ExecutionArguments(getVMArguments(configuration), "").getVMArgumentsArray()); //$NON-NLS-1$
- runnerConfig.setProgramArguments(getProgramArgumentsArray(configuration, testTypes, port, runMode));
- runnerConfig.setEnvironment(getEnvironment(configuration));
- runnerConfig.setWorkingDirectory(getWorkingDirectory(configuration).getAbsolutePath());
- runnerConfig.setVMSpecificAttributesMap(getVMSpecificAttributesMap(configuration));
- return runnerConfig;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jdt.internal.junit.launcher.JUnitBaseLaunchConfiguration#abort(java.lang.String,
- * java.lang.Throwable, int)
- */
- @Override
- protected void abort(String message, Throwable exception, int code) throws CoreException {
- throw new CoreException(new Status(IStatus.ERROR, IPDEUIConstants.PLUGIN_ID, code, message, exception));
- }
-
- /**
- * Returns the program arguments to launch with. This list is a combination
- * of arguments computed by PDE based on attributes specified in the given
- * launch configuration, followed by the program arguments that the entered
- * directly into the launch configuration.
- *
- * @param configuration
- * launch configuration
- * @return the program arguments necessary for launching
- *
- * @exception CoreException
- * if unable to retrieve the attribute or create the
- * necessary configuration files
- */
- private String[] getProgramArgumentsArray(ILaunchConfiguration configuration, TestSearchResult testSearchResult,
- int port, String runMode) throws CoreException {
- ArrayList programArgs = new ArrayList();
-
- programArgs.addAll(getBasicArguments(configuration, port, runMode, testSearchResult));
-
- // Specify the JUnit Plug-in test application to launch
- programArgs.add("-application"); //$NON-NLS-1$
- String application = null;
- try {
- application = configuration.getAttribute(IPDELauncherConstants.APPLICATION, (String) null);
- } catch (CoreException e) {
- }
- programArgs.add(application != null ? application : UI_APPLICATION);
-
- // If a product is specified, then add it to the program args
- if (configuration.getAttribute(IPDELauncherConstants.USE_PRODUCT, false)) {
- programArgs.add("-product"); //$NON-NLS-1$
- programArgs.add(configuration.getAttribute(IPDELauncherConstants.PRODUCT, "")); //$NON-NLS-1$
- } else {
- // Specify the application to test
- String testApplication = configuration.getAttribute(IPDELauncherConstants.APP_TO_TEST, (String) null);
- if (testApplication != null && testApplication.length() > 0) {
- programArgs.add("-testApplication"); //$NON-NLS-1$
- programArgs.add(testApplication);
- }
- }
-
- // Specify the location of the runtime workbench
- String targetWorkspace = LaunchArgumentsHelper.getWorkspaceLocation(configuration);
- if (targetWorkspace.length() > 0) {
- programArgs.add("-data"); //$NON-NLS-1$
- programArgs.add(targetWorkspace);
- }
-
- // Create the platform configuration for the runtime workbench
- String productID = LaunchConfigurationHelper.getProductID(configuration);
- LaunchConfigurationHelper.createConfigIniFile(configuration, productID, fPluginMap,
- getConfigurationDirectory(configuration));
- TargetPlatform.createPlatformConfigurationArea(fPluginMap, getConfigurationDirectory(configuration),
- LaunchConfigurationHelper.getContributingPlugin(productID));
-
- programArgs.add("-configuration"); //$NON-NLS-1$
- programArgs
- .add("file:" + new Path(getConfigurationDirectory(configuration).getPath()).addTrailingSeparator().toString()); //$NON-NLS-1$
-
- // Specify the output folder names
- programArgs.add("-dev"); //$NON-NLS-1$
- programArgs.add(ClasspathHelper.getDevEntriesProperties(getConfigurationDirectory(configuration).toString()
- + "/dev.properties", fPluginMap)); //$NON-NLS-1$
-
- // necessary for PDE to know how to load plugins when target platform =
- // host platform
- // see PluginPathFinder.getPluginPaths()
- if (fPluginMap.containsKey(PDECore.getPluginId()))
- programArgs.add("-pdelaunch"); //$NON-NLS-1$
-
- // Create the .options file if tracing is turned on
- if (configuration.getAttribute(IPDELauncherConstants.TRACING, false)
- && !IPDELauncherConstants.TRACING_NONE.equals(configuration.getAttribute(
- IPDELauncherConstants.TRACING_CHECKED, (String) null))) {
- programArgs.add("-debug"); //$NON-NLS-1$
- String path = getConfigurationDirectory(configuration).getPath() + IPath.SEPARATOR + ".options"; //$NON-NLS-1$
- programArgs.add(LaunchArgumentsHelper.getTracingFileArgument(configuration, path));
- }
-
- // add the program args specified by the user
- String[] userArgs = LaunchArgumentsHelper.getUserProgramArgumentArray(configuration);
- for (int i = 0; i < userArgs.length; i++) {
- // be forgiving if people have tracing turned on and forgot
- // to remove the -debug from the program args field.
- if (userArgs[i].equals("-debug") && programArgs.contains("-debug")) //$NON-NLS-1$ //$NON-NLS-2$
- continue;
- programArgs.add(userArgs[i]);
- }
-
- if (!programArgs.contains("-os")) { //$NON-NLS-1$
- programArgs.add("-os"); //$NON-NLS-1$
- programArgs.add(TargetPlatform.getOS());
- }
- if (!programArgs.contains("-ws")) { //$NON-NLS-1$
- programArgs.add("-ws"); //$NON-NLS-1$
- programArgs.add(TargetPlatform.getWS());
- }
- if (!programArgs.contains("-arch")) { //$NON-NLS-1$
- programArgs.add("-arch"); //$NON-NLS-1$
- programArgs.add(TargetPlatform.getOSArch());
- }
-
- programArgs.add("-testpluginname"); //$NON-NLS-1$
- programArgs.add(getTestPluginId(configuration));
-
- programArgs.add("-loaderpluginname"); //$NON-NLS-1$
- programArgs.add(testSearchResult.getTestKind().getLoaderPluginId());
-
- String testFailureNames = configuration.getAttribute(JUnitBaseLaunchConfiguration.FAILURES_FILENAME_ATTR, ""); //$NON-NLS-1$
- if (testFailureNames.length() > 0) {
- programArgs.add("-testfailures"); //$NON-NLS-1$
- programArgs.add(testFailureNames);
- }
-
- // a testname was specified just run the single test
- IType[] testTypes = testSearchResult.getTypes();
- String testName = configuration.getAttribute(JUnitBaseLaunchConfiguration.TESTNAME_ATTR, ""); //$NON-NLS-1$
- if (testName.length() > 0) {
- programArgs.add("-test"); //$NON-NLS-1$
- programArgs.add(testTypes[0].getFullyQualifiedName() + ":" + testName); //$NON-NLS-1$
- } else {
- programArgs.add("-classnames"); //$NON-NLS-1$
- for (int i = 0; i < testTypes.length; i++)
- programArgs.add(testTypes[i].getFullyQualifiedName());
- }
-// System.err.println(">>>> " + programArgs);
- return (String[]) programArgs.toArray(new String[programArgs.size()]);
- }
-
- private IPluginModelBase findPlugin(String id) throws CoreException {
- PluginModelManager manager = PDECore.getDefault().getModelManager();
- IPluginModelBase model = manager.findModel(id);
- if (model == null)
- model = PDECore.getDefault().findPluginInHost(id);
- if (model == null)
- abort(NLS.bind(PDEUIMessages.JUnitLaunchConfiguration_error_missingPlugin, id), null, IStatus.OK);
- return model;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jdt.launching.AbstractJavaLaunchConfigurationDelegate#getProgramArguments(org.eclipse.debug.core.ILaunchConfiguration)
- */
- @Override
- public String getProgramArguments(ILaunchConfiguration configuration) throws CoreException {
- return LaunchArgumentsHelper.getUserProgramArguments(configuration);
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jdt.launching.AbstractJavaLaunchConfigurationDelegate#getVMArguments(org.eclipse.debug.core.ILaunchConfiguration)
- */
- @Override
- public String getVMArguments(ILaunchConfiguration configuration) throws CoreException {
- return LaunchArgumentsHelper.getUserVMArguments(configuration);
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jdt.launching.AbstractJavaLaunchConfigurationDelegate#getEnvironment(org.eclipse.debug.core.ILaunchConfiguration)
- */
- @Override
- public String[] getEnvironment(ILaunchConfiguration configuration) throws CoreException {
- return DebugPlugin.getDefault().getLaunchManager().getEnvironment(configuration);
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jdt.launching.AbstractJavaLaunchConfigurationDelegate#getClasspath(org.eclipse.debug.core.ILaunchConfiguration)
- */
- @Override
- public String[] getClasspath(ILaunchConfiguration configuration) throws CoreException {
- String[] classpath = LaunchArgumentsHelper.constructClasspath(configuration);
- if (classpath == null) {
- abort(PDEUIMessages.WorkbenchLauncherConfigurationDelegate_noStartup, null, IStatus.OK);
- }
- return classpath;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jdt.launching.AbstractJavaLaunchConfigurationDelegate#getWorkingDirectory(org.eclipse.debug.core.ILaunchConfiguration)
- */
- @Override
- public File getWorkingDirectory(ILaunchConfiguration configuration) throws CoreException {
- return LaunchArgumentsHelper.getWorkingDirectory(configuration);
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jdt.launching.AbstractJavaLaunchConfigurationDelegate#getVMSpecificAttributesMap(org.eclipse.debug.core.ILaunchConfiguration)
- */
- @Override
- public Map getVMSpecificAttributesMap(ILaunchConfiguration configuration) throws CoreException {
- return LaunchArgumentsHelper.getVMSpecificAttributesMap(configuration);
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jdt.launching.AbstractJavaLaunchConfigurationDelegate#setDefaultSourceLocator(org.eclipse.debug.core.ILaunch,
- * org.eclipse.debug.core.ILaunchConfiguration)
- */
- @Override
- protected void setDefaultSourceLocator(ILaunch launch, ILaunchConfiguration configuration) throws CoreException {
- ILaunchConfigurationWorkingCopy wc = null;
- if (configuration.isWorkingCopy()) {
- wc = (ILaunchConfigurationWorkingCopy) configuration;
- } else {
- wc = configuration.getWorkingCopy();
- }
- String id = configuration.getAttribute(IJavaLaunchConfigurationConstants.ATTR_SOURCE_PATH_PROVIDER,
- (String) null);
- if (!PDESourcePathProvider.ID.equals(id)) {
- wc.setAttribute(IJavaLaunchConfigurationConstants.ATTR_SOURCE_PATH_PROVIDER, PDESourcePathProvider.ID);
- wc.doSave();
- }
- }
-
- /**
- * Returns the location of the configuration area
- *
- * @param configuration
- * the launch configuration
- * @return a directory where the configuration area is located
- */
- protected File getConfigurationDirectory(ILaunchConfiguration configuration) {
- if (fConfigDir == null)
- fConfigDir = LaunchConfigurationHelper.getConfigurationArea(configuration);
- return fConfigDir;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jdt.launching.AbstractJavaLaunchConfigurationDelegate#getBuildOrder(org.eclipse.debug.core.ILaunchConfiguration,
- * java.lang.String)
- */
- @Override
- protected IProject[] getBuildOrder(ILaunchConfiguration configuration, String mode) throws CoreException {
- return computeBuildOrder(LaunchPluginValidator.getAffectedProjects(configuration));
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jdt.launching.AbstractJavaLaunchConfigurationDelegate#getProjectsForProblemSearch(org.eclipse.debug.core.ILaunchConfiguration,
- * java.lang.String)
- */
- @Override
- protected IProject[] getProjectsForProblemSearch(ILaunchConfiguration configuration, String mode)
- throws CoreException {
- return LaunchPluginValidator.getAffectedProjects(configuration);
- }
-
- /**
- * Adds a listener to the launch to be notified at interesting launch
- * lifecycle events such as when the launch terminates.
- *
- * @param launch
- * the launch
- */
- protected void manageLaunch(ILaunch launch) {
- PDEPlugin.getDefault().getLaunchListener().manage(launch);
- }
-
- /**
- * Does sanity checking before launching. The criteria whether the launch
- * should proceed or not is specific to the launch configuration type.
- *
- * @param configuration
- * launch configuration
- * @param launch
- * the launch object to contribute processes and debug targets to
- * @param monitor
- * a progress monitor
- *
- * @throws CoreException
- * exception thrown if launch fails or canceled or if unable to
- * retrieve attributes from the launch configuration
- *
- */
- protected void preLaunchCheck(ILaunchConfiguration configuration, ILaunch launch, IProgressMonitor monitor)
- throws CoreException {
- boolean autoValidate = configuration.getAttribute(IPDELauncherConstants.AUTOMATIC_VALIDATE, false);
- monitor.beginTask("", autoValidate ? 3 : 4); //$NON-NLS-1$
- if (autoValidate)
- validatePluginDependencies(configuration, new SubProgressMonitor(monitor, 1));
- validateProjectDependencies(configuration, new SubProgressMonitor(monitor, 1));
- clear(configuration, new SubProgressMonitor(monitor, 1));
- launch.setAttribute(IPDELauncherConstants.CONFIG_LOCATION, getConfigurationDirectory(configuration).toString());
- synchronizeManifests(configuration, new SubProgressMonitor(monitor, 1));
- }
-
- /**
- * Checks for old-style plugin.xml files that have become stale since the
- * last launch. For any stale plugin.xml files found, the corresponding
- * MANIFEST.MF is deleted from the runtime configuration area so that it
- * gets regenerated upon startup.
- *
- * @param configuration
- * the launch configuration
- * @param monitor
- * the progress monitor
- */
- protected void synchronizeManifests(ILaunchConfiguration configuration, IProgressMonitor monitor) {
- LaunchConfigurationHelper.synchronizeManifests(configuration, getConfigurationDirectory(configuration));
- monitor.done();
- }
-
- /**
- * Clears the workspace prior to launching if the workspace exists and the
- * option to clear it is turned on. Also clears the configuration area if
- * that option is chosen.
- *
- * @param configuration
- * the launch configuration
- * @param monitor
- * the progress monitor
- * @throws CoreException
- * if unable to retrieve launch attribute values
- * @since 3.3
- */
- protected void clear(ILaunchConfiguration configuration, IProgressMonitor monitor) throws CoreException {
- String workspace = LaunchArgumentsHelper.getWorkspaceLocation(configuration);
- // Clear workspace and prompt, if necessary
- if (!LauncherUtils.clearWorkspace(configuration, workspace, new SubProgressMonitor(monitor, 1))) {
- monitor.setCanceled(true);
- return;
- }
-
- // clear config area, if necessary
- if (configuration.getAttribute(IPDELauncherConstants.CONFIG_CLEAR_AREA, false))
- CoreUtility.deleteContent(getConfigurationDirectory(configuration));
- }
-
- /**
- * Checks if the Automated Management of Dependencies option is turned on.
- * If so, it makes aure all manifests are updated with the correct
- * dependencies.
- *
- * @param configuration
- * the launch configuration
- * @param monitor
- * a progress monitor
- */
- protected void validateProjectDependencies(ILaunchConfiguration configuration, IProgressMonitor monitor) {
- LauncherUtils.validateProjectDependencies(configuration, monitor);
- }
-
- /**
- * Validates inter-bundle dependencies automatically prior to launching if
- * that option is turned on.
- *
- * @param configuration
- * the launch configuration
- * @param monitor
- * a progress monitor
- */
- protected void validatePluginDependencies(ILaunchConfiguration configuration, IProgressMonitor monitor)
- throws CoreException {
- Assert.isNotNull(fPluginMap);
- IPluginModelBase[] models = (IPluginModelBase[]) fPluginMap.values().toArray(
- new IPluginModelBase[fPluginMap.size()]);
- LaunchPluginValidator.validatePluginDependencies(models, monitor);
- }
-}
diff --git a/org.eclipse.mylyn.java.ui/src/org/eclipse/mylyn/internal/java/ui/junit/MylarContextTestUtil.java b/org.eclipse.mylyn.java.ui/src/org/eclipse/mylyn/internal/java/ui/junit/MylarContextTestUtil.java
index f57c1be..00e71e9 100644
--- a/org.eclipse.mylyn.java.ui/src/org/eclipse/mylyn/internal/java/ui/junit/MylarContextTestUtil.java
+++ b/org.eclipse.mylyn.java.ui/src/org/eclipse/mylyn/internal/java/ui/junit/MylarContextTestUtil.java
@@ -15,13 +15,10 @@
import java.util.List;
import java.util.Set;
-import org.eclipse.core.resources.IProjectNature;
import org.eclipse.core.runtime.CoreException;
import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.debug.core.ILaunchConfiguration;
-import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy;
import org.eclipse.jdt.core.Flags;
-import org.eclipse.jdt.core.IJavaProject;
import org.eclipse.jdt.core.IMethod;
import org.eclipse.jdt.core.IType;
import org.eclipse.jdt.core.ITypeHierarchy;
@@ -29,11 +26,10 @@
import org.eclipse.jdt.internal.junit.launcher.ITestKind;
import org.eclipse.jdt.internal.junit.launcher.TestKindRegistry;
import org.eclipse.jdt.internal.junit.launcher.TestSearchResult;
-import org.eclipse.jdt.launching.IJavaLaunchConfigurationConstants;
+import org.eclipse.mylar.context.core.AbstractContextStructureBridge;
import org.eclipse.mylar.context.core.ContextCorePlugin;
import org.eclipse.mylar.context.core.IMylarElement;
import org.eclipse.mylar.context.core.IMylarRelation;
-import org.eclipse.mylar.context.core.AbstractContextStructureBridge;
import org.eclipse.mylar.context.core.MylarStatusHandler;
import org.eclipse.mylar.internal.java.JavaStructureBridge;
import org.eclipse.mylar.internal.java.search.JUnitReferencesProvider;
@@ -43,42 +39,20 @@
*/
public class MylarContextTestUtil {
- public static TestSearchResult findTestTypes(ILaunchConfiguration configuration, IProgressMonitor pm)
- throws CoreException {
+ public static TestSearchResult findTestTypes(ILaunchConfiguration configuration, IProgressMonitor pm) throws CoreException {
Set<IType> contextTestCases = MylarContextTestUtil.getTestCasesInContext();
- // ITestKind testKind =
- // TestKindRegistry.getDefault().getKind(configuration);
- ITestKind testKind = TestKindRegistry.getDefault().getKind(TestKindRegistry.JUNIT3_TEST_KIND_ID);
-
- IJavaProject javaProject = null;
- for (IType type : contextTestCases) {
- IProjectNature nature = type.getJavaProject().getProject().getNature("org.eclipse.pde.PluginNature");
- if (nature != null) {
- // HACK: might want another project
- javaProject = type.getJavaProject();
- }
- }
-
- ILaunchConfigurationWorkingCopy workingCopy = configuration.getWorkingCopy();
- if (javaProject != null) {
- workingCopy.setAttribute(IJavaLaunchConfigurationConstants.ATTR_PROJECT_NAME, javaProject.getElementName());
- }
-// workingCopy.setAttribute(JUnitBaseLaunchConfiguration.ATTR_KEEPRUNNING, false);
-// workingCopy.setAttribute(JUnitBaseLaunchConfiguration.TEST_KIND_ATTR, TestKindRegistry.JUNIT3_TEST_KIND_ID);
- workingCopy.doSave();
-
+ ITestKind testKind = TestKindRegistry.getDefault().getKind(configuration);
// HACK: only checks first type
if (contextTestCases.size() > 0) {
- testKind = TestKindRegistry.getDefault().getKind(configuration);// contextTestCases.iterator().next());
+ testKind = TestKindRegistry.getDefault().getKind(contextTestCases.iterator().next());
}
return new TestSearchResult(contextTestCases.toArray(new IType[contextTestCases.size()]), testKind);
}
-
+
public static Set<IType> getTestCasesInContext() {
Set<IType> testTypes = new HashSet<IType>();
List<IMylarElement> interesting = ContextCorePlugin.getContextManager().getActiveContext().getInteresting();
- AbstractContextStructureBridge bridge = ContextCorePlugin.getDefault().getStructureBridge(
- JavaStructureBridge.CONTENT_TYPE);
+ AbstractContextStructureBridge bridge = ContextCorePlugin.getDefault().getStructureBridge(JavaStructureBridge.CONTENT_TYPE);
try {
for (IMylarElement element : interesting) {
if (element.getContentType().equals(JavaStructureBridge.CONTENT_TYPE)) {
diff --git a/org.eclipse.mylyn.java.ui/src/org/eclipse/mylyn/internal/java/ui/junit/MylarJUnitLaunchConfiguration.java b/org.eclipse.mylyn.java.ui/src/org/eclipse/mylyn/internal/java/ui/junit/MylarJUnitLaunchConfiguration.java
index e199fcb..42023ad 100644
--- a/org.eclipse.mylyn.java.ui/src/org/eclipse/mylyn/internal/java/ui/junit/MylarJUnitLaunchConfiguration.java
+++ b/org.eclipse.mylyn.java.ui/src/org/eclipse/mylyn/internal/java/ui/junit/MylarJUnitLaunchConfiguration.java
@@ -11,32 +11,20 @@
package org.eclipse.mylar.internal.java.ui.junit;
-import java.io.File;
-import java.util.Map;
-
import org.eclipse.core.runtime.CoreException;
import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.debug.core.ILaunch;
import org.eclipse.debug.core.ILaunchConfiguration;
-import org.eclipse.debug.core.ILaunchManager;
-import org.eclipse.jdt.internal.junit.Messages;
import org.eclipse.jdt.internal.junit.launcher.JUnitLaunchConfiguration;
import org.eclipse.jdt.internal.junit.launcher.TestSearchResult;
import org.eclipse.jdt.internal.junit.ui.JUnitMessages;
-import org.eclipse.jdt.launching.ExecutionArguments;
import org.eclipse.jdt.launching.IJavaLaunchConfigurationConstants;
-import org.eclipse.jdt.launching.IVMInstall;
-import org.eclipse.jdt.launching.IVMRunner;
-import org.eclipse.jdt.launching.SocketUtil;
-import org.eclipse.jdt.launching.VMRunnerConfiguration;
/**
* @author Mik Kersten
*/
-@SuppressWarnings("unchecked")
public class MylarJUnitLaunchConfiguration extends JUnitLaunchConfiguration {
-
- protected TestSearchResult customFindTestTypes(ILaunchConfiguration configuration, IProgressMonitor pm) throws CoreException {
+
+ protected TestSearchResult findTestTypes(ILaunchConfiguration configuration, IProgressMonitor pm) throws CoreException {
TestSearchResult testSearchResult = MylarContextTestUtil.findTestTypes(configuration, pm);
if (testSearchResult.getTypes().length == 0) {
abort(JUnitMessages.JUnitBaseLaunchConfiguration_error_notests, null,
@@ -44,54 +32,4 @@
}
return testSearchResult;
}
-
- /* --------- HACK: below copied from JUnitBaseLaunchConfiguration ----------- */
-
- @Override
- public void launch(ILaunchConfiguration configuration, String mode, ILaunch launch, IProgressMonitor pm) throws CoreException {
- if (mode.equals(RUN_QUIETLY_MODE)) {
- launch.setAttribute(NO_DISPLAY_ATTR, "true"); //$NON-NLS-1$
- mode = ILaunchManager.RUN_MODE;
- }
-
- TestSearchResult testTypes = customFindTestTypes(configuration, pm);
- IVMInstall install= getVMInstall(configuration);
- IVMRunner runner = install.getVMRunner(mode);
- if (runner == null) {
- abort(Messages.format(JUnitMessages.JUnitBaseLaunchConfiguration_error_novmrunner, new String[]{install.getId()}), null, IJavaLaunchConfigurationConstants.ERR_VM_RUNNER_DOES_NOT_EXIST);
- }
-
- int port= SocketUtil.findFreePort();
- VMRunnerConfiguration runConfig= launchTypes(configuration, mode, testTypes, port);
- setDefaultSourceLocator(launch, configuration);
-
- launch.setAttribute(PORT_ATTR, Integer.toString(port));
- launch.setAttribute(TESTTYPE_ATTR, testTypes.getTypes()[0].getHandleIdentifier());
- runner.run(runConfig, launch, pm);
- }
-
- private final VMRunnerConfiguration launchTypes(ILaunchConfiguration configuration, String mode, TestSearchResult tests, int port) throws CoreException {
- File workingDir = verifyWorkingDirectory(configuration);
- String workingDirName = null;
- if (workingDir != null)
- workingDirName = workingDir.getAbsolutePath();
-
- // Program & VM args
- String vmArgs= getVMArguments(configuration);
- ExecutionArguments execArgs = new ExecutionArguments(vmArgs, ""); //$NON-NLS-1$
- String[] envp= getEnvironment(configuration);
-
- VMRunnerConfiguration runConfig= createVMRunner(configuration, tests, port, mode);
- runConfig.setVMArguments(execArgs.getVMArgumentsArray());
- runConfig.setWorkingDirectory(workingDirName);
- runConfig.setEnvironment(envp);
-
- Map vmAttributesMap = getVMSpecificAttributesMap(configuration);
- runConfig.setVMSpecificAttributesMap(vmAttributesMap);
-
- String[] bootpath = getBootpath(configuration);
- runConfig.setBootClassPath(bootpath);
-
- return runConfig;
- }
}
diff --git a/org.eclipse.mylyn.java.ui/src/org/eclipse/mylyn/internal/java/ui/junit/MylarJUnitMainTab.java b/org.eclipse.mylyn.java.ui/src/org/eclipse/mylyn/internal/java/ui/junit/MylarJUnitMainTab.java
index 5a28acf..2715198 100644
--- a/org.eclipse.mylyn.java.ui/src/org/eclipse/mylyn/internal/java/ui/junit/MylarJUnitMainTab.java
+++ b/org.eclipse.mylyn.java.ui/src/org/eclipse/mylyn/internal/java/ui/junit/MylarJUnitMainTab.java
@@ -16,7 +16,7 @@
import org.eclipse.debug.core.ILaunchConfiguration;
import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy;
import org.eclipse.jdt.core.IType;
-import org.eclipse.jdt.junit.launcher.JUnitLaunchConfigurationTab;
+import org.eclipse.jdt.internal.junit.launcher.JUnitLaunchConfigurationTab;
import org.eclipse.jdt.launching.IJavaLaunchConfigurationConstants;
import org.eclipse.mylar.internal.java.MylarJavaPlugin;
import org.eclipse.swt.SWT;
@@ -39,7 +39,6 @@
this.isPdeMode = isPdeMode;
}
- @Override
public void createControl(Composite parent) {
Composite comp = new Composite(parent, SWT.NONE);
setControl(comp);
@@ -57,7 +56,6 @@
label.setText(DESCRIPTION);
}
- @Override
public void performApply(ILaunchConfigurationWorkingCopy config) {
if (!isPdeMode) {
Set<IType> types = MylarContextTestUtil.getTestCasesInContext();
@@ -69,22 +67,18 @@
}
}
- @Override
public void setDefaults(ILaunchConfigurationWorkingCopy config) {
// ignore
}
- @Override
public void initializeFrom(ILaunchConfiguration config) {
// ignore
}
- @Override
public String getName() {
return "JUnit";
}
- @Override
public Image getImage() {
return MylarJavaPlugin.getImageDescriptor("icons/etool16/junit-tab.gif").createImage();
}
diff --git a/org.eclipse.mylyn.java.ui/src/org/eclipse/mylyn/internal/java/ui/junit/MylarJUnitTabGroup.java b/org.eclipse.mylyn.java.ui/src/org/eclipse/mylyn/internal/java/ui/junit/MylarJUnitTabGroup.java
index 4bfad7b..0713131 100644
--- a/org.eclipse.mylyn.java.ui/src/org/eclipse/mylyn/internal/java/ui/junit/MylarJUnitTabGroup.java
+++ b/org.eclipse.mylyn.java.ui/src/org/eclipse/mylyn/internal/java/ui/junit/MylarJUnitTabGroup.java
@@ -30,17 +30,12 @@
public class MylarJUnitTabGroup extends AbstractLaunchConfigurationTabGroup {
public void createTabs(ILaunchConfigurationDialog dialog, String mode) {
- ILaunchConfigurationTab[] tabs = new ILaunchConfigurationTab[] {
- new MylarJUnitMainTab(false),
- new JavaArgumentsTab(),
- new JavaClasspathTab(),
- new JavaJRETab(),
- new SourceLookupTab(),
+ ILaunchConfigurationTab[] tabs = new ILaunchConfigurationTab[] { new MylarJUnitMainTab(false),
+ new JavaArgumentsTab(), new JavaClasspathTab(), new JavaJRETab(), new SourceLookupTab(),
new EnvironmentTab(), new CommonTab() };
setTabs(tabs);
}
- @Override
public void setDefaults(ILaunchConfigurationWorkingCopy config) {
super.setDefaults(config);
}
diff --git a/org.eclipse.mylyn.java.ui/src/org/eclipse/mylyn/internal/java/ui/junit/MylarPdeJUnitLaunchConfiguration.java b/org.eclipse.mylyn.java.ui/src/org/eclipse/mylyn/internal/java/ui/junit/MylarPdeJUnitLaunchConfiguration.java
index 851d16b..903eef6 100644
--- a/org.eclipse.mylyn.java.ui/src/org/eclipse/mylyn/internal/java/ui/junit/MylarPdeJUnitLaunchConfiguration.java
+++ b/org.eclipse.mylyn.java.ui/src/org/eclipse/mylyn/internal/java/ui/junit/MylarPdeJUnitLaunchConfiguration.java
@@ -11,23 +11,32 @@
package org.eclipse.mylar.internal.java.ui.junit;
+import java.util.Set;
+
+import org.eclipse.core.resources.IProjectNature;
import org.eclipse.core.runtime.CoreException;
import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
import org.eclipse.debug.core.ILaunchConfiguration;
+import org.eclipse.jdt.core.IJavaProject;
+import org.eclipse.jdt.core.IType;
import org.eclipse.jdt.internal.junit.launcher.TestSearchResult;
import org.eclipse.jdt.internal.junit.ui.JUnitMessages;
import org.eclipse.jdt.launching.IJavaLaunchConfigurationConstants;
+import org.eclipse.pde.core.plugin.IFragmentModel;
+import org.eclipse.pde.core.plugin.IPluginModelBase;
+import org.eclipse.pde.internal.core.PDECore;
+import org.eclipse.pde.internal.ui.PDEPlugin;
+import org.eclipse.pde.internal.ui.launcher.JUnitLaunchConfiguration;
/**
* @author Mik Kersten
*/
-public class MylarPdeJUnitLaunchConfiguration extends JUnitLaunchConfigurationDelegateCOPY {
+public class MylarPdeJUnitLaunchConfiguration extends JUnitLaunchConfiguration {
- @Override
- protected TestSearchResult customFindTestTypes(ILaunchConfiguration configuration, IProgressMonitor pm)
- throws CoreException {
+ protected TestSearchResult findTestTypes(ILaunchConfiguration configuration, IProgressMonitor pm) throws CoreException {
TestSearchResult testSearchResult = MylarContextTestUtil.findTestTypes(configuration, pm);
-
if (testSearchResult.getTypes().length == 0) {
abort(JUnitMessages.JUnitBaseLaunchConfiguration_error_notests, null,
IJavaLaunchConfigurationConstants.ERR_UNSPECIFIED_MAIN_TYPE);
@@ -35,253 +44,27 @@
return testSearchResult;
}
-// protected String getTestPluginId(ILaunchConfiguration configuration) throws CoreException {
-// Set<IType> contextTestCases = MylarContextTestUtil.getTestCasesInContext();
-// IJavaProject javaProject = null;
-// for (IType type : contextTestCases) {
-// IProjectNature nature = type.getJavaProject().getProject().getNature("org.eclipse.pde.PluginNature");
-// if (nature != null) {
-// javaProject = type.getJavaProject(); // HACK: might want
-// // another project
-// }
-// }
-//
-// IPluginModelBase model = PDECore.getDefault().getModelManager().findModel(javaProject.getProject());
-// if (model == null)
-// throw new CoreException(new Status(IStatus.ERROR, IPDEUIConstants.PLUGIN_ID, IStatus.ERROR,
-// PDEUIMessages.JUnitLaunchConfiguration_error_notaplugin, null));
-// if (model instanceof IFragmentModel)
-// return ((IFragmentModel) model).getFragment().getPluginId();
-//
-// return model.getPluginBase().getId();
-// }
+ protected String getTestPluginId(ILaunchConfiguration configuration) throws CoreException {
+ Set<IType> contextTestCases = MylarContextTestUtil.getTestCasesInContext();
+ IJavaProject javaProject = null;
+ for (IType type : contextTestCases) {
+ IProjectNature nature = type.getJavaProject().getProject().getNature("org.eclipse.pde.PluginNature");
+ if (nature != null) {
+ javaProject = type.getJavaProject(); // HACK: might want
+ // another project
+ }
+ }
+ // IJavaProject javaProject = getJavaProject(configuration);
+ IPluginModelBase model = null;
+ if (javaProject != null) {
+ model = PDECore.getDefault().getModelManager().findModel(javaProject.getProject());
+ }
+ if (javaProject == null || model == null)
+ throw new CoreException(new Status(IStatus.ERROR, PDEPlugin.PLUGIN_ID, IStatus.ERROR,
+ "Could not find JUnit Plug-in Test in Task Context", null));
+ if (model instanceof IFragmentModel)
+ return ((IFragmentModel) model).getFragment().getPluginId();
-
-// protected String getTestPluginId(ILaunchConfiguration configuration) throws CoreException {
-// Set<IType> contextTestCases = MylarContextTestUtil.getTestCasesInContext();
-// IJavaProject javaProject = null;
-// for (IType type : contextTestCases) {
-// IProjectNature nature = type.getJavaProject().getProject().getNature("org.eclipse.pde.PluginNature");
-// if (nature != null) {
-// javaProject = type.getJavaProject(); // HACK: might want
-// // another project
-// }
-// }
-// // IJavaProject javaProject = getJavaProject(configuration);
-// IPluginModelBase model = null;
-// if (javaProject != null) {
-// model = PDECore.getDefault().getModelManager().findModel(javaProject.getProject());
-// }
-// if (javaProject == null || model == null)
-// throw new CoreException(new Status(IStatus.ERROR, PDEPlugin.PLUGIN_ID, IStatus.ERROR,
-// "Could not find JUnit Plug-in Test in Task Context", null));
-// if (model instanceof IFragmentModel)
-// return ((IFragmentModel) model).getFragment().getPluginId();
-//
-// return model.getPluginBase().getId();
-// }
-
- /*
- * ----------------------------------------------------------------
- * HACK: below copied from JUnitLaunchConfigurationDelegate
- * ----------------------------------------------------------------
- */
-
-// protected VMRunnerConfiguration createVMRunner(ILaunchConfiguration configuration, TestSearchResult testTypes,
-// int port, String runMode) throws CoreException {
-//
-//
-// VMRunnerConfiguration runnerConfig = new VMRunnerConfiguration(
-// "org.eclipse.core.launcher.Main", getClasspath(configuration)); //$NON-NLS-1$
-// runnerConfig.setVMArguments(new ExecutionArguments(getVMArguments(configuration), "").getVMArgumentsArray()); //$NON-NLS-1$
-// runnerConfig.setProgramArguments(getProgramArgumentsArray(configuration, testTypes, port, runMode));
-// runnerConfig.setEnvironment(getEnvironment(configuration));
-// runnerConfig.setWorkingDirectory(getWorkingDirectory(configuration).getAbsolutePath());
-// runnerConfig.setVMSpecificAttributesMap(getVMSpecificAttributesMap(configuration));
-// return runnerConfig;
-// }
-//
-// /*
-// * (non-Javadoc)
-// *
-// * @see org.eclipse.jdt.internal.junit.launcher.JUnitBaseLaunchConfiguration#launch(org.eclipse.debug.core.ILaunchConfiguration,
-// * java.lang.String, org.eclipse.debug.core.ILaunch,
-// * org.eclipse.core.runtime.IProgressMonitor)
-// */
-// public void launch(ILaunchConfiguration configuration, String mode, ILaunch launch, IProgressMonitor monitor)
-// throws CoreException {
-// try {
-// fConfigDir = null;
-// monitor.beginTask("", 4); //$NON-NLS-1$
-// TestSearchResult testSearchResult = customFindTestTypes(configuration, new SubProgressMonitor(monitor, 1));
-// IType[] testTypes = testSearchResult.getTypes();
-//
-// // Get the list of plug-ins to run
-// fPluginMapFromSuper = LaunchPluginValidator.getPluginsToRun(configuration);
-//
-// // implicitly add the plug-ins required for JUnit testing if
-// // necessary
-// for (int i = 0; i < REQUIRED_PLUGINS.length; i++) {
-// String id = REQUIRED_PLUGINS[i];
-// if (!fPluginMapFromSuper.containsKey(id)) {
-// fPluginMapFromSuper.put(id, findPlugin(id));
-// }
-// }
-//
-// try {
-// preLaunchCheck(configuration, launch, new SubProgressMonitor(monitor, 2));
-// } catch (CoreException e) {
-// if (e.getStatus().getSeverity() == IStatus.CANCEL) {
-// monitor.setCanceled(true);
-// return;
-// }
-// throw e;
-// }
-//
-// int port = SocketUtil.findFreePort();
-// launch.setAttribute(PORT_ATTR, Integer.toString(port));
-// launch.setAttribute(TESTTYPE_ATTR, testTypes[0].getHandleIdentifier());
-// VMRunnerConfiguration runnerConfig = createVMRunner(configuration, testSearchResult, port, mode);
-// monitor.worked(1);
-//
-// setDefaultSourceLocator(launch, configuration);
-// manageLaunch(launch);
-// IVMRunner runner = getVMRunner(configuration, mode);
-// if (runner != null)
-// runner.run(runnerConfig, launch, monitor);
-// else
-// monitor.setCanceled(true);
-// monitor.done();
-// } catch (CoreException e) {
-// monitor.setCanceled(true);
-// throw e;
-// }
-// }
-//
-// private IPluginModelBase findPlugin(String id) throws CoreException {
-// PluginModelManager manager = PDECore.getDefault().getModelManager();
-// IPluginModelBase model = manager.findModel(id);
-// if (model == null)
-// model = PDECore.getDefault().findPluginInHost(id);
-// if (model == null)
-// abort(NLS.bind(PDEUIMessages.JUnitLaunchConfiguration_error_missingPlugin, id), null, IStatus.OK);
-// return model;
-// }
-//
-// @SuppressWarnings("unchecked")
-// private String[] getProgramArgumentsArray(ILaunchConfiguration configuration, TestSearchResult testSearchResult,
-// int port, String runMode) throws CoreException {
-// ArrayList programArgs = new ArrayList();
-//
-// programArgs.addAll(getBasicArguments(configuration, port, runMode, testSearchResult));
-//
-// // Specify the JUnit Plug-in test application to launch
-// programArgs.add("-application"); //$NON-NLS-1$
-// String application = null;
-// try {
-// application = configuration.getAttribute(IPDELauncherConstants.APPLICATION, (String) null);
-// } catch (CoreException e) {
-// }
-// programArgs.add(application != null ? application : UI_APPLICATION);
-//
-// // If a product is specified, then add it to the program args
-// if (configuration.getAttribute(IPDELauncherConstants.USE_PRODUCT, false)) {
-// programArgs.add("-product"); //$NON-NLS-1$
-// programArgs.add(configuration.getAttribute(IPDELauncherConstants.PRODUCT, "")); //$NON-NLS-1$
-// } else {
-// // Specify the application to test
-// String testApplication = configuration.getAttribute(IPDELauncherConstants.APP_TO_TEST, (String) null);
-// if (testApplication != null && testApplication.length() > 0) {
-// programArgs.add("-testApplication"); //$NON-NLS-1$
-// programArgs.add(testApplication);
-// }
-// }
-//
-// // Specify the location of the runtime workbench
-// String targetWorkspace = LaunchArgumentsHelper.getWorkspaceLocation(configuration);
-// if (targetWorkspace.length() > 0) {
-// programArgs.add("-data"); //$NON-NLS-1$
-// programArgs.add(targetWorkspace);
-// }
-//
-// // Create the platform configuration for the runtime workbench
-// String productID = LaunchConfigurationHelper.getProductID(configuration);
-// LaunchConfigurationHelper.createConfigIniFile(configuration, productID, fPluginMapFromSuper,
-// getConfigurationDirectory(configuration));
-// TargetPlatform.createPlatformConfigurationArea(fPluginMapFromSuper, getConfigurationDirectory(configuration),
-// LaunchConfigurationHelper.getContributingPlugin(productID));
-//
-// programArgs.add("-configuration"); //$NON-NLS-1$
-// programArgs
-// .add("file:" + new Path(getConfigurationDirectory(configuration).getPath()).addTrailingSeparator().toString()); //$NON-NLS-1$
-//
-// // Specify the output folder names
-// programArgs.add("-dev"); //$NON-NLS-1$
-// programArgs.add(ClasspathHelper.getDevEntriesProperties(getConfigurationDirectory(configuration).toString()
-// + "/dev.properties", fPluginMapFromSuper)); //$NON-NLS-1$
-//
-// // necessary for PDE to know how to load plugins when target platform =
-// // host platform
-// // see PluginPathFinder.getPluginPaths()
-// if (fPluginMapFromSuper.containsKey(PDECore.getPluginId()))
-// programArgs.add("-pdelaunch"); //$NON-NLS-1$
-//
-// // Create the .options file if tracing is turned on
-// if (configuration.getAttribute(IPDELauncherConstants.TRACING, false)
-// && !IPDELauncherConstants.TRACING_NONE.equals(configuration.getAttribute(
-// IPDELauncherConstants.TRACING_CHECKED, (String) null))) {
-// programArgs.add("-debug"); //$NON-NLS-1$
-// String path = getConfigurationDirectory(configuration).getPath() + IPath.SEPARATOR + ".options"; //$NON-NLS-1$
-// programArgs.add(LaunchArgumentsHelper.getTracingFileArgument(configuration, path));
-// }
-//
-// // add the program args specified by the user
-// String[] userArgs = LaunchArgumentsHelper.getUserProgramArgumentArray(configuration);
-// for (int i = 0; i < userArgs.length; i++) {
-// // be forgiving if people have tracing turned on and forgot
-// // to remove the -debug from the program args field.
-// if (userArgs[i].equals("-debug") && programArgs.contains("-debug")) //$NON-NLS-1$ //$NON-NLS-2$
-// continue;
-// programArgs.add(userArgs[i]);
-// }
-//
-// if (!programArgs.contains("-os")) { //$NON-NLS-1$
-// programArgs.add("-os"); //$NON-NLS-1$
-// programArgs.add(TargetPlatform.getOS());
-// }
-// if (!programArgs.contains("-ws")) { //$NON-NLS-1$
-// programArgs.add("-ws"); //$NON-NLS-1$
-// programArgs.add(TargetPlatform.getWS());
-// }
-// if (!programArgs.contains("-arch")) { //$NON-NLS-1$
-// programArgs.add("-arch"); //$NON-NLS-1$
-// programArgs.add(TargetPlatform.getOSArch());
-// }
-//
-// programArgs.add("-testpluginname"); //$NON-NLS-1$
-// programArgs.add(getTestPluginId(configuration));
-//
-// programArgs.add("-loaderpluginname"); //$NON-NLS-1$
-// programArgs.add(testSearchResult.getTestKind().getLoaderPluginId());
-//
-// String testFailureNames = configuration.getAttribute(JUnitBaseLaunchConfiguration.FAILURES_FILENAME_ATTR, ""); //$NON-NLS-1$
-// if (testFailureNames.length() > 0) {
-// programArgs.add("-testfailures"); //$NON-NLS-1$
-// programArgs.add(testFailureNames);
-// }
-//
-// // a testname was specified just run the single test
-// IType[] testTypes = testSearchResult.getTypes();
-// String testName = configuration.getAttribute(JUnitBaseLaunchConfiguration.TESTNAME_ATTR, ""); //$NON-NLS-1$
-// if (testName.length() > 0) {
-// programArgs.add("-test"); //$NON-NLS-1$
-// programArgs.add(testTypes[0].getFullyQualifiedName() + ":" + testName); //$NON-NLS-1$
-// } else {
-// programArgs.add("-classnames"); //$NON-NLS-1$
-// for (int i = 0; i < testTypes.length; i++)
-// programArgs.add(testTypes[i].getFullyQualifiedName());
-// }
-// return (String[]) programArgs.toArray(new String[programArgs.size()]);
-// }
-
+ return model.getPluginBase().getId();
+ }
}
diff --git a/org.eclipse.mylyn.java.ui/src/org/eclipse/mylyn/internal/java/ui/junit/MylarPdeJUnitTabGroup.java b/org.eclipse.mylyn.java.ui/src/org/eclipse/mylyn/internal/java/ui/junit/MylarPdeJUnitTabGroup.java
index 14e6b90..4659aa8 100644
--- a/org.eclipse.mylyn.java.ui/src/org/eclipse/mylyn/internal/java/ui/junit/MylarPdeJUnitTabGroup.java
+++ b/org.eclipse.mylyn.java.ui/src/org/eclipse/mylyn/internal/java/ui/junit/MylarPdeJUnitTabGroup.java
@@ -16,8 +16,8 @@
import org.eclipse.debug.ui.ILaunchConfigurationDialog;
import org.eclipse.debug.ui.ILaunchConfigurationTab;
import org.eclipse.jdt.debug.ui.launchConfigurations.JavaArgumentsTab;
+import org.eclipse.pde.internal.ui.launcher.AbstractPDELaunchConfigurationTabGroup;
import org.eclipse.pde.ui.launcher.ConfigurationTab;
-import org.eclipse.pde.ui.launcher.JUnitTabGroup;
import org.eclipse.pde.ui.launcher.PluginJUnitMainTab;
import org.eclipse.pde.ui.launcher.PluginsTab;
import org.eclipse.pde.ui.launcher.TracingTab;
@@ -27,15 +27,13 @@
*
* @author Mik Kersten
*/
-public class MylarPdeJUnitTabGroup extends JUnitTabGroup {
+public class MylarPdeJUnitTabGroup extends AbstractPDELaunchConfigurationTabGroup {
- @Override
public void createTabs(ILaunchConfigurationDialog dialog, String mode) {
-
ILaunchConfigurationTab[] tabs = null;
- tabs = new ILaunchConfigurationTab[] {
+ tabs = new ILaunchConfigurationTab[]{
new MylarJUnitMainTab(true),
-// new JUnitLaunchConfigurationTab(),
+// new JUnitMainTab(),
new PluginJUnitMainTab(),
new JavaArgumentsTab(),
new PluginsTab(false),
@@ -44,6 +42,21 @@
new EnvironmentTab(),
new CommonTab()};
setTabs(tabs);
+// ILaunchConfigurationTab[] tabs = null;
+// if (PDECore.getDefault().getModelManager().isOSGiRuntime()) {
+// tabs = new ILaunchConfigurationTab[] {
+// // new JUnitMainTab(),
+// new MylarJUnitMainTab(true), new PluginJUnitMainTab(), new JavaArgumentsTab(),
+// new PluginsTab(false), new ConfigurationTab(true), new TracingTab(), new EnvironmentTab(),
+// new SourceLookupTab(), new CommonTab() };
+// } else {
+// tabs = new ILaunchConfigurationTab[] {
+// // new JUnitMainTab(),
+// new MylarJUnitMainTab(true), new PluginJUnitMainTab(), new JavaArgumentsTab(),
+// new PluginsTab(false), new TracingTab(), new EnvironmentTab(), new SourceLookupTab(),
+// new CommonTab() };
+// }
+// setTabs(tabs);
}
}
diff --git a/org.eclipse.mylyn.team.ui/plugin.xml b/org.eclipse.mylyn.team.ui/plugin.xml
index fc7ef4f..ad425c5 100644
--- a/org.eclipse.mylyn.team.ui/plugin.xml
+++ b/org.eclipse.mylyn.team.ui/plugin.xml
@@ -154,7 +154,7 @@
</action>
</objectContribution>
-->
-
+ <!--
<objectContribution
adaptable="false"
id="org.eclipse.mylar.ide.team.ui.contribution.attachment.patch"
@@ -166,7 +166,7 @@
label="Apply Patch...">
</action>
</objectContribution>
-
+ -->
</extension>
<extension point="org.eclipse.ui.preferencePages">
diff --git a/org.eclipse.mylyn.team.ui/src/org/eclipse/mylyn/internal/team/ui/actions/ApplyPatchAction.java b/org.eclipse.mylyn.team.ui/src/org/eclipse/mylyn/internal/team/ui/actions/ApplyPatchAction.java
deleted file mode 100644
index b3ceffb..0000000
--- a/org.eclipse.mylyn.team.ui/src/org/eclipse/mylyn/internal/team/ui/actions/ApplyPatchAction.java
+++ /dev/null
@@ -1,94 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 - 2006 Mylar committers and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *******************************************************************************/
-
-package org.eclipse.mylar.internal.team.ui.actions;
-
-import java.io.InputStream;
-import java.io.*;
-
-import org.eclipse.compare.CompareConfiguration;
-import org.eclipse.compare.patch.ApplyPatchOperation;
-import org.eclipse.core.resources.IStorage;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.mylar.internal.tasks.ui.ITasksUiConstants;
-import org.eclipse.mylar.tasks.core.RepositoryAttachment;
-import org.eclipse.mylar.tasks.ui.TasksUiPlugin;
-import org.eclipse.mylar.team.MylarTeamPlugin;
-import org.eclipse.swt.custom.BusyIndicator;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.ui.IViewActionDelegate;
-import org.eclipse.ui.IViewPart;
-import org.eclipse.ui.PlatformUI;
-
-/**
- * @author Mik Kersten
- */
-public class ApplyPatchAction implements IViewActionDelegate {
-
- private ISelection currentSelection;
-
- public void init(IViewPart view) {
- // ignore
- }
-
- public void run(IAction action) {
- if (currentSelection instanceof StructuredSelection) {
- Object object = ((StructuredSelection) currentSelection).getFirstElement();
- if (object instanceof RepositoryAttachment) {
- RepositoryAttachment attachment = (RepositoryAttachment) object;
- final String contents = TasksUiPlugin.getRepositoryManager().getAttachmentContents(attachment);
- if (contents == null) {
- MessageDialog
- .openInformation(PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell(),
- ITasksUiConstants.TITLE_DIALOG,
- "Patch could not be retrieved. Please try re-synchronizing task in order to apply the patch.");
- } else {
- IStorage storage = new IStorage() {
-
- @SuppressWarnings("deprecation")
- public InputStream getContents() throws CoreException {
- return new StringBufferInputStream(contents);
- }
-
- public IPath getFullPath() {
- return MylarTeamPlugin.getDefault().getStateLocation();
- }
-
- public String getName() {
- return null;
- }
-
- public boolean isReadOnly() {
- return true;
- }
-
- @SuppressWarnings("unchecked")
- public Object getAdapter(Class adapter) {
- return null;
- }
-
- };
- ApplyPatchOperation op = new ApplyPatchOperation(
- PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().getActivePart(),
- storage, null, new CompareConfiguration());
- BusyIndicator.showWhile(Display.getDefault(), op);
- }
-
- }
- }
- }
-
- public void selectionChanged(IAction action, ISelection selection) {
- this.currentSelection = selection;
- }
-}