我想知道我对方法RequestContext.edit()(GWT 2.5.1)的语义是否正确。 在我看来,以下代码段中的警报永远不会发生。我对RequestContext.edit()的语义是对还是错呢?
ICurTournamentPu ctpu = c.getPu(PUK3.curTournament);
TourneyProxy origTourney = ctpu.getTourney();
this.tourney = req.edit(origTourney);
// TODO begin test
{
List<DisciplineProxy> otdl = origTourney.getTourneyDisciplines().getList();
List<DisciplineProxy> tdl = tourney.getTourneyDisciplines().getList();
if (otdl != null && tdl != null && otdl.size() != tdl.size()) {
Window.alert("otdl.size()=" + otdl.size() + " != " + tdl.size() + "=tdl.size()");
}
}
// TODO end test
通过可编辑实体的某些链接引用的列表似乎包含的元素多于通过原始不可编辑实体的等效链接引用的列表。这会在调用RequestContext.edit()之后立即发生。似乎在某种程度上,即使从服务器刷新后,也保留了来自同一客户端的旧更改。 顺便说一句,以下场景的定义语义是什么:
editableE2的定义值是什么?与editableE1相同的对象,因为已在此上下文中编辑过?还是一个新的AutoBean?有点混乱......任何人都能为我澄清一下吗? :)
答案 0 :(得分:0)
你在寻找麻烦!
editableE2
与editableE1
相同,即父不可变bean为e1
的可编辑bean。