Commit 5c48e9d5d10ad6a9559109fecde1c87554ef4e6b
1 parent
88c4b1b0
Exists in
AFDemo_Timeout_Ex2
แก้ไขขา Wait B ให้ ลองรับ time out
Showing
4 changed files
with
30 additions
and
21 deletions
Show diff stats
AF-Demo/src/af/instatnce/AFInstance.java
1 | 1 | package af.instatnce; |
2 | 2 | |
3 | 3 | import java.util.ArrayList; |
4 | +import java.util.Date; | |
4 | 5 | |
5 | 6 | import ec02.af.data.EquinoxRawData; |
6 | 7 | |
... | ... | @@ -10,7 +11,14 @@ public class AFInstance { |
10 | 11 | private String invoke = ""; |
11 | 12 | private ArrayList<EquinoxRawData> timeout = null; |
12 | 13 | private String state =""; |
14 | + private Date time = null; | |
13 | 15 | |
16 | + public Date getTime() { | |
17 | + return time; | |
18 | + } | |
19 | + public void setTime(Date time) { | |
20 | + this.time = time; | |
21 | + } | |
14 | 22 | public String getState() { |
15 | 23 | return state; |
16 | 24 | } | ... | ... |
AF-Demo/src/af/state/StateIdle.java
1 | 1 | package af.state; |
2 | 2 | |
3 | 3 | import java.util.ArrayList; |
4 | +import java.util.Date; | |
4 | 5 | |
5 | -import af.instatnce.E01Instance; | |
6 | 6 | import af.instatnce.EC02Instance; |
7 | 7 | import af.instatnce.EQXRawInstance; |
8 | -import af.interfaces.AFEvent; | |
9 | 8 | import af.interfaces.AFState; |
10 | 9 | import af.interfaces.EQXMsg; |
11 | 10 | import af.message.EC02Builder; |
12 | - | |
13 | 11 | import ec02.af.abstracts.AbstractAF; |
14 | 12 | import ec02.af.data.EquinoxRawData; |
15 | 13 | import ec02.af.interfaces.IAFState; |
16 | -import ec02.af.utils.AlarmCategory; | |
17 | -import ec02.af.utils.AlarmSeverity; | |
18 | -import ec02.af.utils.AlarmType; | |
19 | 14 | |
20 | 15 | public class StateIdle implements IAFState { |
21 | 16 | private String eqxState = null; |
22 | 17 | private EC02Builder ec02Builder = new EC02Builder(); |
23 | 18 | private ArrayList<EquinoxRawData> eqxRawDataList = new ArrayList<EquinoxRawData>(); |
19 | + private Date time = null; | |
24 | 20 | |
25 | 21 | @Override |
26 | 22 | public String doAction(AbstractAF abstractAF, Object instance, ArrayList<EquinoxRawData> eqxRawDataList) { |
... | ... | @@ -72,11 +68,12 @@ public class StateIdle implements IAFState { |
72 | 68 | } |
73 | 69 | |
74 | 70 | this.eqxState = AFState.W_ARes; |
75 | - | |
71 | + time = new Date(); | |
76 | 72 | } |
77 | 73 | ec02Ins.setEqxRawDataList(this.eqxRawDataList); |
78 | 74 | ec02Ins.getAFInstance().setTimeout(this.eqxRawDataList); |
79 | 75 | ec02Ins.getAFInstance().setState(eqxState); |
76 | + ec02Ins.getAFInstance().setTime(time); | |
80 | 77 | return this.eqxState; |
81 | 78 | } |
82 | 79 | ... | ... |
AF-Demo/src/af/state/StateWaitA.java
1 | 1 | package af.state; |
2 | 2 | |
3 | 3 | import java.util.ArrayList; |
4 | -import java.util.HashMap; | |
4 | +import java.util.Date; | |
5 | 5 | |
6 | -import th.co.ais.equinox.utils.StringExtract; | |
7 | 6 | import af.instatnce.EC02Instance; |
8 | -import af.instatnce.EQXRawInstance; | |
9 | -import af.interfaces.AFEvent; | |
10 | 7 | import af.interfaces.AFState; |
11 | -import af.interfaces.EQXMsg; | |
12 | 8 | import af.message.EC02Builder; |
13 | 9 | import ec02.af.abstracts.AbstractAF; |
14 | 10 | import ec02.af.data.EquinoxRawData; |
... | ... | @@ -19,14 +15,18 @@ public class StateWaitA implements IAFState { |
19 | 15 | private String eqxState = null; |
20 | 16 | private EC02Builder ec02Builder = new EC02Builder(); |
21 | 17 | private ArrayList<EquinoxRawData> eqxRawDataList = new ArrayList<EquinoxRawData>(); |
18 | + private Date date = null; | |
22 | 19 | |
23 | 20 | @Override |
24 | 21 | public String doAction(AbstractAF abstractAF, Object instance, ArrayList<EquinoxRawData> eqxRawDataList) { |
25 | 22 | EC02Instance ec02Ins = (EC02Instance) instance; |
26 | - AppLog.d("######"+eqxRawDataList.size()); | |
27 | 23 | if(ec02Ins.getEquinoxProperties().getDiag().equals("Timeout")){ |
28 | 24 | this.eqxRawDataList=ec02Ins.getAFInstance().getTimeout(); |
29 | 25 | eqxState = ec02Ins.getAFInstance().getState(); |
26 | + date = new Date(); | |
27 | + long seconds = (date.getTime()-ec02Ins.getAFInstance().getTime().getTime())/1000; | |
28 | + ec02Ins.getAFInstance().setTime(date); | |
29 | + this.eqxState = AFState.W_ARes; | |
30 | 30 | |
31 | 31 | } |
32 | 32 | else{ |
... | ... | @@ -57,10 +57,14 @@ public class StateWaitA implements IAFState { |
57 | 57 | } |
58 | 58 | } |
59 | 59 | if(ec02Ins.getAFInstance().getTimeout().size()!=0){ |
60 | - this.eqxRawDataList=ec02Ins.getAFInstance().getTimeout(); | |
60 | + AppLog.d("HAVE DATA"); | |
61 | + date = new Date(); | |
62 | + long seconds = (date.getTime()-ec02Ins.getAFInstance().getTime().getTime())/1000; | |
61 | 63 | this.eqxState = AFState.W_CRes; |
62 | 64 | } |
63 | 65 | else{ |
66 | + date = new Date(); | |
67 | + long seconds = (date.getTime()-ec02Ins.getAFInstance().getTime().getTime())/1000; | |
64 | 68 | this.eqxState = AFState.W_CRes; |
65 | 69 | } |
66 | 70 | //ArrayList<EQXRawInstance> eqxRawList = new ArrayList<EQXRawInstance>(); |
... | ... | @@ -76,9 +80,6 @@ public class StateWaitA implements IAFState { |
76 | 80 | }*/ |
77 | 81 | } |
78 | 82 | } |
79 | - | |
80 | - ec02Ins.setEqxRawDataList(this.eqxRawDataList); | |
81 | - ec02Ins.getAFInstance().setTimeout(this.eqxRawDataList); | |
82 | 83 | ec02Ins.getAFInstance().setState(eqxState); |
83 | 84 | return this.eqxState; |
84 | 85 | } | ... | ... |
AF-Demo/src/af/state/StateWaitC.java
1 | 1 | package af.state; |
2 | 2 | |
3 | 3 | import java.util.ArrayList; |
4 | -import java.util.HashMap; | |
4 | +import java.util.Date; | |
5 | 5 | |
6 | -import th.co.ais.equinox.utils.StringExtract; | |
7 | 6 | import af.instatnce.EC02Instance; |
8 | 7 | import af.instatnce.EQXRawInstance; |
9 | -import af.interfaces.AFEvent; | |
10 | 8 | import af.interfaces.AFState; |
11 | 9 | import af.interfaces.EQXMsg; |
12 | 10 | import af.message.EC02Builder; |
... | ... | @@ -14,11 +12,13 @@ import ec02.af.abstracts.AbstractAF; |
14 | 12 | import ec02.af.data.EquinoxRawData; |
15 | 13 | import ec02.af.interfaces.IAFState; |
16 | 14 | import ec02.utils.AppLog; |
15 | +import sun.net.www.ApplicationLaunchException; | |
17 | 16 | |
18 | 17 | public class StateWaitC implements IAFState { |
19 | 18 | private String eqxState = null; |
20 | 19 | private EC02Builder ec02Builder = new EC02Builder(); |
21 | 20 | private ArrayList<EquinoxRawData> eqxRawDataList = new ArrayList<EquinoxRawData>(); |
21 | + private Date time = null; | |
22 | 22 | |
23 | 23 | @Override |
24 | 24 | public String doAction(AbstractAF abstractAF, Object instance, ArrayList<EquinoxRawData> eqxRawDataList) { |
... | ... | @@ -26,7 +26,8 @@ public class StateWaitC implements IAFState { |
26 | 26 | if(ec02Ins.getEquinoxProperties().getDiag().equals("Timeout")){ |
27 | 27 | this.eqxRawDataList=ec02Ins.getAFInstance().getTimeout(); |
28 | 28 | eqxState = ec02Ins.getAFInstance().getState(); |
29 | - | |
29 | + time = new Date(); | |
30 | + long seconds = (time.getTime()-ec02Ins.getAFInstance().getTime().getTime())/1000; | |
30 | 31 | } |
31 | 32 | else{ |
32 | 33 | for (EquinoxRawData eqxRawData : eqxRawDataList) { |
... | ... | @@ -55,6 +56,8 @@ public class StateWaitC implements IAFState { |
55 | 56 | if(ec02Ins.getAFInstance().getTimeout().size()!=0){ |
56 | 57 | this.eqxRawDataList=ec02Ins.getAFInstance().getTimeout(); |
57 | 58 | eqxState = ec02Ins.getAFInstance().getState(); |
59 | + time = new Date(); | |
60 | + long seconds = (time.getTime()-ec02Ins.getAFInstance().getTime().getTime())/1000; | |
58 | 61 | } |
59 | 62 | else{ |
60 | 63 | EQXRawInstance eqxRaw = new EQXRawInstance(); | ... | ... |