use of org.nutz.trans.Atom in project nutz by nutzam.
the class Pojos method create4Platoon.
public Platoon create4Platoon(Base base, String name) {
final Platoon p = dao().insert(Platoon.make(base, name));
int id = p.getId();
initPlatoon(id);
TableName.run(id, new Atom() {
public void run() {
Soldier mick = Soldier.make("Mick");
Soldier zzh = Soldier.make("ZZH");
Soldier peter = Soldier.make("Peter");
Soldier sm = Soldier.make("Super Man");
Soldier bush = Soldier.make("George.W.Bush");
p.setTanks(new HashMap<String, Tank>());
Tank m1a1 = p.addTank(Tank.make("M1-A1"));
m1a1.setMotorName(bush.getName());
Tank t92 = p.addTank(Tank.make("T92"));
t92.setMotorName(zzh.getName());
p.setLeaderName(zzh.getName());
p.setLeader(zzh);
p.setSoliders(new LinkedList<Soldier>());
p.getSoliders().add(mick);
p.getSoliders().add(peter);
p.getSoliders().add(sm);
p.getSoliders().add(bush);
dao.update(p);
dao.insertLinks(p, "leader|soliders|tanks");
m1a1 = dao.fetch(Tank.class, "M1-A1");
m1a1.setMembers(new HashMap<String, Soldier>());
m1a1.addMember(bush).addMember(sm).addMember(zzh);
t92 = dao.fetch(Tank.class, "T92");
t92.setMembers(new HashMap<String, Soldier>());
t92.addMember(zzh).addMember(mick).addMember(peter);
dao.insertRelation(m1a1, "members");
dao.insertRelation(t92, "members");
dao.insertLinks(Gun.assign(mick, Gun.TYPE.AK47, Gun.TYPE.P228), "guns");
dao.insertLinks(Gun.assign(zzh, Gun.TYPE.AWP, Gun.TYPE.MP5, Gun.TYPE.P228), "guns");
dao.insertLinks(Gun.assign(peter, Gun.TYPE.M16, Gun.TYPE.UMP_45), "guns");
dao.insertLinks(Gun.assign(sm, Gun.TYPE.M16, Gun.TYPE.UMP_45), "guns");
dao.insertLinks(Gun.assign(bush, Gun.TYPE.M60, Gun.TYPE.P228), "guns");
}
});
return p;
}
use of org.nutz.trans.Atom in project nutz by nutzam.
the class UpdateTest method test_update_ignore_null.
/**
* For issue #557
*/
@Test
public void test_update_ignore_null() {
dao.create(Pet.class, true);
final Pet pet = Pet.create("XiaoBai").setAge(20);
dao.insert(pet);
FieldFilter.create(Pet.class, true).run(new Atom() {
public void run() {
Pet p1 = new Pet().setAge(12).setId(pet.getId());
dao.update(p1);
}
});
Pet p2 = dao.fetch(Pet.class, pet.getId());
assertEquals("XiaoBai", p2.getName());
}
use of org.nutz.trans.Atom in project nutz by nutzam.
the class UpdateTest method test_updateIgnoreNull.
@Test
public void test_updateIgnoreNull() {
pojos.initData();
Platoon p = dao.fetch(Platoon.class, "sF");
p.setLeaderName("xyz");
dao.update(p);
p = dao.fetch(Platoon.class, "sF");
// xyz
String name = p.getLeaderName();
assertNotNull(name);
p.setLeaderName(null);
int re = dao.updateIgnoreNull(p);
assertEquals(1, re);
p = dao.fetch(Platoon.class, "sF");
assertEquals(name, p.getLeaderName());
p.setLeaderName(null);
dao.update(p);
p = dao.fetch(Platoon.class, "sF");
assertNull(p.getLeaderName());
p.setLeaderName("ABC");
dao.update(p);
p = dao.fetch(Platoon.class, "sF");
assertEquals("ABC", p.getLeaderName());
FieldFilter.create(Platoon.class, true).run(new Atom() {
public void run() {
System.out.println(FieldFilter.get(Platoon.class));
Platoon p = dao.fetch(Platoon.class, "sF");
p.setLeaderName(null);
dao.update(p);
}
});
p = dao.fetch(Platoon.class, "sF");
assertEquals("ABC", p.getLeaderName());
}
use of org.nutz.trans.Atom in project nutz by nutzam.
the class BatchInsertTest method test_insert_3_pets.
@Test
public void test_insert_3_pets() {
assertEquals(0, dao.count(Pet.class));
dao.insert(Pet.create(3));
assertEquals(3, dao.count(Pet.class));
assertTrue(null != dao.fetch(Pet.class, 1));
assertTrue(null != dao.fetch(Pet.class, 2));
assertTrue(null != dao.fetch(Pet.class, 3));
FieldFilter.create(Pet.class, "name|id").run(new Atom() {
public void run() {
assertTrue(null != dao.fetch(Pet.class));
}
});
}
use of org.nutz.trans.Atom in project nutz by nutzam.
the class CustomizedSqlsTest method test_dynamic_insert.
@Test
public void test_dynamic_insert() {
pojos.init();
((NutDao) dao).setSqlManager(new FileSqlManager("org/nutz/dao/test/sqls/exec.sqls"));
int platoonId = 23;
try {
pojos.initPlatoon(platoonId);
Sql sql = dao.sqls().create("tank.insert");
sql.vars().set("id", platoonId);
sql.params().set("code", "T1").set("weight", 12);
dao.execute(sql);
sql = dao.sqls().create("tank.insert");
sql.vars().set("id", platoonId);
sql.params().set("code", "T2").set("weight", 13);
dao.execute(sql);
sql = dao.sqls().create("tank.insert");
sql.vars().set("id", platoonId);
sql.params().set("code", "T3").set("weight", 14);
dao.execute(sql);
sql = dao.sqls().create("tank.insert");
sql.vars().set("id", platoonId);
sql.params().set("code", "T4").set("weight", 15);
dao.execute(sql);
TableName.run(platoonId, new Atom() {
public void run() {
assertEquals(4, dao.count(Tank.class));
}
});
} catch (SqlNotFoundException e) {
} finally {
pojos.dropPlatoon(platoonId);
}
}
Aggregations