bonjour à tous,

Je rencontre un problème à l'affichage de mon application web

javax.el.PropertyNotFoundException: Property 'onAjoutProjetButton' not found on type fr.itldev.tazaWebapp.projet.ListeProjets
et je n'arrive pas à voir où est le problème dans les fichiers en rapport.

ListeProjets.java
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
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
 
/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package fr.itldev.tazaWebapp.projet;
 
import fr.itldev.model.HistoBuild;
 
import fr.itldev.tazaWebapp.data.DataAccess;
import fr.itldev.model.Projet;
import fr.itldev.service.GitService;
import fr.itldev.service.MvnService;
import fr.itldev.tazaWebapp.util.NavigationCases;
import java.io.IOException;
import java.util.List;
import javax.faces.application.FacesMessage;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.ViewScoped;
import javax.faces.context.FacesContext;
import org.primefaces.event.SelectEvent;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
 
/**
 *
 * @author 007micke
 */
@Component
@ManagedBean
@ViewScoped
public class ListeProjets {
 
    @Autowired
    DataAccess dataAccess;
    private Projet projetSelectionne;
    private HistoBuild build;
    private List<HistoBuild> builds;
 
    public Projet getProjetSelectionne() {
        return projetSelectionne;
    }
 
    public void setProjetSelectionne(Projet projetSelectionne) {
        this.projetSelectionne = projetSelectionne;
    }
 
 
 
    public void onRowSelect(SelectEvent event) {
        try {
            projetSelectionne = (Projet) event.getObject();
            dataAccess.setProjetCourant(projetSelectionne);
            FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_INFO, "Info", "vous venez de selectioner le projet " + projetSelectionne.getNomProjet() + " avec succés!"));
        } catch (Exception ex) {
            FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_ERROR, "Erreur", ex.getMessage()));
        }
    }
 
    public String onAjoutProjetButton(){
        dataAccess.setProjetCourant(new Projet());
        return NavigationCases.AJOUT_PROJET;
    }
 
    public void onMajButton(){
        try {
            GitService.gitSynchro(projetSelectionne);
            FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_INFO, "Info", "Mise à jour du projet " + projetSelectionne.getNomProjet() + " réussie!"));
        } catch (Exception ex) {
            FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_ERROR, "Erreur", ex.getMessage()));
        }
    }
 
    public void onBuildButton() {
        try {
            MvnService.builder(projetSelectionne);
            this.build = MvnService.copier(projetSelectionne);
            dataAccess.setBuild(projetSelectionne, build);
            FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_INFO, "Info", "Build du projet " + projetSelectionne.getNomProjet() + " réussie!"));
        } catch (Exception ex) {
            FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_ERROR, "Erreur", ex.getMessage()));
        }
    }
 
    public Projet afficherCommit(SelectEvent event){
        projetSelectionne = (Projet) event.getObject();
        dataAccess.setProjetCourant(projetSelectionne);
        return projetSelectionne;
    }
}
listeProjets.xhtml
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
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
 
