Upgraded backend api with generics.
This commit is contained in:
parent
9a6227be5b
commit
1b3e65fa83
53 changed files with 282 additions and 256 deletions
|
|
@ -22,6 +22,8 @@
|
|||
|
||||
package net.forwardfire.vasc.backends.jpa;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
import net.forwardfire.vasc.backend.AbstractVascBackend;
|
||||
import net.forwardfire.vasc.backend.VascBackendException;
|
||||
|
||||
|
|
@ -33,7 +35,7 @@ import org.hibernate.Session;
|
|||
* @author Willem Cazander
|
||||
* @version 1.0 Mar 21, 2007
|
||||
*/
|
||||
abstract public class AbstractHibernateVascBackend extends AbstractVascBackend {
|
||||
abstract public class AbstractHibernateVascBackend<DATA_OBJECT extends Serializable> extends AbstractVascBackend<DATA_OBJECT> {
|
||||
|
||||
/**
|
||||
* Provides a hibernate session which is closed !! when transaction is compleeted.
|
||||
|
|
@ -41,7 +43,7 @@ abstract public class AbstractHibernateVascBackend extends AbstractVascBackend
|
|||
*/
|
||||
abstract Session getHibernateSession();
|
||||
|
||||
public void persist(Object object) throws VascBackendException {
|
||||
public void persist(DATA_OBJECT object) throws VascBackendException {
|
||||
Session s = getHibernateSession();
|
||||
try {
|
||||
s.getTransaction().begin();
|
||||
|
|
@ -57,11 +59,11 @@ abstract public class AbstractHibernateVascBackend extends AbstractVascBackend
|
|||
}
|
||||
}
|
||||
|
||||
public Object merge(Object object) throws VascBackendException {
|
||||
public DATA_OBJECT merge(DATA_OBJECT object) throws VascBackendException {
|
||||
Session s = getHibernateSession();
|
||||
try {
|
||||
s.getTransaction().begin();
|
||||
Object result = s.merge(object);
|
||||
DATA_OBJECT result = (DATA_OBJECT)s.merge(object);
|
||||
s.getTransaction().commit();
|
||||
return result;
|
||||
} finally {
|
||||
|
|
@ -74,7 +76,7 @@ abstract public class AbstractHibernateVascBackend extends AbstractVascBackend
|
|||
}
|
||||
}
|
||||
|
||||
public void delete(Object object) throws VascBackendException {
|
||||
public void delete(DATA_OBJECT object) throws VascBackendException {
|
||||
Session s = getHibernateSession();
|
||||
try {
|
||||
s.getTransaction().begin();
|
||||
|
|
|
|||
|
|
@ -22,6 +22,8 @@
|
|||
|
||||
package net.forwardfire.vasc.backends.jpa;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
import javax.persistence.EntityManager;
|
||||
|
||||
import net.forwardfire.vasc.backend.AbstractVascBackend;
|
||||
|
|
@ -32,13 +34,13 @@ import net.forwardfire.vasc.backend.VascBackendException;
|
|||
* @author Willem Cazander
|
||||
* @version 1.0 Mar 21, 2007
|
||||
*/
|
||||
abstract public class AbstractPersistenceVascBackend extends AbstractVascBackend {
|
||||
abstract public class AbstractPersistenceVascBackend<DATA_OBJECT extends Serializable> extends AbstractVascBackend<DATA_OBJECT> {
|
||||
|
||||
protected boolean emTransaction = true;
|
||||
|
||||
abstract EntityManager getEntityManager();
|
||||
|
||||
public void persist(Object object) throws VascBackendException {
|
||||
public void persist(DATA_OBJECT object) throws VascBackendException {
|
||||
EntityManager s = getEntityManager();
|
||||
try {
|
||||
if (emTransaction) {
|
||||
|
|
@ -55,13 +57,13 @@ abstract public class AbstractPersistenceVascBackend extends AbstractVascBackend
|
|||
}
|
||||
}
|
||||
|
||||
public Object merge(Object object) throws VascBackendException {
|
||||
public DATA_OBJECT merge(DATA_OBJECT object) throws VascBackendException {
|
||||
EntityManager s = getEntityManager();
|
||||
try {
|
||||
if (emTransaction) {
|
||||
s.getTransaction().begin();
|
||||
}
|
||||
Object result = s.merge(object);
|
||||
DATA_OBJECT result = (DATA_OBJECT)s.merge(object);
|
||||
if (emTransaction) {
|
||||
s.getTransaction().commit();
|
||||
}
|
||||
|
|
@ -73,7 +75,7 @@ abstract public class AbstractPersistenceVascBackend extends AbstractVascBackend
|
|||
}
|
||||
}
|
||||
|
||||
public void delete(Object object) throws VascBackendException {
|
||||
public void delete(DATA_OBJECT object) throws VascBackendException {
|
||||
EntityManager s = getEntityManager();
|
||||
try {
|
||||
if (emTransaction) {
|
||||
|
|
|
|||
|
|
@ -22,6 +22,7 @@
|
|||
|
||||
package net.forwardfire.vasc.backends.jpa;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.List;
|
||||
|
||||
import net.forwardfire.vasc.backend.VascBackendException;
|
||||
|
|
@ -43,7 +44,7 @@ import org.hibernate.Session;
|
|||
* @author Willem Cazander
|
||||
* @version 1.0 Mar 17, 2009
|
||||
*/
|
||||
public class XpqlHibernateVascBackend extends AbstractHibernateVascBackend {
|
||||
public class XpqlHibernateVascBackend<DATA_OBJECT extends Serializable> extends AbstractHibernateVascBackend<DATA_OBJECT> {
|
||||
|
||||
private HibernateSessionProvider hibernateSessionProvider = null;
|
||||
|
||||
|
|
@ -73,7 +74,7 @@ public class XpqlHibernateVascBackend extends AbstractHibernateVascBackend {
|
|||
}
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
public List<Object> execute(VascBackendState state) throws VascBackendException {
|
||||
public List<DATA_OBJECT> execute(VascBackendState state) throws VascBackendException {
|
||||
|
||||
// Copy parameters
|
||||
for (String key:state.getDataParameterKeys()) {
|
||||
|
|
@ -103,7 +104,7 @@ public class XpqlHibernateVascBackend extends AbstractHibernateVascBackend {
|
|||
q.setFirstResult(state.getPageIndex()*state.getPageSize());
|
||||
q.setMaxResults(state.getPageSize());
|
||||
}
|
||||
List<Object> data = q.list();
|
||||
List<DATA_OBJECT> data = q.list();
|
||||
s.getTransaction().commit();
|
||||
return data;
|
||||
} finally {
|
||||
|
|
|
|||
|
|
@ -22,6 +22,7 @@
|
|||
|
||||
package net.forwardfire.vasc.backends.jpa;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.List;
|
||||
|
||||
import javax.persistence.EntityManager;
|
||||
|
|
@ -43,7 +44,7 @@ import net.forwardfire.vasc.xpql.query.QueryParameterValue;
|
|||
* @author Willem Cazander
|
||||
* @version 1.0 Mar 17, 2009
|
||||
*/
|
||||
public class XpqlPersistanceVascBackend extends AbstractPersistenceVascBackend {
|
||||
public class XpqlPersistanceVascBackend<DATA_OBJECT extends Serializable> extends AbstractPersistenceVascBackend<DATA_OBJECT> {
|
||||
|
||||
private EntityManagerProvider entityManagerProvider = null;
|
||||
|
||||
|
|
@ -76,7 +77,7 @@ public class XpqlPersistanceVascBackend extends AbstractPersistenceVascBackend
|
|||
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
public List<Object> execute(VascBackendState state) throws VascBackendException {
|
||||
public List<DATA_OBJECT> execute(VascBackendState state) throws VascBackendException {
|
||||
|
||||
// Copy parameters
|
||||
for (String key:state.getDataParameterKeys()) {
|
||||
|
|
@ -84,7 +85,7 @@ public class XpqlPersistanceVascBackend extends AbstractPersistenceVascBackend
|
|||
//System.out.println("Set para pame: "+key+" value: "+value);
|
||||
query.setQueryParameter(key, value);
|
||||
if (queryTotal!=null) {
|
||||
queryTotal.setQueryParameter(key, value);
|
||||
queryTotal.setQueryParameter(key, value);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -106,7 +107,7 @@ public class XpqlPersistanceVascBackend extends AbstractPersistenceVascBackend
|
|||
if (emTransaction) {
|
||||
em.getTransaction().begin();
|
||||
}
|
||||
List<Object> data = q.getResultList();
|
||||
List<DATA_OBJECT> data = q.getResultList();
|
||||
if (emTransaction) {
|
||||
em.getTransaction().commit();
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue