deletion of components fixed (the component is now removed from an attribute value of its composite) BLD200305170100
authormmatula@netbeans.org
Tue, 13 May 2003 23:59:30 +0000
changeset 1286d76e960c2358
parent 1285 2653b00b72f0
child 1287 ea6f7f96b67b
deletion of components fixed (the component is now removed from an attribute value of its composite)
mdr/src/org/netbeans/mdr/handlers/InstanceHandler.java
mdr/src/org/netbeans/mdr/storagemodel/AssocEndIndexUList.java
     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