You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@river.apache.org by pe...@apache.org on 2013/01/02 06:21:08 UTC

svn commit: r1427655 [25/35] - in /river/jtsk/skunk/qa_refactor/trunk/qa: ./ doc/ src/com/sun/jini/qa/harness/ src/com/sun/jini/test/impl/discoverymanager/ src/com/sun/jini/test/impl/discoveryproviders/ src/com/sun/jini/test/impl/end2end/e2etest/ src/c...

Added: river/jtsk/skunk/qa_refactor/trunk/qa/src/com/sun/jini/test/spec/javaspace/conformance/JavaSpaceTest.java
URL: http://svn.apache.org/viewvc/river/jtsk/skunk/qa_refactor/trunk/qa/src/com/sun/jini/test/spec/javaspace/conformance/JavaSpaceTest.java?rev=1427655&view=auto
==============================================================================
--- river/jtsk/skunk/qa_refactor/trunk/qa/src/com/sun/jini/test/spec/javaspace/conformance/JavaSpaceTest.java (added)
+++ river/jtsk/skunk/qa_refactor/trunk/qa/src/com/sun/jini/test/spec/javaspace/conformance/JavaSpaceTest.java Wed Jan  2 05:20:52 2013
@@ -0,0 +1,442 @@
+/*
+ * To change this template, choose Tools | Templates
+ * and open the template in the editor.
+ */
+package com.sun.jini.test.spec.javaspace.conformance;
+
+import com.sun.jini.qa.harness.QAConfig;
+import com.sun.jini.qa.harness.QAConfiguration;
+import com.sun.jini.qa.harness.QATestEnvironment;
+import com.sun.jini.qa.harness.Test;
+import com.sun.jini.qa.harness.TestException;
+import java.rmi.RMISecurityManager;
+import java.rmi.RemoteException;
+import java.util.ArrayList;
+import net.jini.config.Configuration;
+import net.jini.config.ConfigurationException;
+import net.jini.core.entry.Entry;
+import net.jini.core.event.EventRegistration;
+import net.jini.core.lease.Lease;
+import net.jini.core.transaction.Transaction;
+import net.jini.core.transaction.TransactionFactory;
+import net.jini.core.transaction.server.TransactionManager;
+import net.jini.security.ProxyPreparer;
+import net.jini.space.JavaSpace;
+
+/**
+ *
+ * @author peter
+ */
+public abstract class JavaSpaceTest extends QATestEnvironment implements Test {
+    /** Holds the value which is used for read/take check operations. */
+    protected long checkTime = 0;
+
+    public JavaSpaceTest() {
+        super();
+    }
+    /** Value to check operations which require instant result. */
+    protected long instantTime = 0;
+    /**
+     * Holds the value which is used instead of Lease.FOREVER one
+     * to avoid infinite lease times.
+     */
+    protected long leaseForeverTime = 0;
+    /** Holds TransactionManager instance for transaction's testing. */
+    protected TransactionManager mgr = null;
+    /** The name of current package to read current settings. */
+    protected final String pkgName = "com.sun.jini.test.spec." + "javaspace.conformance";
+    /** Holds JavaSpace instance of tested space. */
+    protected JavaSpace space;
+    /** The name of service for which these tests are written. */
+    protected final String spaceName = "net.jini.space.JavaSpace";
+    /** First timeout for testing in ms. */
+    protected long timeout1 = 0;
+    /**
+     * Second timeout for testing in ms.
+     * Must be greater then ({@link #timeout1} + 5000)
+     */
+    protected long timeout2 = 0;
+    /** Holds transactions instances. */
+    protected ArrayList txns = new ArrayList();
+    /** value to wait for notifications time in ms. */
+    protected long waitingNotificationsToComeTime = 0;
+
+    /**
+     * Checks whether space is empty or not outside all transactions.
+     *
+     * @param space JavaSpace to be checked.
+     *
+     * @return True if space is empty, otherwise - false.
+     *
+     * @exception TestException
+     *          If an exception has been thrown during space checking.
+     */
+    public boolean checkSpace(JavaSpace space) throws TestException {
+        return checkSpace(space, null);
+    }
+
+    /**
+     * Checks whether space is empty or not.
+     *
+     * @param space JavaSpace to be checked.
+     * @param txn Transaction under wich check needed to be performed.
+     *
+     * @return True if space is empty, otherwise - false.
+     *
+     * @exception TestException
+     *          If an exception has been thrown during space checking.
+     */
+    public boolean checkSpace(JavaSpace space, Transaction txn) throws TestException {
+        try {
+            Entry result = (Entry) space.readIfExists(null, txn, JavaSpace.NO_WAIT);
+            if (result != null) {
+                return false;
+            }
+        } catch (Exception ex) {
+            throw new TestException("Exception has been caught while space checking: ", ex);
+        }
+        return true;
+    }
+
+    /**
+     * Cleans tested space without transaction.
+     *
+     * @param space Javaspace for cleaning.
+     *
+     * @exception TestException
+     *          If an exception has been thrown during space cleaning.
+     */
+    public void cleanSpace(JavaSpace space) throws TestException {
+        cleanSpace(space, null);
+    }
+
+    /**
+     * Cleans tested space within specified transaction.
+     *
+     * @param space Javaspace for cleaning.
+     * @param txn Transaction within which we will clean the space.
+     *
+     * @exception TestException
+     *          If an exception has been thrown during space cleaning.
+     */
+    public void cleanSpace(JavaSpace space, Transaction txn) throws TestException {
+        try {
+            while (!checkSpace(space, txn)) {
+                space.takeIfExists(null, txn, JavaSpace.NO_WAIT);
+            }
+        } catch (Exception ex) {
+            throw new TestException("Exception has been caught while" + " cleaning the space: " + ex.getMessage());
+        }
+    }
+
+    /**
+     * Runs tested JavaSpace.
+     *
+     * @return JavaSpace instance of started space.
+     *
+     * @exception TestException
+     *          If an exception has been thrown during JavaSpace creation or
+     *          created JavaSpace is null.
+     */
+    public JavaSpace getSpace() throws TestException {
+        JavaSpace js = null;
+        try {
+            if (System.getSecurityManager() == null) {
+                System.setSecurityManager(new RMISecurityManager());
+            }
+            printSpaceInfo();
+            js = (JavaSpace) getManager().startService(spaceName); // prepared
+            // prepared
+            // prepared
+            // prepared
+            // prepared
+            // prepared
+            // prepared
+            // prepared
+            // prepared
+            // prepared
+            // prepared
+            // prepared
+            // prepared
+            // prepared
+            // prepared
+            // prepared
+            // prepared
+            // prepared
+            // prepared
+            // prepared
+            // prepared
+            // prepared
+            // prepared
+            // prepared
+            // prepared
+            // prepared
+            // prepared
+            // prepared
+            // prepared
+        } catch (Exception e) {
+            throw new TestException("Exception has been caught while trying to start space:", e);
+        }
+        if (js == null) {
+            throw new TestException("Null space has been obtained.");
+        }
+        return js;
+    }
+
+    /**
+     * Creates transaction with default lease time.
+     *
+     * @return Created transaction.
+     */
+    public Transaction getTransaction() throws TestException {
+        return getTransaction(leaseForeverTime * 2);
+    }
+
+    /**
+     * Creates transaction with specified lease time.
+     *
+     * @param lTime Transaction's lease time.
+     *
+     * @return Created transaction.
+     */
+    public Transaction getTransaction(long lTime) throws TestException {
+        Transaction.Created trc = null;
+        try {
+            trc = TransactionFactory.create(mgr, lTime);
+            if (trc == null) {
+                throw new TestException("Null transaction" + " has been obtained.");
+            }
+            txns.add(trc.transaction);
+            return trc.transaction;
+        } catch (Exception e) {
+            throw new TestException("Could not create transaction.", e);
+        }
+    }
+
+    /**
+     * Runs Transaction Manager.
+     *
+     * @return TransactionManager instance of started manager.
+     *
+     * @exception TestException
+     *          If an exception has been thrown during TransactionManager
+     *          creation or created TransactionManager is null.
+     */
+    public TransactionManager getTxnManager() throws TestException {
+        TransactionManager mgr = null;
+        try {
+            String txnMgrName = getConfig().getStringConfigVal(pkgName + ".txnManager", TransactionManager.class.getName());
+            printTxnMgrInfo(txnMgrName);
+            mgr = (TransactionManager) getManager().startService(txnMgrName); //prepared
+            //prepared
+            //prepared
+            //prepared
+            //prepared
+            //prepared
+            //prepared
+            //prepared
+            //prepared
+            //prepared
+            //prepared
+            //prepared
+            //prepared
+            //prepared
+            //prepared
+            //prepared
+            //prepared
+            //prepared
+            //prepared
+            //prepared
+            //prepared
+            //prepared
+            //prepared
+            //prepared
+            //prepared
+            //prepared
+            //prepared
+            //prepared
+            //prepared
+        } catch (Exception e) {
+            throw new TestException("Exception has been caught while" + "trying to start Transaction Manager.", e);
+        }
+        if (mgr == null) {
+            throw new TestException("Null Transaction Manager" + " has been obtained.");
+        }
+        return mgr;
+    }
+
+    /**
+     * Writes debug text to the log.
+     *
+     * @param text Text to be written to the log.
+     */
+    public void logDebugText(String text) {
+        logger.fine("" + ": " + text);
+    }
+
+    protected Lease prepareLease(Lease l) throws ConfigurationException, RemoteException {
+        if (l != null) {
+            Configuration c = getConfig().getConfiguration();
+            if (!(c instanceof QAConfiguration)) {
+                // none configuration
+                return l;
+            }
+            ProxyPreparer p = (ProxyPreparer) c.getEntry("test", "outriggerLeasePreparer", ProxyPreparer.class);
+            if (p != null) {
+                l = (Lease) p.prepareProxy(l);
+            }
+        }
+        return l;
+    }
+
+    protected EventRegistration prepareRegistration(EventRegistration reg) throws ConfigurationException, RemoteException {
+        if (reg != null) {
+            Configuration c = getConfig().getConfiguration();
+            if (!(c instanceof QAConfiguration)) {
+                // none configuration
+                return reg;
+            }
+            ProxyPreparer p = (ProxyPreparer) c.getEntry("test", "outriggerEventRegistrationPreparer", ProxyPreparer.class);
+            if (p != null) {
+                reg = (EventRegistration) p.prepareProxy(reg);
+            }
+        }
+        return reg;
+    }
+
+    /**
+     * Prints configuration of tested JavaSpace for the current test.
+     */
+    protected void printSpaceInfo() {
+        logDebugText("----- JavaSpace Info -----");
+        String serviceImplClassname = getConfig().getStringConfigVal(spaceName + ".impl", "no implClassname");
+        logDebugText("JavaSpace impl class     -- " + serviceImplClassname);
+        String serviceCodebase = getConfig().getStringConfigVal(spaceName + ".codebase", "no codebase");
+        logDebugText("JavaSpace codebase       -- " + serviceCodebase);
+        String serviceClasspath = getConfig().getStringConfigVal(spaceName + ".classpath", "no classpath");
+        logDebugText("JavaSpace classpath      -- " + serviceClasspath);
+        String servicePolicyFile = getConfig().getStringConfigVal(spaceName + ".policyfile", "no policyFile");
+        logDebugText("JavaSpace policy file    -- " + servicePolicyFile);
+        logDebugText("--------------------------");
+    }
+
+    /**
+     * Prints configuration of tested JavaSpace for the current test.
+     *
+     * @param txnMgrName Package name for transaction manager.
+     */
+    protected void printTxnMgrInfo(String txnMgrName) {
+        logDebugText("----- Transaction Manager Info -----");
+        String txnMgrImplClassname = getConfig().getStringConfigVal(txnMgrName + ".impl", "no implClassname");
+        logDebugText("TxnManager impl class     -- " + txnMgrImplClassname);
+        String txnMgrCodebase = getConfig().getStringConfigVal(txnMgrName + ".codebase", "no codebase");
+        logDebugText("TxnManager codebase       -- " + txnMgrCodebase);
+        String txnMgrClasspath = getConfig().getStringConfigVal(txnMgrName + ".classpath", "no classpath");
+        logDebugText("TxnManager classpath      -- " + txnMgrClasspath);
+        String txnMgrPolicyFile = getConfig().getStringConfigVal(txnMgrName + ".policyfile", "no policyFile");
+        logDebugText("TxnManager policy file    -- " + txnMgrPolicyFile);
+        logDebugText("------------------------------------");
+    }
+
+    /**
+     * Sets up the testing environment.
+     *
+     * @param config QAConfig from the runner for construct.
+     */
+    public Test construct(QAConfig config) throws Exception {
+        // mandatory call to parent
+        super.construct(config);
+        // avoid changing a whole bunch of constructors to include the configuration
+        NotifyCounter.setConfiguration(config.getConfiguration());
+        ParticipantImpl.setConfiguration(config.getConfiguration());
+        // output the name of this test
+        logDebugText("Test Name = " + this.getClass().getName());
+        // run tested JavaSpace
+        space = getSpace();
+        // set up lease and check times
+        leaseForeverTime = getConfig().getLongConfigVal(pkgName + ".lease.forever", Lease.FOREVER);
+        checkTime = getConfig().getLongConfigVal(pkgName + ".checkTime", 10000);
+        timeout1 = getConfig().getLongConfigVal(pkgName + ".timeout1", 10000);
+        timeout2 = getConfig().getLongConfigVal(pkgName + ".timeout2", 20000);
+        waitingNotificationsToComeTime = getConfig().getLongConfigVal(pkgName + ".waitingNotificationsTime", 10000);
+        // ensure, that timeout2 > (timeout1 + 5000)
+        if (timeout1 > timeout2) {
+            long tmp = timeout1;
+            timeout1 = timeout2;
+            timeout2 = tmp;
+        }
+        if (timeout2 < (timeout1 + 5000)) {
+            timeout2 += 5000;
+        }
+        instantTime = getConfig().getLongConfigVal(pkgName + ".instantTime", 500);
+        return this;
+    }
+
+    /**
+     * Performs cleaning operations after test's completion.
+     */
+    public void tearDown() {
+        try {
+            // abort noncommitted transactions
+            txnsAbort();
+            // clean the space
+            cleanSpace(space);
+        } catch (Exception ex) {
+            logDebugText("Exception has been caught in tearDown method: " + ex);
+            ex.printStackTrace();
+        } finally {
+            super.tearDown();
+        }
+    }
+
+    /**
+     * Aborts specified transaction.
+     *
+     * @param txn Transaction to be committed.
+     *
+     * @exception TestException
+     *          If an exception has been thrown during transaction's aborting.
+     */
+    public void txnAbort(Transaction txn) throws TestException {
+        try {
+            if (txn != null) {
+                txn.abort();
+                txns.remove(txns.indexOf(txn));
+            }
+        } catch (Exception e) {
+            throw new TestException("Exception has been caught while transaction aborting:", e);
+        }
+    }
+
+    /**
+     * Commits specified transaction.
+     *
+     * @param txn Transaction to be committed.
+     *
+     * @exception TestException
+     *          If an exception has been thrown during transaction's committing.
+     */
+    public void txnCommit(Transaction txn) throws TestException {
+        try {
+            if (txn != null) {
+                txn.commit();
+                txns.remove(txns.indexOf(txn));
+            }
+        } catch (Exception e) {
+            throw new TestException("Exception has been caught while transaction committing:", e);
+        }
+    }
+
+    /**
+     * Aborts noncommitted transactions.
+     */
+    public void txnsAbort() {
+        try {
+            while (!txns.isEmpty()) {
+                txnAbort((Transaction) txns.get(0));
+            }
+        } catch (Exception e) {
+        }
+    }
+    
+}

