From 4daa43ad04f2b62439a177e94d188d1b151247c1 Mon Sep 17 00:00:00 2001 From: jomu Date: Fri, 25 Jan 2019 17:17:06 +0100 Subject: [PATCH] made applyUpdateableChanges callable from parent class --- .../account/business/AbstractController.java | 24 +++++++++++-------- 1 file changed, 14 insertions(+), 10 deletions(-) diff --git a/account/src/main/java/de/muehlencord/shared/account/business/AbstractController.java b/account/src/main/java/de/muehlencord/shared/account/business/AbstractController.java index de871ff..d7576f7 100644 --- a/account/src/main/java/de/muehlencord/shared/account/business/AbstractController.java +++ b/account/src/main/java/de/muehlencord/shared/account/business/AbstractController.java @@ -50,7 +50,7 @@ public abstract class AbstractController { protected EntityManager em; @Inject - Account account; + protected Account account; private final Class entityClass; @@ -58,6 +58,15 @@ public abstract class AbstractController { 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) { return em.merge(entity); } @@ -68,11 +77,8 @@ public abstract class AbstractController { public void create(T entity) { if (Updateable.class.isAssignableFrom(entity.getClass())) { Updateable updateable = (Updateable) entity; - updateable.setCreatedBy(account.getUsername()); - updateable.setCreatedOn(new Date()); - updateable.setLastUpdatedBy(account.getUsername()); - updateable.setLastUpdatedOn(new Date()); - } + applyUpdateableChanges(updateable, true); + } em.persist(entity); } @@ -82,9 +88,8 @@ public abstract class AbstractController { public T update(T entity) { if (Updateable.class.isAssignableFrom(entity.getClass())) { Updateable updateable = (Updateable) entity; - updateable.setLastUpdatedBy(account.getUsername()); - updateable.setLastUpdatedOn(new Date()); - } + applyUpdateableChanges(updateable, false); + } return em.merge(entity); } @@ -144,6 +149,5 @@ public abstract class AbstractController { // of.getDeclaredId(entityClass).getJavaMember(). return of.getId(of.getIdType().getJavaType()); } - }