Eclipse DemoCamp London
The schedule presented NatTable, a high-performance SWT table with extended features, a retrospective of JQuantLib's experiences of moving to OSGi and a demo of Xtext, a simple yet powerful text-based DSL modelling tool. Unfortunately, due to time and operational constraints, the planned talks on Scala IDE and Java FX for Eclipse weren't available.
Dan Pollitt of JP Morgan presented the NatTable open-source project, which aims to provide a fully-functioned table for SWT. In addition to the normal operations that would be expected of any table widget, NatTable can scale to have over a million rows and 500 columns. Updates to the table can be highlighted with custom colours based on value, and the table (including formatting) can be exported as Excel spreadsheets or PDF for printing.
As well as displaying data values, the table's columns can be grouped and reordered with drag-and-drop, or customised by the end user without any code required. The data itself can have multiple sort criteria or filtered items. Internally it uses Glazed Lists to back an SWT virtual table.
Richard Gomes, lead developer of JQuantLib, discussed the challenges and benefits of moving towards OSGi for the Java port of the C++ QuantLib library. The goal is to provide a pure Java library capable of performing financial calculations and interpolation/holiday-based calendars (including Joda support). The build can produce either a monolithic Jar or OSGi bundles, using either Ant or Maven, and is being proposed to be part of the Eclipse Financial Platform.
As part of the OSGi migration, some of the existing code was being refactored to use OSGi services (where appropriate) including the ability to supply different kinds of dates/calendars (e.g. Joda). Being able to decouple components whilst using Declarative Services to join the components proved a simple way to set up the connections.
Lastly, Heiko Behrens of Itemis discussed Xtext, a framework for development of textual domain specific languages (DSLs). From a grammar, it's possible to generate a parser, an Eclipse editor (with code-complete) based on the language. The example demonstrated parsed a chess-based move language (algebraic chess notation) which could parse and then display in an EMF model (or translate into different models, like a graphical representation of a chess board). Although the Xtext project is relatively new, the technologies have been used in the open architecture ware project prior to being refactored into the Eclipse Xtext project.
Xtext will bring modelling to a wider group of people (specifically, those that have not been sold on model driven development in the past) and the ease of generating a parser and viewers/editors which can be embedded in an Eclipse runtime will make visualizing such models easier. It's also possible to run both the build and invoke the parsers from a headless runtime, although the GUI editors are specific to the Eclipse framework.
The London DemoCamp was a great success and brought a number of new technologies and libraries that can be used with Eclipse Galileo.
Material of Xtext Talk
Olav Maassen, Liz Keogh & Chris Matts Mar 08, 2014