1 | @Override | | 1 | @Override |
2 | protected void updateListeners(Object oldOwner, Object newOwner) { | | 2 | protected void updateListeners(Object oldOwner, Object newOwner) { |
3 | Set<Object[]> l = new HashSet<Object[]>(); | | 3 | Set<Object[]> lst = new HashSet<Object[]>(); |
4 | if (newOwner != null) { | | 4 | if (newOwner != null) { |
5 | // add the listeners to the newOwner | | 5 | // add the listeners to the newOwner |
6 | l.add(new Object[] {newOwner, null}); | | 6 | lst.add(new Object[] {newOwner, null}); |
7 | | | 7 | // and its stereotypes |
8 | Collection c = Model.getFacade().getStereotypes(newOwner); | | 8 | for (Object stereo : Model.getFacade().getStereotypes(newOwner)) { |
9 | Iterator i = c.iterator(); | | 9 | lst.add(new Object[] {stereo, null}); |
10 | while (i.hasNext()) { | | 10 | } |
11 | Object st = i.next(); | | 11 | // and its features |
12 | l.add(new Object[] {st, "name"}); | | 12 | for (Object feat : Model.getFacade().getFeatures(newOwner)) { |
13 | } | | 13 | lst.add(new Object[] {feat, null}); |
14 | } | | 14 | // and the stereotypes of its features |
15 | updateElementListeners(l); | | 15 | for (Object stereo : Model.getFacade().getStereotypes(feat)) { |
16 | } | | 16 | lst.add(new Object[] {stereo, null}); |
| | | 17 | } |
| | | 18 | } |
| | | 19 | // and its enumerationLiterals |
| | | 20 | for (Object literal : Model.getFacade().getEnumerationLiterals( |
| | | 21 | newOwner)) { |
| | | 22 | lst.add(new Object[] {literal, null}); |
| | | 23 | } |
| | | 24 | } |
| | | 25 | // And now add listeners to them all: |
| | | 26 | updateElementListeners(lst); |
| | | 27 | |
| | | 28 | } |