La personnalisation est prise en compte dans la vue des résultats d'une recherche locale
et d'une recherche serveur. Vous pouvez personnaliser la vue des résultats en affichant le critère
ayant servi à constituer la liste résultat. Mais vous pouvez aussi afficher n’importe quelle autre
information. Il n’y a en effet aucun lien entre les critères qui ont servi à constituer la liste
résultat et les informations additionnelles qui peuvent être présentées dans la vue des
résultats.
Pourquoi et quand exécuter cette tâche
Avant de pouvoir personnaliser la vue des résultats, vous devez avoir instancié le point
d'extension com.ibm.pdp.maf.rpp.mafAdvancedSearchPattern et codé la classe Java qui
implémente chaque instanciation.
Vous pouvez alors personnaliser la vue des résultats des recherches avancées de designs locales
et serveur. Ces vues disposent de deux modes de présentation : le mode hiérarchique et le mode en
colonnes (à plat).
Procédure
- Vous pouvez personnaliser la vue de résultats en mode hiérarchique en affichant l'élément ayant
permis de détecter chaque instance entre parenthèses après le nom de l'instance. Pour ce faire, vous
devez indiquer le paramètre StringBuilder decoration dans la méthode
accept de la classe Java qui implémente le point d'extension.
public boolean accept(Object radicalElement, Map<String, Object> parameters,
StringBuilder decoration)
- Vous pouvez personnaliser la vue des résultats en mode colonnes (affichage à
plat) en affichant chaque information additionnelle dans une colonne dédiée. L’intérêt
de cette colonne est d’offrir une fonction de tri.
Remarque : Vous pouvez, en plus, aussi indiquer le paramètre StringBuilder decoration,
comme dans un affichage en mode hiérarchique.
- Pour ajouter une colonne, vous devez indiquer les éléments suivants après le paramètre
class dans l'instanciation du point d'extension dans le fichier
plugin.xml :
- columnId : Identifiant de la colonne.
- header : Libellé d’en-tête de la colonne. Ce libellé est
internationalisable.
Vous ajoutez donc la ligne suivante pour insérer par exemple une colonne COBOL Program
ID dans la vue des résultats d'une recherche avancée sur les Programmes :
<mafAdvancedSearchPatternColumn
columnId="program.pgmID" header="COBOL Program ID"/>
L'exemple suivant montre la ligne insérée dans le point d'extension
:
<extension
point="com.ibm.pdp.maf.rpp.mafAdvancedSearchPattern">
<mafAdvancedSearchPattern
id="programByPgmID"
description="List of Programs by their COBOL Program ID"
designType="pacprogram"
kind="STRING"
class="sample.ProgramByPgmID">
<mafAdvancedSearchPatternColumn
columnId="program.pgmID" header="COBOL Program ID"/>
</mafAdvancedSearchPattern>
</extension>
- Indiquez la colonne dans la classe Java qui implémente l'instanciation du point d'extension.
Vous devez ajouter la méthode suivante :
public String getColumnText(Object radicalElement, String columnId) {
if (!(radicalElement instanceof Program))
return "";
Program program = (Program) radicalElement;
if ("program.pgmID".equals(columnId)) {
return program.getProgramId();
}
return "";
}
Résultats
La décoration et la nouvelle colonne s'affichent dans la vue de résultats.