From 2608e455d2bcf50e86fb7282bb6d2a55be45feca Mon Sep 17 00:00:00 2001 From: Suraputt Suntimitr Date: Thu, 21 Apr 2016 14:05:04 +0700 Subject: [PATCH] ใส่ Date --- AF-Demo/src/af/instatnce/AFInstance.java | 8 ++++++++ AF-Demo/src/af/state/StateIdle.java | 27 ++++++++++++++++++--------- AF-Demo/src/af/state/StateWaitA.java | 15 ++++++++++----- 3 files changed, 36 insertions(+), 14 deletions(-) diff --git a/AF-Demo/src/af/instatnce/AFInstance.java b/AF-Demo/src/af/instatnce/AFInstance.java index 7930fe7..2a54255 100644 --- a/AF-Demo/src/af/instatnce/AFInstance.java +++ b/AF-Demo/src/af/instatnce/AFInstance.java @@ -1,6 +1,7 @@ package af.instatnce; import java.util.ArrayList; +import java.util.Date; import ec02.af.data.EquinoxRawData; @@ -10,6 +11,7 @@ public class AFInstance { private String invoke = ""; private ArrayList timeout = null; private String state =""; + private Date time = null; public String getState() { return state; @@ -23,6 +25,12 @@ public class AFInstance { public void setTimeout(ArrayList timeout) { this.timeout = timeout; } + public Date getTime() { + return time; + } + public void setTime(Date time) { + this.time = time; + } public String getOrig(){ return this.orig; } diff --git a/AF-Demo/src/af/state/StateIdle.java b/AF-Demo/src/af/state/StateIdle.java index 3a09581..6f95d3e 100644 --- a/AF-Demo/src/af/state/StateIdle.java +++ b/AF-Demo/src/af/state/StateIdle.java @@ -1,31 +1,38 @@ package af.state; import java.util.ArrayList; +import java.util.Date; -import af.instatnce.E01Instance; import af.instatnce.EC02Instance; import af.instatnce.EQXRawInstance; -import af.interfaces.AFEvent; import af.interfaces.AFState; import af.interfaces.EQXMsg; import af.message.EC02Builder; - import ec02.af.abstracts.AbstractAF; import ec02.af.data.EquinoxRawData; import ec02.af.interfaces.IAFState; -import ec02.af.utils.AlarmCategory; -import ec02.af.utils.AlarmSeverity; -import ec02.af.utils.AlarmType; +import ec02.utils.AppLog; public class StateIdle implements IAFState { private String eqxState = null; private EC02Builder ec02Builder = new EC02Builder(); private ArrayList eqxRawDataList = new ArrayList(); + private Date date = null; @Override public String doAction(AbstractAF abstractAF, Object instance, ArrayList eqxRawDataList) { EC02Instance ec02Ins = (EC02Instance) instance; - + if(ec02Ins.getAFInstance().getInvoke()!=null){ + for(EquinoxRawData eqxRawData : eqxRawDataList){ + EQXRawInstance eqxRaw = new EQXRawInstance(); + eqxRaw.setMessage("Already in use!"); + eqxRaw.setTo(ec02Ins.getAFInstance().getOrig()); + eqxRaw.setCtype(EQXMsg.TEXTPLAIN); + this.eqxRawDataList.add(this.ec02Builder.getHTTPResponse(eqxRaw,ec02Ins.getAFInstance().getInvoke())); + this.eqxState = AFState.IDLE; + } + } + else{ for(EquinoxRawData eqxRawData : eqxRawDataList){ this.ec02Builder.setEquinoxRawData(eqxRawData, abstractAF, ec02Ins); ec02Ins.getAFInstance().setInvoke(eqxRawData.getInvoke()); @@ -63,13 +70,15 @@ public class StateIdle implements IAFState { for (int i = 0; i < rawList.size(); i++) { this.eqxRawDataList.add(rawList.get(i)); } - + date = new Date(); + AppLog.d(""+date); this.eqxState = AFState.W_ARes; - + } } ec02Ins.setEqxRawDataList(this.eqxRawDataList); ec02Ins.getAFInstance().setTimeout(this.eqxRawDataList); ec02Ins.getAFInstance().setState(eqxState); + ec02Ins.getAFInstance().setTime(date); return this.eqxState; } diff --git a/AF-Demo/src/af/state/StateWaitA.java b/AF-Demo/src/af/state/StateWaitA.java index e2d7c08..2b70072 100644 --- a/AF-Demo/src/af/state/StateWaitA.java +++ b/AF-Demo/src/af/state/StateWaitA.java @@ -1,12 +1,10 @@ package af.state; import java.util.ArrayList; -import java.util.HashMap; +import java.util.Date; -import th.co.ais.equinox.utils.StringExtract; import af.instatnce.EC02Instance; import af.instatnce.EQXRawInstance; -import af.interfaces.AFEvent; import af.interfaces.AFState; import af.interfaces.EQXMsg; import af.message.EC02Builder; @@ -19,14 +17,18 @@ public class StateWaitA implements IAFState { private String eqxState = null; private EC02Builder ec02Builder = new EC02Builder(); private ArrayList eqxRawDataList = new ArrayList(); + private Date date = null; @Override public String doAction(AbstractAF abstractAF, Object instance, ArrayList eqxRawDataList) { EC02Instance ec02Ins = (EC02Instance) instance; - AppLog.d("######"+eqxRawDataList.size()); + AppLog.d("######"+ec02Ins.getAFInstance().getTime()); if(ec02Ins.getEquinoxProperties().getDiag().equals("Timeout")){ this.eqxRawDataList=ec02Ins.getAFInstance().getTimeout(); eqxState = ec02Ins.getAFInstance().getState(); + date = new Date(); + long seconds = (date.getTime()-ec02Ins.getAFInstance().getTime().getTime())/1000; + AppLog.d("Defferent Time: "+seconds); } else{ @@ -60,7 +62,10 @@ public class StateWaitA implements IAFState { for (int i = 0; i < rawList.size(); i++) { this.eqxRawDataList.add(rawList.get(i)); } - + date = new Date(); + + long seconds = (date.getTime()-ec02Ins.getAFInstance().getTime().getTime())/1000; + AppLog.d("Defferent Time: "+seconds); this.eqxState = AFState.W_CRes; } -- libgit2 0.21.2