[jboss-svn-commits] JBL Code SVN: r37817 - in labs/jbosstm/branches/JBOSSTS_4_16: ArjunaCore/arjuna/tests/classes/com/hp/mwtests/ts/arjuna/tools and 4 other directories.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Fri Dec 16 08:22:24 EST 2011


Author: mmusgrov
Date: 2011-12-16 08:22:23 -0500 (Fri, 16 Dec 2011)
New Revision: 37817

Modified:
   labs/jbosstm/branches/JBOSSTS_4_16/ArjunaCore/arjuna/classes/com/arjuna/ats/arjuna/tools/osb/mbean/ObjStoreBrowser.java
   labs/jbosstm/branches/JBOSSTS_4_16/ArjunaCore/arjuna/tests/classes/com/hp/mwtests/ts/arjuna/tools/ObjStoreBrowserTest.java
   labs/jbosstm/branches/JBOSSTS_4_16/ArjunaJTA/jta/tests/classes/com/hp/mwtests/ts/jta/tools/ObjStoreBrowserTest.java
   labs/jbosstm/branches/JBOSSTS_4_16/ArjunaJTS/jtax/tests/classes/com/hp/mwtests/ts/jta/jts/tools/JTSObjStoreBrowserTest.java
   labs/jbosstm/branches/JBOSSTS_4_16/atsintegration/examples/classes/com/arjuna/jta/distributed/example/server/impl/ServerImpl.java
   labs/jbosstm/branches/JBOSSTS_4_16/atsintegration/tests/classes/com/arjuna/ats/jta/distributed/server/impl/ServerImpl.java
Log:
JBTM-1000 Fix broken OSB bean type bootstrapping

Modified: labs/jbosstm/branches/JBOSSTS_4_16/ArjunaCore/arjuna/classes/com/arjuna/ats/arjuna/tools/osb/mbean/ObjStoreBrowser.java
===================================================================
--- labs/jbosstm/branches/JBOSSTS_4_16/ArjunaCore/arjuna/classes/com/arjuna/ats/arjuna/tools/osb/mbean/ObjStoreBrowser.java	2011-12-16 10:05:43 UTC (rev 37816)
+++ labs/jbosstm/branches/JBOSSTS_4_16/ArjunaCore/arjuna/classes/com/arjuna/ats/arjuna/tools/osb/mbean/ObjStoreBrowser.java	2011-12-16 13:22:23 UTC (rev 37817)
@@ -34,53 +34,6 @@
     private Map<String, String> beanTypes = null;  // defines which bean types are used to represent object store types
 	private Map<String, List<UidWrapper>> allUids;
 
-	public static void main(String[] args) throws Exception {
-		InputStreamReader isr = new InputStreamReader(System.in);
-		BufferedReader br = new BufferedReader(isr);
-		String logDir = System.getProperty("objectstore.dir");
-		ObjStoreBrowser browser = new ObjStoreBrowser(logDir);
-
-		browser.start();
-
-		do {
-			System.out.println("> "); System.out.flush();
-			String[] req = br.readLine().split("\\s+");
-
-			if (req.length == 0 || "quit".equals(req[0]))
-				break;
-
-			browser.probe();
-
-			if ("dump".equals(req[0])) {
-				if (req.length == 1) {
-					System.out.println("Uid not found");
-				} else {
-					UidWrapper w = browser.findUid(req[1]);
-
-					if (w != null)
-						System.out.println("Attributes: " + w.toString("", new StringBuilder()));
-					else
-						System.out.println("Uid not found: " + req[1]);
-				}
-			} else if ("list".equals(req[0])) {
-				System.out.println(browser.dump(new StringBuilder()));
-			} //else if ("query".equals(req[0])) {
-			  //  browser.queryTest();
-		} while (true);
-	}
-
-	public static Properties loadProperties(String fname) {
-		Properties properties = new Properties();
-		URL url = ClassLoader.getSystemResource(fname);
-		try {
-			if (url != null)
-				properties.load(url.openStream());
-		} catch (IOException e) {
-		}
-
-		return properties;
-	}
-
     /**
      * Initialise the MBean
      */
