On this page:
Summary: This document provides information about changes and new features introduced in this release.
Added support for Spring 4.x via a new Environment Profile, including support for the @Query annotation.
Added new support for JSR 330 @Inject and @Named annotations.
The existing support for Spring 2.x/3.x has been improved via the use of parametrization rules to support the following database access method classes:
Spring Batch is now supported as standard: by default, Spring frameworks present in the delivered source code will be analyzed and objects relating to Spring Batch (Spring Batch Job and Spring Batch Step) will be detected and stored in the results. For full details, please see JEE Analyzer - Technology support notes.
Added support for JPA 2.1/Hibernate 4.3 - 5.x via a new Environment Profile.
The link resolution for applications using Hibernate is as follows: Java Method -> Hibernate object -> database object. In previous releases of CAST AIP, the links between the Hibernate object and the database object were "untyped", in other words all links were classified as U (Use) links rather than the more specific Ui (Use Insert), Us (Use Select), Ud (Use Delete), Uu (Use Update) which are available for the links between the Java Method and the Hibernate object. As a result of this, the transaction type could not be fully determined during an Automatic Function Point calculation.
In this release of the JEE analyzer extension, link resolution between the Hibernate object and the database object has been improved and links are now fully typed with the specific link type, i.e. Ui (Use Insert), Us (Use Select), Ud (Use Delete), Uu (Use Update) instead of simply U (Use).
Access to database stored procedures using one of the below mechanisms is now supported:
Added support for Struts 2.5 via a new Environment Profile, including support for the @TilesDefinition annotation.
Added support for the following annotations:
Support for EJB 3.x is now active by default for all new Applications analyzed with this release of the extension and will follow the Java Version that is set for the source code. If an EJB 2.x Environment Profile is activated then support for EJB 3.x is will be deactivated. See JEE Analyzer - Technology support notes for more information about how EJB is handled by the analyzer.
In previous releases of CAST AIP, the following limitation applied:
This limitation has now been removed and the use case is now supported.
This section explains how various CAST Management Studio GUI options have changed (to find out more about configuration options, see JEE Analyzer - Analysis configuration).
|Option name||Previous behaviour in AIP||New behavior in extension|
|Client File Extensions|
Ability to select Client File Extensions corresponding to web technologies has been removed - analysis of Web Technologies has been removed from the JEE Analyzer extension (see above for more information):
|Default Scripting language for client side|
This option has been removed - analysis of Web Technologies has been removed from the JEE Analyzer extension (see above for more information):
|Extract XML from Jars (previously available in the Production tab)||When set to true (the default position) any XML files contained within .JAR files supplied in the Class Paths settings via the Add New Archive File and Add New Archive Folder options were extracted from the JAR and analyzed.|
Unticking the option forced the analyzer to ignore the extracted XML files during the analysis.
|The option has been removed. By default, only XML files that are part of JAR files supplied with Environment Profiles will be extracted and analyzed.|
|Hibernate/JPA, Struts and Spring options|
The options for Hibernate/JPA, Struts and Spring were previously set according to the discovery made by the CAST Delivery Manager Tool:
These options are now always set to the "Latest" option (i.e. the most recent release supported by the JEE analyzer extension). You can override the default setting if required.
The following distinct frameworks (supported via an Environment Profile) were always set to Yes, but it was possible to set them to No:
The options have been removed. By default support for all of the following frameworks is now always enabled:
|EJB and Web Services options|
In previous releases it was possible to select a "custom" option for the EJB and Web Services options:
Selecting either option enabled the "Custom Environment Profile" option for each, enabling the selection of a custom Environment Profile:
The "custom" options in the drop down lists for EJB and Web Services have been marked as deprecated as it is no longer possible to select a custom environment profile:
The ability to select a custom Environment Profile specifically to address a configuration not supported out of the box by CAST AIP has been removed to simply the analysis configuration.
The following bugs have been fixed in this release of the JEE Analyzer extension:
|Internal ID||Call ID||Summary|
|JFAMILY-276 / SCRAIP-25514||-|
@Query Annotation with embedded query not resolved - JPA 1.1 with Spring Data
|JFAMILY-245 / SCRAIP-24664||-|
JPA resolution - Missing links to sequence via SequenceGenerator annotation
|JFAMILY-214 / SCRAIP-24798||-|
Hibernate JPA - @Entity annotation not resolved if the @Table is not defined
Externalization of the JEE Analyzer
The JEE Analyzer has been "externalized" as an official CAST AIP Extension in this release of CAST AIP. This extension is delivered and installed automatically with CAST AIP 8.3.x with new CAST AIP triplets and as part of an upgrade. Note that any changes in analysis results that are visible after an upgrade to CAST AIP 8.3.x (and therefore to the externalized JEE Analyzer) are only due to improvements and bug fixes introduced in this release of the analyzer and NOT due to the externalization.
After upgrading to CAST AIP 8.3.x and starting to use the JEE Analyzer extension, you should expect the following impacts after generating a post upgrade snapshot on the same source code:
Due to the removal of a legacy limitation concerning Struts 2.x using Spring beans as an implementing class for an action provided that it extends ActionSupport (see above), the action class from the Spring bean specified in the struts.xml file is now identified. Links from this action to the method of the Spring implementation class will be resolved and stored in the analysis results. As such, you should expect changes to Transactions and Quality Rule grades directly due to this improvement.
The ability to analyze "Web technologies" such as
has been removed from the JEE Analyzer extension, therefore, you will find that analysis results will change:
|Before upgrade||After upgrade|
After an upgrade to, you may find that additional EJB objects are resolved if your source code contains them. This is because the EJB 3.x Environment Profile is now active by default, even for those upgrading. See JEE Analyzer - Technology support notes for more information about how EJB is handled by the analyzer:
|Before upgrade||After upgrade|