deletion of components fixed (the component is now removed from an attribute value of its composite)
1.1 --- a/mdr/src/org/netbeans/mdr/handlers/InstanceHandler.java Mon May 05 07:59:56 2003 +0000
1.2 +++ b/mdr/src/org/netbeans/mdr/handlers/InstanceHandler.java Tue May 13 23:59:30 2003 +0000
1.3 @@ -299,6 +299,21 @@
1.4
1.5 protected void _delete() {
1.6 try {
1.7 + RefFeatured composite = refImmediateComposite();
1.8 + if (composite != null) {
1.9 + StorableClass cls = ((StorableFeatured) ((BaseObjectHandler) composite)._getDelegate()).getClassProxy();
1.10 + for (int i = 0; i < cls.getAttrCount(); i++) {
1.11 + StorableClass.AttributeDescriptor desc = cls.getAttrDesc(i);
1.12 + if (RefObject.class.isAssignableFrom(desc.getType())) {
1.13 + Object value = composite.refGetValue(desc.getName());
1.14 + if (this.equals(value)) {
1.15 + composite.refSetValue(desc.getName(), null);
1.16 + } else if (value instanceof Collection && ((Collection) value).contains(this)) {
1.17 + ((Collection) value).remove(this);
1.18 + }
1.19 + }
1.20 + }
1.21 + }
1.22 getInstanceDelegate().delete();
1.23 } catch (StorageException e) {
1.24 throw (DebugException) Logger.getDefault().annotate(new DebugException(), e);
2.1 --- a/mdr/src/org/netbeans/mdr/storagemodel/AssocEndIndexUList.java Mon May 05 07:59:56 2003 +0000
2.2 +++ b/mdr/src/org/netbeans/mdr/storagemodel/AssocEndIndexUList.java Tue May 13 23:59:30 2003 +0000
2.3 @@ -113,7 +113,7 @@
2.4
2.5 return storage.getObject((MOFID) oldValue);
2.6 } catch (StorageException e) {
2.7 - throw new DebugException();
2.8 + throw (DebugException) Logger.getDefault().annotate(new DebugException(), e);
2.9 }
2.10 }
2.11
2.12 @@ -151,7 +151,7 @@
2.13 so.addToIndex (metaMofIdOther);
2.14 }
2.15 } catch (StorageException e) {
2.16 - throw new DebugException();
2.17 + throw (DebugException) Logger.getDefault().annotate(new DebugException(), e);
2.18 }
2.19 }
2.20
2.21 @@ -231,7 +231,7 @@
2.22 ((StorableObject) storage.getObject((MOFID) obj)).addToIndex (metaMofIdOther);
2.23 }
2.24 } catch (StorageException e) {
2.25 - throw new DebugException();
2.26 + throw (DebugException) Logger.getDefault().annotate(new DebugException(), e);
2.27 }
2.28 }
2.29