### Eclipse Workspace Patch 1.0
#P org.sophie2.base.commons
|
|
|
307 | 307 | } |
308 | 308 | |
309 | 309 | public ImmList<E> subList(int from, int to) { |
310 | | // TODO Auto-generated method stub |
311 | | return null; |
| 310 | return produce(asList().subList(from, to)); |
312 | 311 | } |
313 | 312 | |
314 | 313 | } |
#P org.sophie2.base.model.resources.r4
|
|
|
1 | 1 | package org.sophie2.base.model.resources.r4.changes; |
2 | 2 | |
| 3 | import java.util.HashMap; |
3 | 4 | import java.util.Map; |
| 5 | import java.util.Map.Entry; |
4 | 6 | |
5 | 7 | import org.sophie2.base.commons.util.ImmList; |
| 8 | import org.sophie2.base.commons.util.NaiveImmList; |
6 | 9 | import org.sophie2.base.model.resources.r4.ResourceRefR4; |
7 | 10 | import org.sophie2.base.model.resources.r4.keys.Key; |
8 | 11 | import org.sophie2.base.model.resources.r4.keys.RootKey; |
| 12 | import org.sophie2.base.model.resources.r4.keys.UndefinedKey; |
9 | 13 | import org.sophie2.base.model.resources.r4.resources.ResourceR4; |
10 | 14 | |
11 | 15 | /** |
… |
… |
|
38 | 42 | |
39 | 43 | @Override |
40 | 44 | public ImmList<Key<?>> getReads() { |
41 | | return this.parent.getReads(); |
| 45 | ImmList<Key<?>> parentReads = this.parent.getReads(); |
| 46 | ImmList<Key<?>> res = NaiveImmList.getEmpty(); |
| 47 | for (Key<?> key : parentReads) { |
| 48 | res = res.add(getExtend(key)); |
| 49 | } |
| 50 | return res; |
| 51 | } |
| 52 | |
| 53 | private Key<?> getExtend(Key<?> extendedKey) { |
| 54 | int begin = this.subKey.getParts().size(); |
| 55 | int end = extendedKey.getParts().size(); |
| 56 | return UndefinedKey.make(extendedKey.getParts().subList(begin, end)); |
42 | 57 | } |
43 | 58 | |
44 | 59 | @Override |
45 | 60 | public Map<Key<?>, Object> getWrites() { |
46 | | return this.parent.getWrites(); |
| 61 | Map<Key<?>, Object> parentWrites = this.parent.getWrites(); |
| 62 | Map<Key<?>, Object> res = new HashMap<Key<?>, Object>(); |
| 63 | for (Entry<Key<?>, Object> entry : parentWrites.entrySet()) { |
| 64 | Key<?> key = getExtend(entry.getKey()); |
| 65 | res.put(key, entry.getValue()); |
| 66 | } |
| 67 | return res; |
47 | 68 | } |
48 | 69 | |
49 | 70 | |