package de.hsadmin.remote; import java.util.Map; import de.hsadmin.core.model.AbstractEntity; import de.hsadmin.core.model.Transaction; import de.hsadmin.mods.db.Database; import de.hsadmin.mods.db.PgSqlDatabase; public class PgsqlDbRemote extends AbstractRemote { @Override protected void entity2map(Transaction tx, AbstractEntity entity, Map map) { PgSqlDatabase db = (PgSqlDatabase) entity; String id = Long.toString(db.getId()); String name = db.getName(); String instance = db.getInstance(); String owner = db.getOwner(); String encoding = db.getEncoding(); String pac = db.getPac().getName(); String hive = db.getHiveName(); map.put("id", id); map.put("name", name); map.put("instance", instance); map.put("pac", pac); map.put("hive", hive); map.put("owner", owner); map.put("encoding", encoding); } @Override protected Class getAnnotatedEntityClass() { return Database.class; } @Override protected Class getEntityClass() { return PgSqlDatabase.class; } @Override protected void map2entity(Transaction tx, Map map, AbstractEntity entity) { PgSqlDatabase db = (PgSqlDatabase) entity; db.setInstance("pgsql"); String name = (String) map.get("name"); String owner = (String) map.get("owner"); String encoding = (String) map.get("encoding"); if (assertNotNull(name)) { db.setName(name); } if (assertNotNull(owner)) { db.setOwner(owner); } if (assertNotNull(encoding)) { db.setEncoding(encoding); } } @Override protected void regularizeKeys(Map whereParams) { replaceKey(whereParams, "pac", "pac.name"); } }