Téléchargement des produits


Version anglaise


 

Vous pouvez fournir avec votre plugin d'extension du gestionnaire de qualité Adélia un programme qui sera en charge du calcul des métriques et de la vérification des règles décrites par votre plugin. Ce programme doit être un programme de type Visual Adélia Batch ou Serveur Adélia, implémentant un certain nombre de points d'entrée prédéfinis sous la forme de procédures publiques (qui seront appelées dans la suite "points d'extension") respectant l'interface décrite ci-dessous.


L'implémentation des points d'extension est optionnelle : le programme d'extension est valide s'il implémente au moins un des points d'extension.


Le programme d'analyse charge le programme en mémoire en début d'analyse, et appelle le point d'extension "BEGIN" pour fournir l'opportunité au programmeur d'initialiser son contexte de travail. Le programme d'analyse appelle ensuite en boucle les points d'extension adéquats pour chaque programme analysé. En fin de l'analyse, le point d'extension "END" est appelé et le programme d'extension est déchargé.


Le programme d'extension communique avec l'AGL via les fonctions de la DLL QualMgrToolBx pour accéder aux données de configuration (activation et paramètres des règles), d'exécution (valeurs actuelles de certaines métriques), et pour sauvegarder ses propres métriques et violations.


Les différents points d'extension sont les suivants :

Remarque : Dans l'environnement exemple BDCADEL, vous trouverez un exemple de programme d'extension dans le domaine OUTILS.


Point d'extension VERSION

Ce point d'extension est appelé par le programme d'analyse lors du chargement d'un plugin si un numéro de version est spécifié pour la DLL dans le fichier de description du plugin. Dans ce cas, le point d'entrée doit obligatoirement exister et la version retournée par ce point d'extension doit correspondre à celle spécifiée au niveau du plugin.


Paramètres

Nom

Type

I/O

Description

versionDll

NUM_BIN_4

O

Version de la DLL.


Point d'extension BEGIN

Ce point d'extension est appelé par le programme d'analyse à l'initialisation de l'analyse d'un projet. Le programmeur peut faire des initialisations générales à ce point.


Paramètres

Nom

Type.

I/O

Description

nomEnv

ALPHA(128)

I

Nom de l'environnement.

nomProjet

ALPHA(128)

I

Nom du projet.

modeGen

ALPHA(6)

I

Mode d'analyse (full, delta ou none).

creatObj

BOOL

I

Création des travaux de compilation.

sonar

BOOL

I

Analyse de type SONAR.


Point d'extension BEGIN_PGM

Ce point d'extension est appelé par le programme d'analyse à l'initialisation de l'analyse d'un programme. Le programmeur peut initialiser des données spécifiques à ce point.


Paramètres

Nom

Type.

I/O

Description

nomProgramme

ALPHA(15)

I

Nom du programme.

typeProgramme

ALPHA(4)

I

Type du programme.

AD_I

Programme Adélia (ADELIA) interactif

AD_B

Programme Adélia (ADELIA) batch

VA_I

Programme Visual Adélia (VADELIA) interactif

VA_B

Programme Visual Adélia (VADELIA) batch

SA_B

Programme Serveur Adélia (SADELIA) batch

WA_I

Programme Adélia Web (WADELIA) interactif

WA_B

Programme Adélia Web (WADELIA) batch


Point d'extension DECLARATION

Ce point d'extension est appelé par le programme d'analyse lors de l'analyse d'une déclaration d'un objet.


Paramètres

Nom

Type.

I/O

Description

nomProgramme

ALPHA(15)

I

Nom du programme.

typeProgramme

ALPHA(4)

I

Type du programme.

AD_I

Programme Adélia (ADELIA) interactif

AD_B

Programme Adélia (ADELIA) batch

VA_I

Programme Visual Adélia (VADELIA) interactif

VA_B

Programme Visual Adélia (VADELIA) batch

SA_B

Programme Serveur Adélia (SADELIA) batch

WA_I

Programme Adélia Web (WADELIA) interactif

WA_B

Programme Adélia Web (WADELIA) batch

numLigneExp

NUM_BIN_4

I

Numéro de ligne dans le source expansé ou zéro.

numLigne

NUM_BIN_4

I

Numéro de ligne dans le source du programme ou zéro.

nomRegle

ALPHA(15)

I

Nom de la règle de gestion ou blanc.

numLigneRgg

NUM_BIN_4

I

Numéro de ligne dans la règle de gestion ou zéro.

nomElement

ALPHA(128)

I

Nom de l'élément de l'environnement de données.

natureElement

ALPHA(15)

I

Nature de l'élément (VAR, OBJ, PROC, etc.)

LAYOUT_FIELD

Zone maquette

VARIABLE

Variable utilisateur

VAR_ASSOC

Variable associée

WINDOW

Fenêtre ou page

OBJECT

Objet graphique

VIEW

Vue

