Bonjour tout le monde,
je travaille sur une application qui pilote l'outils hudson.
dans une partie je dois lancer des build des projet a travers une interface.
ce que je veux faire c'est lancer un evenement lors de construction du build a partir d'un boutton.
j'ai fait :
pour modaPanel :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
 <rich:modalPanel id="waitPanel" autosized="true">
           <table border="0">
               <tr>
                 <td nowrap="nowrap"><h:graphicImage id="giWait" value="#{a4jSkin.nameSkin}/images/time.gif"/></td>
                 <td nowrap="nowrap"><h:outputText id="otWait" value="Construction Of The Build In Progress" style="color:#C24B33; font: 15px; font-weight: bold; "/></td>
               </tr>
           </table>
        </rich:modalPanel>
pour le bouton :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
<a4j:commandButton value="build" action="#{ProjectBean.buildhudson}"
							styleClass="submitButton" reRender="form"
							image="/images/clock.png" style="button" id ="jobbuild" 
							onclick="#{rich:component('waitPanel')}.show()" oncomplete="#{rich:component('waitPanel')}.hide()"
							>
							<rich:toolTip>
								<span style="white-space: nowrap"><h:outputText
									value="Build" /></span>
							</rich:toolTip>
						</a4j:commandButton>
et voici ma methode
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
 
 
public void buildhudson() {
		log.info("begin:buildHudson");
		HttpClient client = new HttpClient();
		HudsonJasforge hudson = new HudsonJasforge();
		try {
			hudson.launchBuild(client, ConstantHudson.HudsonURL,
					selectedProject.getShortname());
 
 
		} catch (Exception ex) {
			log.error("exception during hudson delete :" + ex);
			ex.getStackTrace();
		}
		log.info("End:Buildhudson");
	}
le problème c'est qu'il m'affiche bien le modelPanel avec le message et le .gif mais ca prend 2 ou 3 seconde comme si l'évènement se fait coté client et non pas coté serveur alors que le build réellement ça prend au minimum 20 seconde dans mon cas.
Merci pour votre aide d'avance.