diff options
author | Michi Henning <michi@zeroc.com> | 2004-06-23 00:31:31 +0000 |
---|---|---|
committer | Michi Henning <michi@zeroc.com> | 2004-06-23 00:31:31 +0000 |
commit | 8eb0b5e3442545fa0cb26856372b98e34c0d0147 (patch) | |
tree | 40f0cefee89dfbae92e47a06c1fa1fad93853939 /java/src/IceInternal/BasicStream.java | |
parent | Improved comment for stringToProxy. Fixed bug in slice2cs: "<:" was (diff) | |
download | ice-8eb0b5e3442545fa0cb26856372b98e34c0d0147.tar.bz2 ice-8eb0b5e3442545fa0cb26856372b98e34c0d0147.tar.xz ice-8eb0b5e3442545fa0cb26856372b98e34c0d0147.zip |
Got rid of old UserExceptionFactory code that was still kicking around but
no longer relevant.
Added -deprecation option to Java build.
Diffstat (limited to 'java/src/IceInternal/BasicStream.java')
-rw-r--r-- | java/src/IceInternal/BasicStream.java | 26 |
1 files changed, 15 insertions, 11 deletions
diff --git a/java/src/IceInternal/BasicStream.java b/java/src/IceInternal/BasicStream.java index 93e8ee664e9..4957a27d5d4 100644 --- a/java/src/IceInternal/BasicStream.java +++ b/java/src/IceInternal/BasicStream.java @@ -1792,7 +1792,12 @@ public class BasicStream private UserExceptionFactory getUserExceptionFactory(String id) { - UserExceptionFactory factory = _instance.userExceptionFactoryManager().find(id); + UserExceptionFactory factory = null; + + synchronized(_factoryMutex) + { + factory = (UserExceptionFactory)_exceptionFactories.get(id); + } if(factory == null) { @@ -1826,16 +1831,7 @@ public class BasicStream int modifiers = c.getModifiers(); if((modifiers & 0x200) == 0 && (modifiers & 0x400) == 0) { - DynamicUserExceptionFactory f = new DynamicUserExceptionFactory(c); - try - { - _instance.userExceptionFactoryManager().add(f, id); - factory = f; - } - catch(Ice.AlreadyRegisteredException ex) - { - factory = _instance.userExceptionFactoryManager().find(id); - } + factory = new DynamicUserExceptionFactory(c); } else { @@ -1844,6 +1840,11 @@ public class BasicStream } } + synchronized(_factoryMutex) + { + _exceptionFactories.put(id, factory); + } + return factory; } @@ -1922,4 +1923,7 @@ public class BasicStream SeqData _seqDataStack; private java.util.ArrayList _objectList; + + private static java.util.HashMap _exceptionFactories = new java.util.HashMap(); + private static java.lang.Object _factoryMutex = new java.lang.Object(); // Protects _exceptionFactories. } |