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 Platform Discussion :

[EMF] suppression du dernier élément d une collection


Sujet :

Eclipse Platform

  1. #1
    Inactif  
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    2 189
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2006
    Messages : 2 189
    Points : 2 336
    Points
    2 336
    Par défaut [EMF] suppression du dernier élément d une collection
    Hello,

    J'ai un petit soucie avec la suppression du dernier élément d'une collection.

    J execute le code suivant

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    	/**
             * Executes the command.
             */
    	public void execute() {
    		selectedChildIndex = child.getIndexOfSelectedChild();
    		selectedChild = child.getContents().get(selectedChildIndex);
    		child.getContents().remove(selectedChild);
    	}
    et j obtiens l'exception suivante :

    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
     
    org.eclipse.swt.SWTException: Failed to execute runnable (org.eclipse.emf.common.util.BasicEList$BasicIndexOutOfBoundsException: index=0, size=0)
    	at org.eclipse.swt.SWT.error(SWT.java:3563)
    	at org.eclipse.swt.SWT.error(SWT.java:3481)
    	at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:126)
    	at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:3659)
    	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3296)
    	at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2389)
    	at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2353)
    	at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2219)
    	at org.eclipse.ui.internal.Workbench$4.run(Workbench.java:466)
    	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:289)
    	at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:461)
    	at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
    	at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:106)
    	at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:169)
    	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:106)
    	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:76)
    	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:363)
    	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:176)
    	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    	at java.lang.reflect.Method.invoke(Unknown Source)
    	at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:508)
    	at org.eclipse.equinox.launcher.Main.basicRun(Main.java:447)
    	at org.eclipse.equinox.launcher.Main.run(Main.java:1173)
    	at org.eclipse.equinox.launcher.Main.main(Main.java:1148)
    Caused by: org.eclipse.emf.common.util.BasicEList$BasicIndexOutOfBoundsException: index=0, size=0
    	at org.eclipse.emf.common.util.BasicEList.get(BasicEList.java:535)
    	at com.odcgroup.page.ui.figure.AbstractHeaderFigure.getIndexOfSelectedItem(AbstractHeaderFigure.java:99)
    	at com.odcgroup.page.ui.figure.AbstractHeaderFigure.paintSpecificFigure(AbstractHeaderFigure.java:243)
    	at com.odcgroup.page.ui.figure.AbstractTranslatedWidgetFigure.paintFigure(AbstractTranslatedWidgetFigure.java:41)
    	at org.eclipse.draw2d.Figure.paint(Figure.java:1049)
    	at com.odcgroup.page.ui.figure.AbstractWidgetFigure.paint(AbstractWidgetFigure.java:147)
    	at org.eclipse.draw2d.Figure.paintChildren(Figure.java:1087)
    	at org.eclipse.draw2d.Figure.paintClientArea(Figure.java:1114)
    	at com.odcgroup.page.ui.figure.BoxFigure.paintClientArea(BoxFigure.java:269)
    	at org.eclipse.draw2d.Figure.paint(Figure.java:1051)
    	at com.odcgroup.page.ui.figure.AbstractWidgetFigure.paint(AbstractWidgetFigure.java:147)
    	at com.odcgroup.page.ui.figure.Table.paint(Table.java:122)
    	at org.eclipse.draw2d.Figure.paintChildren(Figure.java:1087)
    	at org.eclipse.draw2d.Figure.paintClientArea(Figure.java:1114)
    	at com.odcgroup.page.ui.figure.BoxFigure.paintClientArea(BoxFigure.java:269)
    	at org.eclipse.draw2d.Figure.paint(Figure.java:1051)
    	at com.odcgroup.page.ui.figure.AbstractWidgetFigure.paint(AbstractWidgetFigure.java:147)
    	at org.eclipse.draw2d.Figure.paintChildren(Figure.java:1087)
    	at org.eclipse.draw2d.Figure.paintClientArea(Figure.java:1114)
    	at com.odcgroup.page.ui.figure.BoxFigure.paintClientArea(BoxFigure.java:269)
    	at org.eclipse.draw2d.Figure.paint(Figure.java:1051)
    	at com.odcgroup.page.ui.figure.AbstractWidgetFigure.paint(AbstractWidgetFigure.java:147)
    	at org.eclipse.draw2d.Figure.paintChildren(Figure.java:1087)
    	at org.eclipse.draw2d.Figure.paintClientArea(Figure.java:1119)
    	at org.eclipse.draw2d.Figure.paint(Figure.java:1051)
    	at org.eclipse.draw2d.Figure.paintChildren(Figure.java:1087)
    	at org.eclipse.draw2d.Figure.paintClientArea(Figure.java:1119)
    	at org.eclipse.draw2d.Figure.paint(Figure.java:1051)
    	at org.eclipse.draw2d.Figure.paintChildren(Figure.java:1087)
    	at org.eclipse.draw2d.Figure.paintClientArea(Figure.java:1119)
    	at org.eclipse.draw2d.ScalableLayeredPane.paintClientArea(ScalableLayeredPane.java:87)
    	at org.eclipse.draw2d.Figure.paint(Figure.java:1051)
    	at org.eclipse.draw2d.Figure.paintChildren(Figure.java:1087)
    	at org.eclipse.draw2d.Figure.paintClientArea(Figure.java:1119)
    	at org.eclipse.draw2d.Figure.paint(Figure.java:1051)
    	at org.eclipse.draw2d.Figure.paintChildren(Figure.java:1087)
    	at org.eclipse.draw2d.Figure.paintClientArea(Figure.java:1119)
    	at org.eclipse.draw2d.Viewport.paintClientArea(Viewport.java:156)
    	at org.eclipse.draw2d.Figure.paint(Figure.java:1051)
    	at org.eclipse.draw2d.Figure.paintChildren(Figure.java:1087)
    	at org.eclipse.draw2d.Figure.paintClientArea(Figure.java:1119)
    	at org.eclipse.draw2d.Figure.paint(Figure.java:1051)
    	at org.eclipse.draw2d.DeferredUpdateManager.paint(DeferredUpdateManager.java:153)
    	at org.eclipse.draw2d.LightweightSystem.paint(LightweightSystem.java:199)
    	at org.eclipse.draw2d.LightweightSystem$2.handleEvent(LightweightSystem.java:107)
    	at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:66)
    	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:938)
    	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:962)
    	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:947)
    	at org.eclipse.swt.widgets.Composite.WM_PAINT(Composite.java:1270)
    	at org.eclipse.swt.widgets.Control.windowProc(Control.java:3725)
    	at org.eclipse.swt.widgets.Canvas.windowProc(Canvas.java:291)
    	at org.eclipse.swt.widgets.Display.windowProc(Display.java:4364)
    	at org.eclipse.swt.internal.win32.OS.RedrawWindow(Native Method)
    	at org.eclipse.swt.widgets.Control.update(Control.java:3537)
    	at org.eclipse.swt.widgets.Control.update(Control.java:3527)
    	at org.eclipse.draw2d.NativeGraphicsSource.getGraphics(NativeGraphicsSource.java:43)
    	at org.eclipse.draw2d.DeferredUpdateManager.getGraphics(DeferredUpdateManager.java:136)
    	at org.eclipse.draw2d.DeferredUpdateManager.repairDamage(DeferredUpdateManager.java:286)
    	at org.eclipse.draw2d.DeferredUpdateManager.performUpdate(DeferredUpdateManager.java:179)
    	at org.eclipse.draw2d.DeferredUpdateManager$UpdateRequest.run(DeferredUpdateManager.java:46)
    	at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)
    	at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:123)
    	... 23 more
    Quelqu'un aurait il une idée de ce qui provoque ce résultat

  2. #2
    Membre expérimenté Avatar de yann2
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2004
    Messages
    897
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2004
    Messages : 897
    Points : 1 635
    Points
    1 635
    Par défaut
    Bonjour

    La liste child.getContents() est vide.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Caused by: org.eclipse.emf.common.util.BasicEList$BasicIndexOutOfBoundsException: index=0, size=0
    	at org.eclipse.emf.common.util.BasicEList.get(BasicEList.java:535)
    	at com.odcgroup.page.ui.figure.AbstractHeaderFigure.getIndexOfSelectedItem(AbstractHeaderFigure.java:99)
    	at com.odcgroup.page.ui.figure.AbstractHeaderFigure.paintSpecificFigure(AbstractHeaderFigure.java:243)
    Donc, c'est cette ligne qui plante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    selectedChild = child.getContents().get(selectedChildIndex);
    Yann

  3. #3
    Inactif  
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    2 189
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2006
    Messages : 2 189
    Points : 2 336
    Points
    2 336
    Par défaut
    hello,

    en fait l'erreur provenait d une autre méthode mais c était bel et bien un child.getContents().get(index) qui plantait

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

Discussions similaires

  1. [XL-2010] Gérer les suppressions d'éléments dans une collection et une double boucle
    Par Rayanea dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 22/10/2013, 09h08
  2. suppression d'un élément d'une collection
    Par rominous41 dans le forum VBA Access
    Réponses: 5
    Dernier message: 10/05/2011, 16h57
  3. Problème suppression élément d'une collection
    Par drake56 dans le forum Langage
    Réponses: 17
    Dernier message: 29/04/2010, 15h50
  4. [Hibernate] Suppression d'un element d'une collection
    Par K-Kaï dans le forum Hibernate
    Réponses: 8
    Dernier message: 31/05/2006, 15h15
  5. Réponses: 8
    Dernier message: 01/04/2006, 10h10

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