# EMF EObjectContainmentEList - Bug oder Feature



## Ives (5. Mai 2006)

Hallo,

ich habe die Weiterentwicklung einer Anwendung übernommen. Diese nutzt das EMF-Framework. Im nachfolgenden Code sollen Werte aus einer vorhandenen Liste (EObjectContainmentEList) in eine neue geschrieben werden.

Merkwürdigerweise werden beim add der neuen Liste die Werte aus der alten gelöscht. Ist das ein Feature des Frameworks oder ein Bug? Beim Test mit einer ArrayList stehen die Werte wie beabsichtigt zum Schluss in beiden Listen. Aus der API bin ich auf Anhieb nicht schlau geworden.  Den Typ der Liste kann ich leider nicht ändern, kann mir jemand einen Tipp geben?

Danke & Gruss

Ives


```
// siehe Log: comp & l vom Typ EObjectContainmentEList

log.info("comp.getClass(): " +comp.getClass().getName() +", " +comp);
log.info("l.getClass():    " +l.getClass().getName() +", " +l);
log.info("comp.size() beginn: " +comp.size());
log.info("l.size() beginn:    " +l.size());

for (int i = 0; i < comp.size(); i++) {
    log.info("index i: " +i);
    Object o = comp.get(i);
    log.info("comp.size() vor add: " +comp.size());
    log.info("l.size() vor add:    " +l.size());
    l.add(o);
    log.info("comp.size() nach add: " +comp.size());
    log.info("l.size() nach add:    " +l.size());
}
```

Und hier die Logausgabe:


```
comp.getClass(): org.eclipse.emf.ecore.util.EObjectContainmentEList, 
  [@5c00016 (year: 2006, charge: 39), 
   @5ea4016 (year: 2007, charge: 66), 
   @5fe4016 (year: 2008, charge: 64)]
l.getClass():    org.eclipse.emf.ecore.util.EObjectContainmentEList, []
comp.size() beginn: 3
l.size() beginn:    0
index i: 0
comp.size() vor add: 3
l.size() vor add:    0
comp.size() nach add: 2   // ==> merkwürdig, oder?
l.size() nach add:    1
```


----------



## Ives (8. Mai 2006)

Hallo,

kann hier keiner einen Tipp geben? Vielleicht lag es ja am Titel meiner Frage.

Danke & Gruss

Ives


----------



## Ives (16. Mai 2006)

Ist Feature!


----------

