| | |
| | | throw new HSAdminException("domain admin required"); |
| | | } |
| | | // Standard domainoptions setzen. TODO: Alle defaults über eigene Klasse aus der Datenbank holen. |
| | | HashSet<DomainOption> domainOptions = new HashSet<DomainOption>(); |
| | | DomainOption domainOption = new DomainOption(); |
| | | domainOption.setName("greylisting"); |
| | | domainOptions.add(domainOption); |
| | | EntityManager em = getTransaction().getEntityManager(); |
| | | UnixUser loginUser = getTransaction().getLoginUser(); |
| | | if (!loginUser.hasHostmasterRole()) { |
| | |
| | | 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()); |
| | | } |
| | | HashSet<DomainOption> domainOptions = new HashSet<DomainOption>(); |
| | | q.setParameter("optName", "greylisting"); |
| | | List<?> list = q.getResultList(); |
| | | if (list.size() != 1) { |
| | | throw new HSAdminException("invalid domain option: " + "greylisting"); |
| | | } else { |
| | | domainOptions.add((DomainOption) list.get(0)); |
| | | } |
| | | dom.setDomainoptions(domainOptions); |
| | | if (dom.isPacDomain()) { |