[jboss-svn-commits] JBL Code SVN: r26160 - in labs/jbosstm/workspace/whitingjr/HibernateWithInMemoryObjects/src/main/java/uk/ac/ncl/sdia/a8905943: impl and 2 other directories.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Mon Apr 20 13:23:40 EDT 2009
Author: whitingjr
Date: 2009-04-20 13:23:40 -0400 (Mon, 20 Apr 2009)
New Revision: 26160
Added:
labs/jbosstm/workspace/whitingjr/HibernateWithInMemoryObjects/src/main/java/uk/ac/ncl/sdia/a8905943/impl/PersonDAOBean.java
labs/jbosstm/workspace/whitingjr/HibernateWithInMemoryObjects/src/main/java/uk/ac/ncl/sdia/a8905943/mvcc/dao/PersonDAO.java
Removed:
labs/jbosstm/workspace/whitingjr/HibernateWithInMemoryObjects/src/main/java/uk/ac/ncl/sdia/a8905943/mapping/HandleUtils.java
Modified:
labs/jbosstm/workspace/whitingjr/HibernateWithInMemoryObjects/src/main/java/uk/ac/ncl/sdia/a8905943/event/MVCCLoadEventListener.java
labs/jbosstm/workspace/whitingjr/HibernateWithInMemoryObjects/src/main/java/uk/ac/ncl/sdia/a8905943/mapping/MappingSessionMVCC.java
Log:
Added basic classes to prove concept.
Modified: labs/jbosstm/workspace/whitingjr/HibernateWithInMemoryObjects/src/main/java/uk/ac/ncl/sdia/a8905943/event/MVCCLoadEventListener.java
===================================================================
--- labs/jbosstm/workspace/whitingjr/HibernateWithInMemoryObjects/src/main/java/uk/ac/ncl/sdia/a8905943/event/MVCCLoadEventListener.java 2009-04-20 17:17:29 UTC (rev 26159)
+++ labs/jbosstm/workspace/whitingjr/HibernateWithInMemoryObjects/src/main/java/uk/ac/ncl/sdia/a8905943/event/MVCCLoadEventListener.java 2009-04-20 17:23:40 UTC (rev 26160)
@@ -30,8 +30,7 @@
long startTime = 0;
if ( stats ) startTime = System.currentTimeMillis();
- Transaction transaction = mapping.getTransaction(event.getSession());
- transaction.l
+ Object entity = mapping.load(keyToLoad, event.getSession());
/*
Object entity = persister.load(
@@ -46,7 +45,6 @@
source.getFactory().getStatisticsImplementor().fetchEntity( event.getEntityClassName(), System.currentTimeMillis() - startTime);
}
- //return entity;
- return null;
+ return entity;
}
}
Added: labs/jbosstm/workspace/whitingjr/HibernateWithInMemoryObjects/src/main/java/uk/ac/ncl/sdia/a8905943/impl/PersonDAOBean.java
===================================================================
--- labs/jbosstm/workspace/whitingjr/HibernateWithInMemoryObjects/src/main/java/uk/ac/ncl/sdia/a8905943/impl/PersonDAOBean.java (rev 0)
+++ labs/jbosstm/workspace/whitingjr/HibernateWithInMemoryObjects/src/main/java/uk/ac/ncl/sdia/a8905943/impl/PersonDAOBean.java 2009-04-20 17:23:40 UTC (rev 26160)
@@ -0,0 +1,28 @@
+package uk.ac.ncl.sdia.a8905943.impl;
+
+import javax.ejb.Stateless;
+import javax.ejb.TransactionAttribute;
+import javax.ejb.TransactionAttributeType;
+
+import org.codehaus.multiverse.multiversionedstm.examples.Person;
+
+import uk.ac.ncl.sdia.a8905943.mvcc.dao.PersonDAO;
+import auction.dao.ejb3.GenericEJB3DAO;
+ at Stateless
+ at TransactionAttribute(TransactionAttributeType.REQUIRED)
+public class PersonDAOBean extends GenericEJB3DAO<Person, Long> implements PersonDAO {
+
+ @Override
+ public Person getPersonById(Long _id) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ public void save(Person _person) {
+ // TODO Auto-generated method stub
+
+ }
+
+
+}
Deleted: labs/jbosstm/workspace/whitingjr/HibernateWithInMemoryObjects/src/main/java/uk/ac/ncl/sdia/a8905943/mapping/HandleUtils.java
===================================================================
--- labs/jbosstm/workspace/whitingjr/HibernateWithInMemoryObjects/src/main/java/uk/ac/ncl/sdia/a8905943/mapping/HandleUtils.java 2009-04-20 17:17:29 UTC (rev 26159)
+++ labs/jbosstm/workspace/whitingjr/HibernateWithInMemoryObjects/src/main/java/uk/ac/ncl/sdia/a8905943/mapping/HandleUtils.java 2009-04-20 17:23:40 UTC (rev 26160)
@@ -1,20 +0,0 @@
-package uk.ac.ncl.sdia.a8905943.mapping;
-
-/**
- * Convenience object to get handles.
- * @author whitingjr
- *
- */
-public class HandleUtils {
-
- /**
- *
- * Use this method to generate a handle based on an object the user has requested to
- * load.
- * @return long representing a handle that represents the mapping on the Hibernate side.
- */
- public static long getHibernateHandle()
- {
-
- }
-}
Modified: labs/jbosstm/workspace/whitingjr/HibernateWithInMemoryObjects/src/main/java/uk/ac/ncl/sdia/a8905943/mapping/MappingSessionMVCC.java
===================================================================
--- labs/jbosstm/workspace/whitingjr/HibernateWithInMemoryObjects/src/main/java/uk/ac/ncl/sdia/a8905943/mapping/MappingSessionMVCC.java 2009-04-20 17:17:29 UTC (rev 26159)
+++ labs/jbosstm/workspace/whitingjr/HibernateWithInMemoryObjects/src/main/java/uk/ac/ncl/sdia/a8905943/mapping/MappingSessionMVCC.java 2009-04-20 17:23:40 UTC (rev 26160)
@@ -6,6 +6,7 @@
import org.codehaus.multiverse.api.Transaction;
import org.codehaus.multiverse.multiversionedstm.MultiversionedStm;
import org.hibernate.Session;
+import org.hibernate.engine.EntityKey;
/**
* Use this object to hold a mapping between a Hibernate Session object and an
* STM Transaction object. Not convinced this is the right strategy but have to
@@ -51,6 +52,13 @@
return mapping.remove(_session);
}
-
+ public Object load(EntityKey _entry, Session _session)
+ {
+ return load(_entry, mapping.get(_session));
+ }
+ public Object load(EntityKey _entry, Transaction _transaction)
+ {
+ return _transaction.read(handles.getTransactionHandle(Long.valueOf( _entry.hashCode())));
+ }
}
Added: labs/jbosstm/workspace/whitingjr/HibernateWithInMemoryObjects/src/main/java/uk/ac/ncl/sdia/a8905943/mvcc/dao/PersonDAO.java
===================================================================
--- labs/jbosstm/workspace/whitingjr/HibernateWithInMemoryObjects/src/main/java/uk/ac/ncl/sdia/a8905943/mvcc/dao/PersonDAO.java (rev 0)
+++ labs/jbosstm/workspace/whitingjr/HibernateWithInMemoryObjects/src/main/java/uk/ac/ncl/sdia/a8905943/mvcc/dao/PersonDAO.java 2009-04-20 17:23:40 UTC (rev 26160)
@@ -0,0 +1,11 @@
+package uk.ac.ncl.sdia.a8905943.mvcc.dao;
+
+import org.codehaus.multiverse.multiversionedstm.examples.Person;
+
+import auction.dao.GenericDAO;
+
+public interface PersonDAO extends GenericDAO<Person, Long> {
+
+ Person getPersonById( Long _id);
+ void save(Person _person);
+}
More information about the jboss-svn-commits
mailing list