Transitions à partir de portlets
Les exemples de code suivants montrent des exemples des différentes transitions pouvant être configurées à partir d'un portlet unique comme source.
Portlet unique vers portlet unique
La transition depuis un portlet unique vers un portlet unique constitue la transition la plus simple. L'exemple de code montre ce type de transition.La source pointe sur un noeud final de transition unique d'un portlet, comme, sur un site de voyage, un portlet d'informations passager et la cible pointe, sur un autre noeud final de transition unique d'un autre portlet, par exemple le portlet de calendrier. Après que le portlet d'informations passager source portlet1 a émis l'événement e1, l'utilisateur est acheminé vers le portlet calendrier cible portlet2, lequel est alimenté avec l'événement e2.
<transition>
<source>
<transition-endpoint nameref="portlet1">
<event qname="e1"/>
</transition-endpoint>
</source>
<target>
<transition-endpoint nameref="portlet2">
<event qname="e2"/>
</transition-endpoint>
</target>
</transition>Portlet unique vers portlets multiples
Cet exemple de code montre une transition depuis un portlet unique vers des portlets multiples où la cible pointe sur plusieurs portlets plutôt qu'un portlet unique.portlet2a et portlet2b reçoivent l'événement e2a. Le portlet référencé par le noeud final de transition portlet2c reçoit l'événement e2c.
<transition>
<source>
<transition-endpoint nameref="portlet1">
<event qname="e1"/>
</transition-endpoint>
</source>
<target>
<transition-endpoint nameref="portlet2a">
<event qname="e2a"/>
</transition-endpoint>
<transition-endpoint nameref="portlet2b">
<event qname="e2a"/>
</transition-endpoint>
<transition-endpoint nameref="portlet2c">
<event qname="e2c"/>
</transition-endpoint>
</target>
</transition>Portlet unique vers une page
Cet exemple de code montre une transition depuis un portlet unique vers une page plutôt qu'un portlet. Du fait de cette transition, l'événement est propagé vers tous les portlets figurant sur la page.Tous les portlets se trouvant sur la page référencée par le noeud final de transition page2 reçoivent l'événement e2.
<transition>
<source>
<transition-endpoint nameref="portlet1">
<event qname="e1"/>
</transition-endpoint>
</source>
<target>
<transition-endpoint nameref="page2">
<event qname="e2"/>
</transition-endpoint>
</target>
</transition>Portlet unique vers une page et plusieurs portlets
Cet exemple de code montre une transition avec la cible qui pointe sur la page et plusieurs portlets. La page et chaque portlet sont associés à un événement différent. Du fait de cette transition, chaque portlet reçoit l'événement associé à la page et l'événement associé au portlet spécifique.- Le noeud final de transition
portlet2areçoit les événementse2ete2a. - Le noeud final de transition
portlet2breçoit les événementse2ete2a. - Le noeud final de transition
portlet2creçoit les événementse2ete2c.
<transition>
<source>
<transition-endpoint nameref="portlet1">
<event qname="e1"/>
</transition-endpoint>
</source>
<target>
<transition-endpoint nameref="page2">
<event qname="e2"/>
</transition-endpoint>
<transition-endpoint nameref="portlet2a">
<event qname="e2a'/>
</transition-endpoint>
<transition-endpoint nameref="portlet2b">
<event qname="e2a'/>
</transition-endpoint>
<transition-endpoint nameref="portlet2c">
<event qname="e2c'/>
</transition-endpoint>
</target>
</transition> L'exemple de code suivant montre une alternative pour déclarer les mêmes informations que dans l'exemple de code précédent. Deux des noeuds finaux de transition précédemment affichés sont fusionnés en un seul noeud final. Les deux notations donnent le même résultat.
<transition>
<source>
<transition-endpoint nameref="portlet1">
<event qname="e1"/>
</transition-endpoint>
</source>
<target>
<transition-endpoint nameref="page2">
<event qname="e2"/>
</transition-endpoint>
<transition-endpoint nameref="portlet2a 2b">
<event qname="e2a'/>
</transition-endpoint>
<transition-endpoint nameref="portlet2c">
<event qname="e2c'/>
</transition-endpoint>
</target>
</transition> - La page référencée par le noeud final de transition
page2est associée aux événementse2-1ete2-2. - Le portlet référencé par le noeud final de transition
portlet2aest associé aux événementse2a-1ete2a-2. - Le portlet référencé par le noeud final de transition
portlet2best associé à l'événemente2b-1.
Dans cet exemple particulier, portlet2a reçoit les événements e2-1, e2-2, e2a-1 et e2a-2, et portlet2b reçoit les événements e2-1, e2-2 et e2b-1.
<transition>
<source>
<transition-endpoint nameref="portlet1">
<event qname="e1"/>
</transition-endpoint>
</source>
<target>
<transition-endpoint nameref="page2">
<event qname="e2-1"/>
<event qname="e2-2"/>
</transition-endpoint>
<transition-endpoint nameref="portlet2a">
<event qname="e2a-1"/>
<event qname="e2a-2"/>
</transition-endpoint>
<transition-endpoint nameref="portlet2b">
<event qname="e2b-1"/>
</transition-endpoint>
</target>
</transition> Portlets multiple vers portlet unique
L'exemple de code suivant montre une transition où la source pointe vers plusieurs portlets et la cible vers un portlet unique.portlet1a ou portlet1b, émet l'événement e1, l'utilisateur est acheminé vers le portlet cible portlet2, lequel est alimenté avec l'événement e2.
<transition>
<source>
<transition-endpoint nameref="portlet1a_1b">
<event qname="e1"/>
</transition-endpoint>
</source>
<target>
<transition-endpoint nameref="portlet2">
<event qname="e2"/>
</transition-endpoint>
</target>
</transition>Portlet unique vers une autre boîte de dialogue
L'exemple de code suivant montre une transition où la source pointe sur un portlet unique et la cible vers une autre boîte de dialogue.Cette transition représente la transition sortante. Quand la transition est déclenchée, elle démarre la boîte de dialogue référencée, laquelle est initialisée par l'événement défini. Pour plus d'informations sur la transition sortante, voir Nœuds finaux de transition.
Dans cet exemple de code, quand portlet1 émet l'événement e1, dialog2 est démarrée et initialisée avec l'événement eX. Ensuite, le passage à une étape particulière de dialog2 dépend des transitions définies comme partie de dialog2. Pour plus d'informations, accédez à la rubrique Chaînage et imbrication de boîtes de dialogue.
<transition type="nested">
<source>
<transition-endpoint nameref="portlet1">
<event qname="e1"/>
</transition-endpoint>
</source>
<target>
<transition-endpoint nameref="dialog2">
<event qname="eX"/>
</transition-endpoint>
</target>
</transition>