Release Notes 3.x

gApp JSF Web-Application

3.3.0 - 29-Apr-2019

This is the very first 3.x version that can be used in production. The most notable new features and improvements that might make you want to use this version of the generator are:

  • Many complaints of SonarQube/SonarLint about generated code are gone. Some complaints have to remain since they are caused by the nature of generated code, e.g. empty methods or methods that are not yet called.
  • Every web page gets a separate CSS file where page-specific layout tuning can be done. This is easier to edit than the getPageStyle() method in the managed beans.
  • The handling of toolbars is significantly improved (and some bugs in that area are fixed, too). toolbars that are assigned to layouts now work fine, even for more complex page structures.
  • It is now possible to generate message properties keys that are prefixed with the web page name (lowercase), which makes working with message properties easier.
  • You can add more test cases with minimal modeling effort. Modeling one test with one step that has a layout assigned is sufficient to get another fully functional set of Java and JSON files to implement your tests.
  • Improved support for <f:convertDateTime> and <f:convertNumber> in case a Label is modeled that should handle java.util.Date or numeric data.
  • You can define the Java, JEE and PrimeFaces versions by means of generator options. One effect of this is that .xml and .xhtml files are getting appropriate XML namespaces generated.
  • Additional beans and XHTML files for the page sections for the PrimeFaces California template are generated. They make it easier to start the generation/implementation of new web applications.
Bug Description Effects on generated Files
APPJSF-345 AppLayoutCustomizationBean.java doesn’t have an Import for Stylesheet (which is an inner Class) the missing import is now generated
APPJSF-351 In the file profile-menu_generated.xhtml actions for password and logout are missing/swaped the action attributes in the XHTML file are now generated correctly
APPJSF-355 HiddenXhtmlFilesFilter.java does not filter Paths that have double Slashes (//) the filter now has additional code generated to handle such cases well
APPJSF-362 Wrong XML Namespace generated for “c” (e.g. for ) all XHTML files are affected by this change (if they were generated with an older 3.x version of the JSF generators)
APPJSF-377 stylesheet-application.xhtml is incorrectly and ambiugously used in runtime Code and in generaeted Code now there are three stylesheet-application.xhtml files generated, one per template (PRIMEFACES_CALIFORNIA, RESPONSIVE and DESKTOP)
New Feature Description Effects on generated Files
APPJSF-352 Add support for sidebar menu to disable complete submenu not only menuitem in sidebar-menu_generated.xhtml and in WestBean.java there is additional code generated to be able to disable and hide complete submenus
APPJSF-287 Replace java.sun.com Namespaces by xmlns.jcp.org in XML Files (including XHTML) all XHTML files are affected by this change
APPJSF-316 Generate Code to check (at runtime) the Existence of an XHTML file for a Layout Variant there is more code generated in AppMasterDataBean.java
APPJSF-317 Generate Redirect to an existing Page into index.xhtml generated code in index.xhtml is changed
APPJSF-332 Add Generation Support for Maven POM Files pom.xml and pom_generated.xml are generated when the virtual project “Maven” is mapped
APPJSF-333 Generate XHTML and Java Files to manage the common Web Page Sections “north”, “west”, etc. new files north_generated.xhtml, west_generated.xhtml, … , NorthBean.java, WestBean.java, … are created
APPJSF-367 Fix Issues that are reported by SonarQube Several files have minor changes due to this
APPJSF-284 Generate Implementation of getXhtmlSource() in AppLayoutCustomizationBean.java AppLayoutCustomizationBean.java is changed and also some new files are generated, e.g. north_generated.xhtml, west_generated.xhtml, … , NorthBean.java, WestBean.java
APPJSF-299 Message Properties: Change generated Names of Keys to be prefixed with the Page Name (and seperated by “.”) Begining with the 3.x versions of the generators, this is the default behavior of the generators. All .properties files will be changed, unless you set the generator option jsf.i18n.properties-key-rule to
SHORT (other options are LOWERCASE_WITH_CONTEXT and WITH_CONTEXT).
APPJSF-318 Make PrimeFaces California being the default Template to be used (generation in AppLayoutCustomizationBean.java) getDefaultTemplate() in AppLayoutCustomizationBean.java gets code generated that returns Template.PRIMEFACES_CALIFORNIA;.
APPJSF-319 Generate an init() Method in AppLayoutCustomizationBean.java that method is now generated for the class and has by default an empty implementation