added create / update methods
This commit is contained in:
@ -33,6 +33,18 @@ public class ApplicationPermissionControl implements Serializable {
|
||||
}
|
||||
}
|
||||
|
||||
@Transactional
|
||||
public void create(String name, String description) {
|
||||
ApplicationPermissionEntity permission = new ApplicationPermissionEntity(name, description);
|
||||
em.persist(permission);
|
||||
}
|
||||
|
||||
@Transactional
|
||||
public void update (ApplicationPermissionEntity permission) throws AccountException {
|
||||
ApplicationPermissionEntity existing = attach(permission);
|
||||
em.merge(existing);
|
||||
}
|
||||
|
||||
@Transactional
|
||||
public void createOrUpdate(String name, String description) {
|
||||
ApplicationPermissionEntity permission = findByName(name);
|
||||
@ -44,19 +56,19 @@ public class ApplicationPermissionControl implements Serializable {
|
||||
em.merge(permission);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public void delete(ApplicationPermissionEntity permission) throws AccountException {
|
||||
ApplicationPermissionEntity existingPermission = attach(permission);
|
||||
em.remove(existingPermission);
|
||||
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(String name) {
|
||||
Query query = em.createNamedQuery("ApplicationPermissionEntity.findByPermissionName");
|
||||
|
||||
Reference in New Issue
Block a user