From ed0892b1dc4076914395340d296f51999e973ef4 Mon Sep 17 00:00:00 2001 From: jomu Date: Mon, 19 Nov 2018 17:47:09 +0100 Subject: [PATCH] added missing transactional annotation --- .../control/ApplicationPermissionControl.java | 203 +++++++++--------- 1 file changed, 102 insertions(+), 101 deletions(-) diff --git a/account/src/main/java/de/muehlencord/shared/account/business/application/control/ApplicationPermissionControl.java b/account/src/main/java/de/muehlencord/shared/account/business/application/control/ApplicationPermissionControl.java index ab50c4d..fbf6f81 100644 --- a/account/src/main/java/de/muehlencord/shared/account/business/application/control/ApplicationPermissionControl.java +++ b/account/src/main/java/de/muehlencord/shared/account/business/application/control/ApplicationPermissionControl.java @@ -1,101 +1,102 @@ -package de.muehlencord.shared.account.business.application.control; - -import de.muehlencord.shared.account.business.account.entity.AccountException; -import de.muehlencord.shared.account.business.account.entity.ApplicationPermissionEntity; -import de.muehlencord.shared.account.business.application.entity.ApplicationEntity; -import de.muehlencord.shared.account.util.AccountPU; -import java.io.Serializable; -import javax.ejb.Stateless; -import javax.persistence.EntityManager; -import java.util.List; -import java.util.ArrayList; -import javax.inject.Inject; -import javax.persistence.OptimisticLockException; -import javax.persistence.Query; -import javax.transaction.Transactional; - -/** - * - * @author Joern Muehlencord - */ -@Stateless -public class ApplicationPermissionControl implements Serializable { - - private static final long serialVersionUID = -3761100587901739481L; - - @Inject - @AccountPU - EntityManager em; - - public List getApplicationPermissions(ApplicationEntity app) { - Query query = em.createNamedQuery("ApplicationPermissionEntity.findAll"); - query.setParameter("application", app); - List permissionList = query.getResultList(); - if (permissionList == null) { - return new ArrayList<>(); - } else { - return permissionList; - } - } - - public ApplicationPermissionEntity findPermissionByName(ApplicationEntity application, String permissionName) { - Query query = em.createNamedQuery("ApplicationPermissionEntity.findByPermissionName"); - query.setParameter("application", application); - query.setParameter("permissionName", permissionName); - List resultList = query.getResultList(); - if ((resultList == null) || (resultList.isEmpty())) { - return null; - } else { - return resultList.get(0); - } - } - - @Transactional - public void create(ApplicationEntity application, String name, String description) { - ApplicationPermissionEntity permission = new ApplicationPermissionEntity(application, name, description); - em.persist(permission); - } - - @Transactional - public void update(ApplicationPermissionEntity permission) throws AccountException { - ApplicationPermissionEntity existing = attach(permission); - em.merge(existing); - } - - @Transactional - public void createOrUpdate(ApplicationEntity application, String name, String description) { - ApplicationPermissionEntity permission = findByName(application, name); - if (permission == null) { - permission = new ApplicationPermissionEntity(name, description); - em.persist(permission); - } else { - permission.setPermissionDescription(description); - em.merge(permission); - } - } - - public void delete(ApplicationPermissionEntity permission) throws AccountException { - ApplicationPermissionEntity existingPermission = attach(permission); - em.remove(existingPermission); - } - - public ApplicationPermissionEntity attach(ApplicationPermissionEntity permission) throws AccountException { - try { - return em.merge(permission); - } catch (OptimisticLockException ex) { - throw new AccountException("Entity updated / deleted, please reload", true); - } - } - - private ApplicationPermissionEntity findByName(ApplicationEntity application, String name) { - Query query = em.createNamedQuery("ApplicationPermissionEntity.findByPermissionName"); - query.setParameter("application", application); - query.setParameter("permissionName", name); - List permissions = query.getResultList(); - if ((permissions == null) || (permissions.isEmpty())) { - return null; - } else { - return permissions.get(0); - } - } -} +package de.muehlencord.shared.account.business.application.control; + +import de.muehlencord.shared.account.business.account.entity.AccountException; +import de.muehlencord.shared.account.business.account.entity.ApplicationPermissionEntity; +import de.muehlencord.shared.account.business.application.entity.ApplicationEntity; +import de.muehlencord.shared.account.util.AccountPU; +import java.io.Serializable; +import javax.ejb.Stateless; +import javax.persistence.EntityManager; +import java.util.List; +import java.util.ArrayList; +import javax.inject.Inject; +import javax.persistence.OptimisticLockException; +import javax.persistence.Query; +import javax.transaction.Transactional; + +/** + * + * @author Joern Muehlencord + */ +@Stateless +public class ApplicationPermissionControl implements Serializable { + + private static final long serialVersionUID = -3761100587901739481L; + + @Inject + @AccountPU + EntityManager em; + + public List getApplicationPermissions(ApplicationEntity app) { + Query query = em.createNamedQuery("ApplicationPermissionEntity.findAll"); + query.setParameter("application", app); + List permissionList = query.getResultList(); + if (permissionList == null) { + return new ArrayList<>(); + } else { + return permissionList; + } + } + + public ApplicationPermissionEntity findPermissionByName(ApplicationEntity application, String permissionName) { + Query query = em.createNamedQuery("ApplicationPermissionEntity.findByPermissionName"); + query.setParameter("application", application); + query.setParameter("permissionName", permissionName); + List resultList = query.getResultList(); + if ((resultList == null) || (resultList.isEmpty())) { + return null; + } else { + return resultList.get(0); + } + } + + @Transactional + public void create(ApplicationEntity application, String name, String description) { + ApplicationPermissionEntity permission = new ApplicationPermissionEntity(application, name, description); + em.persist(permission); + } + + @Transactional + public void update(ApplicationPermissionEntity permission) throws AccountException { + ApplicationPermissionEntity existing = attach(permission); + em.merge(existing); + } + + @Transactional + public void createOrUpdate(ApplicationEntity application, String name, String description) { + ApplicationPermissionEntity permission = findByName(application, name); + if (permission == null) { + permission = new ApplicationPermissionEntity(name, description); + em.persist(permission); + } else { + permission.setPermissionDescription(description); + em.merge(permission); + } + } + + @Transactional + public void delete(ApplicationPermissionEntity permission) throws AccountException { + ApplicationPermissionEntity existingPermission = attach(permission); + em.remove(existingPermission); + } + + public ApplicationPermissionEntity attach(ApplicationPermissionEntity permission) throws AccountException { + try { + return em.merge(permission); + } catch (OptimisticLockException ex) { + throw new AccountException("Entity updated / deleted, please reload", true); + } + } + + private ApplicationPermissionEntity findByName(ApplicationEntity application, String name) { + Query query = em.createNamedQuery("ApplicationPermissionEntity.findByPermissionName"); + query.setParameter("application", application); + query.setParameter("permissionName", name); + List permissions = query.getResultList(); + if ((permissions == null) || (permissions.isEmpty())) { + return null; + } else { + return permissions.get(0); + } + } +}