//解释每句话
boolean isLockError = false;
List confirmList = result.getResultDataList();
Iterator confirmIterator = confirmList.iterator();
while (confirmIterator.hasNext()) {
OmRemoteData confirmRemoteData = (OmRemoteData)confirmIterator.next();
if (confirmRemoteData != null) {
if (confirmRemoteData.containMessageCode("unit", "OME30003")) {
isLockError = true;
break;
}
}
}
boolean isLockError = false;
List confirmList = result.getResultDataList();
Iterator confirmIterator = confirmList.iterator();
while (confirmIterator.hasNext()) {
OmRemoteData confirmRemoteData = (OmRemoteData)confirmIterator.next();
if (confirmRemoteData != null) {
if (confirmRemoteData.containMessageCode("unit", "OME30003")) {
isLockError = true;
break;
}
}
}
Iterator confirmIterator = confirmList.iterator();//以上两句不用解释了吧,取得迭代序列OmRemoteData 应该是自己定义一个类 ,Iterator 里面存的应该也是这种对象containMessageCode()是OmRemoteData的方法 具体干什么的不太清楚反正总的意思就是:从List中找符合containMessageCode的OmRemoteData ,如果有,isLockError = true;
List confirmList = result.getResultDataList();//把数据库读出的数据集合赋值给数组集合confirmList
Iterator confirmIterator = confirmList.iterator();//Iterator就是可以按照顺序访问一个集合所有元素的工具,使用这个要在文件前面加import JAVA.util.Iterator。这句意思就是把confirmList的数据赋给confirmIterator 中。
while (confirmIterator.hasNext()) { //当 confirmIterator没到结尾时就循环
OmRemoteData confirmRemoteData = (OmRemoteData)confirmIterator.next();//把confirmIterator的值赋给OmRemoteData 型(用户自定义的)的confirmRemoteData
if (confirmRemoteData != null) {//如果confirmRemoteData 不为空
if (confirmRemoteData.containMessageCode("unit", "OME30003")) {//这个函数应该是用户自定义的,我是没用过,大概是检测confirmRemoteData中的字符串与"unit", "OME30003"的条件是否成立
isLockError = true;//上面的条件成立就把isLockError 的值变为真
break;//跳出循环
}
}
}
总的意思就是从数据库中查询是否有与containMessageCode("unit", "OME30003"))条件成立的数据,有成立的就把isLockError = true
//定义一个list类型的变量并把一个值(自己写的方法获取)赋给它
List confirmList = result.getResultDataList();
Iterator confirmIterator = confirmList.iterator();//简单赋值语句
while (confirmIterator.hasNext()) { //遍历confirmIterator
//OmRemoteData 类型(自定义类)的confirmRemoteData 被赋值 后面有一个强制类型转换
OmRemoteData confirmRemoteData = (OmRemoteData)confirmIterator.next();
if (confirmRemoteData != null) {//不为空值
//比较喽为真返回true
if (confirmRemoteData.containMessageCode("unit", "OME30003")) {
isLockError = true;
break;
}
}
} 里面肯定都是公司自己封装了的东西,找老总要去吧
List confirmList = result.getResultDataList(); // 从Result里面取出结果记录
Iterator confirmIterator = confirmList.iterator(); // 循环的iterator
while (confirmIterator.hasNext()) { // 循环
OmRemoteData confirmRemoteData = (OmRemoteData)confirmIterator.next(); // 取出当前数据
if (confirmRemoteData != null) { // 假如非空
if (confirmRemoteData.containMessageCode("unit", "OME30003")) { // 且unit错误(和具体页面上某个字段无关,而和业务逻辑有关)是OME30003错误。错误代码第4位是message类型,1正常,2警告,3错误,30003是
このデータは他の端末で使用されています。しばらく待って再度、処理を実行してください。
表明刚才某段代码执行select ... for update nowait的时候没有成功,该数据正被其他客户端进行更新处理中
isLockError = true; // 更新前lock出错
break; // 下面的检查就不必了
}
}
}:D
OmRemoteData是单条业务数据,里面保留若干字段,及其对应的错误信息OmMessageData,放在一个Map里;
OmMessageData,字段名key,msg code,业务逻辑或者多个字段相关的错误用unit,code前3位随便,第4位是message类型,1正常,2警告,3错误
OmFieldAttribute,用来从画面上接受单个字段的数据,里面就是封装了一个string,保证转换出错时,用户输入还在,同时提供一些简单的check方法。
OmInput用来从request里面把单个参数解析到简单类型或OmFieldAttribute,进而到单个或多个OmRemoteData
OmResult用来存放从业务逻辑里得到的若干个处理结果(OmRemoteData)