package de.hsadmin.remote; import java.util.ArrayList; import java.util.Date; import java.util.HashSet; import java.util.List; import java.util.Map; import java.util.Set; import de.hsadmin.core.model.AbstractEntity; import de.hsadmin.core.model.Transaction; import de.hsadmin.core.util.TextUtil; import de.hsadmin.mods.dom.Domain; import de.hsadmin.mods.dom.DomainOption; import de.hsadmin.mods.user.UnixUser; public class DomainRemote extends AbstractRemote { @Override protected Class getEntityClass() { return Domain.class; } @Override protected void entity2map(Transaction tx, AbstractEntity entity, Map resultMap) { final Domain dom = (Domain) entity; final String id = Long.toString(dom.getId()); resultMap.put("id", id); final String name = dom.getName(); resultMap.put("name", name); final String user = dom.getUser().getName(); resultMap.put("user", user); final String hive = dom.getHiveName(); resultMap.put("hive", hive); final String pac = dom.getUser().getPac().getName(); resultMap.put("pac", pac); final Date sDate = dom.getSince(); if (assertNotNull(sDate)) { final String since = TextUtil.format(sDate); resultMap.put("since", since); } final List domainOptionsList = new ArrayList(); resultMap.put("domainoptions", domainOptionsList); final Set domainOptions = dom.getDomainoptions(); if (domainOptions != null) { for (DomainOption opt : domainOptions) { domainOptionsList.add(opt.getName()); } } } @Override protected void map2entity(Transaction tx, Map setParams, AbstractEntity entity) { final Domain dom = (Domain) entity; final String name = (String) setParams.get("name"); final String user = (String) setParams.get("user"); if (assertNotNull(name)) { dom.setName(name); } if (assertNotNull(user)) { final UnixUser u = new UnixUser(); u.setName(user); dom.setUser(u); } final Object domOptsObj = setParams.get("domainoptions"); if (domOptsObj != null && domOptsObj instanceof Object[]) { final Set domainOptionsSet = new HashSet(); final Object[] domOptions = (Object[]) domOptsObj; for (int i=0; i whereParams) { replaceKey(whereParams, "user", "user.name"); replaceKey(whereParams, "pac", "user.pac.name"); replaceKey(whereParams, "hive", "hiveName"); } }