Java EE Module Configuration Editors

The project has been created.

Java EE Module Configuration Editors

The Java EE Module Configuration Editors project is a proposed open source project under the WTP Java EE Tools project.

This proposal is in the Project Proposal Phase (as defined in the Eclipse Development Process) and is written to declare its intent and scope. We solicit additional participation and input from the Eclipse community. Please send all feedback to the Proposals Forum.

Background

Java EE modules are configured via complex XML configuration files and Java annotations. Editing this configuration is difficult, especially for novice developers and those working on very large application. A form-based editor that brings together information from XML configuration files and Java annotations is a useful tool. The content assist and validation provided by such an editor helps eliminate certain kinds of common bugs.

Scope

Deliver editors for Java EE module configurations.

Description

The editors are built using Sapphire. Each editor brings in information from the module's XML configuration file as well as the relevant annotations into a unified view. A user can edit a setting using the same UI whether it is stored in the XML configuration file or a Java annotation.

Sapphire provides XML binding and bi-directional synchronization with source view. Using Sapphire facilities, these editor include validation, browsing for possible values and cross-navigation to source and other referenced locations.

While the primary goal is to deliver the editors, a semantic model is created as part of implementing any editor with Sapphire. Whether this model is exposed as public API will depend on requirements that interested parties bring to the table.

The editors are not currently envisioned as extensible. Their nature is scoped by Java EE specifications. However, if interested parties bring extensibility scenarios to the table, these will be considered.

Introduction to Sapphire

Why Eclipse?

This proposal is a natural extension of WTP Java EE Tools project, that brings functionality needed by users of that tooling. This functionality is currently only available in commercial products. By being at Eclipse, this functionality can eventually be included in EPP packages such as Eclipse IDE for Java EE Developers and due the safety net provided by the Eclipse IP process, this functionality can be more easily adopted by third party IDE package builders.

Code Contribution

The work on these features is currently taking place inside Sapphire project as a sample, where a partial implementation of the web.xml editor already exists.

Screencast
Source Repository

Committers

The following individuals are proposed as initial committers to the project:

Konstantin Komissarchik, Oracle
Konstantin is the project lead for the Sapphire project and is a committer on several WTP projects.

Mentors

The following Architecture Council members will mentor this project:

  • Chris Aniszczyk
  • Neil Hauge

Interested Parties

The following individuals, organizations, companies and projects have expressed interest in this project:

  • Chuck Bridgham (IBM)
  • Kaloyan Raev (SAP)
  • Neil Hauge (Oracle)
  • Jesper Steen Müller
  • Eclipse Java EE Tools Project
  • Oracle (for Enterprise Pack for Eclipse inclusion)

Namespace

org.eclipse.jst.jee.config

Project Scheduling

The plan is to deliver editors for Web, EAR and EJB modules in time for Juno release in 2012.

This project will remain in incubation until the editors are sufficiently mature and Sapphire itself exits incubation. In the meantime, the project will produce regular releases and join the release trains. After graduation, this project may merge into the main Java EE Tools project.

Changes to this Document

Date Change
2011-06-14 Document created
2011-06-16 Added "why eclipse" section and revised the "interested parties" section.
2011-06-17 Listed mentors; more entries under interested parties; added screencast.
2011-06-20 One more interested party; wording improvements; screen capture of the editor; link to Sapphire intro.
2011-06-21 More description on Sapphire capabilities.