Propchange: river/jtsk/skunk/qa_refactor/trunk/qa/src/com/sun/jini/test/spec/javaspace/conformance/JavaSpaceTest.java
------------------------------------------------------------------------------
    svn:eol-style = native

Modified: river/jtsk/skunk/qa_refactor/trunk/qa/src/com/sun/jini/test/spec/javaspace/conformance/LeaseTest.java
URL: http://svn.apache.org/viewvc/river/jtsk/skunk/qa_refactor/trunk/qa/src/com/sun/jini/test/spec/javaspace/conformance/LeaseTest.java?rev=1427655&r1=1427654&r2=1427655&view=diff
==============================================================================
--- river/jtsk/skunk/qa_refactor/trunk/qa/src/com/sun/jini/test/spec/javaspace/conformance/LeaseTest.java (original)
+++ river/jtsk/skunk/qa_refactor/trunk/qa/src/com/sun/jini/test/spec/javaspace/conformance/LeaseTest.java Wed Jan  2 05:20:52 2013
@@ -32,7 +32,7 @@ import com.sun.jini.qa.harness.QAConfig;
  *
  * @author Mikhail A. Markov
  */
-public class LeaseTest extends AbstractTestBase {
+public class LeaseTest extends JavaSpaceTest {
 
     /**
      * This method asserts, that each write invocation returns a Lease object

Modified: river/jtsk/skunk/qa_refactor/trunk/qa/src/com/sun/jini/test/spec/javaspace/conformance/NotifyLeaseANYTest.java
URL: http://svn.apache.org/viewvc/river/jtsk/skunk/qa_refactor/trunk/qa/src/com/sun/jini/test/spec/javaspace/conformance/NotifyLeaseANYTest.java?rev=1427655&r1=1427654&r2=1427655&view=diff
==============================================================================
--- river/jtsk/skunk/qa_refactor/trunk/qa/src/com/sun/jini/test/spec/javaspace/conformance/NotifyLeaseANYTest.java (original)
+++ river/jtsk/skunk/qa_refactor/trunk/qa/src/com/sun/jini/test/spec/javaspace/conformance/NotifyLeaseANYTest.java Wed Jan  2 05:20:52 2013
@@ -38,7 +38,7 @@ import com.sun.jini.qa.harness.TestExcep
  *
  * @author Mikhail A. Markov
  */
-public class NotifyLeaseANYTest extends AbstractTestBase {
+public class NotifyLeaseANYTest extends JavaSpaceTest {
 
     /**
      * This method asserts, that for notify with <code>Lease.ANY</code>

Modified: river/jtsk/skunk/qa_refactor/trunk/qa/src/com/sun/jini/test/spec/javaspace/conformance/NotifyLeaseFOREVERTest.java
URL: http://svn.apache.org/viewvc/river/jtsk/skunk/qa_refactor/trunk/qa/src/com/sun/jini/test/spec/javaspace/conformance/NotifyLeaseFOREVERTest.java?rev=1427655&r1=1427654&r2=1427655&view=diff
==============================================================================
--- river/jtsk/skunk/qa_refactor/trunk/qa/src/com/sun/jini/test/spec/javaspace/conformance/NotifyLeaseFOREVERTest.java (original)
+++ river/jtsk/skunk/qa_refactor/trunk/qa/src/com/sun/jini/test/spec/javaspace/conformance/NotifyLeaseFOREVERTest.java Wed Jan  2 05:20:52 2013
@@ -38,7 +38,7 @@ import com.sun.jini.qa.harness.TestExcep
  *
  * @author Mikhail A. Markov
  */
-public class NotifyLeaseFOREVERTest extends AbstractTestBase {
+public class NotifyLeaseFOREVERTest extends JavaSpaceTest {
 
     /**
      * This method asserts, that for notify with <code>Lease.FOREVER</code>

Modified: river/jtsk/skunk/qa_refactor/trunk/qa/src/com/sun/jini/test/spec/javaspace/conformance/NotifyNegativeLeaseTest.java
URL: http://svn.apache.org/viewvc/river/jtsk/skunk/qa_refactor/trunk/qa/src/com/sun/jini/test/spec/javaspace/conformance/NotifyNegativeLeaseTest.java?rev=1427655&r1=1427654&r2=1427655&view=diff
==============================================================================
--- river/jtsk/skunk/qa_refactor/trunk/qa/src/com/sun/jini/test/spec/javaspace/conformance/NotifyNegativeLeaseTest.java (original)
+++ river/jtsk/skunk/qa_refactor/trunk/qa/src/com/sun/jini/test/spec/javaspace/conformance/NotifyNegativeLeaseTest.java Wed Jan  2 05:20:52 2013
@@ -34,7 +34,7 @@ import com.sun.jini.qa.harness.TestExcep
  *
  * @author Mikhail A. Markov
  */
-public class NotifyNegativeLeaseTest extends AbstractTestBase {
+public class NotifyNegativeLeaseTest extends JavaSpaceTest {
 
     /**
      * This method asserts, that we will get

Modified: river/jtsk/skunk/qa_refactor/trunk/qa/src/com/sun/jini/test/spec/javaspace/conformance/NotifyNonNullTxnParamTest.java
URL: http://svn.apache.org/viewvc/river/jtsk/skunk/qa_refactor/trunk/qa/src/com/sun/jini/test/spec/javaspace/conformance/NotifyNonNullTxnParamTest.java?rev=1427655&r1=1427654&r2=1427655&view=diff
==============================================================================
--- river/jtsk/skunk/qa_refactor/trunk/qa/src/com/sun/jini/test/spec/javaspace/conformance/NotifyNonNullTxnParamTest.java (original)
+++ river/jtsk/skunk/qa_refactor/trunk/qa/src/com/sun/jini/test/spec/javaspace/conformance/NotifyNonNullTxnParamTest.java Wed Jan  2 05:20:52 2013
@@ -27,6 +27,7 @@ import net.jini.core.event.EventRegistra
 // com.sun.jini
 import com.sun.jini.qa.harness.TestException;
 import com.sun.jini.qa.harness.QAConfig;
+import com.sun.jini.qa.harness.Test;
 
 /**
  * NotifyNonNullTxnParamTest asserts, that if the transaction parameter is not
@@ -36,21 +37,7 @@ import com.sun.jini.qa.harness.QAConfig;
  *
  * @author Mikhail A. Markov
  */
-public class NotifyNonNullTxnParamTest extends AbstractTestBase {
-
-    /**
-     * Sets up the testing environment.
-     *
-     * @param config QAConfig from the runner for setup.
-     */
-    public void setup(QAConfig config) throws Exception {
-
-        // mandatory call to parent
-        super.setup(config);
-
-        // get an instance of Transaction Manager
-        mgr = getTxnManager();
-    }
+public class NotifyNonNullTxnParamTest extends TransactionTest {
 
     /**
      * This method asserts, that if the transaction parameter is not

Modified: river/jtsk/skunk/qa_refactor/trunk/qa/src/com/sun/jini/test/spec/javaspace/conformance/NotifyNullTxnParamTest.java
URL: http://svn.apache.org/viewvc/river/jtsk/skunk/qa_refactor/trunk/qa/src/com/sun/jini/test/spec/javaspace/conformance/NotifyNullTxnParamTest.java?rev=1427655&r1=1427654&r2=1427655&view=diff
==============================================================================
--- river/jtsk/skunk/qa_refactor/trunk/qa/src/com/sun/jini/test/spec/javaspace/conformance/NotifyNullTxnParamTest.java (original)
+++ river/jtsk/skunk/qa_refactor/trunk/qa/src/com/sun/jini/test/spec/javaspace/conformance/NotifyNullTxnParamTest.java Wed Jan  2 05:20:52 2013
@@ -27,6 +27,7 @@ import net.jini.core.event.EventRegistra
 // com.sun.jini
 import com.sun.jini.qa.harness.TestException;
 import com.sun.jini.qa.harness.QAConfig;
+import com.sun.jini.qa.harness.Test;
 
 
 /**
@@ -40,21 +41,7 @@ import com.sun.jini.qa.harness.QAConfig;
  *
  * @author Mikhail A. Markov
  */
-public class NotifyNullTxnParamTest extends AbstractTestBase {
-
-    /**
-     * Sets up the testing environment.
-     *
-     * @param config Arguments from the runner for setup.
-     */
-    public void setup(QAConfig config) throws Exception {
-
-        // mandatory call to parent
-        super.setup(config);
-
-        // get an instance of Transaction Manager
-        mgr = getTxnManager();
-    }
+public class NotifyNullTxnParamTest extends TransactionTest {
 
     /**
      * This method asserts, that:

Modified: river/jtsk/skunk/qa_refactor/trunk/qa/src/com/sun/jini/test/spec/javaspace/conformance/NotifyTest.java
URL: http://svn.apache.org/viewvc/river/jtsk/skunk/qa_refactor/trunk/qa/src/com/sun/jini/test/spec/javaspace/conformance/NotifyTest.java?rev=1427655&r1=1427654&r2=1427655&view=diff
==============================================================================
--- river/jtsk/skunk/qa_refactor/trunk/qa/src/com/sun/jini/test/spec/javaspace/conformance/NotifyTest.java (original)
+++ river/jtsk/skunk/qa_refactor/trunk/qa/src/com/sun/jini/test/spec/javaspace/conformance/NotifyTest.java Wed Jan  2 05:20:52 2013
@@ -37,7 +37,7 @@ import com.sun.jini.qa.harness.QAConfig;
  *
  * @author Mikhail A. Markov
  */
-public class NotifyTest extends AbstractTestBase {
+public class NotifyTest extends JavaSpaceTest {
 
     /**
      * This method asserts, that for notify with finite lease times:

Modified: river/jtsk/skunk/qa_refactor/trunk/qa/src/com/sun/jini/test/spec/javaspace/conformance/RegisterForAvailabilityEventTest05.java
URL: http://svn.apache.org/viewvc/river/jtsk/skunk/qa_refactor/trunk/qa/src/com/sun/jini/test/spec/javaspace/conformance/RegisterForAvailabilityEventTest05.java?rev=1427655&r1=1427654&r2=1427655&view=diff
==============================================================================
--- river/jtsk/skunk/qa_refactor/trunk/qa/src/com/sun/jini/test/spec/javaspace/conformance/RegisterForAvailabilityEventTest05.java (original)
+++ river/jtsk/skunk/qa_refactor/trunk/qa/src/com/sun/jini/test/spec/javaspace/conformance/RegisterForAvailabilityEventTest05.java Wed Jan  2 05:20:52 2013
@@ -38,7 +38,7 @@ import com.sun.jini.qa.harness.TestExcep
  *
  * @author Pavel Bogdanov
  */
-public class RegisterForAvailabilityEventTest05 extends AbstractTestBase {
+public class RegisterForAvailabilityEventTest05 extends JavaSpaceTest {
 
     private ArrayList templates = new ArrayList();
     private ArrayList expectedResult = new ArrayList();
@@ -94,7 +94,7 @@ public class RegisterForAvailabilityEven
     public void run() throws Exception {
         ArrayList registrations = new ArrayList();
 
-        TestEventListener05.setConfiguration(config.getConfiguration());
+        TestEventListener05.setConfiguration(getConfig().getConfiguration());
         JavaSpace05 space05 = (JavaSpace05) space;
         reset();
 

Modified: river/jtsk/skunk/qa_refactor/trunk/qa/src/com/sun/jini/test/spec/javaspace/conformance/TakeTest05.java
URL: http://svn.apache.org/viewvc/river/jtsk/skunk/qa_refactor/trunk/qa/src/com/sun/jini/test/spec/javaspace/conformance/TakeTest05.java?rev=1427655&r1=1427654&r2=1427655&view=diff
==============================================================================
--- river/jtsk/skunk/qa_refactor/trunk/qa/src/com/sun/jini/test/spec/javaspace/conformance/TakeTest05.java (original)
+++ river/jtsk/skunk/qa_refactor/trunk/qa/src/com/sun/jini/test/spec/javaspace/conformance/TakeTest05.java Wed Jan  2 05:20:52 2013
@@ -32,7 +32,7 @@ import net.jini.core.transaction.Transac
  *
  * @author Pavel Bogdanov
  */
-public class TakeTest05 extends AbstractTestBase {
+public class TakeTest05 extends JavaSpaceTest {
 
     private final long MAX_ENTRIES = 5;
 

Modified: river/jtsk/skunk/qa_refactor/trunk/qa/src/com/sun/jini/test/spec/javaspace/conformance/TransactionAbortWriteTest.java
URL: http://svn.apache.org/viewvc/river/jtsk/skunk/qa_refactor/trunk/qa/src/com/sun/jini/test/spec/javaspace/conformance/TransactionAbortWriteTest.java?rev=1427655&r1=1427654&r2=1427655&view=diff
==============================================================================
--- river/jtsk/skunk/qa_refactor/trunk/qa/src/com/sun/jini/test/spec/javaspace/conformance/TransactionAbortWriteTest.java (original)
+++ river/jtsk/skunk/qa_refactor/trunk/qa/src/com/sun/jini/test/spec/javaspace/conformance/TransactionAbortWriteTest.java Wed Jan  2 05:20:52 2013
@@ -26,6 +26,7 @@ import net.jini.core.transaction.Transac
 // com.sun.jini
 import com.sun.jini.qa.harness.TestException;
 import com.sun.jini.qa.harness.QAConfig;
+import com.sun.jini.qa.harness.Test;
 
 /**
  * TransactionAbortWriteTest asserts that entries written under a transaction
@@ -33,21 +34,7 @@ import com.sun.jini.qa.harness.QAConfig;
  *
  * @author Mikhail A. Markov
  */
-public class TransactionAbortWriteTest extends AbstractTestBase {
-
-    /**
-     * Sets up the testing environment.
-     *
-     * @param config QAConfig from the runner for setup.
-     */
-    public void setup(QAConfig config) throws Exception {
-
-        // mandatory call to parent
-        super.setup(config);
-
-        // get an instance of Transaction Manager
-        mgr = getTxnManager();
-    }
+public class TransactionAbortWriteTest extends TransactionTest {
 
     /**
      * This method asserts that entries written under a transaction

Modified: river/jtsk/skunk/qa_refactor/trunk/qa/src/com/sun/jini/test/spec/javaspace/conformance/TransactionCommitTakeIfExistsTest.java
URL: http://svn.apache.org/viewvc/river/jtsk/skunk/qa_refactor/trunk/qa/src/com/sun/jini/test/spec/javaspace/conformance/TransactionCommitTakeIfExistsTest.java?rev=1427655&r1=1427654&r2=1427655&view=diff
==============================================================================
--- river/jtsk/skunk/qa_refactor/trunk/qa/src/com/sun/jini/test/spec/javaspace/conformance/TransactionCommitTakeIfExistsTest.java (original)
+++ river/jtsk/skunk/qa_refactor/trunk/qa/src/com/sun/jini/test/spec/javaspace/conformance/TransactionCommitTakeIfExistsTest.java Wed Jan  2 05:20:52 2013
@@ -28,6 +28,7 @@ import net.jini.space.JavaSpace;
 // com.sun.jini
 import com.sun.jini.qa.harness.TestException;
 import com.sun.jini.qa.harness.QAConfig;
+import com.sun.jini.qa.harness.Test;
 
 /**
  * TransactionCommitTakeIfExistsTest asserts that a takeIfExists is considered
@@ -35,21 +36,7 @@ import com.sun.jini.qa.harness.QAConfig;
  *
  * @author Mikhail A. Markov
  */
-public class TransactionCommitTakeIfExistsTest extends AbstractTestBase {
-
-    /**
-     * Sets up the testing environment.
-     *
-     * @param config QAConfig from the runner for setup.
-     */
-    public void setup(QAConfig config) throws Exception {
-
-        // mandatory call to parent
-        super.setup(config);
-
-        // get an instance of Transaction Manager
-        mgr = getTxnManager();
-    }
+public class TransactionCommitTakeIfExistsTest extends TransactionTest {
 
     /**
      * This method asserts that a takeIfExists is considered to be successful

Modified: river/jtsk/skunk/qa_refactor/trunk/qa/src/com/sun/jini/test/spec/javaspace/conformance/TransactionCommitTakeTest.java
URL: http://svn.apache.org/viewvc/river/jtsk/skunk/qa_refactor/trunk/qa/src/com/sun/jini/test/spec/javaspace/conformance/TransactionCommitTakeTest.java?rev=1427655&r1=1427654&r2=1427655&view=diff
==============================================================================
--- river/jtsk/skunk/qa_refactor/trunk/qa/src/com/sun/jini/test/spec/javaspace/conformance/TransactionCommitTakeTest.java (original)
+++ river/jtsk/skunk/qa_refactor/trunk/qa/src/com/sun/jini/test/spec/javaspace/conformance/TransactionCommitTakeTest.java Wed Jan  2 05:20:52 2013
@@ -27,6 +27,7 @@ import net.jini.core.transaction.server.
 // com.sun.jini
 import com.sun.jini.qa.harness.TestException;
 import com.sun.jini.qa.harness.QAConfig;
+import com.sun.jini.qa.harness.Test;
 
 /**
  * TransactionCommitTakeTest asserts that a take is considered to be successful
@@ -34,21 +35,7 @@ import com.sun.jini.qa.harness.QAConfig;
  *
  * @author Mikhail A. Markov
  */
-public class TransactionCommitTakeTest extends AbstractTestBase {
-
-    /**
-     * Sets up the testing environment.
-     *
-     * @param config QAConfig from the runner for setup.
-     */
-    public void setup(QAConfig config) throws Exception {
-
-        // mandatory call to parent
-        super.setup(config);
-
-        // get an instance of Transaction Manager
-        mgr = getTxnManager();
-    }
+public class TransactionCommitTakeTest extends TransactionTest {
 
     /**
      * This method asserts that a take is considered to be successful

Modified: river/jtsk/skunk/qa_refactor/trunk/qa/src/com/sun/jini/test/spec/javaspace/conformance/TransactionCommitWriteTest.java
URL: http://svn.apache.org/viewvc/river/jtsk/skunk/qa_refactor/trunk/qa/src/com/sun/jini/test/spec/javaspace/conformance/TransactionCommitWriteTest.java?rev=1427655&r1=1427654&r2=1427655&view=diff
==============================================================================
--- river/jtsk/skunk/qa_refactor/trunk/qa/src/com/sun/jini/test/spec/javaspace/conformance/TransactionCommitWriteTest.java (original)
+++ river/jtsk/skunk/qa_refactor/trunk/qa/src/com/sun/jini/test/spec/javaspace/conformance/TransactionCommitWriteTest.java Wed Jan  2 05:20:52 2013
@@ -26,6 +26,7 @@ import net.jini.core.transaction.Transac
 // com.sun.jini
 import com.sun.jini.qa.harness.TestException;
 import com.sun.jini.qa.harness.QAConfig;
+import com.sun.jini.qa.harness.Test;
 
 
 /**
@@ -35,21 +36,7 @@ import com.sun.jini.qa.harness.QAConfig;
  *
  * @author Mikhail A. Markov
  */
-public class TransactionCommitWriteTest extends AbstractTestBase {
-
-    /**
-     * Sets up the testing environment.
-     *
-     * @param config QAConfig from the runner for setup.
-     */
-    public void setup(QAConfig config) throws Exception {
-
-        // mandatory call to parent
-        super.setup(config);
-
-        // get an instance of Transaction Manager
-        mgr = getTxnManager();
-    }
+public class TransactionCommitWriteTest extends TransactionTest {
 
     /**
      * This method asserts that an entry that is written under the

Modified: river/jtsk/skunk/qa_refactor/trunk/qa/src/com/sun/jini/test/spec/javaspace/conformance/TransactionContentsTest05.java
URL: http://svn.apache.org/viewvc/river/jtsk/skunk/qa_refactor/trunk/qa/src/com/sun/jini/test/spec/javaspace/conformance/TransactionContentsTest05.java?rev=1427655&r1=1427654&r2=1427655&view=diff
==============================================================================
--- river/jtsk/skunk/qa_refactor/trunk/qa/src/com/sun/jini/test/spec/javaspace/conformance/TransactionContentsTest05.java (original)
+++ river/jtsk/skunk/qa_refactor/trunk/qa/src/com/sun/jini/test/spec/javaspace/conformance/TransactionContentsTest05.java Wed Jan  2 05:20:52 2013
@@ -19,6 +19,7 @@ package com.sun.jini.test.spec.javaspace
 
 import com.sun.jini.qa.harness.TestException;
 import com.sun.jini.qa.harness.QAConfig;
+import com.sun.jini.qa.harness.Test;
 
 import java.util.List;
 import java.util.Iterator;
@@ -37,7 +38,7 @@ import net.jini.space.MatchSet;
  *
  * @author Pavel Bogdanov
  */
-public class TransactionContentsTest05 extends AbstractTestBase {
+public class TransactionContentsTest05 extends TransactionTest {
 
     private final long MAX_ENTRIES = 5;
 
@@ -49,21 +50,6 @@ public class TransactionContentsTest05 e
     private SimpleEntry sampleEntry3 = new SimpleEntry("TestEntry #1", 2);
 
     /**
-     * Sets up the testing environment.
-     *
-     * @param config
-     * @throws Exception
-     */
-    public void setup(QAConfig config) throws Exception {
-
-        // mandatory call to parent
-        super.setup(config);
-
-        // get an instance of Transaction Manager
-        mgr = getTxnManager();
-    }
-
-    /**
      * This method asserts that for JavaSpace05's "contents" operation:<br>
      * 1) The tmpls parameter must be a Collection of Entry instances to be
      *    used as templates. All of the entries placed in the match set will

Modified: river/jtsk/skunk/qa_refactor/trunk/qa/src/com/sun/jini/test/spec/javaspace/conformance/TransactionExpirationTest.java
URL: http://svn.apache.org/viewvc/river/jtsk/skunk/qa_refactor/trunk/qa/src/com/sun/jini/test/spec/javaspace/conformance/TransactionExpirationTest.java?rev=1427655&r1=1427654&r2=1427655&view=diff
==============================================================================
--- river/jtsk/skunk/qa_refactor/trunk/qa/src/com/sun/jini/test/spec/javaspace/conformance/TransactionExpirationTest.java (original)
+++ river/jtsk/skunk/qa_refactor/trunk/qa/src/com/sun/jini/test/spec/javaspace/conformance/TransactionExpirationTest.java Wed Jan  2 05:20:52 2013
@@ -27,6 +27,7 @@ import net.jini.space.JavaSpace;
 // com.sun.jini
 import com.sun.jini.qa.harness.TestException;
 import com.sun.jini.qa.harness.QAConfig;
+import com.sun.jini.qa.harness.Test;
 
 
 /**
@@ -35,21 +36,7 @@ import com.sun.jini.qa.harness.QAConfig;
  *
  * @author Mikhail A. Markov
  */
-public class TransactionExpirationTest extends AbstractTestBase {
-
-    /**
-     * Sets up the testing environment.
-     *
-     * @param config QAConfig from the runner for setup.
-     */
-    public void setup(QAConfig config) throws Exception {
-
-        // mandatory call to parent
-        super.setup(config);
-
-        // get an instance of Transaction Manager
-        mgr = getTxnManager();
-    }
+public class TransactionExpirationTest extends TransactionTest {
 
     /**
      * This method asserts, that when the lease expires,

Modified: river/jtsk/skunk/qa_refactor/trunk/qa/src/com/sun/jini/test/spec/javaspace/conformance/TransactionLeaseTest.java
URL: http://svn.apache.org/viewvc/river/jtsk/skunk/qa_refactor/trunk/qa/src/com/sun/jini/test/spec/javaspace/conformance/TransactionLeaseTest.java?rev=1427655&r1=1427654&r2=1427655&view=diff
==============================================================================
--- river/jtsk/skunk/qa_refactor/trunk/qa/src/com/sun/jini/test/spec/javaspace/conformance/TransactionLeaseTest.java (original)
+++ river/jtsk/skunk/qa_refactor/trunk/qa/src/com/sun/jini/test/spec/javaspace/conformance/TransactionLeaseTest.java Wed Jan  2 05:20:52 2013
@@ -26,6 +26,7 @@ import net.jini.core.transaction.Transac
 // com.sun.jini
 import com.sun.jini.qa.harness.TestException;
 import com.sun.jini.qa.harness.QAConfig;
+import com.sun.jini.qa.harness.Test;
 
 /**
  * TransactionLeaseTest asserts, that each write invocation within the non null
@@ -33,21 +34,7 @@ import com.sun.jini.qa.harness.QAConfig;
  *
  * @author Mikhail A. Markov
  */
-public class TransactionLeaseTest extends AbstractTestBase {
-
-    /**
-     * Sets up the testing environment.
-     *
-     * @param config QAConfig from the runner for setup.
-     */
-    public void setup(QAConfig config) throws Exception {
-
-        // mandatory call to parent
-        super.setup(config);
-
-        // get an instance of Transaction Manager
-        mgr = getTxnManager();
-    }
+public class TransactionLeaseTest extends TransactionTest {
 
     /**
      * This method asserts, that each write invocation within the non null

Modified: river/jtsk/skunk/qa_refactor/trunk/qa/src/com/sun/jini/test/spec/javaspace/conformance/TransactionMultipleTakeIfExistsNO_WAITTest.java
URL: http://svn.apache.org/viewvc/river/jtsk/skunk/qa_refactor/trunk/qa/src/com/sun/jini/test/spec/javaspace/conformance/TransactionMultipleTakeIfExistsNO_WAITTest.java?rev=1427655&r1=1427654&r2=1427655&view=diff
==============================================================================
--- river/jtsk/skunk/qa_refactor/trunk/qa/src/com/sun/jini/test/spec/javaspace/conformance/TransactionMultipleTakeIfExistsNO_WAITTest.java (original)
+++ river/jtsk/skunk/qa_refactor/trunk/qa/src/com/sun/jini/test/spec/javaspace/conformance/TransactionMultipleTakeIfExistsNO_WAITTest.java Wed Jan  2 05:20:52 2013
@@ -26,6 +26,7 @@ import net.jini.space.JavaSpace;
 // com.sun.jini
 import com.sun.jini.qa.harness.TestException;
 import com.sun.jini.qa.harness.QAConfig;
+import com.sun.jini.qa.harness.Test;
 
 /**
  * TransactionMultipleTakeIfExistsNO_WAITTest asserts that for takeIfExists
@@ -42,21 +43,8 @@ import com.sun.jini.qa.harness.QAConfig;
  * @author Mikhail A. Markov
  */
 public class TransactionMultipleTakeIfExistsNO_WAITTest
-        extends AbstractTakeTestBase {
-    /**
-     * Sets up the testing environment.
-     *
-     * @param config QAConfig from the runner for setup.
-     */
-    public void setup(QAConfig config) throws Exception {
-
-        // mandatory call to parent
-        super.setup(config);
-
-        // get an instance of Transaction Manager
-        mgr = getTxnManager();
-    }
-
+        extends AbstractTransactionTakeTest {
+    
     /**
      * This method asserts that for takeIfExists with NO_WAIT timeout
      * within the non null transaction:

Modified: river/jtsk/skunk/qa_refactor/trunk/qa/src/com/sun/jini/test/spec/javaspace/conformance/TransactionMultipleTakeIfExistsTest.java
URL: http://svn.apache.org/viewvc/river/jtsk/skunk/qa_refactor/trunk/qa/src/com/sun/jini/test/spec/javaspace/conformance/TransactionMultipleTakeIfExistsTest.java?rev=1427655&r1=1427654&r2=1427655&view=diff
==============================================================================
--- river/jtsk/skunk/qa_refactor/trunk/qa/src/com/sun/jini/test/spec/javaspace/conformance/TransactionMultipleTakeIfExistsTest.java (original)
+++ river/jtsk/skunk/qa_refactor/trunk/qa/src/com/sun/jini/test/spec/javaspace/conformance/TransactionMultipleTakeIfExistsTest.java Wed Jan  2 05:20:52 2013
@@ -26,6 +26,7 @@ import net.jini.space.JavaSpace;
 // com.sun.jini
 import com.sun.jini.qa.harness.TestException;
 import com.sun.jini.qa.harness.QAConfig;
+import com.sun.jini.qa.harness.Test;
 
 /**
  * TransactionMultipleTakeIfExistsTest asserts that for takeIfExists with
@@ -39,21 +40,7 @@ import com.sun.jini.qa.harness.QAConfig;
  *
  * @author Mikhail A. Markov
  */
-public class TransactionMultipleTakeIfExistsTest extends AbstractTakeTestBase {
-
-    /**
-     * Sets up the testing environment.
-     *
-     * @param config QAConfig from the runner for setup.
-     */
-    public void setup(QAConfig config) throws Exception {
-
-        // mandatory call to parent
-        super.setup(config);
-
-        // get an instance of Transaction Manager
-        mgr = getTxnManager();
-    }
+public class TransactionMultipleTakeIfExistsTest extends AbstractTransactionTakeTest {
 
     /**
      * This method asserts that for takeIfExists with timeouts

Modified: river/jtsk/skunk/qa_refactor/trunk/qa/src/com/sun/jini/test/spec/javaspace/conformance/TransactionMultipleTakeNO_WAITTest.java
URL: http://svn.apache.org/viewvc/river/jtsk/skunk/qa_refactor/trunk/qa/src/com/sun/jini/test/spec/javaspace/conformance/TransactionMultipleTakeNO_WAITTest.java?rev=1427655&r1=1427654&r2=1427655&view=diff
==============================================================================
--- river/jtsk/skunk/qa_refactor/trunk/qa/src/com/sun/jini/test/spec/javaspace/conformance/TransactionMultipleTakeNO_WAITTest.java (original)
+++ river/jtsk/skunk/qa_refactor/trunk/qa/src/com/sun/jini/test/spec/javaspace/conformance/TransactionMultipleTakeNO_WAITTest.java Wed Jan  2 05:20:52 2013
@@ -26,6 +26,7 @@ import net.jini.space.JavaSpace;
 // com.sun.jini
 import com.sun.jini.qa.harness.TestException;
 import com.sun.jini.qa.harness.QAConfig;
+import com.sun.jini.qa.harness.Test;
 
 /**
  * TransactionMultipleTakeNO_WAITTest asserts that for take with NO_WAIT
@@ -41,21 +42,7 @@ import com.sun.jini.qa.harness.QAConfig;
  *
  * @author Mikhail A. Markov
  */
-public class TransactionMultipleTakeNO_WAITTest extends AbstractTakeTestBase {
-
-    /**
-     * Sets up the testing environment.
-     *
-     * @param config QAConfig from the runner for setup.
-     */
-    public void setup(QAConfig config) throws Exception {
-
-        // mandatory call to parent
-        super.setup(config);
-
-        // get an instance of Transaction Manager
-        mgr = getTxnManager();
-    }
+public class TransactionMultipleTakeNO_WAITTest extends AbstractTransactionTakeTest {
 
     /**
      * This method asserts that for take with NO_WAIT timeout

Modified: river/jtsk/skunk/qa_refactor/trunk/qa/src/com/sun/jini/test/spec/javaspace/conformance/TransactionMultipleTakeTest.java
URL: http://svn.apache.org/viewvc/river/jtsk/skunk/qa_refactor/trunk/qa/src/com/sun/jini/test/spec/javaspace/conformance/TransactionMultipleTakeTest.java?rev=1427655&r1=1427654&r2=1427655&view=diff
==============================================================================
--- river/jtsk/skunk/qa_refactor/trunk/qa/src/com/sun/jini/test/spec/javaspace/conformance/TransactionMultipleTakeTest.java (original)
+++ river/jtsk/skunk/qa_refactor/trunk/qa/src/com/sun/jini/test/spec/javaspace/conformance/TransactionMultipleTakeTest.java Wed Jan  2 05:20:52 2013
@@ -26,6 +26,7 @@ import net.jini.space.JavaSpace;
 // com.sun.jini
 import com.sun.jini.qa.harness.TestException;
 import com.sun.jini.qa.harness.QAConfig;
+import com.sun.jini.qa.harness.Test;
 
 /**
  * TransactionMultipleTakeTest asserts that for take with timeouts
@@ -39,21 +40,7 @@ import com.sun.jini.qa.harness.QAConfig;
  *
  * @author Mikhail A. Markov
  */
-public class TransactionMultipleTakeTest extends AbstractTakeTestBase {
-
-    /**
-     * Sets up the testing environment.
-     *
-     * @param config QAConfig from the runner for setup.
-     */
-    public void setup(QAConfig config) throws Exception {
-
-        // mandatory call to parent
-        super.setup(config);
-
-        // get an instance of Transaction Manager
-        mgr = getTxnManager();
-    }
+public class TransactionMultipleTakeTest extends AbstractTransactionTakeTest {
 
     /**
      * This method asserts that for take with timeouts

Modified: river/jtsk/skunk/qa_refactor/trunk/qa/src/com/sun/jini/test/spec/javaspace/conformance/TransactionNotifyLeaseANYTest.java
URL: http://svn.apache.org/viewvc/river/jtsk/skunk/qa_refactor/trunk/qa/src/com/sun/jini/test/spec/javaspace/conformance/TransactionNotifyLeaseANYTest.java?rev=1427655&r1=1427654&r2=1427655&view=diff
==============================================================================
--- river/jtsk/skunk/qa_refactor/trunk/qa/src/com/sun/jini/test/spec/javaspace/conformance/TransactionNotifyLeaseANYTest.java (original)
+++ river/jtsk/skunk/qa_refactor/trunk/qa/src/com/sun/jini/test/spec/javaspace/conformance/TransactionNotifyLeaseANYTest.java Wed Jan  2 05:20:52 2013
@@ -27,6 +27,7 @@ import net.jini.core.event.EventRegistra
 // com.sun.jini
 import com.sun.jini.qa.harness.TestException;
 import com.sun.jini.qa.harness.QAConfig;
+import com.sun.jini.qa.harness.Test;
 
 /**
  * TransactionNotifyLeaseANYTest asserts, that for notify with
@@ -39,21 +40,7 @@ import com.sun.jini.qa.harness.QAConfig;
  *
  * @author Mikhail A. Markov
  */
-public class TransactionNotifyLeaseANYTest extends AbstractTestBase {
-
-    /**
-     * Sets up the testing environment.
-     *
-     * @param config QAConfig from the runner for setup.
-     */
-    public void setup(QAConfig config) throws Exception {
-
-        // mandatory call to parent
-        super.setup(config);
-
-        // get an instance of Transaction Manager
-        mgr = getTxnManager();
-    }
+public class TransactionNotifyLeaseANYTest extends TransactionTest {
 
     /**
      * This method asserts, that for notify with <code>Lease.ANY</code>

Modified: river/jtsk/skunk/qa_refactor/trunk/qa/src/com/sun/jini/test/spec/javaspace/conformance/TransactionNotifyLeaseFOREVERTest.java
URL: http://svn.apache.org/viewvc/river/jtsk/skunk/qa_refactor/trunk/qa/src/com/sun/jini/test/spec/javaspace/conformance/TransactionNotifyLeaseFOREVERTest.java?rev=1427655&r1=1427654&r2=1427655&view=diff
==============================================================================
--- river/jtsk/skunk/qa_refactor/trunk/qa/src/com/sun/jini/test/spec/javaspace/conformance/TransactionNotifyLeaseFOREVERTest.java (original)
+++ river/jtsk/skunk/qa_refactor/trunk/qa/src/com/sun/jini/test/spec/javaspace/conformance/TransactionNotifyLeaseFOREVERTest.java Wed Jan  2 05:20:52 2013
@@ -27,6 +27,7 @@ import net.jini.core.event.EventRegistra
 // com.sun.jini
 import com.sun.jini.qa.harness.TestException;
 import com.sun.jini.qa.harness.QAConfig;
+import com.sun.jini.qa.harness.Test;
 
 /**
  * TransactionNotifyLeaseFOREVERTest asserts, that for notify with
@@ -39,21 +40,7 @@ import com.sun.jini.qa.harness.QAConfig;
  *
  * @author Mikhail A. Markov
  */
-public class TransactionNotifyLeaseFOREVERTest extends AbstractTestBase {
-
-    /**
-     * Sets up the testing environment.
-     *
-     * @param config QAConfig from the runner for setup.
-     */
-    public void setup(QAConfig config) throws Exception {
-
-        // mandatory call to parent
-        super.setup(config);
-
-        // get an instance of Transaction Manager
-        mgr = getTxnManager();
-    }
+public class TransactionNotifyLeaseFOREVERTest extends TransactionTest {
 
     /**
      * This method asserts, that for notify with <code>Lease.FOREVER</code>

Modified: river/jtsk/skunk/qa_refactor/trunk/qa/src/com/sun/jini/test/spec/javaspace/conformance/TransactionNotifyNegativeLeaseTest.java
URL: http://svn.apache.org/viewvc/river/jtsk/skunk/qa_refactor/trunk/qa/src/com/sun/jini/test/spec/javaspace/conformance/TransactionNotifyNegativeLeaseTest.java?rev=1427655&r1=1427654&r2=1427655&view=diff
==============================================================================
--- river/jtsk/skunk/qa_refactor/trunk/qa/src/com/sun/jini/test/spec/javaspace/conformance/TransactionNotifyNegativeLeaseTest.java (original)
+++ river/jtsk/skunk/qa_refactor/trunk/qa/src/com/sun/jini/test/spec/javaspace/conformance/TransactionNotifyNegativeLeaseTest.java Wed Jan  2 05:20:52 2013
@@ -27,6 +27,7 @@ import net.jini.core.event.EventRegistra
 // com.sun.jini
 import com.sun.jini.qa.harness.TestException;
 import com.sun.jini.qa.harness.QAConfig;
+import com.sun.jini.qa.harness.Test;
 
 /**
  * TransactionNotifyNegativeLeaseTest asserts, that we will get
@@ -35,21 +36,7 @@ import com.sun.jini.qa.harness.QAConfig;
  *
  * @author Mikhail A. Markov
  */
-public class TransactionNotifyNegativeLeaseTest extends AbstractTestBase {
-
-    /**
-     * Sets up the testing environment.
-     *
-     * @param config QAConfig from the runner for setup.
-     */
-    public void setup(QAConfig config) throws Exception {
-
-        // mandatory call to parent
-        super.setup(config);
-
-        // get an instance of Transaction Manager
-        mgr = getTxnManager();
-    }
+public class TransactionNotifyNegativeLeaseTest extends TransactionTest {
 
     /**
      * This method asserts, that we will get

Modified: river/jtsk/skunk/qa_refactor/trunk/qa/src/com/sun/jini/test/spec/javaspace/conformance/TransactionNotifyTest.java
URL: http://svn.apache.org/viewvc/river/jtsk/skunk/qa_refactor/trunk/qa/src/com/sun/jini/test/spec/javaspace/conformance/TransactionNotifyTest.java?rev=1427655&r1=1427654&r2=1427655&view=diff
==============================================================================
--- river/jtsk/skunk/qa_refactor/trunk/qa/src/com/sun/jini/test/spec/javaspace/conformance/TransactionNotifyTest.java (original)
+++ river/jtsk/skunk/qa_refactor/trunk/qa/src/com/sun/jini/test/spec/javaspace/conformance/TransactionNotifyTest.java Wed Jan  2 05:20:52 2013
@@ -26,6 +26,7 @@ import net.jini.core.event.EventRegistra
 // com.sun.jini
 import com.sun.jini.qa.harness.TestException;
 import com.sun.jini.qa.harness.QAConfig;
+import com.sun.jini.qa.harness.Test;
 
 /**
  * TransactionNotifyTest asserts, that for notify with finite lease times
@@ -38,21 +39,7 @@ import com.sun.jini.qa.harness.QAConfig;
  *
  * @author Mikhail A. Markov
  */
-public class TransactionNotifyTest extends AbstractTestBase {
-
-    /**
-     * Sets up the testing environment.
-     *
-     * @param config QAConfig from the runner for setup.
-     */
-    public void setup(QAConfig config) throws Exception {
-
-        // mandatory call to parent
-        super.setup(config);
-
-        // get an instance of Transaction Manager
-        mgr = getTxnManager();
-    }
+public class TransactionNotifyTest extends TransactionTest {
 
     /**
      * This method asserts, that for notify with finite lease times

Modified: river/jtsk/skunk/qa_refactor/trunk/qa/src/com/sun/jini/test/spec/javaspace/conformance/TransactionReadIfExistsNO_WAITTest.java
URL: http://svn.apache.org/viewvc/river/jtsk/skunk/qa_refactor/trunk/qa/src/com/sun/jini/test/spec/javaspace/conformance/TransactionReadIfExistsNO_WAITTest.java?rev=1427655&r1=1427654&r2=1427655&view=diff
==============================================================================
--- river/jtsk/skunk/qa_refactor/trunk/qa/src/com/sun/jini/test/spec/javaspace/conformance/TransactionReadIfExistsNO_WAITTest.java (original)
+++ river/jtsk/skunk/qa_refactor/trunk/qa/src/com/sun/jini/test/spec/javaspace/conformance/TransactionReadIfExistsNO_WAITTest.java Wed Jan  2 05:20:52 2013
@@ -26,6 +26,7 @@ import net.jini.space.JavaSpace;
 // com.sun.jini
 import com.sun.jini.qa.harness.TestException;
 import com.sun.jini.qa.harness.QAConfig;
+import com.sun.jini.qa.harness.Test;
 
 /**
  * TransactionReadIfExistsNO_WAITTest asserts that for readIfExists
@@ -39,21 +40,7 @@ import com.sun.jini.qa.harness.QAConfig;
  *
  * @author Mikhail A. Markov
  */
-public class TransactionReadIfExistsNO_WAITTest extends AbstractReadTestBase {
-
-    /**
-     * Sets up the testing environment.
-     *
-     * @param config QAConfig from the runner for setup.
-     */
-    public void setup(QAConfig config) throws Exception {
-
-        // mandatory call to parent
-        super.setup(config);
-
-        // get an instance of Transaction Manager
-        mgr = getTxnManager();
-    }
+public class TransactionReadIfExistsNO_WAITTest extends AbstractTransactionReadTest {
 
     /**
      * This method asserts that for readIfExists within the non null

Modified: river/jtsk/skunk/qa_refactor/trunk/qa/src/com/sun/jini/test/spec/javaspace/conformance/TransactionReadIfExistsTakeTest.java
URL: http://svn.apache.org/viewvc/river/jtsk/skunk/qa_refactor/trunk/qa/src/com/sun/jini/test/spec/javaspace/conformance/TransactionReadIfExistsTakeTest.java?rev=1427655&r1=1427654&r2=1427655&view=diff
==============================================================================
--- river/jtsk/skunk/qa_refactor/trunk/qa/src/com/sun/jini/test/spec/javaspace/conformance/TransactionReadIfExistsTakeTest.java (original)
+++ river/jtsk/skunk/qa_refactor/trunk/qa/src/com/sun/jini/test/spec/javaspace/conformance/TransactionReadIfExistsTakeTest.java Wed Jan  2 05:20:52 2013
@@ -25,6 +25,7 @@ import net.jini.core.transaction.Transac
 // com.sun.jini
 import com.sun.jini.qa.harness.TestException;
 import com.sun.jini.qa.harness.QAConfig;
+import com.sun.jini.qa.harness.Test;
 
 /**
  * TransactionReadIfExistsTakeTest asserts that when read by readIfExists
@@ -33,21 +34,7 @@ import com.sun.jini.qa.harness.QAConfig;
  *
  * @author Mikhail A. Markov
  */
-public class TransactionReadIfExistsTakeTest extends AbstractTestBase {
-
-    /**
-     * Sets up the testing environment.
-     *
-     * @param config QAConfig from the runner for setup.
-     */
-    public void setup(QAConfig config) throws Exception {
-
-        // mandatory call to parent
-        super.setup(config);
-
-        // get an instance of Transaction Manager
-        mgr = getTxnManager();
-    }
+public class TransactionReadIfExistsTakeTest extends TransactionTest {
 
     /**
      * This method asserts that when read by readIfExists

Modified: river/jtsk/skunk/qa_refactor/trunk/qa/src/com/sun/jini/test/spec/javaspace/conformance/TransactionReadIfExistsTest.java
URL: http://svn.apache.org/viewvc/river/jtsk/skunk/qa_refactor/trunk/qa/src/com/sun/jini/test/spec/javaspace/conformance/TransactionReadIfExistsTest.java?rev=1427655&r1=1427654&r2=1427655&view=diff
==============================================================================
--- river/jtsk/skunk/qa_refactor/trunk/qa/src/com/sun/jini/test/spec/javaspace/conformance/TransactionReadIfExistsTest.java (original)
+++ river/jtsk/skunk/qa_refactor/trunk/qa/src/com/sun/jini/test/spec/javaspace/conformance/TransactionReadIfExistsTest.java Wed Jan  2 05:20:52 2013
@@ -26,6 +26,7 @@ import net.jini.space.JavaSpace;
 // com.sun.jini
 import com.sun.jini.qa.harness.TestException;
 import com.sun.jini.qa.harness.QAConfig;
+import com.sun.jini.qa.harness.Test;
 
 /**
  * TransactionReadIfExistsTest asserts that for readIfExists with timeouts
@@ -39,21 +40,7 @@ import com.sun.jini.qa.harness.QAConfig;
  *
  * @author Mikhail A. Markov
  */
-public class TransactionReadIfExistsTest extends AbstractReadTestBase {
-
-    /**
-     * Sets up the testing environment.
-     *
-     * @param config QAConfig from the runner for setup.
-     */
-    public void setup(QAConfig config) throws Exception {
-
-        // mandatory call to parent
-        super.setup(config);
-
-        // get an instance of Transaction Manager
-        mgr = getTxnManager();
-    }
+public class TransactionReadIfExistsTest extends AbstractTransactionReadTest {
 
     /**
      * This asserts that for readIfExists with timeouts

Modified: river/jtsk/skunk/qa_refactor/trunk/qa/src/com/sun/jini/test/spec/javaspace/conformance/TransactionReadIfExistsWaitTest.java
URL: http://svn.apache.org/viewvc/river/jtsk/skunk/qa_refactor/trunk/qa/src/com/sun/jini/test/spec/javaspace/conformance/TransactionReadIfExistsWaitTest.java?rev=1427655&r1=1427654&r2=1427655&view=diff
==============================================================================
--- river/jtsk/skunk/qa_refactor/trunk/qa/src/com/sun/jini/test/spec/javaspace/conformance/TransactionReadIfExistsWaitTest.java (original)
+++ river/jtsk/skunk/qa_refactor/trunk/qa/src/com/sun/jini/test/spec/javaspace/conformance/TransactionReadIfExistsWaitTest.java Wed Jan  2 05:20:52 2013
@@ -26,6 +26,7 @@ import net.jini.core.transaction.Transac
 // com.sun.jini
 import com.sun.jini.qa.harness.TestException;
 import com.sun.jini.qa.harness.QAConfig;
+import com.sun.jini.qa.harness.Test;
 
 /**
  * TransactionReadIfExistsWaitTest asserts, that for readIfExists method
@@ -38,21 +39,7 @@ import com.sun.jini.qa.harness.QAConfig;
  *
  * @author Mikhail A. Markov
  */
-public class TransactionReadIfExistsWaitTest extends AbstractTestBase {
-
-    /**
-     * Sets up the testing environment.
-     *
-     * @param config QAConfig from the runner for setup.
-     */
-    public void setup(QAConfig config) throws Exception {
-
-        // mandatory call to parent
-        super.setup(config);
-
-        // get an instance of Transaction Manager
-        mgr = getTxnManager();
-    }
+public class TransactionReadIfExistsWaitTest extends TransactionTest {
 
     /**
      * This method asserts, that for readIfExists method

Modified: river/jtsk/skunk/qa_refactor/trunk/qa/src/com/sun/jini/test/spec/javaspace/conformance/TransactionReadNO_WAITTest.java
URL: http://svn.apache.org/viewvc/river/jtsk/skunk/qa_refactor/trunk/qa/src/com/sun/jini/test/spec/javaspace/conformance/TransactionReadNO_WAITTest.java?rev=1427655&r1=1427654&r2=1427655&view=diff
==============================================================================
--- river/jtsk/skunk/qa_refactor/trunk/qa/src/com/sun/jini/test/spec/javaspace/conformance/TransactionReadNO_WAITTest.java (original)
+++ river/jtsk/skunk/qa_refactor/trunk/qa/src/com/sun/jini/test/spec/javaspace/conformance/TransactionReadNO_WAITTest.java Wed Jan  2 05:20:52 2013
@@ -26,6 +26,7 @@ import net.jini.space.JavaSpace;
 // com.sun.jini
 import com.sun.jini.qa.harness.TestException;
 import com.sun.jini.qa.harness.QAConfig;
+import com.sun.jini.qa.harness.Test;
 
 /**
  * TransactionReadNO_WAITTest asserts that for read within the non null
@@ -39,21 +40,7 @@ import com.sun.jini.qa.harness.QAConfig;
  *
  * @author Mikhail A. Markov
  */
-public class TransactionReadNO_WAITTest extends AbstractReadTestBase {
-
-    /**
-     * Sets up the testing environment.
-     *
-     * @param config QAConfig from the runner for setup.
-     */
-    public void setup(QAConfig config) throws Exception {
-
-        // mandatory call to parent
-        super.setup(config);
-
-        // get an instance of Transaction Manager
-        mgr = getTxnManager();
-    }
+public class TransactionReadNO_WAITTest extends AbstractTransactionReadTest {
 
     /**
      * This method asserts that for read within the non null transaction

Modified: river/jtsk/skunk/qa_refactor/trunk/qa/src/com/sun/jini/test/spec/javaspace/conformance/TransactionReadTakeTest.java
URL: http://svn.apache.org/viewvc/river/jtsk/skunk/qa_refactor/trunk/qa/src/com/sun/jini/test/spec/javaspace/conformance/TransactionReadTakeTest.java?rev=1427655&r1=1427654&r2=1427655&view=diff
==============================================================================
--- river/jtsk/skunk/qa_refactor/trunk/qa/src/com/sun/jini/test/spec/javaspace/conformance/TransactionReadTakeTest.java (original)
+++ river/jtsk/skunk/qa_refactor/trunk/qa/src/com/sun/jini/test/spec/javaspace/conformance/TransactionReadTakeTest.java Wed Jan  2 05:20:52 2013
@@ -25,6 +25,7 @@ import net.jini.core.transaction.Transac
 // com.sun.jini
 import com.sun.jini.qa.harness.TestException;
 import com.sun.jini.qa.harness.QAConfig;
+import com.sun.jini.qa.harness.Test;
 
 /**
  * TransactionReadTakeTest asserts that when read, an entry may be read in any
@@ -33,21 +34,7 @@ import com.sun.jini.qa.harness.QAConfig;
  *
  * @author Mikhail A. Markov
  */
-public class TransactionReadTakeTest extends AbstractTestBase {
-
-    /**
-     * Sets up the testing environment.
-     *
-     * @param config QAConfig from the runner for setup.
-     */
-    public void setup(QAConfig config) throws Exception {
-
-        // mandatory call to parent
-        super.setup(config);
-
-        // get an instance of Transaction Manager
-        mgr = getTxnManager();
-    }
+public class TransactionReadTakeTest extends TransactionTest {
 
     /**
      * This method asserts that when read, an entry may be read in any

Modified: river/jtsk/skunk/qa_refactor/trunk/qa/src/com/sun/jini/test/spec/javaspace/conformance/TransactionReadTest.java
URL: http://svn.apache.org/viewvc/river/jtsk/skunk/qa_refactor/trunk/qa/src/com/sun/jini/test/spec/javaspace/conformance/TransactionReadTest.java?rev=1427655&r1=1427654&r2=1427655&view=diff
==============================================================================
--- river/jtsk/skunk/qa_refactor/trunk/qa/src/com/sun/jini/test/spec/javaspace/conformance/TransactionReadTest.java (original)
+++ river/jtsk/skunk/qa_refactor/trunk/qa/src/com/sun/jini/test/spec/javaspace/conformance/TransactionReadTest.java Wed Jan  2 05:20:52 2013
@@ -37,21 +37,7 @@ import com.sun.jini.qa.harness.QAConfig;
  *
  * @author Mikhail A. Markov
  */
-public class TransactionReadTest extends AbstractReadTestBase {
-
-    /**
-     * Sets up the testing environment.
-     *
-     * @param config QAConfig from the runner for setup.
-     */
-    public void setup(QAConfig config) throws Exception {
-
-        // mandatory call to parent
-        super.setup(config);
-
-        // get an instance of Transaction Manager
-        mgr = getTxnManager();
-    }
+public class TransactionReadTest extends AbstractTransactionReadTest {
 
     /**
      * This method asserts that for read with timeouts other then NO_WAIT

Modified: river/jtsk/skunk/qa_refactor/trunk/qa/src/com/sun/jini/test/spec/javaspace/conformance/TransactionReadWaitTest.java
URL: http://svn.apache.org/viewvc/river/jtsk/skunk/qa_refactor/trunk/qa/src/com/sun/jini/test/spec/javaspace/conformance/TransactionReadWaitTest.java?rev=1427655&r1=1427654&r2=1427655&view=diff
==============================================================================
--- river/jtsk/skunk/qa_refactor/trunk/qa/src/com/sun/jini/test/spec/javaspace/conformance/TransactionReadWaitTest.java (original)
+++ river/jtsk/skunk/qa_refactor/trunk/qa/src/com/sun/jini/test/spec/javaspace/conformance/TransactionReadWaitTest.java Wed Jan  2 05:20:52 2013
@@ -33,21 +33,7 @@ import com.sun.jini.qa.harness.QAConfig;
  *
  * @author Mikhail A. Markov
  */
-public class TransactionReadWaitTest extends AbstractTestBase {
-
-    /**
-     * Sets up the testing environment.
-     *
-     * @param config QAConfig from the runner for setup.
-     */
-    public void setup(QAConfig config) throws Exception {
-
-        // mandatory call to parent
-        super.setup(config);
-
-        // get an instance of Transaction Manager
-        mgr = getTxnManager();
-    }
+public class TransactionReadWaitTest extends TransactionTest {
 
     /**
      * This method asserts that a read request will wait until a matching entry

Modified: river/jtsk/skunk/qa_refactor/trunk/qa/src/com/sun/jini/test/spec/javaspace/conformance/TransactionRegisterForAvailabilityEventTest05.java
URL: http://svn.apache.org/viewvc/river/jtsk/skunk/qa_refactor/trunk/qa/src/com/sun/jini/test/spec/javaspace/conformance/TransactionRegisterForAvailabilityEventTest05.java?rev=1427655&r1=1427654&r2=1427655&view=diff
==============================================================================
--- river/jtsk/skunk/qa_refactor/trunk/qa/src/com/sun/jini/test/spec/javaspace/conformance/TransactionRegisterForAvailabilityEventTest05.java (original)
+++ river/jtsk/skunk/qa_refactor/trunk/qa/src/com/sun/jini/test/spec/javaspace/conformance/TransactionRegisterForAvailabilityEventTest05.java Wed Jan  2 05:20:52 2013
@@ -41,7 +41,7 @@ import com.sun.jini.qa.harness.QAConfig;
  * @author Pavel Bogdanov
  */
 public class TransactionRegisterForAvailabilityEventTest05
-        extends AbstractTestBase
+        extends TransactionTest
 {
     private ArrayList templates = new ArrayList();
     private ArrayList expectedResult = new ArrayList();
@@ -51,21 +51,6 @@ public class TransactionRegisterForAvail
     private SimpleEntry sampleEntry3 = new SimpleEntry("TestEntry #1", 2);
 
     /**
-     * Sets up the testing environment
-     *
-     * @param config
-     * @throws Exception
-     */
-    public void setup(QAConfig config) throws Exception {
-
-        // mandatory call to parent
-        super.setup(config);
-
-        // get an instance of Transaction Manager
-        mgr = getTxnManager();
-    }
-
-    /**
      * This method asserts that for JavaSpace05's
      * "registerForAvailabilityEvent" operation:<br>
      * 1) Register for events triggered when a matching Entry transitions from
@@ -117,7 +102,7 @@ public class TransactionRegisterForAvail
         Transaction txn = getTransaction();
         ArrayList registrations = new ArrayList();
 
-        TestEventListener05.setConfiguration(config.getConfiguration());
+        TestEventListener05.setConfiguration(getConfig().getConfiguration());
         JavaSpace05 space05 = (JavaSpace05) space;
         reset(txn);
 

Modified: river/jtsk/skunk/qa_refactor/trunk/qa/src/com/sun/jini/test/spec/javaspace/conformance/TransactionTakeIfExistsNO_WAITTest.java
URL: http://svn.apache.org/viewvc/river/jtsk/skunk/qa_refactor/trunk/qa/src/com/sun/jini/test/spec/javaspace/conformance/TransactionTakeIfExistsNO_WAITTest.java?rev=1427655&r1=1427654&r2=1427655&view=diff
==============================================================================
--- river/jtsk/skunk/qa_refactor/trunk/qa/src/com/sun/jini/test/spec/javaspace/conformance/TransactionTakeIfExistsNO_WAITTest.java (original)
+++ river/jtsk/skunk/qa_refactor/trunk/qa/src/com/sun/jini/test/spec/javaspace/conformance/TransactionTakeIfExistsNO_WAITTest.java Wed Jan  2 05:20:52 2013
@@ -39,21 +39,7 @@ import com.sun.jini.qa.harness.QAConfig;
  *
  * @author Mikhail A. Markov
  */
-public class TransactionTakeIfExistsNO_WAITTest extends AbstractTakeTestBase {
-
-    /**
-     * Sets up the testing environment.
-     *
-     * @param config QAConfig from the runner for setup.
-     */
-    public void setup(QAConfig config) throws Exception {
-
-        // mandatory call to parent
-        super.setup(config);
-
-        // get an instance of Transaction Manager
-        mgr = getTxnManager();
-    }
+public class TransactionTakeIfExistsNO_WAITTest extends AbstractTransactionTakeTest {
 
     /**
      * This method asserts that for takeIfExists within the non null

Modified: river/jtsk/skunk/qa_refactor/trunk/qa/src/com/sun/jini/test/spec/javaspace/conformance/TransactionTakeIfExistsReadTest.java
URL: http://svn.apache.org/viewvc/river/jtsk/skunk/qa_refactor/trunk/qa/src/com/sun/jini/test/spec/javaspace/conformance/TransactionTakeIfExistsReadTest.java?rev=1427655&r1=1427654&r2=1427655&view=diff
==============================================================================
--- river/jtsk/skunk/qa_refactor/trunk/qa/src/com/sun/jini/test/spec/javaspace/conformance/TransactionTakeIfExistsReadTest.java (original)
+++ river/jtsk/skunk/qa_refactor/trunk/qa/src/com/sun/jini/test/spec/javaspace/conformance/TransactionTakeIfExistsReadTest.java Wed Jan  2 05:20:52 2013
@@ -32,21 +32,7 @@ import com.sun.jini.qa.harness.QAConfig;
  *
  * @author Mikhail A. Markov
  */
-public class TransactionTakeIfExistsReadTest extends AbstractTestBase {
-
-    /**
-     * Sets up the testing environment.
-     *
-     * @param config QAConfig from the runner for setup.
-     */
-    public void setup(QAConfig config) throws Exception {
-
-        // mandatory call to parent
-        super.setup(config);
-
-        // get an instance of Transaction Manager
-        mgr = getTxnManager();
-    }
+public class TransactionTakeIfExistsReadTest extends TransactionTest {
 
     /**
      * This method asserts that when taken by takeIfExists

Modified: river/jtsk/skunk/qa_refactor/trunk/qa/src/com/sun/jini/test/spec/javaspace/conformance/TransactionTakeIfExistsTest.java
URL: http://svn.apache.org/viewvc/river/jtsk/skunk/qa_refactor/trunk/qa/src/com/sun/jini/test/spec/javaspace/conformance/TransactionTakeIfExistsTest.java?rev=1427655&r1=1427654&r2=1427655&view=diff
==============================================================================
--- river/jtsk/skunk/qa_refactor/trunk/qa/src/com/sun/jini/test/spec/javaspace/conformance/TransactionTakeIfExistsTest.java (original)
+++ river/jtsk/skunk/qa_refactor/trunk/qa/src/com/sun/jini/test/spec/javaspace/conformance/TransactionTakeIfExistsTest.java Wed Jan  2 05:20:52 2013
@@ -37,21 +37,7 @@ import com.sun.jini.qa.harness.QAConfig;
  *
  * @author Mikhail A. Markov
  */
-public class TransactionTakeIfExistsTest extends AbstractTakeTestBase {
-
-    /**
-     * Sets up the testing environment.
-     *
-     * @param config QAConfig from the runner for setup.
-     */
-    public void setup(QAConfig config) throws Exception {
-
-        // mandatory call to parent
-        super.setup(config);
-
-        // get an instance of Transaction Manager
-        mgr = getTxnManager();
-    }
+public class TransactionTakeIfExistsTest extends AbstractTransactionTakeTest {
 
     /**
      * This method asserts that for takeIfExists with timeouts

Modified: river/jtsk/skunk/qa_refactor/trunk/qa/src/com/sun/jini/test/spec/javaspace/conformance/TransactionTakeIfExistsWaitTest.java
URL: http://svn.apache.org/viewvc/river/jtsk/skunk/qa_refactor/trunk/qa/src/com/sun/jini/test/spec/javaspace/conformance/TransactionTakeIfExistsWaitTest.java?rev=1427655&r1=1427654&r2=1427655&view=diff
==============================================================================
--- river/jtsk/skunk/qa_refactor/trunk/qa/src/com/sun/jini/test/spec/javaspace/conformance/TransactionTakeIfExistsWaitTest.java (original)
+++ river/jtsk/skunk/qa_refactor/trunk/qa/src/com/sun/jini/test/spec/javaspace/conformance/TransactionTakeIfExistsWaitTest.java Wed Jan  2 05:20:52 2013
@@ -37,21 +37,7 @@ import com.sun.jini.qa.harness.QAConfig;
  *
  * @author Mikhail A. Markov
  */
-public class TransactionTakeIfExistsWaitTest extends AbstractTestBase {
-
-    /**
-     * Sets up the testing environment.
-     *
-     * @param config QAConfig from the runner for setup.
-     */
-    public void setup(QAConfig config) throws Exception {
-
-        // mandatory call to parent
-        super.setup(config);
-
-        // get an instance of Transaction Manager
-        mgr = getTxnManager();
-    }
+public class TransactionTakeIfExistsWaitTest extends TransactionTest {
 
     /**
      * This method asserts, that for takeIfExists method

Modified: river/jtsk/skunk/qa_refactor/trunk/qa/src/com/sun/jini/test/spec/javaspace/conformance/TransactionTakeNO_WAITTest.java
URL: http://svn.apache.org/viewvc/river/jtsk/skunk/qa_refactor/trunk/qa/src/com/sun/jini/test/spec/javaspace/conformance/TransactionTakeNO_WAITTest.java?rev=1427655&r1=1427654&r2=1427655&view=diff
==============================================================================
--- river/jtsk/skunk/qa_refactor/trunk/qa/src/com/sun/jini/test/spec/javaspace/conformance/TransactionTakeNO_WAITTest.java (original)
+++ river/jtsk/skunk/qa_refactor/trunk/qa/src/com/sun/jini/test/spec/javaspace/conformance/TransactionTakeNO_WAITTest.java Wed Jan  2 05:20:52 2013
@@ -39,22 +39,8 @@ import com.sun.jini.qa.harness.QAConfig;
  *
  * @author Mikhail A. Markov
  */
-public class TransactionTakeNO_WAITTest extends AbstractTakeTestBase {
-
-    /**
-     * Sets up the testing environment.
-     *
-     * @param config QAConfig from the runner for setup.
-     */
-    public void setup(QAConfig config) throws Exception {
-
-        // mandatory call to parent
-        super.setup(config);
-
-        // get an instance of Transaction Manager
-        mgr = getTxnManager();
-    }
-
+public class TransactionTakeNO_WAITTest extends AbstractTransactionTakeTest {
+    
     /**
      * This method asserts that for take within the non null transaction
      * with NO_WAIT timeout:

Modified: river/jtsk/skunk/qa_refactor/trunk/qa/src/com/sun/jini/test/spec/javaspace/conformance/TransactionTakeReadTest.java
URL: http://svn.apache.org/viewvc/river/jtsk/skunk/qa_refactor/trunk/qa/src/com/sun/jini/test/spec/javaspace/conformance/TransactionTakeReadTest.java?rev=1427655&r1=1427654&r2=1427655&view=diff
==============================================================================
--- river/jtsk/skunk/qa_refactor/trunk/qa/src/com/sun/jini/test/spec/javaspace/conformance/TransactionTakeReadTest.java (original)
+++ river/jtsk/skunk/qa_refactor/trunk/qa/src/com/sun/jini/test/spec/javaspace/conformance/TransactionTakeReadTest.java Wed Jan  2 05:20:52 2013
@@ -32,21 +32,7 @@ import com.sun.jini.qa.harness.QAConfig;
  *
  * @author Mikhail A. Markov
  */
-public class TransactionTakeReadTest extends AbstractTestBase {
-
-    /**
-     * Sets up the testing environment.
-     *
-     * @param config QAConfig from the runner for setup.
-     */
-    public void setup(QAConfig config) throws Exception {
-
-        // mandatory call to parent
-        super.setup(config);
-
-        // get an instance of Transaction Manager
-        mgr = getTxnManager();
-    }
+public class TransactionTakeReadTest extends TransactionTest {
 
     /**
      * This method asserts that when taken, an entry may not be read or taken

Modified: river/jtsk/skunk/qa_refactor/trunk/qa/src/com/sun/jini/test/spec/javaspace/conformance/TransactionTakeTest.java
URL: http://svn.apache.org/viewvc/river/jtsk/skunk/qa_refactor/trunk/qa/src/com/sun/jini/test/spec/javaspace/conformance/TransactionTakeTest.java?rev=1427655&r1=1427654&r2=1427655&view=diff
==============================================================================
--- river/jtsk/skunk/qa_refactor/trunk/qa/src/com/sun/jini/test/spec/javaspace/conformance/TransactionTakeTest.java (original)
+++ river/jtsk/skunk/qa_refactor/trunk/qa/src/com/sun/jini/test/spec/javaspace/conformance/TransactionTakeTest.java Wed Jan  2 05:20:52 2013
@@ -37,21 +37,7 @@ import com.sun.jini.qa.harness.QAConfig;
  *
  * @author Mikhail A. Markov
  */
-public class TransactionTakeTest extends AbstractTakeTestBase {
-
-    /**
-     * Sets up the testing environment.
-     *
-     * @param config QAConfig from the runner for setup.
-     */
-    public void setup(QAConfig config) throws Exception {
-
-        // mandatory call to parent
-        super.setup(config);
-
-        // get an instance of Transaction Manager
-        mgr = getTxnManager();
-    }
+public class TransactionTakeTest extends AbstractTransactionTakeTest {
 
     /**
      * This method asserts that for take with timeouts other then NO_WAIT

Modified: river/jtsk/skunk/qa_refactor/trunk/qa/src/com/sun/jini/test/spec/javaspace/conformance/TransactionTakeTest05.java
URL: http://svn.apache.org/viewvc/river/jtsk/skunk/qa_refactor/trunk/qa/src/com/sun/jini/test/spec/javaspace/conformance/TransactionTakeTest05.java?rev=1427655&r1=1427654&r2=1427655&view=diff
==============================================================================
--- river/jtsk/skunk/qa_refactor/trunk/qa/src/com/sun/jini/test/spec/javaspace/conformance/TransactionTakeTest05.java (original)
+++ river/jtsk/skunk/qa_refactor/trunk/qa/src/com/sun/jini/test/spec/javaspace/conformance/TransactionTakeTest05.java Wed Jan  2 05:20:52 2013
@@ -35,7 +35,7 @@ import net.jini.core.transaction.Transac
  *
  * @author Pavel Bogdanov
  */
-public class TransactionTakeTest05 extends AbstractTestBase {
+public class TransactionTakeTest05 extends TransactionTest {
 
     private final long MAX_ENTRIES = 5;
 
@@ -47,21 +47,6 @@ public class TransactionTakeTest05 exten
     private SimpleEntry sampleEntry3 = new SimpleEntry("TestEntry #1", 2);
 
     /**
-     * Sets up the testing environment.
-     *
-     * @param config
-     * @throws Exception
-     */
-    public void setup(QAConfig config) throws Exception {
-
-        // mandatory call to parent
-        super.setup(config);
-
-        // get an instance of Transaction Manager
-        mgr = getTxnManager();
-    }
-
-    /**
      * This method asserts that for take operation:<br>
      * 1) Each Entry taken will match one or more elements of
      *    the passed Collection of templates.<br>

Modified: river/jtsk/skunk/qa_refactor/trunk/qa/src/com/sun/jini/test/spec/javaspace/conformance/TransactionTakeWaitTest.java
URL: http://svn.apache.org/viewvc/river/jtsk/skunk/qa_refactor/trunk/qa/src/com/sun/jini/test/spec/javaspace/conformance/TransactionTakeWaitTest.java?rev=1427655&r1=1427654&r2=1427655&view=diff
==============================================================================
--- river/jtsk/skunk/qa_refactor/trunk/qa/src/com/sun/jini/test/spec/javaspace/conformance/TransactionTakeWaitTest.java (original)
+++ river/jtsk/skunk/qa_refactor/trunk/qa/src/com/sun/jini/test/spec/javaspace/conformance/TransactionTakeWaitTest.java Wed Jan  2 05:20:52 2013
@@ -33,21 +33,7 @@ import com.sun.jini.qa.harness.QAConfig;
  *
  * @author Mikhail A. Markov
  */
-public class TransactionTakeWaitTest extends AbstractTestBase {
-
-    /**
-     * Sets up the testing environment.
-     *
-     * @param config QAConfig from the runner for setup.
-     */
-    public void setup(QAConfig config) throws Exception {
-
-        // mandatory call to parent
-        super.setup(config);
-
-        // get an instance of Transaction Manager
-        mgr = getTxnManager();
-    }
+public class TransactionTakeWaitTest extends TransactionTest {
 
     /**
      * This method asserts that a take request will wait until a matching entry