IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JSF Java Discussion :

JAVA/JSF/EJB Problème de test d'égalité


Sujet :

JSF Java

  1. #1
    Membre habitué
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Février 2015
    Messages
    402
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 65
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Service public

    Informations forums :
    Inscription : Février 2015
    Messages : 402
    Points : 153
    Points
    153
    Par défaut JAVA/JSF/EJB Problème de test d'égalité
    Bonjour,

    Dans un test, je veux de comparer 2 valeurs entre elles, mais le résultat est toujours faux.

    Je compare une String d'un tableau avec un int converti en String.

    J'ai essayé avec .equals() mais dans ce cas j'ai l'erreur : "Erreur lors de l’injection de ressources dans le bean géré «tableauBordManagerBean»" !

    Existe-t-il une solution ? Merci pour votre aide...

    Voici mon code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    for (int i = 0; i < getNombreColonne(); i++) {
     
       for (int j = 0; j < getListeParametre().size(); j++) {
     
           if (getListeParametre().get(j).getValeur2() == Integer.toString(i))

  2. #2
    Membre éprouvé
    Avatar de Cafeinoman
    Homme Profil pro
    Couteau suisse d'une PME
    Inscrit en
    Octobre 2012
    Messages
    628
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Couteau suisse d'une PME

    Informations forums :
    Inscription : Octobre 2012
    Messages : 628
    Points : 1 256
    Points
    1 256
    Par défaut
    As tu essayé d'inverser le equals?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Integer.toString(i).equals(taValeur)
    Ton bean a bien une méthode equals de définie ?
    «Dieu ne joue pas aux dés.» - Albert Einstein. Et pan! 30 ans de retard dans la théorie quantique!
    «Tout n'est pas politique, mais la politique s'intéresse à tout.» - Nicolas Machiavel. Et surtout à ceux qui ne s'y intéressent pas.

  3. #3
    Membre habitué
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Février 2015
    Messages
    402
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 65
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Service public

    Informations forums :
    Inscription : Février 2015
    Messages : 402
    Points : 153
    Points
    153
    Par défaut
    J'obtiens une erreur : Erreur lors de l’injection de ressources dans le bean géré

    Que veux-tu dire par méthode equals définie dans le bean ??

  4. #4
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    Citation Envoyé par denisduval75 Voir le message
    J'obtiens une erreur : Erreur lors de l’injection de ressources dans le bean géré
    Faudrait nous donner un peu plus de code là. L'erreur n'a rien à voir avec le equals. Il nous faudrait la stacktrace complète et le code de l'EJB qui a l'erreur.

  5. #5
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 310
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 310
    Points : 9 522
    Points
    9 522
    Billets dans le blog
    1
    Par défaut
    L'égalité de 2 String se teste par equals...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    if (getListeParametre().get(j).getValeur2().equals(Integer.toString(i)))
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  6. #6
    Membre éprouvé
    Avatar de Cafeinoman
    Homme Profil pro
    Couteau suisse d'une PME
    Inscrit en
    Octobre 2012
    Messages
    628
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Couteau suisse d'une PME

    Informations forums :
    Inscription : Octobre 2012
    Messages : 628
    Points : 1 256
    Points
    1 256
    Par défaut
    Citation Envoyé par denisduval75 Voir le message
    J'obtiens une erreur : Erreur lors de l’injection de ressources dans le bean géré

    Que veux-tu dire par méthode equals définie dans le bean ??
    Au temps pour moi, tu compares deux String, pas deux bean, la définition de equals est donc évidente. L'erreur ne viens sans doute pas directement de l'appel à equals, qui n'a rien à voir avec l'injection de l'ejb. Je rejoins donc tchize_, il faut absolument ta stacktrace complète, ainsi sans doute que les méthodes de tes propres bean qui sont mentionnées dans celle-ci.
    «Dieu ne joue pas aux dés.» - Albert Einstein. Et pan! 30 ans de retard dans la théorie quantique!
    «Tout n'est pas politique, mais la politique s'intéresse à tout.» - Nicolas Machiavel. Et surtout à ceux qui ne s'y intéressent pas.

  7. #7
    Membre habitué
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Février 2015
    Messages
    402
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 65
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Service public

    Informations forums :
    Inscription : Février 2015
    Messages : 402
    Points : 153
    Points
    153
    Par défaut
    Voici plus d'infos pour mon problème :

    Impossible de tester avec "==" (toujours faux)
    +
    Erreur EJB avec ".equals()"

    MERCI BEAUCOUP

    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
     
    @ManagedBean
    @ViewScoped
    public class TableauBordGroupe {
     
        private String[][] tableauGroupes
                = {{
                    "idPanel0", "idPanel1", "idPanel2", "idPanel3", "idPanel4", "idPanel5"},
                {
                    "Technologies web et dérivées",
                    "Techniques informatique et électronique évoluées",
                    "Ensemble des techniques liées à la téléphonie",
                    "Technologies identifiées de niveau I",
                    "Technologies identifiées de niveau II",
                    "Technologies identifiées de niveau III"
                }
                };
     
        private String groupeIdPanel;
        private String groupeEntete;
        private String groupeLegende;
        private String groupePictoDossier;
        private boolean groupeAfficher;
        private List<TableauBordLien> groupeListeLiens = null;
     
        public TableauBordGroupe() {
        }
     
        public TableauBordGroupe(String idPanel, String entete, String legende, String pictoDossier, boolean afficher, List<TableauBordLien> listeLiens) {
     
            setGroupeIdPanel(idPanel);
            setGroupeLegende(legende);
            setGroupePictoDossier(pictoDossier);
            setGroupeAfficher(afficher);
            setGroupeListeLiens(listeLiens);
     
            int i = 0;
     
            while (tableauGroupes[0][i] != idPanel) {
                i++;
            }
     
            setGroupeEntete(tableauGroupes[1][i]);
     
        }
    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
    @ManagedBean
    @ViewScoped
    public class TableauBordManagerBean implements Serializable {
    
        private List<Parametre> listeParametre;
    
        private List<String> listePictoDossier;
    
        private List<TableauBordGroupe> listeTableauBordGroupe;
        private List<TableauBordLien> listeTableauBordLien;
    
        private int nombreColonne;
    
        private DashboardModel model;
        private List<DashboardColumn> listeTableauBordColonne;
    
        public TableauBordManagerBean() {
        }
    
        @PostConstruct
        public void init() {
    
            // Liste des pictos dossier utilisés
            setListePictoDossier(new ArrayList<>());
            getListePictoDossier().add("Folder Silver Icon");
            getListePictoDossier().add("Folder Blue Icon");
            getListePictoDossier().add("Folder Green Icon");
            getListePictoDossier().add("Folder Turqoise Icon");
            getListePictoDossier().add("Folder Yellow Icon");
            getListePictoDossier().add("Folder Orange Icon");
            getListePictoDossier().add("Folder Red Icon");
            getListePictoDossier().add("Folder Purple Icon");
    
            // Liste des paramètres
            setListeParametre(new ArrayList<>()); // <<<<<<<<<<<<< Recuperer ici les infos de la table des paramètres : colonnes, panels
            getListeParametre().add(new Parametre(0, null, "idPanel0", "Folder Silver Icon", "0", "0", null, null));
            getListeParametre().add(new Parametre(0, null, "idPanel1", "Folder Silver Icon", "0", "1", null, null));
            getListeParametre().add(new Parametre(0, null, "idPanel2", "Folder Silver Icon", "1", "0", null, null));
            getListeParametre().add(new Parametre(0, null, "idPanel3", "Folder Silver Icon", "1", "1", null, null));
            getListeParametre().add(new Parametre(0, null, "idPanel4", "Folder Silver Icon", "2", "0", null, null));
            getListeParametre().add(new Parametre(0, null, "idPanel5", "Folder Silver Icon", "3", "0", null, null));
    
            setNombreColonne(4); // <<<<<<<<<<<< Récupérer le nombre de colonnes
    
            setModel(new DefaultDashboardModel());
    
            setListeTableauBordColonne(new ArrayList<>());
    
            setListeTableauBordGroupe(new ArrayList<>());
    
            for (int i = 0; i < getNombreColonne(); i++) {
    
                getListeTableauBordColonne().add(new DefaultDashboardColumn());
    
                for (int j = 0; j < getListeParametre().size(); j++) {
                    
                   if (Integer.toString(i).equals(getListeParametre().get(j).getValeur2())) {
    
                        getListeTableauBordColonne().get(i).addWidget(getListeParametre().get(j).getNom());
                        
                        getListeTableauBordGroupe().add(new TableauBordGroupe("idPanel" + j, null, null, null, true, listeTableauBordLien));
                    }
                }
                getModel().addColumn(getListeTableauBordColonne().get(i));
            }

    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
     
    com.sun.faces.mgbean.ManagedBeanCreationException: Erreur lors de l’injection de ressources dans le bean géré «tableauBordManagerBean»
    	at com.sun.faces.mgbean.BeanBuilder.invokePostConstruct(BeanBuilder.java:227)
    	at com.sun.faces.mgbean.BeanBuilder.build(BeanBuilder.java:103)
    	at com.sun.faces.mgbean.BeanManager.createAndPush(BeanManager.java:409)
    	at com.sun.faces.mgbean.BeanManager.create(BeanManager.java:269)
    	at com.sun.faces.el.ManagedBeanELResolver.resolveBean(ManagedBeanELResolver.java:257)
    	at com.sun.faces.el.ManagedBeanELResolver.getValue(ManagedBeanELResolver.java:117)
    	at com.sun.faces.el.DemuxCompositeELResolver._getValue(DemuxCompositeELResolver.java:176)
    	at com.sun.faces.el.DemuxCompositeELResolver.getValue(DemuxCompositeELResolver.java:203)
    	at com.sun.el.parser.AstIdentifier.getValue(AstIdentifier.java:116)
    	at com.sun.el.parser.AstValue.getBase(AstValue.java:151)
    	at com.sun.el.parser.AstValue.getValue(AstValue.java:200)
    	at com.sun.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:226)
    	at org.jboss.weld.el.WeldValueExpression.getValue(WeldValueExpression.java:50)
    	at com.sun.faces.facelets.el.TagValueExpression.getValue(TagValueExpression.java:109)
    	at com.sun.faces.facelets.tag.jstl.core.ForEachHandler.apply(ForEachHandler.java:164)
    	at javax.faces.view.facelets.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:95)
    	at javax.faces.view.facelets.DelegatingMetaTagHandler.applyNextHandler(DelegatingMetaTagHandler.java:137)
    	at com.sun.faces.facelets.tag.jsf.ComponentTagHandlerDelegateImpl.apply(ComponentTagHandlerDelegateImpl.java:202)
    	at javax.faces.view.facelets.DelegatingMetaTagHandler.apply(DelegatingMetaTagHandler.java:120)
    	at javax.faces.view.facelets.DelegatingMetaTagHandler.applyNextHandler(DelegatingMetaTagHandler.java:137)
    	at com.sun.faces.facelets.tag.jsf.ComponentTagHandlerDelegateImpl.apply(ComponentTagHandlerDelegateImpl.java:202)
    	at javax.faces.view.facelets.DelegatingMetaTagHandler.apply(DelegatingMetaTagHandler.java:120)
    	at javax.faces.view.facelets.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:95)
    	at javax.faces.view.facelets.DelegatingMetaTagHandler.applyNextHandler(DelegatingMetaTagHandler.java:137)
    	at com.sun.faces.facelets.tag.jsf.ComponentTagHandlerDelegateImpl.apply(ComponentTagHandlerDelegateImpl.java:202)
    	at javax.faces.view.facelets.DelegatingMetaTagHandler.apply(DelegatingMetaTagHandler.java:120)
    	at javax.faces.view.facelets.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:95)
    	at javax.faces.view.facelets.DelegatingMetaTagHandler.applyNextHandler(DelegatingMetaTagHandler.java:137)
    	at com.sun.faces.facelets.tag.jsf.ComponentTagHandlerDelegateImpl.apply(ComponentTagHandlerDelegateImpl.java:202)
    	at javax.faces.view.facelets.DelegatingMetaTagHandler.apply(DelegatingMetaTagHandler.java:120)
    	at javax.faces.view.facelets.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:95)
    	at javax.faces.view.facelets.DelegatingMetaTagHandler.applyNextHandler(DelegatingMetaTagHandler.java:137)
    	at com.sun.faces.facelets.tag.jsf.ComponentTagHandlerDelegateImpl.apply(ComponentTagHandlerDelegateImpl.java:202)
    	at javax.faces.view.facelets.DelegatingMetaTagHandler.apply(DelegatingMetaTagHandler.java:120)
    	at com.sun.faces.facelets.tag.jsf.core.ViewHandler.apply(ViewHandler.java:225)
    	at javax.faces.view.facelets.DelegatingMetaTagHandler.applyNextHandler(DelegatingMetaTagHandler.java:137)
    	at com.sun.faces.facelets.tag.jsf.ComponentTagHandlerDelegateImpl.apply(ComponentTagHandlerDelegateImpl.java:202)
    	at javax.faces.view.facelets.DelegatingMetaTagHandler.apply(DelegatingMetaTagHandler.java:120)
    	at javax.faces.view.facelets.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:95)
    	at com.sun.faces.facelets.compiler.NamespaceHandler.apply(NamespaceHandler.java:93)
    	at com.sun.faces.facelets.compiler.EncodingHandler.apply(EncodingHandler.java:87)
    	at com.sun.faces.facelets.impl.DefaultFacelet.apply(DefaultFacelet.java:161)
    	at com.sun.faces.application.view.FaceletViewHandlingStrategy.buildView(FaceletViewHandlingStrategy.java:1006)
    	at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:99)
    	at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
    	at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:219)
    	at javax.faces.webapp.FacesServlet.service(FacesServlet.java:659)
    	at org.apache.catalina.core.StandardWrapper.service(StandardWrapper.java:1682)
    	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:318)
    	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:160)
    	at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:734)
    	at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:673)
    	at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:99)
    	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:174)
    	at org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java:416)
    	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:283)
    	at com.sun.enterprise.v3.services.impl.ContainerMapper$HttpHandlerCallable.call(ContainerMapper.java:459)
    	at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:167)
    	at org.glassfish.grizzly.http.server.HttpHandler.runService(HttpHandler.java:206)
    	at org.glassfish.grizzly.http.server.HttpHandler.doHandle(HttpHandler.java:180)
    	at org.glassfish.grizzly.http.server.HttpServerFilter.handleRead(HttpServerFilter.java:235)
    	at org.glassfish.grizzly.filterchain.ExecutorResolver$9.execute(ExecutorResolver.java:119)
    	at org.glassfish.grizzly.filterchain.DefaultFilterChain.executeFilter(DefaultFilterChain.java:283)
    	at org.glassfish.grizzly.filterchain.DefaultFilterChain.executeChainPart(DefaultFilterChain.java:200)
    	at org.glassfish.grizzly.filterchain.DefaultFilterChain.execute(DefaultFilterChain.java:132)
    	at org.glassfish.grizzly.filterchain.DefaultFilterChain.process(DefaultFilterChain.java:111)
    	at org.glassfish.grizzly.ProcessorExecutor.execute(ProcessorExecutor.java:77)
    	at org.glassfish.grizzly.nio.transport.TCPNIOTransport.fireIOEvent(TCPNIOTransport.java:536)
    	at org.glassfish.grizzly.strategies.AbstractIOStrategy.fireIOEvent(AbstractIOStrategy.java:112)
    	at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy.run0(WorkerThreadIOStrategy.java:117)
    	at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy.access$100(WorkerThreadIOStrategy.java:56)
    	at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy$WorkerThreadRunnable.run(WorkerThreadIOStrategy.java:137)
    	at org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:591)
    	at org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.run(AbstractThreadPool.java:571)
    	at java.lang.Thread.run(Thread.java:745)
    Caused by: com.sun.faces.spi.InjectionProviderException: com.sun.enterprise.container.common.spi.util.InjectionException: Exception attempting invoke lifecycle  method public void logic.TableauBordManagerBean.init()
    	at org.glassfish.faces.integration.GlassFishInjectionProvider.invokePostConstruct(GlassFishInjectionProvider.java:231)
    	at com.sun.faces.mgbean.BeanBuilder.invokePostConstruct(BeanBuilder.java:221)
    	... 74 more
    Caused by: com.sun.enterprise.container.common.spi.util.InjectionException: Exception attempting invoke lifecycle  method public void logic.TableauBordManagerBean.init()
    	at org.glassfish.faces.integration.GlassFishInjectionProvider.invokeLifecycleMethod(GlassFishInjectionProvider.java:393)
    	at org.glassfish.faces.integration.GlassFishInjectionProvider.invokePostConstruct(GlassFishInjectionProvider.java:306)
    	at org.glassfish.faces.integration.GlassFishInjectionProvider.invokePostConstruct(GlassFishInjectionProvider.java:229)
    	... 75 more
    Caused by: java.security.PrivilegedActionException: java.lang.reflect.InvocationTargetException
    	at java.security.AccessController.doPrivileged(Native Method)
    	at org.glassfish.faces.integration.GlassFishInjectionProvider.invokeLifecycleMethod(GlassFishInjectionProvider.java:376)
    	... 77 more
    Caused by: java.lang.reflect.InvocationTargetException
    	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    	at java.lang.reflect.Method.invoke(Method.java:498)
    	at org.glassfish.faces.integration.GlassFishInjectionProvider$2.run(GlassFishInjectionProvider.java:382)
    	... 79 more
    Caused by: java.lang.ArrayIndexOutOfBoundsException: 6
    	at model.TableauBordGroupe.<init>(TableauBordGroupe.java:59)
    	at logic.TableauBordManagerBean.init(TableauBordManagerBean.java:80)
    	... 84 more

  8. #8
    Membre éprouvé
    Avatar de Cafeinoman
    Homme Profil pro
    Couteau suisse d'une PME
    Inscrit en
    Octobre 2012
    Messages
    628
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Couteau suisse d'une PME

    Informations forums :
    Inscription : Octobre 2012
    Messages : 628
    Points : 1 256
    Points
    1 256
    Par défaut
    Le problème vient bien d'une égalité de String, mais pas de celle là. C'est ici :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    while (tableauGroupes[0][i] != idPanel) {
        i++;
    }
    l'inégalité sera toujours vrai, puisque tu ne teste pas avec equals... et donc le i continue à s'incrémenter jusqu'à avoir une ArrayIndexOutOfBoundsException ! Il faut tester avec

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    !tableauGroupes[0][i].equals(idPanel)
    même si le mieux serais une boucle for que tu break, histoire d'être sûr de ne pas lever l'exception... du style

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    String foundGroupeEntete = null;
    for (int i = 0; i < tableauGroupes[0].length; i++) {
        if(tableauGroupes[0][i].equals(idPanel)){
            foundGroupeEntete = tableauGroupes[1][i];
            break;
        }
    }
     
    if(foundGroupeEntete == null) {
        throw new RuntimeException();
    } else {
        setGroupeEntete(foundGroupeEntete);
    }
    ou encore utiliser une Map<String,String> plutôt qu'un String[][], ce qui t'éviterai les boucle...

    Autre chose, tu fait un

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    new TableauBordGroupe("idPanel" + j, null, null, null, true, listeTableauBordLien)
    je pense que cela peut poser problème puisque c'est un ManagedBean avec un scope (à vérifier, je n'ai pas utilisé JSF sans CDI depuis un bail...)
    «Dieu ne joue pas aux dés.» - Albert Einstein. Et pan! 30 ans de retard dans la théorie quantique!
    «Tout n'est pas politique, mais la politique s'intéresse à tout.» - Nicolas Machiavel. Et surtout à ceux qui ne s'y intéressent pas.

  9. #9
    Membre habitué
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Février 2015
    Messages
    402
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 65
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Service public

    Informations forums :
    Inscription : Février 2015
    Messages : 402
    Points : 153
    Points
    153
    Par défaut
    Ça marche ! Merci vraiment pour ton aide. Trois jours que je galère !

    Mais j'ai une petite question de débutant à te poser :

    pourquoi :

    Integer.toString(i).equals(getListeParametre().get(j).getValeur2()) <-- fonctionne

    Integer.toString(i) == getListeParametre().get(j).getValeur2() <-- ne fonctionne pas

    ou

    !tableauGroupes[0][i].equals(idPanel) <-- fonctionne

    tableauGroupes[0][i] != idPanel <-- ne fonctionne pas

    MERCI et encore MERCI

  10. #10
    Membre expérimenté Avatar de Cincinnatus
    Homme Profil pro
    Développeur d'applications métier
    Inscrit en
    Mars 2007
    Messages
    592
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur d'applications métier
    Secteur : Service public

    Informations forums :
    Inscription : Mars 2007
    Messages : 592
    Points : 1 679
    Points
    1 679
    Par défaut
    Citation Envoyé par denisduval75 Voir le message
    Mais j'ai une petite question de débutant à te poser :

    pourquoi :

    Integer.toString(i).equals(getListeParametre().get(j).getValeur2()) <-- fonctionne

    Integer.toString(i) == getListeParametre().get(j).getValeur2() <-- ne fonctionne pas

    ou

    !tableauGroupes[0][i].equals(idPanel) <-- fonctionne

    tableauGroupes[0][i] != idPanel <-- ne fonctionne pas

    cf http://jmdoudoux.developpez.com/cour...echniques_java

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    97.2.2. La méthode equals()
    
    
    L'opérateur == vérifie si deux objets sont identiques : il compare que les deux objets possèdent la même référence mémoire et sont donc en fait le même objet.
    
    Deux objets identiques sont égaux mais deux objets égaux ne sont pas forcement identiques.
    Le == vérifie ici l'identité des objets comparés. Le equals compare leurs valeurs.

  11. #11
    Membre habitué
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Février 2015
    Messages
    402
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 65
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Service public

    Informations forums :
    Inscription : Février 2015
    Messages : 402
    Points : 153
    Points
    153
    Par défaut
    Merci tout s'éclaire !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Problème de test d'EJB Eclipse + GlassFish 3
    Par tchernogod dans le forum Glassfish et Payara
    Réponses: 2
    Dernier message: 25/11/2011, 10h35
  2. Réponses: 8
    Dernier message: 30/06/2010, 14h06
  3. [XSLT] Problème de test d'égalité
    Par gluc86 dans le forum XSL/XSLT/XPATH
    Réponses: 1
    Dernier message: 16/09/2009, 10h55
  4. JAVA EE EJB et JSP/JSF
    Par Damien2888 dans le forum JSF
    Réponses: 3
    Dernier message: 05/01/2009, 12h19
  5. Réponses: 3
    Dernier message: 12/02/2008, 16h19

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo