Skip to content

Release Notes 3.x

gApp JSF Web-Fragment

3.2.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.
Bug Description Effects on generated Files
APPJSF-335 Toolbar that is assigned to a “display” is incorrectly placed <p:toolbar> in [layout-name]_generated.xhtml is now always part of a <f:facet> and the file [layout-name]Page.java now has correct and working entries for toolbars
APPJSF-344 Generated POMs name the Web-Fragment Artifacts only “Ui” and “Interface” the generator now has generator options for the dynamic naming of directories wherein POM files are generated (e.g. “${capability-name}Ui”)
APPJSF-346 Maven POM generation: Dependency to Commons Test doesn’t have test the dependency in the POM file now has that scope generated
APPJSF-347 init() of [capability-name]SessionDataBean.java and [capability-name]MasterDataBean.java has no @PostConstruct Annotation the missing annotation is now generated
APPJSF-354 getXhtmlSource() in [layout-name]BeanCustomization.java has incorrect Code generated the implementation of that method is now changed
APPJSF-360 Selenium Tests: Page Object Class has wrong Structure for Toolbars the file [layout-name]Page.java now has correct and working entries for toolbars
APPJSF-370 Toolbars for modeled layout lead to Generation and Compilation Errors the generation logic has been re-engineered to work fine for all kinds of toolbar modeling: <p:toolbar> in [layout-name]_generated.xhtml is now always part of a <f:facet> => all [layout-name]_generated.xhtml that contain <p:toolbar> are changed and along with them the corresponding [layout-name]Page.java files
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)
New Feature Description Effects on generated Files
APPJSF-104 Generate <f:convertDateTime> when Label Component is used for Date/Time/DateTime Data in DTO [layout-name]_generated.xhtml is changed in such a case
APPJSF-105 Generate <f:convertNumber> when Label Component is used for numeric Data in DTO [layout-name]_generated.xhtml is changed in such a case
APPJSF-139 Generate <pe:ckEditor> Tag for a modeled HTML Component for PF 5.3 <p:editor> is generated, for PF 6 <p:textEditor> is generated (PF version is a generator option) => [layout-name]_generated.xhtml might be changed
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-295 Generate Support of Sorting for <p:dataTable> by using SortBy modeling option for display when modleing the sort functionality: [layout-name]_generated.xhtml and [layout-name]Bean.java are changed
APPJSF-316 Generate Code to check (at runtime) the Existence of an XHTML file for a Layout Variant there is more code generated in [capability]MasterDataBean.java
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-348 Add another CSS File per Page (somehow replaces the purpose of the getPageStyle() Method) [layout-name].xhtml is changed, gets more code generated in it
APPJSF-359 Create additional Test Classes with minimal Modeling Effort additional files related to tests, following the same schema as the ones that are generated implicitly, are generated when you manually model tests with the keyword test (with only one step that has a layout assigned to it, nothing else)
APPJSF-305 Add Generation Support for <p:textEditor> that replaces <p:editor> since PF 6.0.6 for PF 5.3 <p:editor> is generated, for PF 6 <p:textEditor> is generated (PF version is a generator option) => [layout-name]_generated.xhtml might be changed
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).
Improvement Description Effects on generated Files
APPJSF-325 Improve the Logic of getXhtmlSource() in [layout]BeanCustomization.java the implementation of that method is now changed
APPJSF-327 Update Content of web.xml, web-fragment.xml and faces-config.xml (minimum JEE7) all XML files are affected since the namespaces used therein are changed
APPJSF-367 Fix Issues that are reported by SonarQube Several files have minor changes due to this, for instance: A field in [layout-name]BeanCustomizaion.java is now named “customerSpecificCustomization” instead of using the same name as the class name. Some interfaces now extend java.io.Serializable. Enumerations as inner classes do not get the static qualifier generated (they are implicitly static).
APPJSF-237 Get rid of Developer Area “xhtml.main” in Page XHTML File [layout-name].xhtml is changed
APPJSF-330 Don’t generate Constants in [layout-name]Component.java Enum for Tags in Namespace “f” the enumeration will get less entries generated
APPJSF-331 Improve the generated Logic in getConfigurationItems() in [layout-name]BeanCustomization.java when so-called Layout Variants are being used If layout variants are being used, the implementation of the method will change.
APPJSF-350 Add Developer Area for Annotations of Managed Beans all managed beans are changed
APPJSF-366 Call initDtos() from initApplication() in Managed Beans the default implementation of initApplication() in [layout-name]Bean.java is changed (now calls initDtos()).