This documentation is not maintained. Please refer to doc.castsoftware.com/technologies to find the latest updates.

On this page:

Target audience:

CAST Administrators

Summary: Information and Release Notes about the JEE File Discoverer for the CAST Delivery Manager Tool. This extension is a file system discoverer.

Extension description

This discoverer detects projects based on the presence of java files.

In what situation should you install this extension?

This extension should be used when the java project files such as .project or pom.xml are not delivered with the source code (without these files, the discoverers provided "out of the box" in the CAST Delivery Manager Tool cannot detect all java files). It's a kind of "catch-all" to ensure that all java files will be packaged for analysis.

When the extension is installed, you can choose to activate it or not in each package you create in the CAST Delivery Manager Tool. To do so, click the Package Configuration tab and define the type of projects to discover in the package (refer to the Extension interface paragraph below).

Please be aware that this extension is only intended to be used as a fall-back for projects where "out of the box" discoverers provided in CAST AIP are not enough. It should be used in parallel with or instead of the other discoverers. On large projects it can produce sub-optimal analysis configurations, with some side effects that can impact the stability of results.

Technical information

What does the extension identify - i.e. what does it consider as a "project" and therefore an Analysis Unit in the CAST Management Studio?

A project is created for each group of java files based on the following criteria:

  • in the java file, we identify the folder corresponding to the main package
  • the project is defined for the folder two levels up from the main package

As such, given the following folder structure (for example):

root
-folder1
--folder2
---src
----com
-----demo
------class1.java (package com.demo)
----test
-----com
------demo
-------test1.java (package com.demo)

Using this extension with the above folder structure will yield a project called "folder2" with a root path folder1/folder2. This project references the various java folders inside the root. In this case, we have two folders:

  • %project%/src
  • %project%/test

If jar files are found inside the project root path, they are added in the references of the project.

CAST AIP Upgrade

When upgrading from CAST AIP 7.0.x to a compatible version (see section below), the java projects already discovered in CAST AIP 7.0.x and all previous configuration changes made in the CAST Management Studio will be preserved.

In order to respect this requirement and the project renaming conventions from v7.0.xx, the extension will remove any character from the project name that is not included in the following character set:

01234567890abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ.!:/ù^é~#´{[|è_çà@]=}+°$£*µ%§ñõìùòîôûê€

CAST AIP compatibility

This extension is compatible with:

CAST AIP release
Supported
8.2.x(tick)
8.1.x(tick)
8.0.x(tick)
7.3.3 and all higher 7.3.x releases(tick)

Bug Fix List

JEE File Discoverer 1.3.0

The following table lists all bugs fixed in JEE File Discoverer 1.3.0:

R&D IDCall IDSummary
DISJFIL-26 

DMT packaging fails | java.lang.StringIndexOutOfBoundsException:String index out of range: -2,Migrated from 7.3.5-> 8.2

DISJFIL-27 

[ATT][BDS][1507] : : Post Migration: AddVersion is failing for Discovery with error: java.lang.StringIndexOutOfBoundsException:String index out of range: -2

Download and installation instructions

Please see: 

  • This extension contains a File discoverer and you should take note of the specific instructions in the installation guide that explains how to package your source code with the CAST Delivery Manager Tool when you have an existing Version.
  • The latest release status of this extension can be seen when downloading it from the CAST Extend server.

Extension interface

The following screen shots show the differences in the product when the extension is installed:

  • in the CAST Delivery Manager Tool, in the Package configuration tab, the interface contains a new item in the list of "Project types discovered":

When the extension is installed after the creation of the package, the item shown above is not selected by default. If you activate it after the Package action has been executed, you must re-package (without forcing the re-extraction) to discover the projects.
  • in the CAST Delivery Manager Tool, in the Package content tab, when the package contains some java files, the interface will display a new item in the list of "Project types discovered":

  • in the CAST Delivery Manager Tool, in the Package configuration tab, the interface contains a new item in the list of "Exclusion rules" and you can define the various exclusion of projects with the "Filtering rules" and "Project exclusion" lists :

Note: please ensure that you exclude projects that correspond to the same source code.
  • in the CAST Management Studio, when the delivery is accepted and set as current version, the package will contain Analysis Units corresponding to these projects:

  •  in the CAST Management Studio, the Analysis Units will contain:
    •  the Source Settings discovered by the extension:
      • Application Root Path
      • Java Files: list of parent folders of the main package folder

 

    • the Analysis Settings discovered by the extension:
      • Class Paths: list of jar files inside the Project Path

 

Packaging your source code with the CAST Delivery Manager Tool

When you use the CAST Delivery Manager Tool to package the source code, please ensure that you tick the following option in the CAST Delivery Manager Tool to activate the extension:

Note that:

  • this option will be disabled (unticked) in all pre-existing packages - you need to check it before starting the packaging process otherwise it will be ignored.
  • for new packages created after the extension's installation, the option will be enabled by default