diff options
| author | Andrew Branson <andrew.branson@cern.ch> | 2014-09-26 11:23:10 +0200 |
|---|---|---|
| committer | Andrew Branson <andrew.branson@cern.ch> | 2014-09-26 11:23:10 +0200 |
| commit | 738bb1412a0ac38337a4f8cd6a2cd782924a919c (patch) | |
| tree | 5c207a1d0ad352e99453e3d5142c42594d6a59ae /src/main/java/com/c2kernel | |
| parent | 41d9017f42280fa932a96d495daedc30430258e0 (diff) | |
Avoid possible NPEs by never setting mC2KProps to null. Clear it on
destroy and init.
Diffstat (limited to 'src/main/java/com/c2kernel')
| -rw-r--r-- | src/main/java/com/c2kernel/process/Gateway.java | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/src/main/java/com/c2kernel/process/Gateway.java b/src/main/java/com/c2kernel/process/Gateway.java index 49ea24b..90ec9c4 100644 --- a/src/main/java/com/c2kernel/process/Gateway.java +++ b/src/main/java/com/c2kernel/process/Gateway.java @@ -54,7 +54,7 @@ import com.c2kernel.utils.ObjectProperties; public class Gateway
{
- static private ObjectProperties mC2KProps;
+ static private ObjectProperties mC2KProps = new ObjectProperties();
static private ModuleManager mModules;
static private org.omg.CORBA.ORB mORB;
static private boolean orbDestroyed = false;
@@ -96,7 +96,8 @@ public class Gateway static public void init(Properties props, ResourceLoader res) throws InvalidDataException {
// Init properties & resources
- mC2KProps = new ObjectProperties();
+ mC2KProps.clear();
+
orbDestroyed = false;
mResource = res;
if (mResource == null) mResource = new Resource();
@@ -310,18 +311,19 @@ public class Gateway if (!orbDestroyed) {
getORB().destroy();
orbDestroyed = true;
+ mORB = null;
}
// clean up remaining objects
mModules = null;
mResource = null;
mMarshaller = null;
- mC2KProps = null;
+ mC2KProps.clear();
}
static public org.omg.CORBA.ORB getORB()
{
- if (orbDestroyed) throw new RuntimeException("Gateway has been closed. ORB is destroyed.");
+ if (orbDestroyed) throw new RuntimeException("Gateway has been closed. ORB is destroyed. ");
if (mORB == null) {
mC2KProps.put("com.sun.CORBA.codeset.charsets", "0x05010001, 0x00010109"); // need to force UTF-8 in the Sun ORB
|
