hs.hsadmin/hsarback/src/de/hsadmin/remote/DomainRemote.java

86 lines
2.6 KiB
Java

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<? extends AbstractEntity> getEntityClass() {
return Domain.class;
}
@Override
protected void entity2map(Transaction tx, AbstractEntity entity, Map<String, Object> 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<String> domainOptionsList = new ArrayList<String>();
resultMap.put("domainoptions", domainOptionsList);
final Set<DomainOption> domainOptions = dom.getDomainoptions();
if (domainOptions != null) {
for (DomainOption opt : domainOptions) {
domainOptionsList.add(opt.getName());
}
}
}
@Override
protected void map2entity(Transaction tx, Map<String, Object> 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<DomainOption> domainOptionsSet = new HashSet<DomainOption>();
final Object[] domOptions = (Object[]) domOptsObj;
for (int i=0; i<domOptions.length; i++) {
final DomainOption domainOption = new DomainOption();
domainOption.setName((String)domOptions[i]);
domainOptionsSet.add(domainOption);
}
dom.setDomainoptions(domainOptionsSet);
}
}
@Override
protected void regularizeKeys(Map<String, String> whereParams) {
replaceKey(whereParams, "user", "user.name");
replaceKey(whereParams, "pac", "user.pac.name");
replaceKey(whereParams, "hive", "hiveName");
}
}