Skip to end of metadata
Go to start of metadata

The Eclipse Layout Kernel (ELK) is the official Eclipse project our layout technology will move to. As part of the move, expect changes in these areas:

  • Plugin names
  • Extension point names
  • Package names
  • Plugin structure
  • KGraph meta model

To make migration easier for everyone, this page is intended to track all changes.

  • The classes formerly provided by de.cau.cs.kieler.core are now to be found in org.eclipse.elk.core, with the following exceptions:
    • The package was moved to the .graph plugin.
    • ForwardingInputStream was moved to the ...graphviz.layouter plugin.
    • ForkedOutputStream was moved to the ...graphviz.layouter plugin.
  • All pre-defined layout types now have the ID org.eclipse.elk.type.XXX
  • All pre-defined diagram types now have the ID org.eclipse.elk.diagram.XXX
  • All pre-defined layout options now have the ID org.eclipse.elk.XXX (except for options defined by specific layout algorithms, which have the ID org.eclipse.elk.ALGORITHM.XXX)
    • de.cau.cs.kieler.klay.layered.portAnchor is now org.eclipse.elk.portAnchor instead of org.eclipse.elk.layered.portAnchor
  • All pre-defined layout algorithms now have the ID org.eclipse.elk.algorithm.XXX


  • IKielerProgressMonitor -> IElkProgressMonitor

  • ILayoutConfig -> LayoutConfigurator

  • IVolatileLayoutConfig

    • use LayoutConfigurator

    • to set global options

      IVolatileLayoutConfig#setValue(prop, value)
      LayoutConfigurator#configure(KGraphElement.class).setProperty(prop, value)
  • IDiagramLayoutManager -> IDiagramLayoutConnector
  • LayoutManagerService -> LayoutConnectorsService

  • LayoutListeners:

    DiagramLayoutEngine.INSTANCE.addLayoutTerminatedListener(new DiagramLayoutEngine.ILayoutTerminatedListener() {       
    LayoutConnectorsService.getInstance().addLayoutListener(new ILayoutListener() {
  • KimlUtil.loadDataElements(...) -> GraphDataUtil.loadDataElements(...)

Perhaps of lesser interest:

  • We now depend on Google Guava 15 instead of 10.


For the moment, see this confluence question.

  • No labels