made applyUpdateableChanges callable from parent class
This commit is contained in:
@ -50,7 +50,7 @@ public abstract class AbstractController<T> {
|
|||||||
protected EntityManager em;
|
protected EntityManager em;
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
Account account;
|
protected Account account;
|
||||||
|
|
||||||
private final Class<T> entityClass;
|
private final Class<T> entityClass;
|
||||||
|
|
||||||
@ -58,6 +58,15 @@ public abstract class AbstractController<T> {
|
|||||||
this.entityClass = clazz;
|
this.entityClass = clazz;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void applyUpdateableChanges(Updateable updateable, boolean onCreate) {
|
||||||
|
if (onCreate) {
|
||||||
|
updateable.setCreatedBy(account.getUsername());
|
||||||
|
updateable.setCreatedOn(new Date());
|
||||||
|
}
|
||||||
|
updateable.setLastUpdatedBy(account.getUsername());
|
||||||
|
updateable.setLastUpdatedOn(new Date());
|
||||||
|
}
|
||||||
|
|
||||||
public T attach(T entity) {
|
public T attach(T entity) {
|
||||||
return em.merge(entity);
|
return em.merge(entity);
|
||||||
}
|
}
|
||||||
@ -68,11 +77,8 @@ public abstract class AbstractController<T> {
|
|||||||
public void create(T entity) {
|
public void create(T entity) {
|
||||||
if (Updateable.class.isAssignableFrom(entity.getClass())) {
|
if (Updateable.class.isAssignableFrom(entity.getClass())) {
|
||||||
Updateable updateable = (Updateable) entity;
|
Updateable updateable = (Updateable) entity;
|
||||||
updateable.setCreatedBy(account.getUsername());
|
applyUpdateableChanges(updateable, true);
|
||||||
updateable.setCreatedOn(new Date());
|
}
|
||||||
updateable.setLastUpdatedBy(account.getUsername());
|
|
||||||
updateable.setLastUpdatedOn(new Date());
|
|
||||||
}
|
|
||||||
em.persist(entity);
|
em.persist(entity);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -82,9 +88,8 @@ public abstract class AbstractController<T> {
|
|||||||
public T update(T entity) {
|
public T update(T entity) {
|
||||||
if (Updateable.class.isAssignableFrom(entity.getClass())) {
|
if (Updateable.class.isAssignableFrom(entity.getClass())) {
|
||||||
Updateable updateable = (Updateable) entity;
|
Updateable updateable = (Updateable) entity;
|
||||||
updateable.setLastUpdatedBy(account.getUsername());
|
applyUpdateableChanges(updateable, false);
|
||||||
updateable.setLastUpdatedOn(new Date());
|
}
|
||||||
}
|
|
||||||
return em.merge(entity);
|
return em.merge(entity);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -144,6 +149,5 @@ public abstract class AbstractController<T> {
|
|||||||
// of.getDeclaredId(entityClass).getJavaMember().
|
// of.getDeclaredId(entityClass).getJavaMember().
|
||||||
return of.getId(of.getIdType().getJavaType());
|
return of.getId(of.getIdType().getJavaType());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user