BREAK

Rupture

PROCEDURE

Procédure

DS

DS, DSE, DSI

LIST

Liste

CURSOR

Curseur

LOADING

Chargement

typeAdelia

ALPHA(2)

I

Type Adélia

A

Alphanumérique

NE

Numérique étendu

NP

Numérique condensé

B

Booléen

T

Time

D

Date

TS

Timestamp

I

IMAGE

I2

NUM_BIN_2

I4

NUM_BIN_4

I8

NUM_BIN_8

BI

Binaire

IN

Entier

UN

Entier non signé

PR

Pointeur

GO

OBJET_GRAPHIQUE

longueur

NUM_BIN_4

I

Longueur.

nbDecimales

NUM_BIN_2

I

Décimales.

dim1

NUM_BIN_2

I

Dimension 1 si tableau ou zéro.

dim2

NUM_BIN_2

I

Dimension 2 si tableau ou zéro.

nomObjet

ALPHA(15)

I

Nom de l'objet graphique.

parametre

BOOL

I

Paramètre d'un programme ou d'une procédure.

zoneDS

BOOL

I

Zone de DS.

zoneListe

BOOL

I

Zone de liste.

locale

BOOL

I

Visibilité locale.

InfoAdditionnelles

ALPHA(50)

I

Informations additionnelles selon le contexte :


Contexte PROCEDURE :

Positions 1 à 15

à blanc

Procédure cliente

<nom serveur logique>

Procédure serveur

*ALL

Procédure commune

*SADELIA

Procédure d'un programme SADELIA


Positions 16 à 25

à blanc

Procédure normale

PUBLIC

Procédure publique

EXCEPTION

Procédure "exception"


Contexte BREAK :

Positions 1 à 15

à blanc

Rupture cliente

<nom serveur logique>

Rupture serveur

*ALL

Rupture commune

*SADELIA

Rupture d'un programme SADELIA


Point d'extension SOURCE

Ce point d'extension est appelé par le programme d'analyse à l'analyse d'une ligne du source.


Paramètres

Nom

Type.

I/O

Description

nomProgramme

ALPHA(15)

I

Nom du programme.

typeProgramme

ALPHA(4)

I

Type du programme.

AD_I

Programme Adélia (ADELIA) interactif

AD_B

Programme Adélia (ADELIA) batch

VA_I

Programme Visual Adélia (VADELIA) interactif

VA_B

Programme Visual Adélia (VADELIA) batch

SA_B

Programme Serveur Adélia (SADELIA) batch

WA_I

Programme Adélia Web (WADELIA) interactif

WA_B

Programme Adélia Web (WADELIA) batch

numLigneExp

NUM_BIN_4

I

Numéro de ligne dans le source expansé ou zéro.

numLigne

NUM_BIN_4

I

Numéro de ligne dans le source du programme ou zéro.

nomRegle

ALPHA(15)

I

Nom de la règle de gestion ou blanc.

numLigneRgg

NUM_BIN_4

I

Numéro de ligne dans la règle de gestion ou zéro.

serveur

ALPHA(15)

I

Nom du serveur logique.

source

ALPHA(5000)

I

Source de la ligne.



↑ Haut de page


Point d'extension END_PGM

Ce point d'extension est appelé par le programme d'analyse à la fin de l'analyse d'un programme.

Le programmeur peut par exemple sauvegarder ici des métriques cumulées au niveau du programme.


Paramètres

Nom

Type.

I/O

Description

nomProgramme

ALPHA(15)

I

Nom du programme.

typeProgramme

ALPHA(4)

I

Type du programme.

AD_I

Programme Adélia (ADELIA) interactif

AD_B

Programme Adélia (ADELIA) batch

VA_I

Programme Visual Adélia (VADELIA) interactif

VA_B

Programme Visual Adélia (VADELIA) batch

SA_B

Programme Serveur Adélia (SADELIA) batch

WA_I

Programme Adélia Web (WADELIA) interactif

WA_B

Programme Adélia Web (WADELIA) batch

nomFichier

ALPHA(250)

I

Nom du fichier XML contenant le source du programme.

succesVerif

BOOL

I

La vérification du programme a réussi.


Point d'extension END

Appelé par le programme d'analyse à la fin de l'analyse du projet.

Le programmeur doit calculer ici les métriques associées au projet.


Les fonctions QMQueryFirstProgram et QMQueryNextProgram de la DLL QualToolBxMgr permettent de parcourir la liste des programmes à prendre en compte dans le cumul des métriques.


Remarque importante : Du fait que l'analyse peut se faire par delta, il est possible que certains programmes n'aient pas été traités dans les phases précédentes. Il faut bien se baser sur la liste des programmes faisant partie de l'analyse du projet, et non pas sur une valeur cumulée calculée au fur et à mesure.


Paramètres

Aucun.


↑ Haut de page

  • Aucune étiquette