This article is part of RichFaces JSF 2.0 migration
Although JSF 2.0 has a new declarative components, it seems too simple for a complex components ( like Tree, data tables and so on ) development. Also, it is still necessary to generate special getters and state saving-restore methods, add/removeListener methods, custom tag handlers and so on.
- Using JSF 2.0 annotations instead of propietary XML format for component description. Additional anntotations should be introduced for non-standard metadata ( component attributes, documentation ). The XML files still be used for backward compatibility and reusable information like common pass through attributes.
- Generate component code compatible with JSF 2.0. It should use StateHelper instead of custom save/restore state, implements BehaviorHolder when necessary, pass Default values to StateHelper.eval method.
- Generate behaviors and behavior renderers.
- Add support for JSF 2.0 system events.
- Geterate Tag Handlers compatible with JSF 2.0 composite components.
- Convert JSP-based Renderer template language into JSF 2.0 VDL. In addition to XML format append CSS language to generate custom stylesheets for skinnability.
- Make generated renderer indepanded from base class, to do CDK library-independent.
- Generate automated tests for components and renderers.
- Develop set of functions to support current CDK capabilities (e.g. clientId).
- Optimize generated code. Use RI approach ( handleAttribute method ) for fastest access to common pass-through attributes.
- Generate XML Schema which could be used in IDE editors instead of tag library.
- Generate I18N resource bundles to use with UIComponent#getResourceBundleMap() method.