[jboss-svn-commits] JBL Code SVN: r28993 - in labs/jbosstm/trunk: ArjunaCore/arjuna/classes/com/arjuna/ats/arjuna/utils and 8 other directories.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Thu Aug 20 07:39:29 EDT 2009


Author: jhalliday
Date: 2009-08-20 07:39:28 -0400 (Thu, 20 Aug 2009)
New Revision: 28993

Modified:
   labs/jbosstm/trunk/ArjunaCore/arjuna/classes/com/arjuna/ats/arjuna/common/CoreEnvironmentBean.java
   labs/jbosstm/trunk/ArjunaCore/arjuna/classes/com/arjuna/ats/arjuna/common/RecoveryEnvironmentBean.java
   labs/jbosstm/trunk/ArjunaCore/arjuna/classes/com/arjuna/ats/arjuna/common/RecoveryEnvironmentBeanMBean.java
   labs/jbosstm/trunk/ArjunaCore/arjuna/classes/com/arjuna/ats/arjuna/utils/Utility.java
   labs/jbosstm/trunk/ArjunaJTA/jta/classes/com/arjuna/ats/jta/common/JTAEnvironmentBean.java
   labs/jbosstm/trunk/ArjunaJTS/jts/classes/com/arjuna/ats/internal/jts/recovery/RecoveryInit.java
   labs/jbosstm/trunk/ArjunaJTS/jts/classes/com/arjuna/ats/jts/common/JTSEnvironmentBeanMBean.java
   labs/jbosstm/trunk/ArjunaJTS/orbportability/classes/com/arjuna/orbportability/common/OrbPortabilityEnvironmentBean.java
   labs/jbosstm/trunk/ArjunaJTS/orbportability/classes/com/arjuna/orbportability/common/OrbPortabilityEnvironmentBeanMBean.java
   labs/jbosstm/trunk/ArjunaJTS/orbportability/classes/com/arjuna/orbportability/event/EventManager.java
   labs/jbosstm/trunk/ArjunaJTS/orbportability/classes/com/arjuna/orbportability/internal/orbspecific/jacorb/orb/implementations/jacorb_2_0.java
   labs/jbosstm/trunk/ArjunaJTS/orbportability/classes/com/arjuna/orbportability/internal/orbspecific/javaidl/orb/implementations/javaidl_1_4.java
   labs/jbosstm/trunk/ArjunaJTS/orbportability/tests/classes/com/hp/mwtests/orbportability/initialisation/BeanPopulatorTest.java
Log:
Further bean config work, including fixed list handling and more orbportability integration. JBTM-596


Modified: labs/jbosstm/trunk/ArjunaCore/arjuna/classes/com/arjuna/ats/arjuna/common/CoreEnvironmentBean.java
===================================================================
--- labs/jbosstm/trunk/ArjunaCore/arjuna/classes/com/arjuna/ats/arjuna/common/CoreEnvironmentBean.java	2009-08-20 04:49:56 UTC (rev 28992)
+++ labs/jbosstm/trunk/ArjunaCore/arjuna/classes/com/arjuna/ats/arjuna/common/CoreEnvironmentBean.java	2009-08-20 11:39:28 UTC (rev 28993)
@@ -26,7 +26,6 @@
 import com.arjuna.ats.arjuna.utils.Utility;
 
 import java.util.List;
