Lancement de règles par programme
Tous les types de règles sont accessibles à l'aide d'un programme dans une application Java™. Par exemple, un profileur peut être utilisé pour déterminer le comportement d'une application en fonction de l'utilisateur en cours, ou une action peut renvoyer du contenu à votre application afin de permettre un traitement plus détaillé avant l'affichage du contenu. Les règles sont mappées vers des zones de contenu et, dans la mesure où une zone de contenu est une implémentation d'un bean JavaBeans™, elle peut être déclarée et implémentée par le biais d'un programme.
Pour lancer un règle par programme, suivez la procédure ci-dessous :
- Instanciez le bean. Si le nom de classe de votre zone de contenu est ProfilerSpot, vous devez instancier le bean à l'aide d'une des options suivantes :
com.ibm.websphere.personalization.ContentSpot contentSpot = new com.ibm.websphere.personalization.ContentSpot("ProfilerSpot");ou
ProfilerSpot contentSpot = new ProfilerSpot(); - Appelez la méthode
setRequest()et transmettez l'objet HttpServletRequest ou un objet qui implémente PznRequestObjectInterface. Cette action permet au moteur d'exécution et au moteur de ressources de Personalization d'identifier les informations en cours stockées dans l'objet requête.contentSpot.setRequest(request); - Déclenchez la règle et, le cas échéant, extrayez le contenu de la règle. Utilisez l'une des méthodes suivantes, en fonction du type de règle :
- Les actions de sélection de contenu (Select Content), les liaisons et les actions de recommandation sont mappées vers des zones de contenu et renvoient du contenu à partir d'une ressource.
getRuleContent()- renvoie un tableau des résultatsgetRuleContent(int which)- renvoie la ressource à l'index
- Les profileurs sont mappés vers des zones de contenu vides qui ne déclarent pas de type de retour.
boolean isProfiledAs(string value)- renvoie True ou False, selon que la chaîne transmise à la méthode correspond ou non à un profil attribué à l'utilisateurString getProfile(integer value)- renvoie le profil à l'emplacement indiqué par l'entier transmisUn utilisateur peut avoir plusieurs profils. Par exemple, un utilisateur peut avoir des profils intitulés "jeune," "branché" et "sportif" ; lors de la recherche du profil à l'emplacement 0, "jeune" est renvoyé.
String[] getProfiles()- renvoie un tableau des profils.Par exemple, si un utilisateur figure dans les profils "jeune," "branché" et "sportif", cette méthode renvoie un tableau des profils.
boolean isProfiledAsAll(String[] profiles)- renvoie la valeur True ou False suivant que tous les profils correspondent ou non à tous ceux de la liste de profils transmise à la méthodeboolean isProfiledAsAny(String[] profiles)- renvoie la valeur True ou False suivant que le profil se trouve ou non dans la liste de profils transmise à la méthode
- Les actions de mise à jour et les actions d'e-mail sont mappées à des zones de contenu vides.
trigger()- exécute la règle
- Les actions de sélection de contenu (Select Content), les liaisons et les actions de recommandation sont mappées vers des zones de contenu et renvoient du contenu à partir d'une ressource.