<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:h="http://java.sun.com/jsf/html"
      xmlns:ui="http://java.sun.com/jsf/facelets"
      xmlns:p="http://primefaces.org/ui"
      xmlns:f="http://java.sun.com/jsf/core">
    <h:body>
        <ui:composition template="/WEB-INF/inc-templates/main-template.xhtml">
            <ui:param name="titrePage" value="Liste des projets" />
            <ui:define name="content">
 
                <p:messages id="messages" showDetail="true" autoUpdate="true" closable="true" /> 
                <p:dataTable var="projet" value="#{dataAccess.projets}" selectionMode="single"
                             selection="#{dataAccess.projetCourant}" rowKey="#{projet.nomProjet}" editable="true">
                    <!--<p:ajax event="rowSelect" listener="#{listeProjets.onRowSelect}"/>-->
                    <p:ajax event="rowSelect" update=":form:tabView:displayProjet :form:tabView:displayCommit :form:tabView" oncomplete="dlg.show()"/>
                    <p:column headerText="Modifier" style="width:2%">
                        <p:commandButton action="#{listeProjets.onAjoutProjetButton()}" icon="ui-icon-pencil"/>
                    </p:column>
                    <p:column headerText="Nom Projet">
                        <h:outputText value="#{projet.nomProjet}"/>
                    </p:column>
                    <p:column headerText="Format d'archive" style="width:10%">
                        <p:cellEditor>
                            <f:facet name="output">
                                <h:outputText value="#{projet.formatArchive}"/>
                            </f:facet>
                            <f:facet name="input">
                                <h:inputText value="#{projet.formatArchive}" style="width:100%"/>
                            </f:facet>
                        </p:cellEditor>
                    </p:column>
                    <p:column headerText="Dernier commit">
                        <h:outputText value="#{projet.commit.nomCommit}"/>
                    </p:column>
                    <p:column headerText="Etat projet">
                        <h:outputText value="à jour"/>
                        <p:commandButton action="#{listeProjets.onMajButton()}" icon="ui-icon-refresh"/>
                    </p:column>
                    <p:column headerText="New Build" style="text-align: center">
                        <p:commandButton action="#{listeProjets.onBuildButton()}" icon="ui-icon-gear"/>
                    </p:column>
                    <p:column>
                        <p:rowEditor/>
                    </p:column>
                </p:dataTable>
 
                <!-- Début du pop'up -->
                <p:dialog header="Infos lié au projet #{dataAccess.projetCourant.nomProjet}" widgetVar="dlg" resizable="false">
                    <p:tabView id="tabView">
                        <p:tab id="tabProjet" title="Detail du projet">
                            <h:panelGrid id="displayProjet" columns="2" style="margin-bottom:10px">
                                <h:outputText value="Nom du projet :"/>
                                <h:outputText value="#{dataAccess.projetCourant.nomProjet}"/>
 
                                <h:outputText value="Emplacement local :"/>
                                <h:outputText value="#{dataAccess.projetCourant.repoLocal}"/>
 
                                <h:outputText value="Emplacement GIT :"/>
                                <h:outputText value="#{dataAccess.projetCourant.repoDistant}"/>
                            </h:panelGrid>
                        </p:tab>
                        <p:tab id="tabCommit" title="Dernier Commit">
                            <h:panelGrid id="displayCommit" columns="2" style="margin-bottom:10px">  
                                <h:outputText value="idCommit:" />  
                                <h:outputText value="#{dataAccess.projetCourant.commit.id}" />  
 
                                <h:outputText value="nomCommit:" />  
                                <h:outputText value="#{dataAccess.projetCourant.commit.nomCommit}" />  
 
                                <h:outputText value="dateCommit:" />  
                                <h:outputText value="#{dataAccess.projetCourant.commit.dateCommit}"/>  
                            </h:panelGrid>
                        </p:tab>
                        <p:tab id="tabBuild" title="Liste des Builds">
                            <h:dataTable id="displayBuild" var="build" value="#{dataAccess.projetCourant.histoBuilds}">  
                                <f:facet name="header">
                                    Liste des Builds pour le projet #{dataAccess.projetCourant.nomProjet}
                                </f:facet>
                                <p:column headerText="Nom de l'archive">
                                    <h:outputText value="#{build.nomBuild}"/>
                                </p:column>
                                <p:column headerText="Dossier de l'archive">
                                    <h:outputText value="#{build.dirBuild}"/>
                                </p:column>
                                <p:column headerText="Date de création du dossier">
                                    <h:outputText value="#{build.dateBuild}"/>
                                </p:column>
                                <f:facet name="footer">
                                    <p:commandButton value="Download" icon="ui-icon-arrowthichk-n"/>
                                </f:facet>
                            </h:dataTable>
                        </p:tab>
                    </p:tabView>
 
                </p:dialog>
 
                <p:commandButton action="#{listeProjets.onAjoutProjetButton()}" value="Ajouter un projet"/>
                <p:commandButton action="#{listeProjets.onMajButton()}" value="MàJ Projet"/>
                <p:commandButton action="#{listeProjets.onBuildButton()}" value="Build Projet"/>
            </ui:define>
        </ui:composition>
    </h:body>
</html>
Merci d'avance pour toute l'aide