-import java.util.Collections;
 import java.util.ArrayList;
 
 /**
@@ -41,7 +40,7 @@
     private String propertiesFile = "";
 
     @ConcatenationPrefix(prefix = "com.arjuna.ats.internal.arjuna.inventory.staticInventoryImple")
-    private List<String> staticInventoryElements = Collections.emptyList();
+    private List<String> staticInventoryElements = new ArrayList<String>();
 
     @FullPropertyName(name = "com.arjuna.ats.arjuna.common.varDir")
     private String varDir = null;
@@ -77,16 +76,16 @@
 
     public List<String> getStaticInventoryElements()
     {
-        if(staticInventoryElements == null) {
-            return Collections.emptyList();
-        } else {
-            return new ArrayList<String>(staticInventoryElements);
-        }
+        return new ArrayList<String>(staticInventoryElements);
     }
 
     public void setStaticInventoryElements(List<String> staticInventoryElements)
     {
-        this.staticInventoryElements = new ArrayList<String>(staticInventoryElements);
+        if(staticInventoryElements == null) {
+            this.staticInventoryElements.clear();
+        } else {
+            this.staticInventoryElements = new ArrayList<String>(staticInventoryElements);
+        }
     }
 
     public String getVarDir()

Modified: labs/jbosstm/trunk/ArjunaCore/arjuna/classes/com/arjuna/ats/arjuna/common/RecoveryEnvironmentBean.java
===================================================================
--- labs/jbosstm/trunk/ArjunaCore/arjuna/classes/com/arjuna/ats/arjuna/common/RecoveryEnvironmentBean.java	2009-08-20 04:49:56 UTC (rev 28992)
+++ labs/jbosstm/trunk/ArjunaCore/arjuna/classes/com/arjuna/ats/arjuna/common/RecoveryEnvironmentBean.java	2009-08-20 11:39:28 UTC (rev 28993)
@@ -28,7 +28,6 @@
 
 import java.net.InetAddress;
 import java.util.List;
-import java.util.Collections;
 import java.util.ArrayList;
 
 /**
@@ -51,13 +50,13 @@
     private int transactionStatusManagerExpiryTime = 12; // hours
 
     @ConcatenationPrefix(prefix = "com.arjuna.ats.arjuna.recovery.expiryScanner")
-    private List<String> expiryScanners = Collections.emptyList();
+    private List<String> expiryScanners = new ArrayList<String>();
 
     @ConcatenationPrefix(prefix = "com.arjuna.ats.arjuna.recovery.recoveryExtension")
-    private List<String> recoveryExtensions = Collections.emptyList();
+    private List<String> recoveryExtensions = new ArrayList<String>();
 
     @ConcatenationPrefix(prefix = "com.arjuna.ats.arjuna.recovery.recoveryActivator")
-    private List<String> recoveryActivators = Collections.emptyList();
+    private List<String> recoveryActivators = new ArrayList<String>();
 
     @FullPropertyName(name = "com.arjuna.ats.internal.arjuna.recovery.listener.timeoutsocket")
     private boolean timeoutSocket = false;
@@ -173,46 +172,46 @@
 
     public List<String> getExpiryScanners()
     {
+        return new ArrayList<String>(expiryScanners);
+    }
+
+    public void setExpiryScanners(List<String> expiryScanners)
+    {
         if(expiryScanners == null) {
-            return Collections.emptyList();
+            this.expiryScanners.clear();
         } else {
-            return new ArrayList<String>(expiryScanners);
+            this.expiryScanners = new ArrayList<String>(expiryScanners);
         }
     }
 
-    public void setExpiryScanners(List<String> expiryScanners)
+    public List<String> getRecoveryExtensions()
     {
-        this.expiryScanners = new ArrayList<String>(expiryScanners);
+        return new ArrayList<String>(recoveryExtensions);
     }
 
-    public List<String> getRecoveryExtensions()
+    public void setRecoveryExtensions(List<String> recoveryExtensions)
     {
         if(recoveryExtensions == null) {
-            return Collections.emptyList();
+            this.recoveryExtensions.clear();
         } else {
-            return new ArrayList<String>(recoveryExtensions);
+            this.recoveryExtensions = new ArrayList<String>(recoveryExtensions);
         }
     }
 
-    public void setRecoveryExtensions(List<String> recoveryExtensions)
+    public List<String> getRecoveryActivators()
     {
-        this.recoveryExtensions = new ArrayList<String>(recoveryExtensions);
+        return new ArrayList<String>(recoveryActivators);
     }
 
-    public List<String> getRecoveryActivators()
+    public void setRecoveryActivators(List<String> recoveryActivators)
     {
         if(recoveryActivators == null) {
-            return Collections.emptyList();
+            this.recoveryActivators.clear();
         } else {
-            return new ArrayList<String>(recoveryActivators);
+           this.recoveryActivators = new ArrayList<String>(recoveryActivators);
         }
     }
 
-    public void setRecoveryActivators(List<String> recoveryActivators)
-    {
-        this.recoveryActivators = new ArrayList<String>(recoveryActivators);
-    }
-
     public boolean isTimeoutSocket()
     {
         return timeoutSocket;

Modified: labs/jbosstm/trunk/ArjunaCore/arjuna/classes/com/arjuna/ats/arjuna/common/RecoveryEnvironmentBeanMBean.java
===================================================================
--- labs/jbosstm/trunk/ArjunaCore/arjuna/classes/com/arjuna/ats/arjuna/common/RecoveryEnvironmentBeanMBean.java	2009-08-20 04:49:56 UTC (rev 28992)
+++ labs/jbosstm/trunk/ArjunaCore/arjuna/classes/com/arjuna/ats/arjuna/common/RecoveryEnvironmentBeanMBean.java	2009-08-20 11:39:28 UTC (rev 28993)
@@ -20,7 +20,6 @@
  */
 package com.arjuna.ats.arjuna.common;
 
