Skip to main content
Jump to: navigation, search


Get inspired by seeing how others are using Sapphire in real products and projects.

If you are an adopter, tell the world about your usage. Include screen captures, if you'd like. Link to commercial sites and products, as appropriate, but please keep this page free of overly commercial messages. Other ways to show your support for Sapphire is to favorite it on Ohloh or Eclipse Marketplace, write a review, blog, tweet or shout from the nearest mountain top.


Oracle uses Sapphire in Oracle Enterprise Pack for Eclipse (OEPE) to build editors for a variety of XML configuration files for products such as WebLogic Server, Coherence and ADF. Increasingly, Sapphire is also used to build wizards, dialogs, property pages and other forms.

Editor for weblogic.xml configuration file. The editor has a form page and a source page linked together by a Sapphire model.
Editor for ADF taskflows. The editor has a diagram page, a form page, and a source page linked together by a Sapphire model. When a node is selected in the diagram, further detail can be seen in the properties view. The content of the properties view is also rendered by Sapphire.
Launch configuration for Coherence. In this case, a tabbed panel rendered by Sapphire is embedded inside an existing dialog.
Wizard for creating database tables built entirely with Sapphire. It has multiple pages to walk the user through the process of defining columns, keys, indexes, etc.

Java EE Configuration Editors Project

Java EE Configuration Editors Project is an effort to provide editors for common Java EE configuration files (such as web.xml and application.xml) as part of Eclipse Web Tools Platform. The initial focus is on the web.xml editor.

An interesting aspect of these editors is the need to handle multiple versions of the Java EE specification and the need to merge content from the XML file and Java annotations.

Editor for web.xml configuration file. This screen capture was taken while holding down CTRL key and hovering over a class name. Clicking on the link opens the class in question. This is one example where Sapphire goes beyond the user experience achievable with stock SWT controls.

Knowing - Datamining platform

Knowing a data mining platform based on akka uses Sapphire to provide an eclipse plugin and IDE to create DataProcessingUnits (DPU). DPUs are a simply nodes, which represent task that are connected via edges. The DPU model is build with sapphire and the entire editor is build with sapphire.

DPU Wizard.png
Wizard for creating a DPU
DPU Overview.png
The multipage editor on the overview tab. It shows all the nodes and edges in a list. All parameters can be edited here. The properties view is empty here.
DPU Diagram.png
The DPU diagram page in the multipage editor. You can easily create and connect your nodes. All properties can be set inside the properties view.

Liferay IDE

[1] Liferay IDE is the official set of Eclipse plug-ins supporting development for the Liferay Portal application platform. Developers that work with Liferay Portal to deploy new functionality have to routinely deal with several configuration and definition files that are XML based. Liferay IDE uses Sapphire to provide advanced editors with a rich UI to work with these various XML files instead of just using the default Eclipse XML source editor.

Sapphire adopters liferay ide portlet config editor.png
A sapphire-based configuration editor for portlet.xml deployment descriptor files used by Liferay. The use of Sapphire's content outline concept is very useful to display the underlying XML data.
Sapphire adopters liferay ide hook configuration editor.png
One of the ways Liferay developers extend Liferay Portal functionality is through a "Hook". These hooks require special configuration through a liferay-hook.xml file. So in Liferay IDE there is a sapphire-based Hook configuration editor. The JDT based type-validation engine in Sapphire is used to great effect here.
Sapphire adopters liferay ide kaleo workflow definition editor.png
Liferay has a built in workflow engine for business processes called Kaleo. So Sapphire was used to build a graphical editor for the workflow definition files. The neat feature here is the integration with the Node factories to allow productivity wizards to be shown to the user when they drop a new node from the palette onto the diagram view, inserting a custom operation in the default Sapphire node drop process. Sapphire is extremely flexible in this regard.
Sapphire adopters liferay ide kaleo workflow wizard.png
When editing Kaleo workflow definition files, the user will drop many different complex node types onto the diagram. Instead of forcing the user to then manually wire up and configure that node, a popup wizard is shown right after drop. This prompts the user for more information about the new node and once they select Finish, then the node will be placed in the diagram and modified accordingly. This user flow can be modified to disable the popup wizards and just use normal default palette node drop operation if the user prefers.

Back to the top