BPEL Project Extension Points
Last modified on December 2, 2005This 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.
Existing Extension Points
Model
TBD
Editor
Palette Items and Categories
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 .
Host plug-in: org.eclipse.bpel.common.ui
Extension Point: palleteAdditions
Example:
<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>
Properties Pages
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.
Host plug-in: org.eclipse.wst.common.ui.properties
Extension Point: propertyContributor, propertyTabs, propertySections
Example:
<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>
Actions
Users are able to add new types of activities to the editor. It requires having a model that supports the new activities.
Host plug-in: org.eclipse.bpel.ui
Extension Point: actions
Example:
<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>
Expression Editors
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.
Host plug-in: org.eclipse.bpel.ui
Extension Point: expressionEditors
Example:
<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>
Preference Page (org.eclipse.bpel.ui.preferences)
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.
Host plug-in: org.eclipse.ui
Extension Point: preferencePages
Example:
<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>
Hover Helpers
Users can add customized hover helpers to edit parts. The class in the extension point needs to implement org.eclipse.bpel.ui.IHoverHelper.
Host plug-in: org.eclipse.bpel.ui
Extension Point: hoverHelpers
Example:
<extension point="org.eclipse.bpel.ui.hoverHelpers">
<hoverHelper
class="org.eclipse.bpel.ui.MyHoverHelper">
</hoverHelper>
</extension>
Model Listener
Users can listen to all model change notifications through this extension point. The class has to implement org.eclipse.bpel.ui.extensions.IModelListener.
Host plug-in: org.eclipse.bpel.ui
Extension Point: modelListener
Example:
<extension point="org.eclipse.bpel.ui.modelListener">
<listener
id="org.eclipse.bpel.extensions.ui.listener"
class="org.eclipse.bpel.ui.MyModelListener">
</listener>
</extension>
Existing Extension Points
Model
TBD
Editor
Palette Look & Feel
Tray Look & Feel
Dialogs
Diagram Look & Feel
Runtime
Extend faults thrown by the engine so they can be handled in the Fault Handler.
Graduation