-import java.net.InetAddress;
 import java.util.List;
 
 /**
@@ -50,8 +49,6 @@
 
     void setRecoveryAddress(String recoveryAddress);
 
-    void setRecoveryInetAddress(InetAddress inetAddress);
-
     int getTransactionStatusManagerPort();
 
     void setTransactionStatusManagerPort(int transactionStatusManagerPort);
@@ -60,8 +57,6 @@
 
     void setTransactionStatusManagerAddress(String transactionStatusManagerAddress);
 
-    void setTransactionStatusManagerInetAddress(InetAddress inetAddress);
-
     int getExpiryScanInterval();
 
     void setExpiryScanInterval(int expiryScanInterval);

Modified: labs/jbosstm/trunk/ArjunaCore/arjuna/classes/com/arjuna/ats/arjuna/utils/Utility.java
===================================================================
--- labs/jbosstm/trunk/ArjunaCore/arjuna/classes/com/arjuna/ats/arjuna/utils/Utility.java	2009-08-20 04:49:56 UTC (rev 28992)
+++ labs/jbosstm/trunk/ArjunaCore/arjuna/classes/com/arjuna/ats/arjuna/utils/Utility.java	2009-08-20 11:39:28 UTC (rev 28993)
@@ -244,7 +244,10 @@
      *            maximum value for the integer propertry
      * @return the integer value of property or the default value if the
      *         property does not represent an integer
+     *
+     * @deprecated properties should come from environment beans now
      */
+    @Deprecated
     public static Integer lookupBoundedIntegerProperty (PropertyManager pm,
             String intProperty, Integer defValue, String warnMsgKey,
             int minValue, int maxValue)

Modified: labs/jbosstm/trunk/ArjunaJTA/jta/classes/com/arjuna/ats/jta/common/JTAEnvironmentBean.java
===================================================================
--- labs/jbosstm/trunk/ArjunaJTA/jta/classes/com/arjuna/ats/jta/common/JTAEnvironmentBean.java	2009-08-20 04:49:56 UTC (rev 28992)
+++ labs/jbosstm/trunk/ArjunaJTA/jta/classes/com/arjuna/ats/jta/common/JTAEnvironmentBean.java	2009-08-20 11:39:28 UTC (rev 28993)
@@ -25,7 +25,6 @@
 import com.arjuna.common.internal.util.propertyservice.ConcatenationPrefix;
 
 import java.util.List;
