3.1 merge
diff --git a/org.eclipse.mylyn.java.ui/META-INF/MANIFEST.MF b/org.eclipse.mylyn.java.ui/META-INF/MANIFEST.MF
index c421119..e881ffd 100644
--- a/org.eclipse.mylyn.java.ui/META-INF/MANIFEST.MF
+++ b/org.eclipse.mylyn.java.ui/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
Bundle-ManifestVersion: 2
Bundle-Name: Mylar Java Plug-in
Bundle-SymbolicName: org.eclipse.mylar.java; singleton:=true
-Bundle-Version: 0.4.1
+Bundle-Version: 0.4.2
Bundle-Activator: org.eclipse.mylar.java.MylarJavaPlugin
Bundle-Localization: plugin
Require-Bundle: org.eclipse.ui,
@@ -30,7 +30,10 @@
org.eclipse.mylar.core,
org.eclipse.mylar.ide,
org.eclipse.mylar.tasklist,
- org.eclipse.mylar.ui
+ org.eclipse.mylar.ui,
+ org.eclipse.team.ui,
+ org.eclipse.team.cvs.core,
+ org.eclipse.team.core
Eclipse-AutoStart: true
Bundle-Vendor: Eclipse.org
Export-Package: org.eclipse.mylar.java,
diff --git a/org.eclipse.mylyn.java.ui/plugin.xml b/org.eclipse.mylyn.java.ui/plugin.xml
index 9945770..a75034d 100644
--- a/org.eclipse.mylyn.java.ui/plugin.xml
+++ b/org.eclipse.mylyn.java.ui/plugin.xml
@@ -27,7 +27,7 @@
<extension
point="org.eclipse.debug.core.launchConfigurationTypes">
<launchConfigurationType
- name="Task Context Test"
+ name="Mylar Active Suite"
delegate="org.eclipse.mylar.java.internal.junit.MylarJUnitLaunchConfiguration"
modes="run, debug"
id="org.eclipse.mylar.java.junit.launchconfig"
@@ -44,7 +44,7 @@
</launchConfigurationType>
<launchConfigurationType
sourceLocatorId="org.eclipse.jdt.launching.sourceLocator.JavaSourceLookupDirector"
- name="Task Context Plug-in Test"
+ name="Mylar Active Plug-in Suite"
sourcePathComputerId="org.eclipse.jdt.launching.sourceLookup.javaSourcePathComputer"
delegate="org.eclipse.mylar.java.internal.junit.MylarPdeJUnitLaunchConfiguration"
modes="run, debug"
@@ -151,7 +151,7 @@
</extension>
<extension point="org.eclipse.ui.viewActions">
- <viewContribution
+ <viewContribution
id="org.eclipse.mylar.java.explorer.contribution"
targetID="org.eclipse.jdt.ui.PackageExplorer">
<action
@@ -165,14 +165,33 @@
toolbarPath="mylar"
tooltip="Apply Mylar">
</action>
- </viewContribution>
- <viewContribution
+ </viewContribution>
+ <viewContribution
id="org.eclipse.mylar.ui.views.active.search.contribution"
targetID="org.eclipse.mylar.ui.views.active.search">
- </viewContribution>
+ </viewContribution>
</extension>
- <extension point = "org.eclipse.ui.popupMenus">
+ <extension point="org.eclipse.ui.popupMenus">
+ <viewerContribution
+ id="org.eclipse.mylar.java.ui.viewerContribution"
+ targetID="org.eclipse.mylar.tasks.ui.views.TaskListView">
+ <action
+ class="org.eclipse.mylar.java.ui.actions.CompleteTaskWizardAction"
+ enablesFor="*"
+ icon="icons/elcl16/cvs_persp.gif"
+ id="org.eclipse.mylar.ui.clear.context"
+ label="Commit Task Context..."
+ menubarPath="context"
+ tooltip="Commit All ">
+ <enablement>
+ <or>
+ <objectClass name="org.eclipse.mylar.tasklist.ITask"/>
+ </or>
+ </enablement>
+ </action>
+ </viewerContribution>
+
<objectContribution
id="org.eclipse.mylar.ui.interest"
objectClass="org.eclipse.jdt.core.IJavaElement">
diff --git a/org.eclipse.mylyn.java.ui/src/org/eclipse/mylyn/java/JavaProblemListener.java b/org.eclipse.mylyn.java.ui/src/org/eclipse/mylyn/java/JavaProblemListener.java
index bdfe43d..0c6c390 100644
--- a/org.eclipse.mylyn.java.ui/src/org/eclipse/mylyn/java/JavaProblemListener.java
+++ b/org.eclipse.mylyn.java.ui/src/org/eclipse/mylyn/java/JavaProblemListener.java
@@ -34,18 +34,18 @@
for (int i = 0; i < changedResources.length; i++) {
IResource resource = changedResources[i];
try {
+ boolean hasError = false;
IMarker[] markers = resource.findMarkers(
IJavaModelMarker.JAVA_MODEL_PROBLEM_MARKER,
true, IResource.DEPTH_INFINITE);
IJavaElement element = (IJavaElement)resource.getAdapter(IJavaElement.class);
- boolean hasError = false;
for (int j = 0; j < markers.length; j++) {
if (markers[j] != null
&& markers[j].getAttribute(IMarker.SEVERITY) != null
&& markers[j].getAttribute(IMarker.SEVERITY).equals(IMarker.SEVERITY_ERROR)) {
hasError = true;
}
- }
+ }
if (element != null && resource instanceof IFile && !resource.getFileExtension().equals("class")) {
if (!hasError) {
MylarPlugin.getContextManager().removeErrorPredictedInterest(element.getHandleIdentifier(), JavaStructureBridge.CONTENT_TYPE, true);
diff --git a/org.eclipse.mylyn.java.ui/src/org/eclipse/mylyn/java/JavaStructureBridge.java b/org.eclipse.mylyn.java.ui/src/org/eclipse/mylyn/java/JavaStructureBridge.java
index 267f8a0..c93dd23 100644
--- a/org.eclipse.mylyn.java.ui/src/org/eclipse/mylyn/java/JavaStructureBridge.java
+++ b/org.eclipse.mylyn.java.ui/src/org/eclipse/mylyn/java/JavaStructureBridge.java
@@ -25,6 +25,7 @@
import org.eclipse.jdt.core.ICompilationUnit;
import org.eclipse.jdt.core.IImportDeclaration;
import org.eclipse.jdt.core.IJavaElement;
+import org.eclipse.jdt.core.IJavaModelMarker;
import org.eclipse.jdt.core.IJavaProject;
import org.eclipse.jdt.core.IMember;
import org.eclipse.jdt.core.IPackageFragment;
@@ -135,6 +136,27 @@
* i.e. they're not IJavaElement(s).
*/
public boolean canFilter(Object object) {
+ if (object instanceof IJavaElement) {
+ try {
+ IJavaElement element = (IJavaElement)object;
+ IResource resource = element.getCorrespondingResource();
+ boolean hasError = false;
+ if (resource != null) {
+ IMarker[] markers = resource.findMarkers(IJavaModelMarker.JAVA_MODEL_PROBLEM_MARKER, true, 2);
+ for (int j = 0; j < markers.length; j++) {
+ if (markers[j] != null
+ && markers[j].getAttribute(IMarker.SEVERITY) != null
+ && markers[j].getAttribute(IMarker.SEVERITY).equals(IMarker.SEVERITY_ERROR)) {
+ hasError = true;
+ }
+ }
+ if (hasError) return false;
+ }
+ } catch (CoreException e) {
+ // ignore
+ }
+ }
+
if (object instanceof ClassPathContainer.RequiredProjectWrapper) {
return true;
}
diff --git a/org.eclipse.mylyn.java.ui/src/org/eclipse/mylyn/java/MylarJavaPlugin.java b/org.eclipse.mylyn.java.ui/src/org/eclipse/mylyn/java/MylarJavaPlugin.java
index 7d3334f..eef9d67 100644
--- a/org.eclipse.mylyn.java.ui/src/org/eclipse/mylyn/java/MylarJavaPlugin.java
+++ b/org.eclipse.mylyn.java.ui/src/org/eclipse/mylyn/java/MylarJavaPlugin.java
@@ -46,93 +46,105 @@
* @author Mik Kersten
*/
public class MylarJavaPlugin extends AbstractUIPlugin {
-
+
private static MylarJavaPlugin plugin;
+
private ResourceBundle resourceBundle;
+
private JavaEditorTracker editorTracker;
-
+
private PackageExplorerManager packageExplorerManager = new PackageExplorerManager();
+
private TypeHistoryManager typeHistoryManager = new TypeHistoryManager();
+
private LandmarkMarkerManager landmarkMarkerManager = new LandmarkMarkerManager();
+
private JavaProblemListener problemListener = new JavaProblemListener();
+
private JavaEditingMonitor javaEditingMonitor;
+
private InterestUpdateDeltaListener javaElementChangeListener = new InterestUpdateDeltaListener();
+ private MylarChangeSetManager changeSetManager = new MylarChangeSetManager();
+
public static final String PLUGIN_ID = "org.eclipse.mylar.java";
- public static final String MYLAR_JAVA_EDITOR_ID = "org.eclipse.mylar.java.ui.editor.MylarCompilationUnitEditor";
- public static final String PACKAGE_EXPLORER_AUTO_FILTER_ENABLE = "org.eclipse.mylar.java.ui.explorer.filter.auto.enable";
- public static final String PREDICTED_INTEREST_ERRORS = "org.eclipse.mylar.java.interest.predicted.errors";
- public static final String PACKAGE_EXPLORER_AUTO_EXPAND = "org.eclipse.mylar.java.explorer.auto.exapand";
-
+
+ public static final String MYLAR_JAVA_EDITOR_ID = "org.eclipse.mylar.java.ui.editor.MylarCompilationUnitEditor";
+
+ public static final String PACKAGE_EXPLORER_AUTO_FILTER_ENABLE = "org.eclipse.mylar.java.ui.explorer.filter.auto.enable";
+
+ public static final String PREDICTED_INTEREST_ERRORS = "org.eclipse.mylar.java.interest.predicted.errors";
+
+ public static final String PACKAGE_EXPLORER_AUTO_EXPAND = "org.eclipse.mylar.java.explorer.auto.exapand";
+
public static ImageDescriptor EDGE_REF_JUNIT = getImageDescriptor("icons/elcl16/edge-ref-junit.gif");
-
- public static final String FIRST_USE =
- "<html><body bgcolor=\"#ffffff\">" +
- "<p>If this is your first time using Mylar <b>make sure to watch the </b>\n" +
- "<a target=\"_blank\" href=\"http://eclipse.org/mylar/doc/demo/mylar-demo-03.html\">\n" +
- "<b>5 minute online flash demo</b></a>.</p><p>Mylar documentation is under \n" +
- "Help->Help Contents.</p>" +
- "</body></html>";
-
+
+ public static final String FIRST_USE = "<html><body bgcolor=\"#ffffff\">" + "<p>If this is your first time using Mylar <b>make sure to watch the </b>\n"
+ + "<a target=\"_blank\" href=\"http://eclipse.org/mylar/doc/demo/mylar-demo-03.html\">\n"
+ + "<b>5 minute online flash demo</b></a>.</p><p>Mylar documentation is under \n" + "Help->Help Contents.</p>" + "</body></html>";
+
public MylarJavaPlugin() {
super();
plugin = this;
- }
+ }
/**
* Startup order is critical.
*/
- @Override
+ @Override
public void start(BundleContext context) throws Exception {
- super.start(context);
- MylarPlugin.getContextManager().addListener(packageExplorerManager);
- MylarPlugin.getContextManager().addListener(typeHistoryManager);
- MylarPlugin.getContextManager().addListener(landmarkMarkerManager);
-
- setPreferenceDefaults();
- if (getPreferenceStore().getBoolean(PREDICTED_INTEREST_ERRORS)) {
- problemListener.enable();
+ try {
+ super.start(context);
+ MylarPlugin.getContextManager().addListener(packageExplorerManager);
+ MylarPlugin.getContextManager().addListener(typeHistoryManager);
+ MylarPlugin.getContextManager().addListener(landmarkMarkerManager);
+ MylarPlugin.getContextManager().addListener(changeSetManager);
+
+ setPreferenceDefaults();
+ if (getPreferenceStore().getBoolean(PREDICTED_INTEREST_ERRORS)) {
+ problemListener.enable();
+ }
+ getPreferenceStore().addPropertyChangeListener(problemListener);
+
+ final IWorkbench workbench = PlatformUI.getWorkbench();
+ workbench.getDisplay().asyncExec(new Runnable() {
+ public void run() {
+ if (ApplyMylarToPackageExplorerAction.getDefault() != null) {
+ ApplyMylarToPackageExplorerAction.getDefault().update();
+ getPreferenceStore().addPropertyChangeListener(ApplyMylarToPackageExplorerAction.getDefault());
+ }
+ if (ApplyMylarToBrowsingPerspectiveAction.getDefault() != null) {
+ ApplyMylarToBrowsingPerspectiveAction.getDefault().update();
+ }
+ if (ApplyMylarToBrowsingPerspectiveAction.getDefault() != null) {
+ ApplyMylarToBrowsingPerspectiveAction.getDefault().update();
+ }
+
+ javaEditingMonitor = new JavaEditingMonitor();
+ MylarPlugin.getDefault().getSelectionMonitors().add(javaEditingMonitor);
+ installEditorTracker(workbench);
+
+ ISelectionService service = Workbench.getInstance().getActiveWorkbenchWindow().getSelectionService();
+ service.addPostSelectionListener(packageExplorerManager);
+
+ if (!MylarPlugin.getDefault().suppressWizardsOnStartup() && !getPreferenceStore().contains(MylarPreferenceWizard.MYLAR_FIRST_RUN)) {
+ MylarPreferenceWizard wizard = new MylarPreferenceWizard(FIRST_USE);
+ Shell shell = Workbench.getInstance().getActiveWorkbenchWindow().getShell();
+ if (wizard != null && shell != null && !shell.isDisposed()) {
+ WizardDialog dialog = new WizardDialog(shell, wizard);
+ dialog.create();
+ dialog.open();
+ getPreferenceStore().putValue(MylarPreferenceWizard.MYLAR_FIRST_RUN, "false");
+ }
+ }
+ }
+ });
+
+ JavaCore.addElementChangedListener(javaElementChangeListener);
+ savePluginPreferences();
+ } catch (Exception e) {
+ MylarPlugin.fail(e, "Mylar Java Plug-in Initialization failed", true);
}
- getPreferenceStore().addPropertyChangeListener(problemListener);
-
- final IWorkbench workbench = PlatformUI.getWorkbench();
- workbench.getDisplay().asyncExec(new Runnable() {
- public void run() {
- if(!MylarPlugin.getDefault().suppressWizardsOnStartup() && !getPreferenceStore().contains(MylarPreferenceWizard.MYLAR_FIRST_RUN)){
- MylarPreferenceWizard wizard= new MylarPreferenceWizard(FIRST_USE);
- Shell shell = Workbench.getInstance().getActiveWorkbenchWindow().getShell();
- if (wizard != null && shell != null && !shell.isDisposed()) {
- WizardDialog dialog = new WizardDialog(shell, wizard);
- dialog.create();
- dialog.open();
- getPreferenceStore().putValue(MylarPreferenceWizard.MYLAR_FIRST_RUN, "false");
- }
- }
-
- if (ApplyMylarToPackageExplorerAction.getDefault() != null) {
- ApplyMylarToPackageExplorerAction.getDefault().update();
- getPreferenceStore().addPropertyChangeListener(ApplyMylarToPackageExplorerAction.getDefault());
- }
- if (ApplyMylarToBrowsingPerspectiveAction.getDefault() != null) {
- ApplyMylarToBrowsingPerspectiveAction.getDefault().update();
- }
- if (ApplyMylarToBrowsingPerspectiveAction.getDefault() != null) {
- ApplyMylarToBrowsingPerspectiveAction.getDefault().update();
- }
-
- javaEditingMonitor = new JavaEditingMonitor();
- MylarPlugin.getDefault().getSelectionMonitors().add(javaEditingMonitor);
- installEditorTracker(workbench);
-
- ISelectionService service = Workbench.getInstance().getActiveWorkbenchWindow().getSelectionService();
- service.addPostSelectionListener(packageExplorerManager);
-
-// needed because Mylar source viewer configuration does not get initialized properly
-// resetActiveEditor();
- }
- });
- savePluginPreferences();
- JavaCore.addElementChangedListener(javaElementChangeListener);
}
private void setPreferenceDefaults() {
@@ -141,74 +153,62 @@
getPreferenceStore().setDefault(PREDICTED_INTEREST_ERRORS, false);
}
- @Override
+ @Override
public void stop(BundleContext context) throws Exception {
super.stop(context);
plugin = null;
resourceBundle = null;
+
+ MylarPlugin.getContextManager().removeListener(packageExplorerManager);
+ MylarPlugin.getContextManager().removeListener(typeHistoryManager);
+ MylarPlugin.getContextManager().removeListener(landmarkMarkerManager);
+ MylarPlugin.getContextManager().removeListener(changeSetManager);
- MylarPlugin.getContextManager().removeListener(packageExplorerManager);
- MylarPlugin.getContextManager().removeListener(typeHistoryManager);
- MylarPlugin.getContextManager().removeListener(landmarkMarkerManager);
- MylarPlugin.getDefault().getSelectionMonitors().remove(javaEditingMonitor);
-
- if (ApplyMylarToPackageExplorerAction.getDefault() != null) {
- getPreferenceStore().removePropertyChangeListener(ApplyMylarToPackageExplorerAction.getDefault());
- }
-
- if (Workbench.getInstance() != null
- && Workbench.getInstance().getActiveWorkbenchWindow() != null
- && !Workbench.getInstance().isClosing()) {
- ISelectionService service = Workbench.getInstance().getActiveWorkbenchWindow().getSelectionService();
- service.removePostSelectionListener(packageExplorerManager);
- }
- JavaCore.removeElementChangedListener(javaElementChangeListener);
- // TODO: uninstall editor tracker
+ MylarPlugin.getDefault().getSelectionMonitors().remove(javaEditingMonitor);
+
+ if (ApplyMylarToPackageExplorerAction.getDefault() != null) {
+ getPreferenceStore().removePropertyChangeListener(ApplyMylarToPackageExplorerAction.getDefault());
+ }
+
+ if (Workbench.getInstance() != null && Workbench.getInstance().getActiveWorkbenchWindow() != null && !Workbench.getInstance().isClosing()) {
+ ISelectionService service = Workbench.getInstance().getActiveWorkbenchWindow().getSelectionService();
+ service.removePostSelectionListener(packageExplorerManager);
+ }
+ JavaCore.removeElementChangedListener(javaElementChangeListener);
+// CVSUIPlugin.getPlugin().getChangeSetManager().remove(changeSetManager);
+
+ // TODO: uninstall editor tracker
}
-// private void resetActiveEditor() {
-// IEditorPart part = Workbench.getInstance().getActiveWorkbenchWindow().getActivePage().getActiveEditor();
-// if (part instanceof MylarCompilationUnitEditor) {
-// MylarCompilationUnitEditor editor = (MylarCompilationUnitEditor)part;
-// IJavaElement inputElement = editor.getInputJavaElement();
-// editor.close(true);
-// try {
-// JavaUI.openInEditor(inputElement);
-// } catch (Exception e) {
-// MylarPlugin.fail(e, "Could not reset active editor", false);
-// }
-// }
-// }
-
private void installEditorTracker(IWorkbench workbench) {
editorTracker = new JavaEditorTracker();
workbench.addWindowListener(editorTracker);
- IWorkbenchWindow[] windows= workbench.getWorkbenchWindows();
- for (int i= 0; i < windows.length; i++) {
+ IWorkbenchWindow[] windows = workbench.getWorkbenchWindows();
+ for (int i = 0; i < windows.length; i++) {
windows[i].addPageListener(editorTracker);
- IWorkbenchPage[] pages= windows[i].getPages();
- for (int j= 0; j < pages.length; j++) {
+ IWorkbenchPage[] pages = windows[i].getPages();
+ for (int j = 0; j < pages.length; j++) {
pages[j].addPartListener(editorTracker);
}
}
-
+
// update editors that are already opened
if (Workbench.getInstance().getActiveWorkbenchWindow() != null) {
- IWorkbenchPage page = Workbench.getInstance().getActiveWorkbenchWindow().getActivePage();
- if (page != null) {
- IEditorReference[] references = page.getEditorReferences();
- for (int i = 0; i < references.length; i++) {
- IEditorPart part = references[i].getEditor(false);
- if (part != null && part instanceof JavaEditor) {
- JavaEditor editor = (JavaEditor)part;
- editorTracker.registerEditor(editor);
- ActiveFoldingListener.resetProjection(editor);
- }
- }
- }
+ IWorkbenchPage page = Workbench.getInstance().getActiveWorkbenchWindow().getActivePage();
+ if (page != null) {
+ IEditorReference[] references = page.getEditorReferences();
+ for (int i = 0; i < references.length; i++) {
+ IEditorPart part = references[i].getEditor(false);
+ if (part != null && part instanceof JavaEditor) {
+ JavaEditor editor = (JavaEditor) part;
+ editorTracker.registerEditor(editor);
+ ActiveFoldingListener.resetProjection(editor);
+ }
+ }
+ }
}
}
-
+
/**
* Returns the shared instance.
*/
@@ -253,9 +253,8 @@
return AbstractUIPlugin.imageDescriptorFromPlugin("org.eclipse.mylar.java", path);
}
- public static boolean isMylarEditorDefault() {
- IEditorRegistry editorRegistry = WorkbenchPlugin.getDefault()
- .getEditorRegistry();
+ public static boolean isMylarEditorDefault() {
+ IEditorRegistry editorRegistry = WorkbenchPlugin.getDefault().getEditorRegistry();
IEditorDescriptor desc = editorRegistry.getDefaultEditor("*.java");
// return "AspectJ/Java Editor".equals(desc.getLabel());
@@ -264,16 +263,13 @@
public static void setDefaultEditorForJavaFiles(boolean mylar) {
- EditorRegistry editorRegistry = (EditorRegistry) WorkbenchPlugin
- .getDefault().getEditorRegistry(); // HACK: cast to allow save
+ EditorRegistry editorRegistry = (EditorRegistry) WorkbenchPlugin.getDefault().getEditorRegistry(); // HACK: cast to allow save
// to be called
- IFileEditorMapping[] array = WorkbenchPlugin.getDefault()
- .getEditorRegistry().getFileEditorMappings();
+ IFileEditorMapping[] array = WorkbenchPlugin.getDefault().getEditorRegistry().getFileEditorMappings();
// HACK: cast to allow set to be called
editorRegistry.setFileEditorMappings((FileEditorMapping[]) array);
- String defaultEditor = editorRegistry.getDefaultEditor("*.java")
- .getId();
+ String defaultEditor = editorRegistry.getDefaultEditor("*.java").getId();
if (mylar) {
@@ -293,82 +289,107 @@
return typeHistoryManager;
}
-// /**
-// *
-// * CODE FROM
-// *
-// * @see org.eclipse.jdt.ui.actions.CustomFiltersActionGroup
-// *
-// * Slightly modified. Needed to initialize the structure view to have no
-// * filter
-// *
-// */
-//
-// private static final String TAG_USER_DEFINED_PATTERNS_ENABLED= "userDefinedPatternsEnabled"; //$NON-NLS-1$
-// private static final String TAG_USER_DEFINED_PATTERNS= "userDefinedPatterns"; //$NON-NLS-1$
-// private static final String TAG_LRU_FILTERS = "lastRecentlyUsedFilters"; //$NON-NLS-1$
-//
-// private static final String SEPARATOR= ","; //$NON-NLS-1$
-//
-// private final String fTargetId = "org.eclipse.jdt.internal.ui.text.QuickOutline";
-
-// // HACK: used to disable the filter from the quick outline by default
-// public void initializeWithPluginContributions() {
-// IPreferenceStore store= JavaPlugin.getDefault().getPreferenceStore();
-// if (store.contains(getPreferenceKey("TAG_DUMMY_TO_TEST_EXISTENCE")))
-// return;
-//
-// FilterDescriptor[] filterDescs= getCachedFilterDescriptors();
-// Map<String, FilterDescriptor> fFilterDescriptorMap= new HashMap<String, FilterDescriptor>(filterDescs.length);
-// Map<String, Boolean> fEnabledFilterIds= new HashMap<String, Boolean>(filterDescs.length);
-// for (int i= 0; i < filterDescs.length; i++) {
-// String id= filterDescs[i].getId();
-// Boolean isEnabled= new Boolean(filterDescs[i].isEnabled());
-// if (fEnabledFilterIds.containsKey(id))
-// JavaPlugin.logErrorMessage("WARNING: Duplicate id for extension-point \"org.eclipse.jdt.ui.javaElementFilters\""); //$NON-NLS-1$
-// fEnabledFilterIds.put(id, isEnabled);
-// fFilterDescriptorMap.put(id, filterDescs[i]);
-// }
-// storeViewDefaults(fEnabledFilterIds, store);
-// }
-
-// private void storeViewDefaults(Map<String, Boolean> fEnabledFilterIds, IPreferenceStore store) {
-// // see bug https://bugs.eclipse.org/bugs/show_bug.cgi?id=22533
-// store.setValue(getPreferenceKey("TAG_DUMMY_TO_TEST_EXISTENCE"), "storedViewPreferences");//$NON-NLS-1$//$NON-NLS-2$
-//
-// store.setValue(getPreferenceKey(TAG_USER_DEFINED_PATTERNS_ENABLED), false);
-// store.setValue(getPreferenceKey(TAG_USER_DEFINED_PATTERNS), CustomFiltersDialog.convertToString(new String[0],SEPARATOR));
-//
-// Iterator iter= fEnabledFilterIds.entrySet().iterator();
-// while (iter.hasNext()) {
-// Map.Entry entry= (Map.Entry)iter.next();
-// String id= (String)entry.getKey();
-// boolean isEnabled= ((Boolean)entry.getValue()).booleanValue();
-// if(id.equals("org.eclipse.mylar.ui.java.InterestFilter")){
-// store.setValue(id, false);
-// } else {
-// store.setValue(id, isEnabled);
+ public static ImageDescriptor getEDGE_REF_JUNIT() {
+ return EDGE_REF_JUNIT;
+ }
+
+ public static void setEDGE_REF_JUNIT(ImageDescriptor edge_ref_junit) {
+ EDGE_REF_JUNIT = edge_ref_junit;
+ }
+
+ public MylarChangeSetManager getChangeSetManager() {
+ return changeSetManager;
+ }
+
+// private void resetActiveEditor() {
+// IEditorPart part = Workbench.getInstance().getActiveWorkbenchWindow().getActivePage().getActiveEditor();
+// if (part instanceof MylarCompilationUnitEditor) {
+// MylarCompilationUnitEditor editor = (MylarCompilationUnitEditor)part;
+// IJavaElement inputElement = editor.getInputJavaElement();
+// editor.close(true);
+// try {
+// JavaUI.openInEditor(inputElement);
+// } catch (Exception e) {
+// MylarPlugin.fail(e, "Could not reset active editor", false);
// }
// }
-//
-// StringBuffer buf= new StringBuffer("");
-// store.setValue(TAG_LRU_FILTERS, buf.toString());
// }
-// private String getPreferenceKey(String tag) {
-// return "CustomFiltersActionGroup." + fTargetId + '.' + tag; //$NON-NLS-1$
-// }
-//
-// private FilterDescriptor[] getCachedFilterDescriptors() {
-// FilterDescriptor[] fCachedFilterDescriptors= FilterDescriptor.getFilterDescriptors(fTargetId);
-// return fCachedFilterDescriptors;
-// }
+ // /**
+ // *
+ // * CODE FROM
+ // *
+ // * @see org.eclipse.jdt.ui.actions.CustomFiltersActionGroup
+ // *
+ // * Slightly modified. Needed to initialize the structure view to have no
+ // * filter
+ // *
+ // */
+ //
+ // private static final String TAG_USER_DEFINED_PATTERNS_ENABLED= "userDefinedPatternsEnabled"; //$NON-NLS-1$
+ // private static final String TAG_USER_DEFINED_PATTERNS= "userDefinedPatterns"; //$NON-NLS-1$
+ // private static final String TAG_LRU_FILTERS = "lastRecentlyUsedFilters"; //$NON-NLS-1$
+ //
+ // private static final String SEPARATOR= ","; //$NON-NLS-1$
+ //
+ // private final String fTargetId = "org.eclipse.jdt.internal.ui.text.QuickOutline";
-
-// /**
-// * TODO: remove
-// */
-// public static JavaUiUpdateBridge getModelUpdateBridge() {
-// return modelUpdateBridge;
-// }
+ // // HACK: used to disable the filter from the quick outline by default
+ // public void initializeWithPluginContributions() {
+ // IPreferenceStore store= JavaPlugin.getDefault().getPreferenceStore();
+ // if (store.contains(getPreferenceKey("TAG_DUMMY_TO_TEST_EXISTENCE")))
+ // return;
+ //
+ // FilterDescriptor[] filterDescs= getCachedFilterDescriptors();
+ // Map<String, FilterDescriptor> fFilterDescriptorMap= new HashMap<String, FilterDescriptor>(filterDescs.length);
+ // Map<String, Boolean> fEnabledFilterIds= new HashMap<String, Boolean>(filterDescs.length);
+ // for (int i= 0; i < filterDescs.length; i++) {
+ // String id= filterDescs[i].getId();
+ // Boolean isEnabled= new Boolean(filterDescs[i].isEnabled());
+ // if (fEnabledFilterIds.containsKey(id))
+ // JavaPlugin.logErrorMessage("WARNING: Duplicate id for extension-point \"org.eclipse.jdt.ui.javaElementFilters\""); //$NON-NLS-1$
+ // fEnabledFilterIds.put(id, isEnabled);
+ // fFilterDescriptorMap.put(id, filterDescs[i]);
+ // }
+ // storeViewDefaults(fEnabledFilterIds, store);
+ // }
+
+ // private void storeViewDefaults(Map<String, Boolean> fEnabledFilterIds, IPreferenceStore store) {
+ // // see bug https://bugs.eclipse.org/bugs/show_bug.cgi?id=22533
+ // store.setValue(getPreferenceKey("TAG_DUMMY_TO_TEST_EXISTENCE"), "storedViewPreferences");//$NON-NLS-1$//$NON-NLS-2$
+ //
+ // store.setValue(getPreferenceKey(TAG_USER_DEFINED_PATTERNS_ENABLED), false);
+ // store.setValue(getPreferenceKey(TAG_USER_DEFINED_PATTERNS), CustomFiltersDialog.convertToString(new String[0],SEPARATOR));
+ //
+ // Iterator iter= fEnabledFilterIds.entrySet().iterator();
+ // while (iter.hasNext()) {
+ // Map.Entry entry= (Map.Entry)iter.next();
+ // String id= (String)entry.getKey();
+ // boolean isEnabled= ((Boolean)entry.getValue()).booleanValue();
+ // if(id.equals("org.eclipse.mylar.ui.java.InterestFilter")){
+ // store.setValue(id, false);
+ // } else {
+ // store.setValue(id, isEnabled);
+ // }
+ // }
+ //
+ // StringBuffer buf= new StringBuffer("");
+ // store.setValue(TAG_LRU_FILTERS, buf.toString());
+ // }
+
+ // private String getPreferenceKey(String tag) {
+ // return "CustomFiltersActionGroup." + fTargetId + '.' + tag; //$NON-NLS-1$
+ // }
+ //
+ // private FilterDescriptor[] getCachedFilterDescriptors() {
+ // FilterDescriptor[] fCachedFilterDescriptors= FilterDescriptor.getFilterDescriptors(fTargetId);
+ // return fCachedFilterDescriptors;
+ // }
+
+ // /**
+ // * TODO: remove
+ // */
+ // public static JavaUiUpdateBridge getModelUpdateBridge() {
+ // return modelUpdateBridge;
+ // }
}
diff --git a/org.eclipse.mylyn.java.ui/src/org/eclipse/mylyn/java/internal/junit/MylarJUnitLaunchConfiguration.java b/org.eclipse.mylyn.java.ui/src/org/eclipse/mylyn/java/internal/junit/MylarJUnitLaunchConfiguration.java
index 77c2df4..4b4ebb1 100644
--- a/org.eclipse.mylyn.java.ui/src/org/eclipse/mylyn/java/internal/junit/MylarJUnitLaunchConfiguration.java
+++ b/org.eclipse.mylyn.java.ui/src/org/eclipse/mylyn/java/internal/junit/MylarJUnitLaunchConfiguration.java
@@ -26,7 +26,7 @@
*/
public class MylarJUnitLaunchConfiguration extends JUnitLaunchConfiguration {
- protected IType[] getTestTypes(ILaunchConfiguration configuration, IProgressMonitor pm) throws CoreException {
+ protected IType[] getTestTypes(ILaunchConfiguration config, IProgressMonitor pm) throws CoreException {
Set<IType> contextTestCases = JUnitTestUtil.getTestCasesInContext();
if (contextTestCases.isEmpty()) {
abort(JUnitMessages.JUnitBaseLaunchConfiguration_error_notests, null, IJavaLaunchConfigurationConstants.ERR_UNSPECIFIED_MAIN_TYPE);
diff --git a/org.eclipse.mylyn.java.ui/src/org/eclipse/mylyn/java/internal/junit/MylarJUnitTabGroup.java b/org.eclipse.mylyn.java.ui/src/org/eclipse/mylyn/java/internal/junit/MylarJUnitTabGroup.java
index 0e4fa47..dfeedec 100644
--- a/org.eclipse.mylyn.java.ui/src/org/eclipse/mylyn/java/internal/junit/MylarJUnitTabGroup.java
+++ b/org.eclipse.mylyn.java.ui/src/org/eclipse/mylyn/java/internal/junit/MylarJUnitTabGroup.java
@@ -11,6 +11,7 @@
package org.eclipse.mylar.java.internal.junit;
+
import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy;
import org.eclipse.debug.ui.AbstractLaunchConfigurationTabGroup;
import org.eclipse.debug.ui.CommonTab;
@@ -34,7 +35,7 @@
*/
public void createTabs(ILaunchConfigurationDialog dialog, String mode) {
ILaunchConfigurationTab[] tabs= new ILaunchConfigurationTab[] {
-// new JUnitMainTab(),
+ new MylarJUnitMainTab(false),
new JavaArgumentsTab(),
new JavaClasspathTab(),
new JavaJRETab(),
@@ -45,9 +46,6 @@
setTabs(tabs);
}
- /**
- * @see ILaunchConfigurationTabGroup#setDefaults(ILaunchConfigurationWorkingCopy)
- */
public void setDefaults(ILaunchConfigurationWorkingCopy config) {
super.setDefaults(config);
}
diff --git a/org.eclipse.mylyn.java.ui/src/org/eclipse/mylyn/java/internal/junit/MylarPdeJUnitLaunchConfiguration.java b/org.eclipse.mylyn.java.ui/src/org/eclipse/mylyn/java/internal/junit/MylarPdeJUnitLaunchConfiguration.java
index f1826a3..5f3a898 100644
--- a/org.eclipse.mylyn.java.ui/src/org/eclipse/mylyn/java/internal/junit/MylarPdeJUnitLaunchConfiguration.java
+++ b/org.eclipse.mylyn.java.ui/src/org/eclipse/mylyn/java/internal/junit/MylarPdeJUnitLaunchConfiguration.java
@@ -13,6 +13,7 @@
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;
@@ -26,7 +27,6 @@
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.PDEUIMessages;
import org.eclipse.pde.internal.ui.launcher.JUnitLaunchConfiguration;
/**
@@ -45,22 +45,24 @@
protected String getTestPluginId(ILaunchConfiguration configuration) throws CoreException {
Set<IType> contextTestCases = JUnitTestUtil.getTestCasesInContext();
IJavaProject javaProject = null;
- if (!contextTestCases.isEmpty()) {
- javaProject = contextTestCases.iterator().next().getJavaProject(); // HACK: might want another project
- } else {
- abort(JUnitMessages.JUnitBaseLaunchConfiguration_error_notests, null, IJavaLaunchConfigurationConstants.ERR_UNSPECIFIED_MAIN_TYPE);
- }
-
+ 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 =
- PDECore.getDefault().getModelManager().findModel(javaProject.getProject());
- if (model == null)
+ 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,
- PDEUIMessages.JUnitLaunchConfiguration_error_notaplugin,
+ "Could not find JUnit Plug-in Test in Task Context",
null));
if (model instanceof IFragmentModel)
return ((IFragmentModel)model).getFragment().getPluginId();
diff --git a/org.eclipse.mylyn.java.ui/src/org/eclipse/mylyn/java/internal/junit/MylarPdeJUnitTabGroup.java b/org.eclipse.mylyn.java.ui/src/org/eclipse/mylyn/java/internal/junit/MylarPdeJUnitTabGroup.java
index 9eb7f16..1b09e81 100644
--- a/org.eclipse.mylyn.java.ui/src/org/eclipse/mylyn/java/internal/junit/MylarPdeJUnitTabGroup.java
+++ b/org.eclipse.mylyn.java.ui/src/org/eclipse/mylyn/java/internal/junit/MylarPdeJUnitTabGroup.java
@@ -35,6 +35,7 @@
if (PDECore.getDefault().getModelManager().isOSGiRuntime()) {
tabs = new ILaunchConfigurationTab[]{
// new JUnitMainTab(),
+ new MylarJUnitMainTab(true),
new JUnitArgumentsTab(),
new AdvancedLauncherTab(false),
new ConfigurationTab(true), new TracingLauncherTab(),
@@ -43,6 +44,7 @@
} else {
tabs = new ILaunchConfigurationTab[]{
// new JUnitMainTab(),
+ new MylarJUnitMainTab(true),
new JUnitArgumentsTab(),
new AdvancedLauncherTab(false),
new TracingLauncherTab(), new EnvironmentTab(),
diff --git a/org.eclipse.mylyn.java.ui/src/org/eclipse/mylyn/java/ui/JavaUiBridge.java b/org.eclipse.mylyn.java.ui/src/org/eclipse/mylyn/java/ui/JavaUiBridge.java
index 19d32c3..9f11b6c 100644
--- a/org.eclipse.mylyn.java.ui/src/org/eclipse/mylyn/java/ui/JavaUiBridge.java
+++ b/org.eclipse.mylyn.java.ui/src/org/eclipse/mylyn/java/ui/JavaUiBridge.java
@@ -112,32 +112,4 @@
return null;
}
-// public void refreshOutline(final Object element, final boolean updateLabels, final boolean setSelection) {
-// Workbench.getInstance().getDisplay().asyncExec(new Runnable() {
-// public void run() {
-// if (PlatformUI.getWorkbench() == null || PlatformUI.getWorkbench().getActiveWorkbenchWindow() == null) return;
-// IEditorPart editorPart = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().getActiveEditor();
-// final TreeViewer treeViewer = getOutlineTreeViewer(editorPart);
-// if (treeViewer != null) {
-// if (element == null) {
-// treeViewer.getControl().setRedraw(false);
-// treeViewer.refresh(true);
-// treeViewer.getControl().setRedraw(true);
-// } else if (element instanceof IJavaElement) {
-// IJavaElement toRefresh = (IJavaElement)element;
-// if (element instanceof IMember) {
-// toRefresh = toRefresh.getParent();
-// }
-// treeViewer.getControl().setRedraw(false);
-// treeViewer.refresh(toRefresh, updateLabels);
-// treeViewer.getControl().setRedraw(true);
-// }
-// if (setSelection) {
-// if(((StructuredSelection)treeViewer.getSelection()).getFirstElement() != element)
-// treeViewer.setSelection(new StructuredSelection(element));
-// }
-// }
-// }
-// });
-// }
}
\ No newline at end of file
diff --git a/org.eclipse.mylyn.java.ui/src/org/eclipse/mylyn/java/ui/editor/AbstractMylarHyperlinkDetector.java b/org.eclipse.mylyn.java.ui/src/org/eclipse/mylyn/java/ui/editor/AbstractMylarHyperlinkDetector.java
index 238c0b6..b2d4680 100644
--- a/org.eclipse.mylyn.java.ui/src/org/eclipse/mylyn/java/ui/editor/AbstractMylarHyperlinkDetector.java
+++ b/org.eclipse.mylyn.java.ui/src/org/eclipse/mylyn/java/ui/editor/AbstractMylarHyperlinkDetector.java
@@ -17,6 +17,9 @@
import org.eclipse.jface.text.hyperlink.IHyperlinkDetector;
import org.eclipse.ui.texteditor.ITextEditor;
+/**
+ * @author Mik Kersten
+ */
public abstract class AbstractMylarHyperlinkDetector implements IHyperlinkDetector {
private ITextEditor editor;
diff --git a/org.eclipse.mylyn.resources.ui/META-INF/MANIFEST.MF b/org.eclipse.mylyn.resources.ui/META-INF/MANIFEST.MF
index d70d4f8..b46a540 100644
--- a/org.eclipse.mylyn.resources.ui/META-INF/MANIFEST.MF
+++ b/org.eclipse.mylyn.resources.ui/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
Bundle-ManifestVersion: 2
Bundle-Name: Mylar XML Plugin
Bundle-SymbolicName: org.eclipse.mylar.xml; singleton:=true
-Bundle-Version: 0.4.1
+Bundle-Version: 0.4.2
Bundle-Activator: org.eclipse.mylar.xml.MylarXmlPlugin
Bundle-Localization: plugin
Require-Bundle: org.eclipse.ui,