summaryrefslogtreecommitdiff
path: root/source/com/c2kernel/persistency/TransactionManager.java
diff options
context:
space:
mode:
Diffstat (limited to 'source/com/c2kernel/persistency/TransactionManager.java')
-rw-r--r--[-rwxr-xr-x]source/com/c2kernel/persistency/TransactionManager.java22
1 files changed, 11 insertions, 11 deletions
diff --git a/source/com/c2kernel/persistency/TransactionManager.java b/source/com/c2kernel/persistency/TransactionManager.java
index 252c758..0908051 100755..100644
--- a/source/com/c2kernel/persistency/TransactionManager.java
+++ b/source/com/c2kernel/persistency/TransactionManager.java
@@ -13,14 +13,14 @@ import com.c2kernel.utils.Logger;
public class TransactionManager {
- HashMap locks;
- HashMap pendingTransactions;
+ HashMap<Integer, Object> locks;
+ HashMap<Object, ArrayList<TransactionEntry>> pendingTransactions;
ClusterStorageManager storage;
public TransactionManager() throws ClusterStorageException {
storage = new ClusterStorageManager();
- locks = new HashMap();
- pendingTransactions = new HashMap();
+ locks = new HashMap<Integer, Object>();
+ pendingTransactions = new HashMap<Object, ArrayList<TransactionEntry>>();
}
public boolean hasPendingTransactions()
@@ -92,7 +92,7 @@ public class TransactionManager {
*/
public void put(int sysKey, C2KLocalObject obj, Object locker) throws ClusterStorageException {
Integer sysKeyIntObj = new Integer(sysKey);
- ArrayList lockerTransaction;
+ ArrayList<TransactionEntry> lockerTransaction;
String path = ClusterStorage.getPath(obj);
synchronized(locks) {
@@ -101,7 +101,7 @@ public class TransactionManager {
// if it's this locker, get the transaction list
Object thisLocker = locks.get(sysKeyIntObj);
if (thisLocker.equals(locker)) // retrieve the transaction list
- lockerTransaction = (ArrayList)pendingTransactions.get(locker);
+ lockerTransaction = pendingTransactions.get(locker);
else // locked by someone else
throw new ClusterStorageException("ClusterStorageManager.get() - Access denied: Object " + sysKeyIntObj +
" has been locked for writing by " + thisLocker);
@@ -113,7 +113,7 @@ public class TransactionManager {
}
else {// initialise the transaction
locks.put(sysKeyIntObj, locker);
- lockerTransaction = new ArrayList();
+ lockerTransaction = new ArrayList<TransactionEntry>();
pendingTransactions.put(locker, lockerTransaction);
}
}
@@ -134,14 +134,14 @@ public class TransactionManager {
*/
public void remove(int sysKey, String path, Object locker) throws ClusterStorageException {
Integer sysKeyIntObj = new Integer(sysKey);
- ArrayList lockerTransaction;
+ ArrayList<TransactionEntry> lockerTransaction;
synchronized(locks) {
// look to see if this object is already locked
if (locks.containsKey(sysKeyIntObj)) {
// if it's this locker, get the transaction list
Object thisLocker = locks.get(sysKeyIntObj);
if (thisLocker.equals(locker)) // retrieve the transaction list
- lockerTransaction = (ArrayList)pendingTransactions.get(locker);
+ lockerTransaction = pendingTransactions.get(locker);
else // locked by someone else
throw new ClusterStorageException("ClusterStorageManager.get() - Access denied: Object " + sysKeyIntObj +
" has been locked for writing by " + thisLocker);
@@ -153,7 +153,7 @@ public class TransactionManager {
}
else {// initialise the transaction
locks.put(sysKeyIntObj, locker);
- lockerTransaction = new ArrayList();
+ lockerTransaction = new ArrayList<TransactionEntry>();
pendingTransactions.put(locker, lockerTransaction);
}
}
@@ -194,7 +194,7 @@ public class TransactionManager {
public void commit(Object locker) {
synchronized(locks) {
ArrayList lockerTransactions = (ArrayList)pendingTransactions.get(locker);
- HashMap exceptions = new HashMap();
+ HashMap<TransactionEntry, Exception> exceptions = new HashMap<TransactionEntry, Exception>();
// quit if no transactions are present;
if (lockerTransactions == null) return;
for (Iterator i = lockerTransactions.iterator();i.hasNext();) {