-import java.util.Collections;
 import java.util.ArrayList;
 
 /**
@@ -48,10 +47,10 @@
     private int xaBackoffPeriod = 20000;
 
     @ConcatenationPrefix(prefix = "com.arjuna.ats.jta.xaRecoveryNode")
-    private List<String> xaRecoveryNodes = Collections.emptyList();
+    private List<String> xaRecoveryNodes = new ArrayList<String>();
 
     @ConcatenationPrefix(prefix = "com.arjuna.ats.jta.recovery.XAResourceRecovery")
-    private List<String> xaResourceRecoveryInstances = Collections.emptyList();
+    private List<String> xaResourceRecoveryInstances = new ArrayList<String>();
 
     private boolean xaRollbackOptimization = false;
     private boolean xaAssumeRecoveryComplete = false;
@@ -65,7 +64,7 @@
     private String jtaTSRJNDIContext = "java:/TransactionSynchronizationRegistry";
 
     @ConcatenationPrefix(prefix = "com.arjuna.ats.jta.xaErrorHandler")
-    private List<String> xaErrorHandlers = Collections.emptyList();
+    private List<String> xaErrorHandlers = new ArrayList<String>();
 
     private boolean xaTransactionTimeoutEnabled = true;
     private String lastResourceOptimisationInterface = null;
@@ -138,32 +137,32 @@
 
     public List<String> getXaRecoveryNodes()
     {
+       return new ArrayList<String>(xaRecoveryNodes);
+    }
+
+    public void setXaRecoveryNodes(List<String> xaRecoveryNodes)
+    {
         if(xaRecoveryNodes == null) {
-            return Collections.emptyList();
+            this.xaRecoveryNodes.clear();    
         } else {
-            return new ArrayList<String>(xaRecoveryNodes);
+            this.xaRecoveryNodes = new ArrayList<String>(xaRecoveryNodes);
         }
     }
 
-    public void setXaRecoveryNodes(List<String> xaRecoveryNodes)
+    public List<String> getXaResourceRecoveryInstances()
     {
-        this.xaRecoveryNodes = new ArrayList<String>(xaRecoveryNodes);
+        return new ArrayList<String>(xaResourceRecoveryInstances);
     }
 
-    public List<String> getXaResourceRecoveryInstances()
+    public void setXaResourceRecoveryInstances(List<String> xaResourceRecoveryInstances)
     {
         if(xaResourceRecoveryInstances == null) {
-            return Collections.emptyList();
+            this.xaResourceRecoveryInstances.clear();
         } else {
-            return new ArrayList<String>(xaResourceRecoveryInstances);
+            this.xaResourceRecoveryInstances = new ArrayList<String>(xaResourceRecoveryInstances);
         }
     }
 
-    public void setXaResourceRecoveryInstances(List<String> xaResourceRecoveryInstances)
-    {
-        this.xaResourceRecoveryInstances = new ArrayList<String>(xaResourceRecoveryInstances);
-    }
-
     //    public static final String XA_ROLLBACK_OPTIMIZATION = "com.arjuna.ats.jta.xaRollbackOptimization";
     public boolean isXaRollbackOptimization()
     {
@@ -221,16 +220,16 @@
 
     public List<String> getXaErrorHandlers()
     {
-        if(xaErrorHandlers == null) {
-            return Collections.emptyList();
-        } else {
-            return new ArrayList<String>(xaErrorHandlers);
-        }
+        return new ArrayList<String>(xaErrorHandlers);
     }
 
     public void setXaErrorHandlers(List<String> xaErrorHandlers)
     {
-        this.xaErrorHandlers = new ArrayList(xaErrorHandlers);
+        if(xaErrorHandlers == null) {
+            this.xaErrorHandlers.clear();
+        } else {
+            this.xaErrorHandlers = new ArrayList(xaErrorHandlers);
+        }
     }
 
     // public static final String XA_TRANSACTION_TIMEOUT_ENABLED = "com.arjuna.ats.jta.xaTransactionTimeoutEnabled";

Modified: labs/jbosstm/trunk/ArjunaJTS/jts/classes/com/arjuna/ats/internal/jts/recovery/RecoveryInit.java
===================================================================
--- labs/jbosstm/trunk/ArjunaJTS/jts/classes/com/arjuna/ats/internal/jts/recovery/RecoveryInit.java	2009-08-20 04:49:56 UTC (rev 28992)
+++ labs/jbosstm/trunk/ArjunaJTS/jts/classes/com/arjuna/ats/internal/jts/recovery/RecoveryInit.java	2009-08-20 11:39:28 UTC (rev 28993)
@@ -40,6 +40,8 @@
 
 import com.arjuna.ats.arjuna.logging.FacilityCode;
 
+import java.util.List;
+
 /**
  * Registers the appropriate classes with the ORB.
  *   An application using the Transaction Service should load an instance of this class
@@ -52,7 +54,7 @@
  *
  * @message com.arjuna.ats.internal.jts.recovery.RecoveryInit_1 [com.arjuna.ats.internal.jts.recovery.RecoveryInit_1] - added ORBAttribute for recoveryCoordinatorInitialiser
  * @message com.arjuna.ats.internal.jts.recovery.RecoveryInit_2 [com.arjuna.ats.internal.jts.recovery.RecoveryInit_2] - Full crash recovery is not supported with this orb
- * @message com.arjuna.ats.internal.jts.recovery.RecoveryInit_3 [com.arjuna.ats.internal.jts.recovery.RecoveryInit_3] - Set property {0}  =  {1}
+ * @message com.arjuna.ats.internal.jts.recovery.RecoveryInit_3 [com.arjuna.ats.internal.jts.recovery.RecoveryInit_3] - added event handler  {1}
  * @message com.arjuna.ats.internal.jts.recovery.RecoveryInit_4 [com.arjuna.ats.internal.jts.recovery.RecoveryInit_4] - RecoveryCoordinator service can only be provided in RecoveryManager
  * @message com.arjuna.ats.internal.jts.recovery.RecoveryInit_5 [com.arjuna.ats.internal.jts.recovery.RecoveryInit_5] - ORB/OA initialisation failed: {0}
  */
