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 52975 Details for
Bug 128262
Make public APIs for accessing PDE model
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.
Resolution plan
bugzilla_128262_plan.htm (text/html), 4.17 KB, created by
Julien Canches
on 2006-10-31 05:19:11 EST
(
hide
)
Description:
Resolution plan
Filename:
MIME Type:
Creator:
Julien Canches
Created:
2006-10-31 05:19:11 EST
Size:
4.17 KB
patch
obsolete
><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> ><html> ><head> ><title>bugzilla_128262 Resolution Plan</title> ><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> ><style type="text/css"> ><!-- >li { > list-style-type: lower-alpha; >} >--> ></style> ></head> > ><body> ><h1>bugzilla_128262 Resolution Plan</h1> ><p>The following documents contains an up-to-date list (as of 4.3i2) of PDE internal > APIs that are still in use by TPTP, and the associated plan to remove these > dependencies.</p> ><p> The resolution falls under three categories:</p> ><ol> > <li>PDE intends to provide public APIs for the requested feature. In this case, > instances of calls to such internal APIs will be maintained in TPTP until > the PDE APIs are published.</li> > <li> PDE does not intend to provide public APIs, and there is a simple work-around, > that does not involve more than 10 lines changes. For such instances, TPTP > code will be migrated by the end of 4.3i3.</li> > <li> PDE does not intend to provide public APIS, and there is a more elaborate > work-around that involves more than 10 lines changes. For such instances, > TPTP code will be migrated by the end of 4.4. </li> ></ol> ><h4><br> > 1) PDE Model access: PDE has accepted to publish APIs that give equivalent information > to these internal APIS:</h4> ><p>- PDECore.getDefault().getModelManager().getWorkspaceModels()<br> > - PDECore.getDefault().getModelManager().getExternalModels()<br> > - PDECore.getDefault().getModelManager().findModel(IProject)<br> > - PDECore.getDefault().getModelManager().getPlugins()</p> ><p>Solution: TPTP code will be migrated to use public APIs.<br> > When: <strong>TBD</strong> (when PDE makes these APIs available). An intermediate > check-point will be performed when API details are available.</p> ><h4>2) ability to test whether a IPluginModelBase instance is a bundle-based or > plugin-based plugin model (this is currently done by checking model instanceof > BundlePluginModelBase or model instanceof WorkspacePluginModelBase)</h4> ><p>Solution: PDE has no intent to provide us with such an API. We will apply the > suggested work-around, which consists in testing whether is a META-INF/MANIFEST.MF > file exists in a plugin's project.<br> > When: <strong>4.3i3</strong></p> ><h4>3) WorkspacePluginModelBase.save(PrintWriter)</h4> ><p>Solution: PDE will not provide us with an API and has suggested the following > work-around: a DOM will be constructed from the plugin.xml, modified in memory, > and saved to a new XML file.<br> > When: <strong>4.4</strong>.</p> ><h4>4) ExternalModelManager.getEclipseHome()</h4> ><p>Solution: We will use JavaCore.getClasspathVariable("ECLIPSE_HOME") > instead.<br> > When: <strong>4.3i3</strong>.</p> ><h4>5) TargetPlatform.getOS()<br> > 6) TargetPlatform.getOSArch()<br> > 7) TargetPlatform.getWS()<br> > 8) TargetPlatform.getNL()<br> > 9) TargetPlatform.getApplicationNames()<br> > 10) TargetPlatform.getDefaultProduct()</h4> ><p>Solution: PDE intends to publish these APIs.<br> > When: <strong>TBD</strong> (As soon as the public APIs are available)</p> ><h4>11) TargetPlatform.createPlatformConfigurationArea(Map, File, String)<br> > 12) TargetPlatform.getConfigIniProperties(String)</h4> ><p>PDE suggested that we copy these methods, as they are very self-contained. > We will do so.<br> > When: <strong>4.4</strong></p> ><h4>13) PDEPlugin.getDefault().getLabelProvider()</h4> ><p>Solution: we will implement our own label provider for representing plugins. > This includes copying a few icons from PDE.<br> > When: <strong>4.4</strong></p> ><h4>14) ListUtil.PLUGIN_SORTER</h4> ><p>Solution: we will implement our own sorter for sorting IPluginModel objects.<br> > When: <strong>4.4</strong></p> ><h4>15) org.eclipse.ui.internal.ide.misc.ResourceAndContainerGroup;</h4> ><p>Solution: This class is referenced by the RunWizard, which is an internal class, > and is no longer used in TPTP (no reference from code, nor from plugin.xml). > The RunWizard, and its associated pages, RunDestinationPage, and RunLocationPage > will be removed.<br> > When: <strong>4.3i3</strong>.<br> ></p> ></body> ></html>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>bugzilla_128262 Resolution Plan</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <style type="text/css"> <!-- li { list-style-type: lower-alpha; } --> </style> </head> <body> <h1>bugzilla_128262 Resolution Plan</h1> <p>The following documents contains an up-to-date list (as of 4.3i2) of PDE internal APIs that are still in use by TPTP, and the associated plan to remove these dependencies.</p> <p> The resolution falls under three categories:</p> <ol> <li>PDE intends to provide public APIs for the requested feature. In this case, instances of calls to such internal APIs will be maintained in TPTP until the PDE APIs are published.</li> <li> PDE does not intend to provide public APIs, and there is a simple work-around, that does not involve more than 10 lines changes. For such instances, TPTP code will be migrated by the end of 4.3i3.</li> <li> PDE does not intend to provide public APIS, and there is a more elaborate work-around that involves more than 10 lines changes. For such instances, TPTP code will be migrated by the end of 4.4. </li> </ol> <h4><br> 1) PDE Model access: PDE has accepted to publish APIs that give equivalent information to these internal APIS:</h4> <p>- PDECore.getDefault().getModelManager().getWorkspaceModels()<br> - PDECore.getDefault().getModelManager().getExternalModels()<br> - PDECore.getDefault().getModelManager().findModel(IProject)<br> - PDECore.getDefault().getModelManager().getPlugins()</p> <p>Solution: TPTP code will be migrated to use public APIs.<br> When: <strong>TBD</strong> (when PDE makes these APIs available). An intermediate check-point will be performed when API details are available.</p> <h4>2) ability to test whether a IPluginModelBase instance is a bundle-based or plugin-based plugin model (this is currently done by checking model instanceof BundlePluginModelBase or model instanceof WorkspacePluginModelBase)</h4> <p>Solution: PDE has no intent to provide us with such an API. We will apply the suggested work-around, which consists in testing whether is a META-INF/MANIFEST.MF file exists in a plugin's project.<br> When: <strong>4.3i3</strong></p> <h4>3) WorkspacePluginModelBase.save(PrintWriter)</h4> <p>Solution: PDE will not provide us with an API and has suggested the following work-around: a DOM will be constructed from the plugin.xml, modified in memory, and saved to a new XML file.<br> When: <strong>4.4</strong>.</p> <h4>4) ExternalModelManager.getEclipseHome()</h4> <p>Solution: We will use JavaCore.getClasspathVariable("ECLIPSE_HOME") instead.<br> When: <strong>4.3i3</strong>.</p> <h4>5) TargetPlatform.getOS()<br> 6) TargetPlatform.getOSArch()<br> 7) TargetPlatform.getWS()<br> 8) TargetPlatform.getNL()<br> 9) TargetPlatform.getApplicationNames()<br> 10) TargetPlatform.getDefaultProduct()</h4> <p>Solution: PDE intends to publish these APIs.<br> When: <strong>TBD</strong> (As soon as the public APIs are available)</p> <h4>11) TargetPlatform.createPlatformConfigurationArea(Map, File, String)<br> 12) TargetPlatform.getConfigIniProperties(String)</h4> <p>PDE suggested that we copy these methods, as they are very self-contained. We will do so.<br> When: <strong>4.4</strong></p> <h4>13) PDEPlugin.getDefault().getLabelProvider()</h4> <p>Solution: we will implement our own label provider for representing plugins. This includes copying a few icons from PDE.<br> When: <strong>4.4</strong></p> <h4>14) ListUtil.PLUGIN_SORTER</h4> <p>Solution: we will implement our own sorter for sorting IPluginModel objects.<br> When: <strong>4.4</strong></p> <h4>15) org.eclipse.ui.internal.ide.misc.ResourceAndContainerGroup;</h4> <p>Solution: This class is referenced by the RunWizard, which is an internal class, and is no longer used in TPTP (no reference from code, nor from plugin.xml). The RunWizard, and its associated pages, RunDestinationPage, and RunLocationPage will be removed.<br> When: <strong>4.3i3</strong>.<br> </p> </body> </html>
View Attachment As Raw
Actions:
View
Attachments on
bug 128262
:
52975