在am中定义消息集束,并在CO中验证之后抛出异常。
需求:在页面上点某个按钮的时候,需要收集所有异常并抛出。
-------------------------------------------
方式1:参考 EBS OAF开发中的错误/异常处理(ErrorHandling) (转) 中消息集束的方式,在一个方法中定义消息集束并抛出。
方式2:在am中定义一个消息集束为全局变量,并在所有校验的地方将异常插入此变量,参考代码。
CO:
PoEvaluateAMImpl peAMImpl = (PoEvaluateAMImpl)am;
am.invokeMethod("initializeExceptionList");
checkRangeOverlap(pageContext, webBean); if(!peAMImpl.getExceptionList().isEmpty()){
peAMImpl.raiseBundledExceptions();
} private void checkRangeOverlap(OAPageContext pageContext,
OAWebBean webBean) throws OAException { OAApplicationModule am = pageContext.getApplicationModule(webBean);
PoEvaluateAMImpl peAMImpl = (PoEvaluateAMImpl)am;
OAException localOAException =
new OAException("PON", "PON_AUC_OVERLAP_RANGES");
if (!validateUniqueRanges(pageContext, webBean)) {
peAMImpl.getExceptionList().add(localOAException);
}
}
AM:
import com.sun.java.util.collections.ArrayList;
import com.sun.java.util.collections.Iterator;
import com.sun.java.util.collections.List; private transient List m_exceptionList = null; public void beforeRelease() {
super.beforeRelease();
this.m_exceptionList = null;
} private void setExceptionList(List paramList) {
this.m_exceptionList = paramList;
} public List getExceptionList() {
return this.m_exceptionList;
} public void initializeExceptionList() {
if (getExceptionList() == null) {
setExceptionList(new ArrayList());
} else {
getExceptionList().clear();
}
} public void raiseBundledExceptions() {
List localList = getExceptionList();
if ((localList != null) && (!localList.isEmpty())) {
OAException.raiseBundledOAException(localList);
}
}
在am中定义消息集束,并在CO中验证之后抛出异常。的更多相关文章
- 继承的基本概念: (1)Java不支持多继承,也就是说子类至多只能有一个父类。 (2)子类继承了其父类中不是私有的成员变量和成员方法,作为自己的成员变量和方法。 (3)子类中定义的成员变量和父类中定义的成员变量相同时,则父类中的成员变量不能被继承。 (4)子类中定义的成员方法,并且这个方法的名字返回类型,以及参数个数和类型与父类的某个成员方法完全相同,则父类的成员方法不能被继承。 分析以上程
继承的基本概念: (1)Java不支持多继承,也就是说子类至多只能有一个父类. (2)子类继承了其父类中不是私有的成员变量和成员方法,作为自己的成员变量和方法.(3)子类中定义的成员变量和父类中定义的 ...
- MVVM Light 新手入门(3) :ViewModel / Model 中定义“事件” ,并在View中调用 (无参数调用)
今天学习MVVM架构中“事件”的添加并调用,特记录如下,学习资料均来自于网络,特别感谢翁智华 的 利刃 MVVMLight 6:命令基础 在MVVM Light框架中,事件是WPF应用程序中UI与后台 ...
- Django]models中定义的choices 字典在页面中显示值
在django的models.py 中,我们定义了一些choices的元组,类似一些字典值,一般都是下拉框或者单多选框,例如 0对应男 1对应女等 class Area(models.Model): ...
- VB.NET在基类中定义共享事件(类似于C#中的静态事件)
基类: Public Class userFun Private Shared _PnlStatus As String ‘必须设为共享字段,如果不设为Shared,将不能传递字符串内容 Public ...
- MVVM Light 新手入门(2) :ViewModel / Model 中定义“属性” ,并在View中调用
今天学习MVVM架构中“属性”的添加并调用,特记录如下,学习资料均来自于网络,特别感谢翁智华的利刃 MVVMLight系列. 一个窗口的基本模型如下: View(视图) -> ViewModel ...
- 在properties.xml中定义变量,在application.xml中取值问题
如果为application.xml中的变量赋默认值,同时又在properties.xml中变量赋值,而加载后是取不到properties.xml中的值的问题. 解决这个问题需要加上黑体部分配置: & ...
- 12月16日 增加一个购物车内product数量的功能, 自定义method,在helper中定义,计算代码Refactor到Model中。
仿照Rails实战:购物网站 教材:5-6 step5:计算总价,做出在nav上显示购物车内product的数量. 遇到的❌: 1. <% sum = 0 %> <% current ...
- 深度解析VC中的消息(转发)
http://blog.csdn.net/chenlycly/article/details/7586067 这篇转发的文章总结的比较好,但是没有告诉我为什么ON_MESSAGE的返回值必须是LRES ...
- TMsgThread, TCommThread -- 在delphi线程中实现消息循环
http://delphi.cjcsoft.net//viewthread.php?tid=635 在delphi线程中实现消息循环 在delphi线程中实现消息循环 Delphi的TThread类使 ...
随机推荐
- 转!!git如何撤销上一次commit(或已push)
原博文地址 : https://www.cnblogs.com/lyy-2016/p/6509707.html git如何撤销上一次commit操作 1.第一种情况:还没有push,只是在本地comm ...
- Python的Tornado框架的异步任务与AsyncHTTPClient
转载自http://www.php.cn/python-tutorials-284773.html 高性能服务器TornadoPython的web框架名目繁多,各有千秋.正如光荣属于希腊,伟大属于罗马 ...
- gcd倒计时
@interface ViewController () { dispatch_source_t _timer; } @property (weak, nonatomic) IBOutlet UILa ...
- CSLA.Net学习(3)INotifyPropertyChanged和IDataErrorInfo
今天晕晕糊糊的看CSLA.net,希望能找到验证数据正确性的方法,还是摸索出了INotifyPropertyChanged, IDataErrorInfo接口的使用方法,通过INotifyProper ...
- 一、Mosquitto 介绍&安装
一.Mosquitto 介绍 一款实现了消息推送协议 MQTT v3.1 的开源消息代理软件,提供轻量级的,支持可发布/可订阅的的消息推送模式,使设备对设备之间的短消息通信变得简单,比如现在应用广泛的 ...
- POJ2195:Going Home(费用流入门)
http://poj.org/problem?id=2195 #include <iostream> #include <stdio.h> #include <strin ...
- 排序问题Java
package zhuzhuangtu; import java.util.*; import java.io.*; public class Main{ public static void mai ...
- 34sqlite
sqlite,本地数据库.主要运用在小型的程序,传送方便(如发送附带数据库的程序,但MySQL有点大,或许没安装). 如何创建本地数据库? 1.新建一个.txt的文本文件. 2.直接将后缀名有.txt ...
- 11月16host文件
#################################################################################################### ...
- 20155310 2016-2017-2 《Java程序设计》第七周学习总结
20155310 2016-2017-2 <Java程序设计>第七周学习总结 教材学习内容总结 第十三章 时间与日期 认识时间与日期 •时间的度量 •GMT(格林威治标准时间):现在不是标 ...