@@ -63,9 +65,6 @@
     private static boolean _initialised = false;
     private static boolean _isNormalProcess = true;
 
-    // no accessible variable for this first property name prefix
-    private static final String eventHandlerPropertyPrefix = Environment.EVENT_HANDLER;
-
     /**
      * Constructor does the work as a result of being registered as an ORBPreInit
      * class
@@ -84,8 +83,7 @@
 	    _initialised = true;
 
 	    // the eventhandler is the same for all orbs (at the moment)
-	    String eventHandlerPropertyName = eventHandlerPropertyPrefix + "_Recovery";
-	    String eventHandlerPropertyValue = "com.arjuna.ats.internal.jts.recovery.contact.RecoveryContactWriter";
+	    String eventHandlerClassName = "com.arjuna.ats.internal.jts.recovery.contact.RecoveryContactWriter";
 
 	    Object recoveryCoordinatorInitialiser = null;
 	    String InitClassName = null;
@@ -119,7 +117,9 @@
 
 		    // register the ContactWriter to watch for the first ArjunaFactory construction
 
-		    opPropertyManager.getPropertyManager().setProperty(eventHandlerPropertyName,eventHandlerPropertyValue);
+            List<String> eventHandlers = opPropertyManager.getOrbPortabilityEnvironmentBean().getEventHandlers();
+            eventHandlers.add(eventHandlerClassName);
+		    opPropertyManager.getOrbPortabilityEnvironmentBean().setEventHandlers(eventHandlers);
 
 		    // Change here above the way to call this startRCService -
 		    // otherwise call it in JacOrbRecoveryInit above.
@@ -139,8 +139,8 @@
 
 		    jtsLogger.loggerI18N.debug(DebugLevel.FUNCTIONS, VisibilityLevel.VIS_PUBLIC,
 					       FacilityCode.FAC_CRASH_RECOVERY,
-					       "com.arjuna.ats.internal.jts.recovery.RecoveryInit_2",
-					       new Object[] {eventHandlerPropertyName, eventHandlerPropertyValue});
+					       "com.arjuna.ats.internal.jts.recovery.RecoveryInit_3",
+					       new Object[] {eventHandlerClassName});
 		}
 	    }
 	}

Modified: labs/jbosstm/trunk/ArjunaJTS/jts/classes/com/arjuna/ats/jts/common/JTSEnvironmentBeanMBean.java
===================================================================
--- labs/jbosstm/trunk/ArjunaJTS/jts/classes/com/arjuna/ats/jts/common/JTSEnvironmentBeanMBean.java	2009-08-20 04:49:56 UTC (rev 28992)
+++ labs/jbosstm/trunk/ArjunaJTS/jts/classes/com/arjuna/ats/jts/common/JTSEnvironmentBeanMBean.java	2009-08-20 11:39:28 UTC (rev 28993)
@@ -20,8 +20,6 @@
  */
 package com.arjuna.ats.jts.common;
 
