From: Anjo K. <an...@us...> - 2004-01-28 12:28:15
|
Update of /cvsroot/wonder/Wonder/Common/Frameworks/ERExtensions/Sources/er/extensions In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv4853/Common/Frameworks/ERExtensions/Sources/er/extensions Modified Files: ERXEC.java Log Message: - removing thread storage early, checking for errors Index: ERXEC.java =================================================================== RCS file: /cvsroot/wonder/Wonder/Common/Frameworks/ERExtensions/Sources/er/extensions/ERXEC.java,v retrieving revision 1.16 retrieving revision 1.17 diff -C2 -d -r1.16 -r1.17 *** ERXEC.java 28 Jan 2004 11:58:01 -0000 1.16 --- ERXEC.java 28 Jan 2004 12:27:04 -0000 1.17 *************** *** 90,93 **** --- 90,95 ---- if(index >= 0) { ecs.remove(index); + } else { + log.error("Should pop, but ec not found in Vector! " + Thread.currentThread().getName() + ", ec: " + ec + ", ecs:" + ecs); } } *************** *** 101,112 **** public static void unlockAllContextsForCurrentThread() { Vector ecs = (Vector)ERXThreadStorage.valueForKey(LockedContextsForCurrentThreadKey); ! log.info("unlockAllContextsForCurrentThread: " + Thread.currentThread().getName() + ", ecs: " + ecs); if(ecs != null && ecs.size() > 0) { - ERXThreadStorage.removeValueForKey(LockedContextsForCurrentThreadKey); // we can't use an iterator, because calling unlock() will remove the EC from end of the vector for (int i = ecs.size() - 1; i >= 0; i--) { EOEditingContext ec = (EOEditingContext) ecs.get(i); log.error("Unlocking context that wasn't unlocked in RR-Loop!: " + ec); ! ec.unlock(); } } --- 103,118 ---- public static void unlockAllContextsForCurrentThread() { Vector ecs = (Vector)ERXThreadStorage.valueForKey(LockedContextsForCurrentThreadKey); ! ERXThreadStorage.removeValueForKey(LockedContextsForCurrentThreadKey); ! log.debug("unlockAllContextsForCurrentThread: " + Thread.currentThread().getName() + ", ecs: " + ecs); if(ecs != null && ecs.size() > 0) { // we can't use an iterator, because calling unlock() will remove the EC from end of the vector for (int i = ecs.size() - 1; i >= 0; i--) { EOEditingContext ec = (EOEditingContext) ecs.get(i); log.error("Unlocking context that wasn't unlocked in RR-Loop!: " + ec); ! try { ! ec.unlock(); ! } catch(IllegalStateException ex) { ! log.error("Could not unlock EC!", ex); ! } } } *************** *** 193,197 **** */ public void unlock() { ! super.unlock(); if (!autoLocked && lockLogger.isDebugEnabled()) { if(lockTrace.isDebugEnabled()) { --- 199,204 ---- */ public void unlock() { ! popLockedContextForCurrentThread(this); ! super.unlock(); if (!autoLocked && lockLogger.isDebugEnabled()) { if(lockTrace.isDebugEnabled()) { *************** *** 202,206 **** } lockCount--; - popLockedContextForCurrentThread(this); } --- 209,212 ---- |