hs.hsadmin/hsarback/src/de/hsadmin/remote/PgsqlDbRemote.java
Peter Hormanns 041111d845 introduce annotated class property on AbstractRemote
pac is readonly property
2015-09-11 17:26:42 +02:00

65 lines
1.7 KiB
Java

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<String, Object> 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<? extends AbstractEntity> getAnnotatedEntityClass() {
return Database.class;
}
@Override
protected Class<? extends AbstractEntity> getEntityClass() {
return PgSqlDatabase.class;
}
@Override
protected void map2entity(Transaction tx, Map<String, Object> 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<String, String> whereParams) {
replaceKey(whereParams, "pac", "pac.name");
}
}