-import java.net.InetAddress;
-
 /**
  * A JMX MBean interface containing configuration for the JTS system.
  *
@@ -85,8 +83,6 @@
 
     void setRecoveryManagerAddress(String recoveryManagerAddress);
 
-    public void setRecoveryManagerInetAddress(InetAddress inetAddress);
-
     boolean isTimeoutPropagation();
 
     void setTimeoutPropagation(boolean timeoutPropagation);

Modified: labs/jbosstm/trunk/ArjunaJTS/orbportability/classes/com/arjuna/orbportability/common/OrbPortabilityEnvironmentBean.java
===================================================================
--- labs/jbosstm/trunk/ArjunaJTS/orbportability/classes/com/arjuna/orbportability/common/OrbPortabilityEnvironmentBean.java	2009-08-20 04:49:56 UTC (rev 28992)
+++ labs/jbosstm/trunk/ArjunaJTS/orbportability/classes/com/arjuna/orbportability/common/OrbPortabilityEnvironmentBean.java	2009-08-20 11:39:28 UTC (rev 28993)
@@ -21,7 +21,11 @@
 package com.arjuna.orbportability.common;
 
 import com.arjuna.common.internal.util.propertyservice.PropertyPrefix;
+import com.arjuna.common.internal.util.propertyservice.ConcatenationPrefix;
 
+import java.util.List;
+import java.util.ArrayList;
+
 /**
  * A JavaBean containing assorted configuration properties for the Orb Portability layer.
  *
@@ -37,7 +41,10 @@
     private String initialReferencesFile = com.arjuna.orbportability.common.Configuration.configFile();
     private String fileDir = null;
     private String resolveService = "CONFIGURATION_FILE";
-    private String eventHandler;
+
+    @ConcatenationPrefix(prefix = "com.arjuna.orbportability.eventHandler")
+    private List<String> eventHandlers = new ArrayList<String>();
+
     private String orbImplementation = null;
     private String oaImplementation = null;
     private String bindMechanism = "CONFIGURATION_FILE";
@@ -109,18 +116,22 @@
         this.resolveService = resolveService;
     }
 
-//    public static final String EVENT_HANDLER = "com.arjuna.orbportability.eventHandler";
-    public String getEventHandler()
+    // public static final String EVENT_HANDLER = "com.arjuna.orbportability.eventHandler";
+    public List<String> getEventHandlers()
     {
-        return eventHandler;
+        return new ArrayList<String>(eventHandlers);
     }
 
-    public void setEventHandler(String eventHandler)
+    public void setEventHandlers(List<String> eventHandlers)
     {
-        this.eventHandler = eventHandler;
+        if(eventHandlers == null) {
+            this.eventHandlers.clear();
+        } else {
+            this.eventHandlers = new ArrayList<String>(eventHandlers);
+        }
     }
 
-//    public static final String ORB_IMPLEMENTATION = "com.arjuna.orbportability.orbImplementation";
+    // public static final String ORB_IMPLEMENTATION = "com.arjuna.orbportability.orbImplementation";
     public String getOrbImplementation()
     {
         return orbImplementation;

Modified: labs/jbosstm/trunk/ArjunaJTS/orbportability/classes/com/arjuna/orbportability/common/OrbPortabilityEnvironmentBeanMBean.java
===================================================================
--- labs/jbosstm/trunk/ArjunaJTS/orbportability/classes/com/arjuna/orbportability/common/OrbPortabilityEnvironmentBeanMBean.java	2009-08-20 04:49:56 UTC (rev 28992)
+++ labs/jbosstm/trunk/ArjunaJTS/orbportability/classes/com/arjuna/orbportability/common/OrbPortabilityEnvironmentBeanMBean.java	2009-08-20 11:39:28 UTC (rev 28993)
@@ -20,6 +20,8 @@
  */
 package com.arjuna.orbportability.common;
 
