Download
Getting Started
Members
Projects
Community
Marketplace
Events
Planet Eclipse
Newsletter
Videos
Participate
Report a Bug
Forums
Mailing Lists
Wiki
IRC
How to Contribute
Working Groups
Automotive
Internet of Things
LocationTech
Long-Term Support
PolarSys
Science
OpenMDM
More
Community
Marketplace
Events
Planet Eclipse
Newsletter
Videos
Participate
Report a Bug
Forums
Mailing Lists
Wiki
IRC
How to Contribute
Working Groups
Automotive
Internet of Things
LocationTech
Long-Term Support
PolarSys
Science
OpenMDM
Toggle navigation
Bugzilla – Attachment 87597 Details for
Bug 214195
task repository linking for Eclipse.org projects via Bundle-Vendor or provider specification
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
Log In
[x]
|
Terms of Use
|
Copyright Agent
Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read
this important communication.
[patch]
updated patch wit hthe test case
clipboard.txt (text/plain), 10.53 KB, created by
Eugene Kuleshov
on 2008-01-22 23:08:25 EST
(
hide
)
Description:
updated patch wit hthe test case
Filename:
MIME Type:
Creator:
Eugene Kuleshov
Created:
2008-01-22 23:08:25 EST
Size:
10.53 KB
patch
obsolete
>### Eclipse Workspace Patch 1.0 >#P org.eclipse.mylyn.pde.ui >Index: plugin.xml >=================================================================== >RCS file: /cvsroot/tools/org.eclipse.mylyn/org.eclipse.mylyn.pde.ui/plugin.xml,v >retrieving revision 1.5 >diff -u -r1.5 plugin.xml >--- plugin.xml 27 Aug 2007 06:55:41 -0000 1.5 >+++ plugin.xml 23 Jan 2008 04:05:37 -0000 >@@ -57,6 +57,14 @@ > mode="run"> > </launchMode> > </launchConfigurationTabGroup> >- </extension> >+ </extension> > >-</plugin> >\ No newline at end of file >+ <extension point="org.eclipse.mylyn.tasks.ui.projectLinkProviders"> >+ <linkProvider >+ id="org.eclipse.mylyn.pde.ui.eclipsePluginRepositoryLinkProvider" >+ class="org.eclipse.mylyn.internal.pde.ui.EclipseTaskRepositoryLinkProvider" >+ name="Eclipse.org Plugin Link" >+ order="1010"/> >+ </extension> >+ >+</plugin> >Index: META-INF/MANIFEST.MF >=================================================================== >RCS file: /cvsroot/tools/org.eclipse.mylyn/org.eclipse.mylyn.pde.ui/META-INF/MANIFEST.MF,v >retrieving revision 1.56 >diff -u -r1.56 MANIFEST.MF >--- META-INF/MANIFEST.MF 4 Jan 2008 00:49:10 -0000 1.56 >+++ META-INF/MANIFEST.MF 23 Jan 2008 04:05:37 -0000 >@@ -22,6 +22,7 @@ > org.eclipse.jdt.launching, > org.eclipse.jdt.junit, > org.eclipse.mylyn.tasks.core, >+ org.eclipse.mylyn.tasks.ui, > org.eclipse.mylyn.context.ui, > org.eclipse.mylyn.ide.ui, > org.eclipse.mylyn.java.ui, >Index: src/org/eclipse/mylyn/internal/pde/ui/EclipseTaskRepositoryLinkProvider.java >=================================================================== >RCS file: src/org/eclipse/mylyn/internal/pde/ui/EclipseTaskRepositoryLinkProvider.java >diff -N src/org/eclipse/mylyn/internal/pde/ui/EclipseTaskRepositoryLinkProvider.java >--- /dev/null 1 Jan 1970 00:00:00 -0000 >+++ src/org/eclipse/mylyn/internal/pde/ui/EclipseTaskRepositoryLinkProvider.java 1 Jan 1970 00:00:00 -0000 >@@ -0,0 +1,64 @@ >+/******************************************************************************* >+ * Copyright (c) 2004, 2007 Mylyn project 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.mylyn.internal.pde.ui; >+ >+import org.eclipse.core.resources.IProject; >+import org.eclipse.core.resources.IResource; >+import org.eclipse.mylyn.tasks.core.TaskRepository; >+import org.eclipse.mylyn.tasks.core.TaskRepositoryManager; >+import org.eclipse.mylyn.tasks.ui.AbstractTaskRepositoryLinkProvider; >+import org.eclipse.pde.core.IModel; >+import org.eclipse.pde.core.plugin.IPluginModelBase; >+import org.eclipse.pde.core.plugin.PluginRegistry; >+import org.eclipse.pde.internal.core.PDECore; >+import org.eclipse.pde.internal.core.ifeature.IFeatureModel; >+import org.eclipse.pde.internal.core.natures.PDE; >+ >+/** >+ * Task repository link provider for Eclipse.org PDE projects >+ * >+ * @author Eugene Kuleshov >+ * >+ * TODO could use extension point to declare mapping for 3rd party plugin providers >+ */ >+public class EclipseTaskRepositoryLinkProvider extends AbstractTaskRepositoryLinkProvider { >+ >+ public TaskRepository getTaskRepository(IResource resource, TaskRepositoryManager repositoryManager) { >+ IProject project = resource.getProject(); >+ if (PDE.hasPluginNature(project)) { >+ IPluginModelBase pluginModel = PluginRegistry.findModel(project); >+ if (pluginModel != null) { >+ String providerName = pluginModel.getPluginBase().getProviderName(); >+ return getTaskRepository(providerName, pluginModel, repositoryManager); >+ } >+ } else if (PDE.hasFeatureNature(project)) { >+ IFeatureModel featureModel = PDECore.getDefault().getFeatureModelManager().getFeatureModel(project); >+ if (featureModel != null) { >+ String providerName = featureModel.getFeature().getProviderName(); >+ return getTaskRepository(providerName, featureModel, repositoryManager); >+ } >+ } else if (PDE.hasUpdateSiteNature(project)) { >+ // TODO could use referenced features to lookup task repository >+ } >+ >+ // ignore >+ return null; >+ } >+ >+ private TaskRepository getTaskRepository(String providerName, IModel model, TaskRepositoryManager repositoryManager) { >+ if (providerName.startsWith("%")) { >+ providerName = model.getResourceString(providerName); >+ } >+ if ("Eclipse.org".equals(providerName)) { >+ return repositoryManager.getRepository("https://bugs.eclipse.org/bugs"); >+ } >+ return null; >+ } >+ >+} >#P org.eclipse.mylyn.java.tests >Index: META-INF/MANIFEST.MF >=================================================================== >RCS file: /cvsroot/tools/org.eclipse.mylyn/org.eclipse.mylyn.java.tests/META-INF/MANIFEST.MF,v >retrieving revision 1.27 >diff -u -r1.27 MANIFEST.MF >--- META-INF/MANIFEST.MF 10 Jul 2007 00:29:59 -0000 1.27 >+++ META-INF/MANIFEST.MF 23 Jan 2008 04:05:38 -0000 >@@ -35,7 +35,8 @@ > org.eclipse.mylyn.resources.tests, > org.eclipse.mylyn.monitor.core, > org.eclipse.mylyn.pde.ui, >- org.eclipse.mylyn.context.tests >+ org.eclipse.mylyn.context.tests, >+ org.eclipse.pde.core > Eclipse-AutoStart: true > Bundle-ClassPath: mylyn-java-tests.jar > Export-Package: org.eclipse.mylyn.java.tests, >Index: src/org/eclipse/mylyn/internal/pde/ui/EclipseTaskRepositoryLinkProviderTest.java >=================================================================== >RCS file: src/org/eclipse/mylyn/internal/pde/ui/EclipseTaskRepositoryLinkProviderTest.java >diff -N src/org/eclipse/mylyn/internal/pde/ui/EclipseTaskRepositoryLinkProviderTest.java >--- /dev/null 1 Jan 1970 00:00:00 -0000 >+++ src/org/eclipse/mylyn/internal/pde/ui/EclipseTaskRepositoryLinkProviderTest.java 1 Jan 1970 00:00:00 -0000 >@@ -0,0 +1,120 @@ >+/******************************************************************************* >+ * Copyright (c) 2004, 2007 Mylyn project 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.mylyn.internal.pde.ui; >+ >+import junit.framework.TestCase; >+ >+import org.eclipse.core.resources.IProject; >+import org.eclipse.mylyn.tasks.core.TaskRepository; >+import org.eclipse.mylyn.tasks.ui.TasksUiPlugin; >+ >+/** >+ * @author Eugene Kuleshov >+ */ >+public class EclipseTaskRepositoryLinkProviderTest extends TestCase { >+ >+ public void testEclipsePluginProject() throws Exception { >+ TaskRepository repo1 = TasksUiPlugin.getRepositoryManager().getRepository("https://bugs.eclipse.org/bugs"); >+ assertNotNull("Eclipse.org repository is not found", repo1); >+ >+ String mf = "Manifest-Version: 1.0\n" + // >+ "Bundle-ManifestVersion: 2\n" + // >+ "Bundle-Name: Mylyn PDE Tests 1\n" + // >+ "Bundle-SymbolicName: org.eclipse.mylyn.pde.tests1\n" + // >+ "Bundle-Version: 1.0.0\n" + // >+ "Bundle-Vendor: Eclipse.org\n" + // >+ "Bundle-RequiredExecutionEnvironment: J2SE-1.3\n"; >+ >+ PdeProject pdeProject = new PdeProject("eclipsePluginProject"); >+ pdeProject.createPlugin(mf); >+ >+ IProject project = pdeProject.getProject(); >+ >+ TasksUiPlugin tasksUiPlugin = TasksUiPlugin.getDefault(); >+ >+ TaskRepository repo2 = tasksUiPlugin.getRepositoryForResource(project, true); >+ assertEquals(repo1, repo2); >+ >+ assertFalse(tasksUiPlugin.canSetRepositoryForResource(project)); >+ >+ pdeProject.delete(); >+ } >+ >+ public void testAcmePluginProject() throws Exception { >+ TaskRepository repo1 = TasksUiPlugin.getRepositoryManager().getRepository("https://bugs.eclipse.org/bugs"); >+ assertNotNull("Eclipse.org repository is not found", repo1); >+ >+ String mf = "Manifest-Version: 1.0\n" + // >+ "Bundle-ManifestVersion: 2\n" + // >+ "Bundle-Name: Mylyn PDE Tests 2\n" + // >+ "Bundle-SymbolicName: org.eclpse.mylyn.pde.tests2\n" + // >+ "Bundle-Version: 1.0.0\n" + // >+ "Bundle-Vendor: Acme.org\n" + // >+ "Bundle-RequiredExecutionEnvironment: J2SE-1.3\n"; >+ >+ PdeProject pdeProject = new PdeProject("acmePluginProject"); >+ pdeProject.createPlugin(mf); >+ >+ TaskRepository repo2 = TasksUiPlugin.getDefault().getRepositoryForResource(pdeProject.getProject(), true); >+ >+ pdeProject.delete(); >+ >+ assertNull("Not expected to find repository " + repo2, repo2); >+ } >+ >+ public void testEclipseFeatureProject() throws Exception { >+ TaskRepository repo1 = TasksUiPlugin.getRepositoryManager().getRepository("https://bugs.eclipse.org/bugs"); >+ assertNotNull("Eclipse.org repository is not found", repo1); >+ >+ String feature = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n" + // >+ "<feature\n" + // >+ " id=\"org.eclipse.mylyn.pde.tests2_feature\"\n" + // >+ " label=\"Mylyn PDE Test Feature 2\"\n" + // >+ " version=\"2.3.0.qualifier\"\n" + // >+ " provider-name=\"Eclipse.org\">" + // >+ "</feature>"; >+ >+ PdeProject pdeProject = new PdeProject("eclipseFeatureProject"); >+ pdeProject.createFeature(feature); >+ >+ IProject project = pdeProject.getProject(); >+ >+ TasksUiPlugin tasksUiPlugin = TasksUiPlugin.getDefault(); >+ >+ TaskRepository repo2 = tasksUiPlugin.getRepositoryForResource(project, true); >+ assertEquals(repo1, repo2); >+ >+ assertFalse(tasksUiPlugin.canSetRepositoryForResource(project)); >+ >+ pdeProject.delete(); >+ } >+ >+ public void testAcmeFeatureProject() throws Exception { >+ TaskRepository repo1 = TasksUiPlugin.getRepositoryManager().getRepository("https://bugs.eclipse.org/bugs"); >+ assertNotNull("Eclipse.org repository is not found", repo1); >+ >+ String feature = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n" + // >+ "<feature\n" + // >+ " id=\"org.eclipse.mylyn.pde.tests2_feature\"\n" + // >+ " label=\"Mylyn PDE Test Feature 2\"\n" + // >+ " version=\"2.3.0.qualifier\"\n" + // >+ " provider-name=\"Acme.org\">" + // >+ "</feature>"; >+ >+ PdeProject pdeProject = new PdeProject("acmeFeatureProject"); >+ pdeProject.createFeature(feature); >+ >+ TaskRepository repo2 = TasksUiPlugin.getDefault().getRepositoryForResource(pdeProject.getProject(), true); >+ >+ pdeProject.delete(); >+ >+ assertNull("Not expected to find repository " + repo2, repo2); >+ } >+ >+}
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 214195
:
86061
|
86062
| 87597 |
87598
|
116385
|
116386