1.1 --- a/mdr/src/org/netbeans/mdr/NBMDRepositoryImpl.java Mon Dec 22 15:20:02 2003 +0000
1.2 +++ b/mdr/src/org/netbeans/mdr/NBMDRepositoryImpl.java Mon Dec 29 14:35:12 2003 +0000
1.3 @@ -329,6 +329,12 @@
1.4 }
1.5 return null;
1.6 }
1.7 +
1.8 + public void removeHandler(String mofId) {
1.9 + synchronized (facilityCache) {
1.10 + facilityCache.remove(mofId);
1.11 + }
1.12 + }
1.13
1.14 /**
1.15 * Called on repository exit. Should perform all needed finalization actions.
1.16 @@ -775,7 +781,7 @@
1.17 Object superMeta = supers.next();
1.18 current = ((StorableClass) classProxies.get(superMeta));
1.19 if (current == null) {
1.20 - throw new DebugException("Package definition is incomplete: class " + cls.getName() + " super = " + superMeta);
1.21 + throw new DebugException("Package definition is incomplete: class " + cls.getName() + " super = " + ((superMeta instanceof MofClass) ? ((MofClass) superMeta).getName() : superMeta));
1.22 }
1.23 sc.addSuperclass(current.getMofId());
1.24 current.addSubclass(sc.getMofId());
1.25 @@ -1319,6 +1325,16 @@
1.26 return result;
1.27 }
1.28 }
1.29 +
1.30 + public Object remove(Object key) {
1.31 + cleanUp();
1.32 + Object result = super.remove(key);
1.33 + if (result != null) {
1.34 + return ((HandlerReference) result).get();
1.35 + } else {
1.36 + return result;
1.37 + }
1.38 + }
1.39
1.40 public Object get(Object key) {
1.41 cleanUp();
2.1 --- a/mdr/src/org/netbeans/mdr/handlers/InstanceHandler.java Mon Dec 22 15:20:02 2003 +0000
2.2 +++ b/mdr/src/org/netbeans/mdr/handlers/InstanceHandler.java Mon Dec 29 14:35:12 2003 +0000
2.3 @@ -308,6 +308,7 @@
2.4 } finally {
2.5 _unlock(fail);
2.6 }
2.7 + _getRepository().removeHandler(refMofId());
2.8 }
2.9
2.10 protected void _delete() {
3.1 --- a/mdr/src/org/netbeans/mdr/handlers/PackageProxyHandler.java Mon Dec 22 15:20:02 2003 +0000
3.2 +++ b/mdr/src/org/netbeans/mdr/handlers/PackageProxyHandler.java Mon Dec 29 14:35:12 2003 +0000
3.3 @@ -326,6 +326,7 @@
3.4 } finally {
3.5 _unlock(fail);
3.6 }
3.7 + _getRepository().removeHandler(refMofId());
3.8 }
3.9
3.10 /* -------------------------------------------------------------------- */