| |
| <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> |
| |