@@ -107,19 +60,48 @@
 	}
 
     /**
+     * This method is deprecated in favour of @setType
+     * The issue with this method is there is no mechanism for determining which class
+     * is responsible for a given OS type.
+     *
      * Define which object store types will registered as MBeans
      * @param types the list of ObjectStore types that can be represented
      * as MBeans
      */
+    @Deprecated
 	public void setTypes(Map<String, String> types) {
 	}
 
+    /**
+     * Tell the browser which beans to use for particular Object Store Action type
+     * @param osTypeClassName
+     * @param beanTypeClassName
+     * @return
+     */
+    public boolean setType(String osTypeClassName, String beanTypeClassName) {
+        String typeName = getOSType(osTypeClassName);
+
+        if (typeName != null) {
+
+            if (typeName.startsWith("/"))
+                typeName = typeName.substring(1);
+
+            stateTypes.put(typeName, osTypeClassName);
+            beanTypes.put(typeName, beanTypeClassName);
+
+            return true;
+        }
+
+        return false;
+    }
+
     private void initTypeHandlers(String handlers) {
         for (String h : handlers.split(",")) {
             String[] handler = h.split("=");
 
             if (handler.length == 2) {
                 String typeName = getOSType(handler[0]);
+
                 if (typeName != null) {
 
                     if (typeName.startsWith("/"))
@@ -215,13 +197,14 @@
 
 						if (tname.length() != 0) {
 							List<UidWrapper> uids = allUids.get(tname);
+
 							if (uids == null) {
 								uids = new ArrayList<UidWrapper> ();
 								allUids.put(tname, uids);
 							}
 
                             if (beanTypes.containsKey(tname))
-								updateMBeans2(uids, System.currentTimeMillis(), true, tname);
+								updateMBeans(uids, System.currentTimeMillis(), true, tname);
 						}
 					} catch (IOException e1) {
 						tname = "";
@@ -248,12 +231,12 @@
 
 		List<UidWrapper> uids = allUids.get(type);
 
-		updateMBeans2(uids, System.currentTimeMillis(), false, type);
+		updateMBeans(uids, System.currentTimeMillis(), false, type);
 
 		return uids;
 	}
 
-	private void updateMBeans2(List<UidWrapper> uids, long tstamp, boolean register, String type) {
+	private void updateMBeans(List<UidWrapper> uids, long tstamp, boolean register, String type) {
 		ObjectStoreIterator iter = new ObjectStoreIterator(StoreManager.getRecoveryStore(), type);
 
 		while (true) {

Modified: labs/jbosstm/branches/JBOSSTS_4_16/ArjunaCore/arjuna/tests/classes/com/hp/mwtests/ts/arjuna/tools/ObjStoreBrowserTest.java
===================================================================
--- labs/jbosstm/branches/JBOSSTS_4_16/ArjunaCore/arjuna/tests/classes/com/hp/mwtests/ts/arjuna/tools/ObjStoreBrowserTest.java	2011-12-16 10:05:43 UTC (rev 37816)
+++ labs/jbosstm/branches/JBOSSTS_4_16/ArjunaCore/arjuna/tests/classes/com/hp/mwtests/ts/arjuna/tools/ObjStoreBrowserTest.java	2011-12-16 13:22:23 UTC (rev 37817)
@@ -73,10 +73,12 @@
 	 * @return An object that maintains MBeans representing completing transactions
 	 */
 	private ObjStoreBrowser createObjStoreBrowser() {
+        ObjStoreBrowser osb = new ObjStoreBrowser();
+
 		// define which object store types we are prepared to represent by mbeans
-        System.setProperty("ObjStoreBrowserHandlers", "com.arjuna.ats.arjuna.AtomicAction=com.arjuna.ats.arjuna.tools.osb.mbean.ActionBean");
+        osb.setType("com.arjuna.ats.arjuna.AtomicAction", "com.arjuna.ats.arjuna.tools.osb.mbean.ActionBean");
 
-		return new ObjStoreBrowser();
+		return osb;
 	}
 
 	@Test
@@ -99,9 +101,6 @@
 	{
 		ObjStoreBrowser osb = new ObjStoreBrowser("os");
 
-		Properties p = ObjStoreBrowser.loadProperties("invalid property file");
-
-		assertTrue(p.size() == 0);
 		osb.start();
 		osb.probe();
 

Modified: labs/jbosstm/branches/JBOSSTS_4_16/ArjunaJTA/jta/tests/classes/com/hp/mwtests/ts/jta/tools/ObjStoreBrowserTest.java
===================================================================
--- labs/jbosstm/branches/JBOSSTS_4_16/ArjunaJTA/jta/tests/classes/com/hp/mwtests/ts/jta/tools/ObjStoreBrowserTest.java	2011-12-16 10:05:43 UTC (rev 37816)
+++ labs/jbosstm/branches/JBOSSTS_4_16/ArjunaJTA/jta/tests/classes/com/hp/mwtests/ts/jta/tools/ObjStoreBrowserTest.java	2011-12-16 13:22:23 UTC (rev 37817)
@@ -42,10 +42,7 @@
 	private ObjStoreBrowser createObjStoreBrowser() {
 		ObjStoreBrowser osb = new ObjStoreBrowser();
 
-		osb.setTypes( new HashMap<String, String>() {{
-			put("StateManager/BasicAction/TwoPhaseCoordinator/ArjunaTransactionImple", "com.arjuna.ats.arjuna.tools.osb.mbean.ActionBean");
-			put("StateManager/BasicAction/TwoPhaseCoordinator/AtomicAction", "com.arjuna.ats.internal.jta.tools.osb.mbean.jta.JTAActionBean");
-		}});
+		osb.setType("com.arjuna.ats.arjuna.AtomicAction", "com.arjuna.ats.internal.jta.tools.osb.mbean.jta.JTAActionBean");
 
 		return osb;
 	}

Modified: labs/jbosstm/branches/JBOSSTS_4_16/ArjunaJTS/jtax/tests/classes/com/hp/mwtests/ts/jta/jts/tools/JTSObjStoreBrowserTest.java
===================================================================
--- labs/jbosstm/branches/JBOSSTS_4_16/ArjunaJTS/jtax/tests/classes/com/hp/mwtests/ts/jta/jts/tools/JTSObjStoreBrowserTest.java	2011-12-16 10:05:43 UTC (rev 37816)
+++ labs/jbosstm/branches/JBOSSTS_4_16/ArjunaJTS/jtax/tests/classes/com/hp/mwtests/ts/jta/jts/tools/JTSObjStoreBrowserTest.java	2011-12-16 13:22:23 UTC (rev 37817)
@@ -58,10 +58,8 @@
 	private ObjStoreBrowser createObjStoreBrowser() {
 		ObjStoreBrowser osb = new ObjStoreBrowser();
 
-		osb.setTypes( new HashMap<String, String>() {{
-			put("StateManager/BasicAction/TwoPhaseCoordinator/ArjunaTransactionImple", "com.arjuna.ats.arjuna.tools.osb.mbean.ActionBean");
-			put("StateManager/BasicAction/TwoPhaseCoordinator/AtomicAction", "com.arjuna.ats.arjuna.tools.osb.mbean.ActionBean");
-		}});
+		osb.setType("com.arjuna.ats.arjuna.AtomicAction", "com.arjuna.ats.internal.jta.tools.osb.mbean.jta.JTAActionBean");
+		osb.setType("com.arjuna.ats.internal.jta.tools.osb.mbean.jts.ArjunaTransactionImpleWrapper", "com.arjuna.ats.arjuna.tools.osb.mbean.ActionBean");
 
 		return osb;
 	}

Modified: labs/jbosstm/branches/JBOSSTS_4_16/atsintegration/examples/classes/com/arjuna/jta/distributed/example/server/impl/ServerImpl.java
===================================================================
--- labs/jbosstm/branches/JBOSSTS_4_16/atsintegration/examples/classes/com/arjuna/jta/distributed/example/server/impl/ServerImpl.java	2011-12-16 10:05:43 UTC (rev 37816)
+++ labs/jbosstm/branches/JBOSSTS_4_16/atsintegration/examples/classes/com/arjuna/jta/distributed/example/server/impl/ServerImpl.java	2011-12-16 13:22:23 UTC (rev 37817)
@@ -138,11 +138,6 @@
 				.getNamedInstance(com.arjuna.ats.arjuna.common.ObjectStoreEnvironmentBean.class, "communicationStore");
 		communicationStoreObjectStoreEnvironmentBean.setObjectStoreDir(System.getProperty("user.dir") + "/distributedjta-examples/tx-object-store/" + nodeName);
 
-		ObjStoreBrowser objStoreBrowser = new ObjStoreBrowser();
-		Map<String, String> types = new HashMap<String, String>();
-		types.put("StateManager/BasicAction/TwoPhaseCoordinator/AtomicAction", "com.arjuna.ats.internal.jta.tools.osb.mbean.jta.JTAActionBean");
-		objStoreBrowser.setTypes(types);
-
 		JTAEnvironmentBean jTAEnvironmentBean = com.arjuna.ats.jta.common.jtaPropertyManager.getJTAEnvironmentBean();
 		jTAEnvironmentBean.setLastResourceOptimisationInterface(org.jboss.tm.LastResource.class);
 		jTAEnvironmentBean.setTransactionManagerClassName("com.arjuna.ats.jbossatx.jta.TransactionManagerDelegate");

Modified: labs/jbosstm/branches/JBOSSTS_4_16/atsintegration/tests/classes/com/arjuna/ats/jta/distributed/server/impl/ServerImpl.java
===================================================================
--- labs/jbosstm/branches/JBOSSTS_4_16/atsintegration/tests/classes/com/arjuna/ats/jta/distributed/server/impl/ServerImpl.java	2011-12-16 10:05:43 UTC (rev 37816)
+++ labs/jbosstm/branches/JBOSSTS_4_16/atsintegration/tests/classes/com/arjuna/ats/jta/distributed/server/impl/ServerImpl.java	2011-12-16 13:22:23 UTC (rev 37817)
@@ -119,11 +119,6 @@
 				.getNamedInstance(com.arjuna.ats.arjuna.common.ObjectStoreEnvironmentBean.class, "communicationStore");
 		communicationStoreObjectStoreEnvironmentBean.setObjectStoreDir(System.getProperty("user.dir") + "/distributedjta-tests/tx-object-store/" + nodeName);
 
-		ObjStoreBrowser objStoreBrowser = new ObjStoreBrowser();
-		Map<String, String> types = new HashMap<String, String>();
-		types.put("StateManager/BasicAction/TwoPhaseCoordinator/AtomicAction", "com.arjuna.ats.internal.jta.tools.osb.mbean.jta.JTAActionBean");
-		objStoreBrowser.setTypes(types);
-
 		JTAEnvironmentBean jTAEnvironmentBean = com.arjuna.ats.jta.common.jtaPropertyManager.getJTAEnvironmentBean();
 		jTAEnvironmentBean.setLastResourceOptimisationInterface(org.jboss.tm.LastResource.class);
 		jTAEnvironmentBean.setTransactionManagerClassName("com.arjuna.ats.jbossatx.jta.TransactionManagerDelegate");



More information about the jboss-svn-commits mailing list