Index: forgon-core/src/main/java/com/forgon/timeout/service/TimeoutManager.java =================================================================== diff -u -r14187 -r14201 --- forgon-core/src/main/java/com/forgon/timeout/service/TimeoutManager.java (.../TimeoutManager.java) (revision 14187) +++ forgon-core/src/main/java/com/forgon/timeout/service/TimeoutManager.java (.../TimeoutManager.java) (revision 14201) @@ -1,5 +1,7 @@ package com.forgon.timeout.service; +import java.util.Date; + import com.forgon.timeout.model.TimeoutParameter; import com.forgon.timeout.model.TimeoutSetting; @@ -44,4 +46,11 @@ * @return */ public TimeoutSetting getTimeoutSetting(String procedure); + /** + * 判断指定时间是否超时 + * @param date 要比较的日期 + * @param timeoutSetting 处理环节的超时设置 + * @return 如果超时,返回true,否则返回false。如果date为null,返回false。如果timeoutSetting为null,或者设置的小时数和分钟数都为0,返回false + */ + public boolean isTimeouted(Date date,TimeoutSetting timeoutSetting); } Index: forgon-core/src/main/java/com/forgon/timeout/service/TimeoutManagerImpl.java =================================================================== diff -u -r14187 -r14201 --- forgon-core/src/main/java/com/forgon/timeout/service/TimeoutManagerImpl.java (.../TimeoutManagerImpl.java) (revision 14187) +++ forgon-core/src/main/java/com/forgon/timeout/service/TimeoutManagerImpl.java (.../TimeoutManagerImpl.java) (revision 14201) @@ -1,5 +1,9 @@ package com.forgon.timeout.service; +import java.util.Date; + +import org.apache.commons.lang3.time.DateUtils; + import net.sf.json.JSONObject; import com.forgon.timeout.model.TimeoutParameter; @@ -167,5 +171,14 @@ } return setting; } + @Override + public boolean isTimeouted(Date date, TimeoutSetting timeoutSetting) { + if(date != null && timeoutSetting.getHour() > 0 && timeoutSetting.getMinute() > 0){ + Date endDate = DateUtils.addHours(date, timeoutSetting.getHour()); + endDate = DateUtils.addMinutes(endDate, timeoutSetting.getMinute()); + return endDate.before(new Date()); + } + return false; + } } Index: forgon-tools/src/main/java/com/forgon/tools/StrutsResponseUtils.java =================================================================== diff -u -r14029 -r14201 --- forgon-tools/src/main/java/com/forgon/tools/StrutsResponseUtils.java (.../StrutsResponseUtils.java) (revision 14029) +++ forgon-tools/src/main/java/com/forgon/tools/StrutsResponseUtils.java (.../StrutsResponseUtils.java) (revision 14201) @@ -6,6 +6,8 @@ import javax.servlet.ServletResponse; import com.forgon.tools.json.JSONUtil; + +import net.sf.json.JSONArray; import net.sf.json.JSONObject; /** @@ -51,13 +53,36 @@ * @param response 页面的响应对象 */ public static void output(JSONObject jsonObj,ServletResponse response){ - if(response != null && jsonObj != null){ + doOutput(jsonObj,response); + } + /** + * 向页面输出json数组 + * @param array json数组 + */ + public static void output(JSONArray array){ + output(array,StrutsParamUtils.getResponse()); + } + + /** + * 向页面输出json数组 + * @param array json数组 + */ + public static void output(JSONArray array,ServletResponse response){ + doOutput(array,response); + } + /** + * 内部实现函数,实现输出功能 + * @param obj + * @param response + */ + private static void doOutput(Object obj,ServletResponse response){ + if(response != null && obj != null){ //response.setCharacterEncoding("UTF-8"); response.setContentType("text/html;charset=UTF-8"); PrintWriter out = null; try { out = response.getWriter(); - out.println(jsonObj.toString()); + out.println(obj.toString()); } catch (IOException e) { e.printStackTrace(); } finally {