+import java.util.List;
+
 /**
  * A JMX MBean interface containing assorted configuration for the Orb Portability layer.
  *
@@ -51,9 +53,9 @@
 
     void setResolveService(String resolveService);
 
-    String getEventHandler();
+    List<String> getEventHandlers();
 
-    void setEventHandler(String eventHandler);
+    void setEventHandlers(List<String> eventHandler);
 
     String getOrbImplementation();
 

Modified: labs/jbosstm/trunk/ArjunaJTS/orbportability/classes/com/arjuna/orbportability/event/EventManager.java
===================================================================
--- labs/jbosstm/trunk/ArjunaJTS/orbportability/classes/com/arjuna/orbportability/event/EventManager.java	2009-08-20 04:49:56 UTC (rev 28992)
+++ labs/jbosstm/trunk/ArjunaJTS/orbportability/classes/com/arjuna/orbportability/event/EventManager.java	2009-08-20 11:39:28 UTC (rev 28993)
@@ -166,53 +166,29 @@
      * @message com.arjuna.orbportability.event.EventManager.caughtexceptionfor {0} - caught exception: {1} for {2}
      * @message com.arjuna.orbportability.event.EventManager.novalue {0} - no value for: {1}
      */
-protected EventManager ()
+    protected EventManager ()
     {
-	_handlers = new Hashtable();
+        _handlers = new Hashtable();
 
-	/*
-	 * Now scan through the list of properties and see if there
-	 * are any classes for us.
-	 */
+        // load handler classes:
+        for(String handlerName : opPropertyManager.getOrbPortabilityEnvironmentBean().getEventHandlers())
+        {
+            try
+            {
+                Class c = Thread.currentThread().getContextClassLoader().loadClass(handlerName);
+                EventHandler h = (EventHandler) c.newInstance();
 
-	Enumeration e = opPropertyManager.getPropertyManager().propertyNames();
-	
-	while (e.hasMoreElements())
-	{
-	    String name = (String) e.nextElement();
-	    
-	    if (name.startsWith(Environment.EVENT_HANDLER))
-	    {
-		String val = (String) opPropertyManager.getPropertyManager().getProperty(name);
-		
-		if (val != null)
-		{
-		    try
-		    {
-			Class c = Thread.currentThread().getContextClassLoader().loadClass(val);
-			EventHandler h = (EventHandler) c.newInstance();
-
-			addHandler(h);
-		    }
-		    catch (Exception ex)
-		    {
-                        if (opLogger.loggerI18N.isWarnEnabled())
-                        {
-                            opLogger.loggerI18N.warn( "com.arjuna.orbportability.event.EventManager.caughtexceptionfor",
-                                            new java.lang.Object[] { "EventManager", ex, val } );
-                        }
-		    }
-		}
-		else
+                addHandler(h);
+            }
+            catch (Exception ex)
+            {
+                if (opLogger.loggerI18N.isWarnEnabled())
                 {
-                    if (opLogger.loggerI18N.isWarnEnabled())
-                    {
-                        opLogger.loggerI18N.warn( "com.arjuna.orbportability.event.EventManager.caughtexceptionfor",
-                                        new java.lang.Object[] { "EventManager", name } );
-                    }
+                    opLogger.loggerI18N.warn( "com.arjuna.orbportability.event.EventManager.caughtexceptionfor",
+                            new java.lang.Object[] { "EventManager", ex, handlerName } );
                 }
-	    }
-	}
+            }
+        }
     }
     
 private Hashtable _handlers;

