import org.pentaho.di.job.JobMeta; //导入方法依赖的package包/类

public static String getLastExecutionResult(LogChannelInterface log, LoggingObjectInterface parentObject, ReportSubjectLocation filename) throws KettleException {

LogTableInterface logTable=null;

if (filename.isTransformation()) {

TransMeta transMeta = TransformationInformation.getInstance().getTransMeta(filename);

logTable = transMeta.getTransLogTable();

} else {

JobMeta jobMeta = JobInformation.getInstance().getJobMeta(filename);

logTable = jobMeta.getJobLogTable();

}

if (logTable!=null && logTable.isDefined()) {

DatabaseMeta dbMeta = logTable.getDatabaseMeta();

Database database = new Database(parentObject, dbMeta);

try {

database.connect();

String sql="SELECT ";

sql+=dbMeta.quoteField(logTable.getStatusField().getFieldName())+", ";

sql+=dbMeta.quoteField(logTable.getLogDateField().getFieldName())+", ";

sql+=dbMeta.quoteField(logTable.getErrorsField().getFieldName())+"";

sql+=" FROM ";

sql+=dbMeta.getQuotedSchemaTableCombination(logTable.getSchemaName(), logTable.getTableName());

sql+=" ORDER BY "+dbMeta.quoteField(logTable.getLogDateField().getFieldName())+" DESC";

RowMetaAndData oneRow = database.getOneRow(sql);

String status = oneRow.getString(0, "?");

Date date = oneRow.getDate(1, null);

Long nrErrors = oneRow.getInteger(2);

String evaluation;

if (status.equalsIgnoreCase(LogStatus.END.getStatus())) {

evaluation = "Ended";

} else if (status.equalsIgnoreCase(LogStatus.START.getStatus())) {

evaluation = "Started";

} else if (status.equalsIgnoreCase(LogStatus.STOP.getStatus())) {

evaluation = "Stopped";

} else if (status.equalsIgnoreCase(LogStatus.RUNNING.getStatus())) {

evaluation = "Running";

} else if (status.equalsIgnoreCase(LogStatus.PAUSED.getStatus())) {

evaluation = "Paused";

} else if (status.equalsIgnoreCase(LogStatus.ERROR.getStatus())) {

evaluation = "Failed";

} else {

evaluation = "Unknown";

}

if (nrErrors>0) {

evaluation+=" with errors";

} else {

evaluation+=" with success";

}

return evaluation+" at "+XMLHandler.date2string(date);

} catch(Exception e) {

log.logBasic("Unable to get logging information from log table"+logTable);

} finally {

database.disconnect();

}

}

return null;

}

java弹出提示框jo类_Java JobMeta.getJobLogTable方法代码示例相关推荐

  1. iextensionunit类_Java ICompilationUnit.reconcile方法代码示例

    import org.eclipse.jdt.core.ICompilationUnit; //导入方法依赖的package包/类 /** * @param file * @param info * ...

  2. 使用java在windows桌面右下角弹出提示框

    使用java在windows桌面右下角弹出提示框 最终效果图 核心思想 java代码 测试运行 最终效果图 核心思想 使用java.swing.JDialog创建一个窗体对象,设置窗体的展示坐标值以及 ...

  3. 弹出提示框 自动消失

    我们在进行增.删.改.查的时候,很多时候都需要一个提示信息以表明所做操作的成功等状况.有些人喜欢用alert()来提示,这不太人性化,因为alert()弹出来的提示框必须点确定才能继续进行其它操作.我 ...

  4. Unity3D中角色撞击物体弹出提示框或显示对象效果

    角色撞击物体弹出提示框或显示对象效果 刚开始使用的是调用SetActive方法 例: 在Start()函数中设置对象的SetActive属性为false,在函数 void start() {gameo ...

  5. C#web弹出提示框的几种方法

    在C#制作网站中我用到的弹出提示框的方法如下: 构造一个函数msgbox,然后调用. #region 实现MsgBox功能     ///     /// 显示"确定"点击以后就转 ...

  6. IOS弹出提示框(确认/取消)

    在移动开发之中,系统弹出提示框是很常见的需求,比如,账户密码输入不正确的时候,给予客户提示"输入不正确,请再次输入!": 此文章不做详细的描述,因为这个东西的话,也很简单,如果要以 ...

  7. php右小角弹出框,js右下角弹出提示框示例代码

    本文实例讲解了网页右下角弹出广告信息框实例代码,分享给大家供大家参考,具体内容如下 效果图: 具体代码: 网页右下角的信息框 #winpop { width:200px; height:0px; po ...

  8. php 右下脚弹窗,JavaScript实现右下角弹出提示框的方法

    在我们日常开发工作中,我们会经常遇到需要在页面的右下角弹出提示框或者广告的小功能,这样是为了更好的让用户体验,那么如何实现网页右下角弹出提示框呢?今天我们就带大家介绍下JavaScript实现右下角弹 ...

  9. JS的三种弹出提示框(alert、confirm、prompt)

    三种弹出提示框 1.alert() 2.confirm() 3.prompt() 1.alert() 方法会弹出一个警告框,只有确定按钮 alert('这是个警告框') 2.comfim() 会弹出一 ...

最新文章

  1. Python可视化(matplotlib)在图像中添加文本和标记(Text and Annotation)
  2. 「最小细胞」的3D数字模型,计算揭示生命最基本的要求
  3. IE6与其他浏览器的区别
  4. NYOJ 608 畅通工程
  5. 为什么大部分男生比女生高?原因让你意想不到
  6. ❤️ 爆肝一个月!JAVA零基础入门总结(上)❤️
  7. python元组和集合
  8. 动物统计加强版 nyoj290
  9. 清华大学计算机学院研究生导师,清华大学计算机科学与技术系研究生导师简介-武永卫...
  10. Recorder+人脸识别︱国内人脸识别技术趋势与识别难点、技术实践
  11. 用window调用kjb和ktr
  12. RecyclerView 官方分割线
  13. 【转】大地测量系统和参考框架
  14. ecshop数据库表和字段的说明
  15. 科研 | 国家自然科学基金委 | 资助项目简介
  16. mysql按范围查找_Mysql实现按距离排序、范围查找
  17. 我的世界服务器如何制作武器,我的世界2B2T服务器玩家都会去做的7件事 第1件是游戏中的禁忌...
  18. android 心率计算器,运动状态最佳心率计算器 (Target-Heart-Rate Calculator)
  19. 读取nas_最便宜的万兆NAS解决方案—威联通TS-532X
  20. STM32 usb 游戏手柄

热门文章

  1. mysql创建数据库指定utf 8_MySQL创建数据库时指定编码utf8mb4和添加用户
  2. php capistrano,使用Capistrano 做自动化部署(适合所有语言所有框架)视频课程
  3. All xxx functions were compiled because no usable IPDB/IOBJ from previous compilation was found.
  4. Python+OpenCV:图像Shi-Tomasi角点检测器
  5. X64_Xcelera-CL_PX4采集卡测试记录
  6. 【React深入】setState的执行机制
  7. Python实用技法第26篇:定义实现最短匹配的正则表达式
  8. 数据结构笔记--线性表定义与实现(Swift)
  9. 关于phpcms v9中程序传到linux出现模板异常的问题
  10. Discuz常见小问题-如何为每个板块设置不同的图标