View | Details | Raw Unified | Return to bug 296441 | Differences between
and this patch

Collapse All | Expand All

(-)plugin.properties (+2 lines)
Lines 15-17 Link Here
15
JavaStackTraceHyperlinkDetector.name = Mylyn Stack Trace
15
JavaStackTraceHyperlinkDetector.name = Mylyn Stack Trace
16
16
17
NewTaskFromJunitResultViewAction.label = New Task from Failure...
17
NewTaskFromJunitResultViewAction.label = New Task from Failure...
18
19
MylynTemplateVariableResolver.activeTaskId.description = Return the ID of the current active task if any else nothing
(-)plugin.xml (+31 lines)
Lines 33-37 Link Here
33
	        menubarPath="org.eclipse.jdt.junit.ResultView"/>
33
	        menubarPath="org.eclipse.jdt.junit.ResultView"/>
34
      </viewerContribution>
34
      </viewerContribution>
35
   </extension>
35
   </extension>
36
   <extension
37
         point="org.eclipse.ui.editors.templates">
38
      <resolver
39
            class="org.eclipse.mylyn.internal.java.tasks.TasksTemplateVariableResolver"
40
            contextTypeId="java"
41
            description="%MylynTemplateVariableResolver.activeTaskId.description"
42
            name="Active Task ID"
43
            type="activeTaskKey">
44
      </resolver>
45
      <resolver
46
            class="org.eclipse.mylyn.internal.java.tasks.TasksTemplateVariableResolver"
47
            contextTypeId="javadoc"
48
            description="%MylynTemplateVariableResolver.activeTaskId.description"
49
            name="Active Task ID"
50
            type="activeTaskKey">
51
      </resolver>
52
      <resolver
53
            class="org.eclipse.mylyn.internal.java.tasks.TasksTemplateVariableResolver"
54
            contextTypeId="java"
55
            description="%MylynTemplateVariableResolver.activeTaskId.description"
56
            name="Active Task Prefix"
57
            type="activeTaskPrefix">
58
      </resolver>
59
      <resolver
60
            class="org.eclipse.mylyn.internal.java.tasks.TasksTemplateVariableResolver"
61
            contextTypeId="javadoc"
62
            description="%MylynTemplateVariableResolver.activeTaskId.description"
63
            name="Active Task Prefix"
64
            type="activeTaskPrefix">
65
      </resolver>
66
   </extension>
36
   
67
   
37
</plugin>
68
</plugin>
(-)META-INF/MANIFEST.MF (+1 lines)
Lines 11-16 Link Here
11
 org.eclipse.jface.text,
11
 org.eclipse.jface.text,
12
 org.eclipse.ui,
12
 org.eclipse.ui,
13
 org.eclipse.ui.workbench.texteditor,
13
 org.eclipse.ui.workbench.texteditor,
14
 org.eclipse.ui.editors,
14
 org.eclipse.mylyn.tasks.core;bundle-version="[3.0.0,4.0.0)",
15
 org.eclipse.mylyn.tasks.core;bundle-version="[3.0.0,4.0.0)",
15
 org.eclipse.mylyn.tasks.ui;bundle-version="[3.0.0,4.0.0)"
16
 org.eclipse.mylyn.tasks.ui;bundle-version="[3.0.0,4.0.0)"
16
Bundle-ActivationPolicy: lazy
17
Bundle-ActivationPolicy: lazy
(-)src/org/eclipse/mylyn/internal/java/tasks/TasksTemplateVariableResolver.java (+59 lines)
Added Link Here
1
/*******************************************************************************
2
 * Copyright (c) 2010 Mylyn project committers and others.
3
 * All rights reserved. This program and the accompanying materials
4
 * are made available under the terms of the Eclipse Public License v1.0
5
 * which accompanies this distribution, and is available at
6
 * http://www.eclipse.org/legal/epl-v10.html
7
 *******************************************************************************/
8
package org.eclipse.mylyn.internal.java.tasks;
9
10
import org.eclipse.jface.text.templates.TemplateContext;
11
import org.eclipse.jface.text.templates.TemplateVariableResolver;
12
import org.eclipse.mylyn.internal.tasks.ui.TasksUiPlugin;
13
import org.eclipse.mylyn.tasks.core.AbstractRepositoryConnector;
14
import org.eclipse.mylyn.tasks.core.ITask;
15
import org.eclipse.mylyn.tasks.ui.TasksUi;
16
17
/**
18
 * Resolver to resolve variables from the mylyn context.
19
 * 
20
 * @author Andreas Höhmann (bug #296441)
21
 * @since 3.3.1
22
 */
23
public class TasksTemplateVariableResolver extends TemplateVariableResolver {
24
25
	/**
26
	 * Would be used as resolver <code>type</code> to provide the ID of the active task.
27
	 */
28
	private static final String TYPE_ACTIVE_TASK_ID = "activeTaskKey"; //$NON-NLS-1$
29
30
	/**
31
	 * Would be used as resolver <code>type</code> to provide the prefix (i.e. "bug") of the active task.
32
	 */
33
	private static final String TYPE_ACTIVE_TASK_PREFIX = "activeTaskPrefix"; //$NON-NLS-1$
34
35
	/**
36
	 * {@inheritDoc}
37
	 */
38
	@Override
39
	protected String resolve(final TemplateContext context) {
40
		final String type = getType();
41
		if (TYPE_ACTIVE_TASK_ID.equalsIgnoreCase(type)) {
42
			final ITask activeTask = TasksUiPlugin.getTaskActivityManager().getActiveTask();
43
			if (activeTask != null) {
44
				return activeTask.getTaskId();
45
			}
46
		}
47
		if (TYPE_ACTIVE_TASK_PREFIX.equalsIgnoreCase(type)) {
48
			final ITask activeTask = TasksUiPlugin.getTaskActivityManager().getActiveTask();
49
			if (activeTask != null) {
50
				final AbstractRepositoryConnector connector = TasksUi.getRepositoryManager().getRepositoryConnector(
51
						activeTask.getConnectorKind());
52
				if (connector != null) {
53
					return connector.getTaskIdPrefix();
54
				}
55
			}
56
		}
57
		return ""; //$NON-NLS-1$
58
	}
59
}

Return to bug 296441