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

Eclipse Java Discussion :

[Dvlp plugin] CastException classe File dans méthode selectionChanged


Sujet :

Eclipse Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de snoop
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    354
    Détails du profil
    Informations personnelles :
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Novembre 2003
    Messages : 354
    Par défaut [Dvlp plugin] CastException classe File dans méthode selectionChanged
    Bonjour,
    Je tatonne dans le développement de plugin, et je suis confronté à un problème que je ne m'explique pas.
    Donc, j'ai ma classe MyAction qui implemente IObjectActionDelegate, et je veux récupérer la sélection en surchargeant la méthode selectionChanged(IAction action, ISelection selection) tel que :
    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
     
    	public void selectionChanged(IAction action, ISelection selection) {
    		if(!selection.isEmpty()){
    			if(selection instanceof IStructuredSelection){
    				IStructuredSelection ss = (IStructuredSelection)selection;
    				Object file=ss.getFirstElement();
    				try{
    						m_selectedFile=(org.eclipse.core.internal.resources.File)file;
    				}catch(Exception e){
    					System.out.println("EXCEP");
    					e.printStackTrace();
    				}
    			}
    		}
     
     }
    Le problème c'est qu'une exception est levée de type java.lang.ClassCastException: org.eclipse.core.internal.resources.File alors que quand je fais file.getClass() il me retourne bien org.eclipse.core.internal.resources.File ??

    Quelqu'un a-t-il déjà eu ce problème ??
    Merci

  2. #2
    Membre Expert Avatar de MarneusCalgarXP
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    911
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 911
    Par défaut
    Tout simplement parce que tu as peut-être recu plusieurs IStructuredObject, dont un auquel tu ne t'attends pas ! Il suffit de checker avant de caster pour éviter les problèmes :

    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
     
    	public void selectionChanged(IAction action, ISelection selection) {
    		if(!selection.isEmpty()){
    			if(selection instanceof IStructuredSelection){
    				IStructuredSelection ss = (IStructuredSelection)selection;
    				Object file=ss.getFirstElement();
    				try{
                                       if (file instanceof org.eclipse.core.internal.resources.File) {
    						m_selectedFile=(org.eclipse.core.internal.resources.File)file;
                                    }
    				}catch(Exception e){
    					System.out.println("EXCEP");
    					e.printStackTrace();
    				}
    			}
    		}
     
     }

  3. #3
    Membre éclairé Avatar de snoop
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    354
    Détails du profil
    Informations personnelles :
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Novembre 2003
    Messages : 354
    Par défaut
    Merci de m'aider...

    Cela ne marche pas plus (j'avais déjà essayé...)
    D'autres idées sont les bienvenues...

  4. #4
    Membre Expert Avatar de MarneusCalgarXP
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    911
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 911
    Par défaut
    Une autre idée oui : ta variable m_selectedFile, tu l'as déclarée de quel type ?

  5. #5
    Membre éclairé Avatar de snoop
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    354
    Détails du profil
    Informations personnelles :
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Novembre 2003
    Messages : 354
    Par défaut
    Merci MarneusCalgarXP pour ton aide, mais je viens de trouver d'où venait le problème : il venait de mes dépendances de plugin !
    maintenant, ça fonctionne !
    Merci

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 08/01/2010, 13h59
  2. Réponses: 15
    Dernier message: 28/04/2009, 07h26
  3. Close dans le destructeur de la classe file ?
    Par sopsag dans le forum Général Python
    Réponses: 3
    Dernier message: 04/04/2009, 16h23
  4. Réponses: 8
    Dernier message: 23/01/2009, 16h19
  5. [POO] Ajax.Request dans méthode de classe: récupérer réponse
    Par pyd001 dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 26/08/2008, 18h28

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