Beans Wizards

Here will be posted the work-in-progress on Beans Wizards.

Declare a Spring Bean

The roadmap to this functionality is :

  • Building a responsive UI for the wizard with 3 or 4 wizard pages (100%)
    • first page for basic infos (choose project, config file, class, bean id and name) (100%)
    • second page for injection of things (values, refs...etc) into chosen properties (100%)
    • third page for lifecycle infos (100%)
    • fourth page for injection of constructor args (100%)
  • Coding the actual bean insertion in the chosen configuration file (100%)
  • Linking this wizard to the UI :
    • link it to the Package Explorer (100%)
    • link it to the Beans configuration editor (50%)
      • linked by Drag'n'drop of a Class to a configuration file (100%)
      • linked through the Editor's context menu and outline actions (0%)
    • link it to the Beans graph (0%)
    • link it to the Beans view (0%)

Create a new Spring config file

  • Define a simple wizard to create a file from a blank template (only spring config header) (0%)
  • Define a preferences interface in order to add custom templates (0%)
  • Bundle a series of 'default custom' ;) templates (0%)

Create a new Spring project

  • Create new Java project by leveraging org.eclipse.jdt.ui.wizards.JavaCapabilityConfigurationPage
  • Add Spring project nature by leveraging org.springframework.ide.eclipse.core.SpringCoreUtils.addProjectNature(project, SpringCore.NATURE_ID)
  • Add all required Spring libraries by using a Eclipse classpath variable (e.g. SPRING_HOME) -> this variable has to be created somehow (any ideas how)
  • The next wizard steps should be the ones from the "Create a new Spring config file" wizard

Please give your opinion about the first drafts ;) in the Forum's dedicated thread

An anonymous person has already commented this draft. This person didn't like the forms look (which I prefer a lot to the awful uncustomizable grey SWT look...but if a majority of people dislike forms, it can be changed...). I would prefer comments about the global logical layout of the wizard and how it can ease the work of a Spring developper ;).

Attachments

  • wizards1.jpg (53.2 kB) -First page as inited when right-clicked on a project's root in the Package Explorer, added by pagregoire on 01/25/06 00:15:26.
  • wizards2.jpg (47.3 kB) -In the first page you can then choose the files declared as config files for the chosen project., added by pagregoire on 01/25/06 00:17:14.
  • wizards3.jpg (51.9 kB) -You must then choose the class (note that if you right clicked a declared config file, the previous fields are automatically filled), added by pagregoire on 01/25/06 00:20:16.
  • wizards4.jpg (50.7 kB) -You can then choose the bean's name with clever (hopefully ;) ) content assist. And validation of the existence of this bean., added by pagregoire on 01/25/06 00:22:40.
  • wizards5.jpg (40.6 kB) -Next page is in early draft and will provide a Table with the properties and their injection... or maybe a Tree would fit better. It can be activated or not if we do not want to inject anything, added by pagregoire on 01/25/06 00:25:49.
  • wizards6.jpg (44.1 kB) -checking the combo activates the properties choosing interface. There will probably be a button for automatic filling of the properties., added by pagregoire on 01/25/06 00:29:07.
  • wizards7.jpg (55.4 kB) -The last page deals with lifecycle and is in early drafts. But there's almost nothing to type in this one as it is, but choosing from predefined values., added by pagregoire on 01/25/06 00:32:20.
  • props1.jpg (47.9 kB) -Properties second draft - no injection, added by pagregoire on 02/01/06 23:04:10.
  • props2.jpg (54.0 kB) -Properties second draft - changing injection, added by pagregoire on 02/01/06 23:04:45.