码迷,mamicode.com
首页 > 其他好文 > 详细

[Teamcenter 2007 开发实战] 获取错误或提示信息

时间:2014-06-10 15:35:28      阅读:195      评论:0      收藏:0      [点我收藏+]

标签:style   class   blog   code   java   ext   

前言

TC 的开发分为CF 端开发和Web 端开发。

CF端和Web 端各自有自己的错误信息提示方式。

两种方式是否可以有一些整合?

整合的好处即统一了显示, 又减少了重复


CF 端错误信息

CF 端错误一般是给OMF 端来使用的。

OMF是一个富客户端的程序。 错误方式就是弹出一个窗口。

代码开发方式如下:

    	CheckDstat(uiShowText("errText001", NULL, UI_ATTENTION_TEXT, *mfail, WHERE));
	*mfail = 11001;
	goto CLEANUP;

errText001 是定义在met  中的错误信息

11001 是给这个错误一个编号, 方便错误定位。


Web 端错误信息

Web 端错误信息提示方式一般是转到一个错误页面, 显示错误的信息:

代码方式:

			ActionComponentUtil.createErrorBean(arguments, errMsg);
			return options.getOption("failure");

这里的errMsg 就是定义的一个错误信息的字符串。


两者的整合

其实默认OOTB 的状况下, 这两者已经进行了一定的整合,就是但出现一些错误信息的时候, 跳转到的错误信息的页面就是CF端的错误信息。

对于开发者来说, 就要知道这两者是如何整合的了。

先说一个可能出现的误区:

就是在java 端通过try catch MfailException 是否就可以取到错误信息了呢? 答案是不可以, 这个异常里只有 mfail 1001 这样的代表服务端出错的信息, 具体的错误信息并没有。


它们之间是通过StatusReporter 这个类进行衔接的, 这个类的实例可从session 中取得, 具体的获取代码如下:

		StatusReporter sr = null;
		try {
			sr = session.getStatusReporter();
		} catch (AuthorizationException e2) {
			// TODO Auto-generated catch block
			e2.printStackTrace();
		} catch (AuthenticationException e2) {
			// TODO Auto-generated catch block
			e2.printStackTrace();
		}
		Status[] status_msg = null;;
		String msg = "";
		try {
			status_msg = sr.getStatus(1);
			if (status_msg != null) {
				for (int len = 0; len < status_msg.length; ++len) {
					msg = status_msg[len].text;
					msg = msg.replace(‘\n‘, ‘ ‘);
					System.out.println("message=" + msg);
				}

			}
		} catch (Exception e1) {
			msg = e1.getMessage();
		}


实际web 端使用类似:

			String errMsg = swcomProcessor.getCFErrMsg();		 			
			ActionComponentUtil.createErrorBean(action_context, arguments, new EnterpriseException(errMsg));
			return options.getOption("failure");	


ActionComponentUtil.createErrorBean(arguments,errMsg);



至于StausReporter 是如何构建出来的, 还有待继续研究了。


[Teamcenter 2007 开发实战] 获取错误或提示信息,布布扣,bubuko.com

[Teamcenter 2007 开发实战] 获取错误或提示信息

标签:style   class   blog   code   java   ext   

原文地址:http://blog.csdn.net/oscar999/article/details/28591045

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!