### Eclipse Workspace Patch 1.0
#P sophie
|
|
|
73 | 73 | if (ResourceRefR4.class.equals(key.getValueClass())) { |
74 | 74 | ResourceRefR4 valueRef = (ResourceRefR4)resource.get(key); |
75 | 75 | |
| 76 | if (ResourceRefR4.NONE_REF.equals(valueRef)) { |
| 77 | continue; |
| 78 | } |
| 79 | |
76 | 80 | // copy the resource referenced by valueRef |
77 | 81 | ResourceAccess access = resource.getAccess().open(valueRef, null); |
78 | 82 | ResourceModel childModel = capsulate(ResourceH.getHelper(access)); |
… |
… |
|
206 | 210 | Map<String, Key<?>> deeplyCopiedKeys = ResourceR4.getDeeplyCopiedKeys(clazz); |
207 | 211 | for (Key key : deeplyCopiedKeys.values()) { |
208 | 212 | ResourceRefR4 valueRef = (ResourceRefR4) model.getRaw(key); |
209 | | |
210 | | RootKey valueRefChildKey = RootKey.fromRef(valueRef); |
211 | | ResourceModel valueRefModel = model.getSubModel(valueRefChildKey); |
212 | 213 | |
213 | | ResourceRefR4 realValueRef = decapsulate(bookModel, valueRefModel, |
214 | | valueRef.getThisChildRef(), bookChanger, true); |
215 | | bookChanger.removeResource(realBookToModel.append(valueRef)); |
| 214 | if (valueRef != null && !ResourceRefR4.NONE_REF.equals(valueRef)) { |
| 215 | RootKey valueRefChildKey = RootKey.fromRef(valueRef); |
| 216 | ResourceModel valueRefModel = model.getSubModel(valueRefChildKey); |
| 217 | |
| 218 | ResourceRefR4 realValueRef = decapsulate(bookModel, valueRefModel, |
| 219 | valueRef.getThisChildRef(), bookChanger, true); |
| 220 | bookChanger.removeResource(realBookToModel.append(valueRef)); |
| 221 | ResourceRefR4 newValue = ResourceRefR4.getRelativeRef(realBookToModel, realValueRef); |
216 | 222 | |
217 | | ResourceRefR4 newValue = ResourceRefR4.getRelativeRef(realBookToModel, realValueRef); |
218 | | ResourceChanger subChanger = bookChanger.getSub(realBookToModel); |
219 | | subChanger.setRaw(key, newValue); |
| 223 | ResourceChanger subChanger = bookChanger.getSub(realBookToModel); |
| 224 | subChanger.setRaw(key, newValue); |
| 225 | } |
220 | 226 | } |
221 | 227 | |
222 | 228 | // decapsulate the children of the given resource |