Modified: labs/jbosstm/trunk/ArjunaJTS/orbportability/classes/com/arjuna/orbportability/internal/orbspecific/jacorb/orb/implementations/jacorb_2_0.java
===================================================================
--- labs/jbosstm/trunk/ArjunaJTS/orbportability/classes/com/arjuna/orbportability/internal/orbspecific/jacorb/orb/implementations/jacorb_2_0.java	2009-08-20 04:49:56 UTC (rev 28992)
+++ labs/jbosstm/trunk/ArjunaJTS/orbportability/classes/com/arjuna/orbportability/internal/orbspecific/jacorb/orb/implementations/jacorb_2_0.java	2009-08-20 11:39:28 UTC (rev 28993)
@@ -40,6 +40,8 @@
 	{
 		System.setProperty("org.omg.CORBA.ORBClass", "org.jacorb.orb.ORB");
 		System.setProperty("org.omg.CORBA.ORBSingletonClass", "org.jacorb.orb.ORBSingleton");
-		opPropertyManager.getPropertyManager().setProperty("com.arjuna.orbportability.internal.defaultBindMechanism", Services.bindString(Services.CONFIGURATION_FILE));
+
+        // it seems nothing ever reads this, so we should be able to get away without it
+        // opPropertyManager.getPropertyManager().setProperty("com.arjuna.orbportability.internal.defaultBindMechanism", Services.bindString(Services.CONFIGURATION_FILE));
 	}
 }

Modified: labs/jbosstm/trunk/ArjunaJTS/orbportability/classes/com/arjuna/orbportability/internal/orbspecific/javaidl/orb/implementations/javaidl_1_4.java
===================================================================
--- labs/jbosstm/trunk/ArjunaJTS/orbportability/classes/com/arjuna/orbportability/internal/orbspecific/javaidl/orb/implementations/javaidl_1_4.java	2009-08-20 04:49:56 UTC (rev 28992)
+++ labs/jbosstm/trunk/ArjunaJTS/orbportability/classes/com/arjuna/orbportability/internal/orbspecific/javaidl/orb/implementations/javaidl_1_4.java	2009-08-20 11:39:28 UTC (rev 28993)
@@ -40,6 +40,8 @@
     {
 	System.setProperty("org.omg.CORBA.ORBClass", "com.sun.corba.se.internal.Interceptors.PIORB");
 	System.setProperty("org.omg.CORBA.ORBSingletonClass", "com.sun.corba.se.internal.corba.ORBSingleton");
-	opPropertyManager.getPropertyManager().setProperty("com.arjuna.orbportability.internal.defaultBindMechanism", Services.bindString(Services.CONFIGURATION_FILE));
+
+    // it seems nothing ever reads this, so we should be able to get away without it
+	// opPropertyManager.getPropertyManager().setProperty("com.arjuna.orbportability.internal.defaultBindMechanism", Services.bindString(Services.CONFIGURATION_FILE));
     }
 }

Modified: labs/jbosstm/trunk/ArjunaJTS/orbportability/tests/classes/com/hp/mwtests/orbportability/initialisation/BeanPopulatorTest.java
===================================================================
--- labs/jbosstm/trunk/ArjunaJTS/orbportability/tests/classes/com/hp/mwtests/orbportability/initialisation/BeanPopulatorTest.java	2009-08-20 04:49:56 UTC (rev 28992)
+++ labs/jbosstm/trunk/ArjunaJTS/orbportability/tests/classes/com/hp/mwtests/orbportability/initialisation/BeanPopulatorTest.java	2009-08-20 11:39:28 UTC (rev 28993)
@@ -47,6 +47,8 @@
 
         DummyPropertyManager testManager = new DummyPropertyManager(null);
 
+        testManager.addConcatenationKeys(OrbPortabilityEnvironmentBean.class);
+
         BeanPopulator.configureFromPropertyManager(new OrbPortabilityEnvironmentBean(), testManager);
 
         Set<String> expectedKeys = new HashSet<String>();



More information about the jboss-svn-commits mailing list