Fix fatal error setting default domain options for newly created domain.

This commit is contained in:
Purodha Blissenbach 2012-09-21 16:16:55 +02:00
parent 6bda687298
commit 001946a6d0

View File

@ -96,9 +96,19 @@ public class DomainModuleImpl extends AbstractModuleImpl {
DomainOption domainOption = new DomainOption(); DomainOption domainOption = new DomainOption();
domainOption.setName("greylisting"); domainOption.setName("greylisting");
domainOptions.add(domainOption); domainOptions.add(domainOption);
dom.setDomainoptions(domainOptions);
EntityManager em = getTransaction().getEntityManager(); EntityManager em = getTransaction().getEntityManager();
Query q = em.createQuery("SELECT opt FROM " +
DomainOption.class.getAnnotation(javax.persistence.Entity.class).name() +
" opt WHERE opt.name=:optName");
for (DomainOption opt : domainOptions) {
q.setParameter("optName", opt.getName());
List<?> list = q.getResultList();
if (list.size() != 1) {
throw new HSAdminException("invalid domain option: " + opt.getName());
} else {
opt.setId(((DomainOption) list.get(0)).getId());
}
dom.setDomainoptions(domainOptions);
UnixUser loginUser = getTransaction().getLoginUser(); UnixUser loginUser = getTransaction().getLoginUser();
if (!loginUser.hasHostmasterRole()) { if (!loginUser.hasHostmasterRole()) {