zoukankan      html  css  js  c++  java
  • 在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);
        }
    }    
  • 相关阅读:
    提交代码报错不同方式
    pow log 与 (int)
    优先队列的创建
    积性函数
    静态主席树,动态主席树(一种可持久化线段树)
    codeblocks 输入、输出文件的位置
    后缀自动机
    BellmanFord 最短路
    struct
    hdu1501 动态规划
  • 原文地址:https://www.cnblogs.com/huanghongbo/p/6844367.html
Copyright © 2011-2022 走看看