2

We have a EMF based meta-model that is used to configure our application. Until now we used the EMF editor (eclipse based) to create various configuration instances of our product. This has worked well so far but we now want to support the config creation from web UI.

What are the options I have for creating a rich UI from meta-models on Java platform? I know about Naked Objects, Roo etc but those generate end to end application with focus on persistence. I just need good looking UI that can populate the model.

Edit One of the comments suggest a combination of Magritte + Glamour. But those are for smalltalk. Are there any equivalents in Java?

Aravind Yarram
  • 78,777
  • 46
  • 231
  • 327
  • Out of curiosity, how does one go about generating two view of the same model object under such a system? If done with code generation, wouldn't the need for two views require them to be declared independently of the model, or is some sort of annotation of the model used to "add view"? – Edwin Buck Jun 01 '12 at 16:05
  • @EdwinBuck We no need to generate two views of the same model. We always generate a single view but what is part of the view should be customized. For e.g. to customer 1 we only want to show 10 config data items but for cutomer 2 we want to show all of them – Aravind Yarram Jun 01 '12 at 17:30

3 Answers3

1

For others who come this way:

Metawidget is a tool designed to generate UIs from meta-models. It supports the Java platform, as well as SWT specifically (and therefore Eclipse). Its meta-model inspection layer is pluggable, so you could write an Inspector for EMF.

Richard Kennard
  • 1,325
  • 11
  • 20
0

If you want to create an user interface for your models based on your meta-model, you can have a look at the EEF project of the Eclipse foundation. It let people customize and generate an user interface to create and edit models

sbegaudeau
  • 1,504
  • 13
  • 18
0

Check out EMF Forms it has default generated GUI based on your data model. Also it supports several UI technologies: Swing,SWT, JavaFX or Web.