| <h1>BPEL Project Extension Points</h1> | |
| Last modified on December 2, 2005 | |
| <p> | |
| This document describes the extension points in the BPEL | |
| project. It contains both the existing extension points and the ones required | |
| in the future. It also groups the extension points in editor, model and runtime | |
| related. In the future it might include others groups like validator, etc. | |
| </p> | |
| <h2>Existing Extension Points</h2> | |
| <h3>Model</h3> | |
| <p>TBD</p> | |
| <h3>Editor</h3> | |
| <h4>Palette Items and Categories</h4> | |
| <p> | |
| Users are able to add new items and new categories to the editor palette. If the specified category does not exist | |
| a new one is created otherwise the existing one is reused. Item classes extend | |
| org.eclipse.bpel.ui.util.BPELCreationToolEntry . | |
| </p> | |
| <p><i>Host plug-in:</i> org.eclipse.bpel.common.ui</p> | |
| <p><i>Extension Point:</i> palleteAdditions</p> | |
| <p><i>Example:</i></p> | |
| <pre> | |
| <extension point="org.eclipse.bpel.common.ui.paletteAdditions"> | |
| <additions targetEditor="org.eclipse.bpel.ui.bpeleditor"> | |
| <addition category="basicActions" | |
| class=" org.eclipse.bpel.ui.MyPaletteItem"/> | |
| </additions> | |
| </extension> | |
| </pre> | |
| <h4>Properties Pages</h4> | |
| <p> | |
| Users are able to add new tabs and sections to the properties view. This extension point is used by the BPEL | |
| editor but is declared in another plug-in. The host plug-in might change in the near future if this framework | |
| is contributed to the Eclipse Platform. | |
| </p> | |
| <p><i>Host plug-in:</i> org.eclipse.wst.common.ui.properties</p> | |
| <p><i>Extension Point:</i> propertyContributor, propertyTabs, propertySections</p> | |
| <p><i>Example:</i></p> | |
| <pre> | |
| <extension point="org.eclipse.wst.common.ui.properties.propertyContributor"> | |
| <propertyContributor | |
| contributorId="org.eclipse.bpel.ui.bpeleditor" | |
| typeMapper="org.eclipse.bpel.ui.properties.TypeMapper" | |
| labelProvider="org.eclipse.bpel.ui.properties.PropertiesLabelProvider"> | |
| <propertyCategory category="description"/> | |
| </propertyContributor> | |
| </extension> | |
| <extension point="org.eclipse.wst.common.ui.properties.propertyTabs"> | |
| <propertyTabs contributorId="org.eclipse.bpel.ui.bpeleditor"> | |
| <propertyTab | |
| label="Description" | |
| category="description" | |
| id="org.eclipse.bpel.ui.tabs.description"/> | |
| </propertyTabs> | |
| </extension> | |
| <extension point="org.eclipse.wst.common.ui.properties.propertySections"> | |
| <propertySections contributorId="org.eclipse.bpel.ui.bpeleditor"> | |
| <propertySection | |
| tab="org.eclipse.bpel.ui.tabs.description" | |
| class="org.eclipse.bpel.ui.properties.NameSection" | |
| id="org.eclipse.bpel.ui.sections.Name"> | |
| <input type="org.eclipse.bpel.model.Activity"/> | |
| <input type="org.eclipse.wst.wsdl.ExtensibilityElement"/> | |
| <input type="org.eclipse.bpel.model.Variable"/> | |
| <input type="org.eclipse.bpel.model.CorrelationSet"/> | |
| <input type="org.eclipse.bpel.model.PartnerLink"/> | |
| <input type="org.eclipse.bpel.model.Process"/> | |
| <input type="org.eclipse.bpel.model.Link"/> | |
| </propertySection> | |
| </extension> | |
| </pre> | |
| <h4>Actions</h4> | |
| <p> | |
| Users are able to add new types of activities to the editor. It requires having a model that supports the new activities. | |
| </p> | |
| <p><i>Host plug-in:</i> org.eclipse.bpel.ui</p> | |
| <p><i>Extension Point:</i> actions</p> | |
| <p><i>Example:</i></p> | |
| <pre> | |
| <extension point="org.eclipse.bpel.ui.actions"> | |
| <category | |
| name="Empty" | |
| id="org.eclipse.bpel.ui.actions.category.basic"/> | |
| <action | |
| class="org.eclipse.bpel.ui.bpelactions.SimpleAction" | |
| categoryId="org.eclipse.bpel.ui.actions.category.basic" | |
| id="org.eclipse.bpel.ui.action.empty"/> | |
| </extension> | |
| </pre> | |
| <h4>Expression Editors</h4> | |
| <p> | |
| BPEL defines in its specification that any expression language can be used in its expressions. This extension | |
| point makes it possible to link an expression language to a particular editor. So when the user needs to edit | |
| a particular expression, the proper expression language editor is presented. | |
| </p> | |
| <p><i>Host plug-in:</i> org.eclipse.bpel.ui</p> | |
| <p><i>Extension Point:</i> expressionEditors</p> | |
| <p><i>Example:</i></p> | |
| <pre> | |
| <extension point="org.eclipse.bpel.ui.expressionEditors"> | |
| <editor | |
| label="XPath 1.0" | |
| class="org.eclipse.bpel.ui.expressions.XPathExpressionEditor" | |
| expressionLanguage="http://www.w3.org/TR/1999/REC-xpath-19991116"> | |
| </editor> | |
| </extension> | |
| </pre> | |
| <h4>Preference Page (org.eclipse.bpel.ui.preferences)</h4> | |
| <p> | |
| Users are able to add new preference pages. This extension point is used by the BPEL editor but is declared | |
| in another plug-in. The BPEL UI plug-in currently contributes one preference page. | |
| </p> | |
| <p><i>Host plug-in:</i> org.eclipse.ui</p> | |
| <p><i>Extension Point:</i> preferencePages</p> | |
| <p><i>Example:</i></p> | |
| <pre> | |
| <extension point="org.eclipse.ui.preferencePages"> | |
| <page | |
| name="BPEL Designer" | |
| class="org.eclipse.bpel.ui.preferences.BPELPreferencePage" | |
| id="org.eclipse.bpel.ui.preferences"> | |
| </page> | |
| </extension> | |
| </pre> | |
| <h4>Hover Helpers</h4> | |
| <p> | |
| Users can add customized hover helpers to edit parts. The class in the extension point needs to implement | |
| org.eclipse.bpel.ui.IHoverHelper. | |
| </p> | |
| <p><i>Host plug-in:</i> org.eclipse.bpel.ui</p> | |
| <p><i>Extension Point:</i> hoverHelpers</p> | |
| <p><i>Example:</i></p> | |
| <pre> | |
| <extension point="org.eclipse.bpel.ui.hoverHelpers"> | |
| <hoverHelper | |
| class="org.eclipse.bpel.ui.MyHoverHelper"> | |
| </hoverHelper> | |
| </extension> | |
| </pre> | |
| <h4>Model Listener</h4> | |
| <p> | |
| Users can listen to all model change notifications through this extension point. The class has to implement | |
| org.eclipse.bpel.ui.extensions.IModelListener. | |
| </p> | |
| <p><i>Host plug-in:</i> org.eclipse.bpel.ui</p> | |
| <p><i>Extension Point:</i> modelListener</p> | |
| <p><i>Example:</i></p> | |
| <pre> | |
| <extension point="org.eclipse.bpel.ui.modelListener"> | |
| <listener | |
| id="org.eclipse.bpel.extensions.ui.listener" | |
| class="org.eclipse.bpel.ui.MyModelListener"> | |
| </listener> | |
| </extension> | |
| </pre> | |
| <h2>Existing Extension Points</h2> | |
| <h3>Model</h3> | |
| <p>TBD</p> | |
| <h3>Editor</h3> | |
| <p> | |
| Palette Look & Feel<br> | |
| Tray Look & Feel<br> | |
| Dialogs<br> | |
| Diagram Look & Feel<br> | |
| </p> | |
| <h3>Runtime</h3> | |
| <p> | |
| Extend faults thrown by the engine so they can be handled in the Fault Handler. | |
| </p> | |