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 |
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() ). |