Commit 2608e455d2bcf50e86fb7282bb6d2a55be45feca
1 parent
ab936f84
Exists in
AFDemo_Timeout_Ex3
ใส่ Date
Showing
3 changed files
with
36 additions
and
14 deletions
Show diff stats
AF-Demo/src/af/instatnce/AFInstance.java
1 | package af.instatnce; | 1 | package af.instatnce; |
2 | 2 | ||
3 | import java.util.ArrayList; | 3 | import java.util.ArrayList; |
4 | +import java.util.Date; | ||
4 | 5 | ||
5 | import ec02.af.data.EquinoxRawData; | 6 | import ec02.af.data.EquinoxRawData; |
6 | 7 | ||
@@ -10,6 +11,7 @@ public class AFInstance { | @@ -10,6 +11,7 @@ public class AFInstance { | ||
10 | private String invoke = ""; | 11 | private String invoke = ""; |
11 | private ArrayList<EquinoxRawData> timeout = null; | 12 | private ArrayList<EquinoxRawData> timeout = null; |
12 | private String state =""; | 13 | private String state =""; |
14 | + private Date time = null; | ||
13 | 15 | ||
14 | public String getState() { | 16 | public String getState() { |
15 | return state; | 17 | return state; |
@@ -23,6 +25,12 @@ public class AFInstance { | @@ -23,6 +25,12 @@ public class AFInstance { | ||
23 | public void setTimeout(ArrayList<EquinoxRawData> timeout) { | 25 | public void setTimeout(ArrayList<EquinoxRawData> timeout) { |
24 | this.timeout = timeout; | 26 | this.timeout = timeout; |
25 | } | 27 | } |
28 | + public Date getTime() { | ||
29 | + return time; | ||
30 | + } | ||
31 | + public void setTime(Date time) { | ||
32 | + this.time = time; | ||
33 | + } | ||
26 | public String getOrig(){ | 34 | public String getOrig(){ |
27 | return this.orig; | 35 | return this.orig; |
28 | } | 36 | } |
AF-Demo/src/af/state/StateIdle.java
1 | package af.state; | 1 | package af.state; |
2 | 2 | ||
3 | import java.util.ArrayList; | 3 | import java.util.ArrayList; |
4 | +import java.util.Date; | ||
4 | 5 | ||
5 | -import af.instatnce.E01Instance; | ||
6 | import af.instatnce.EC02Instance; | 6 | import af.instatnce.EC02Instance; |
7 | import af.instatnce.EQXRawInstance; | 7 | import af.instatnce.EQXRawInstance; |
8 | -import af.interfaces.AFEvent; | ||
9 | import af.interfaces.AFState; | 8 | import af.interfaces.AFState; |
10 | import af.interfaces.EQXMsg; | 9 | import af.interfaces.EQXMsg; |
11 | import af.message.EC02Builder; | 10 | import af.message.EC02Builder; |
12 | - | ||
13 | import ec02.af.abstracts.AbstractAF; | 11 | import ec02.af.abstracts.AbstractAF; |
14 | import ec02.af.data.EquinoxRawData; | 12 | import ec02.af.data.EquinoxRawData; |
15 | import ec02.af.interfaces.IAFState; | 13 | import ec02.af.interfaces.IAFState; |
16 | -import ec02.af.utils.AlarmCategory; | ||
17 | -import ec02.af.utils.AlarmSeverity; | ||
18 | -import ec02.af.utils.AlarmType; | 14 | +import ec02.utils.AppLog; |
19 | 15 | ||
20 | public class StateIdle implements IAFState { | 16 | public class StateIdle implements IAFState { |
21 | private String eqxState = null; | 17 | private String eqxState = null; |
22 | private EC02Builder ec02Builder = new EC02Builder(); | 18 | private EC02Builder ec02Builder = new EC02Builder(); |
23 | private ArrayList<EquinoxRawData> eqxRawDataList = new ArrayList<EquinoxRawData>(); | 19 | private ArrayList<EquinoxRawData> eqxRawDataList = new ArrayList<EquinoxRawData>(); |
20 | + private Date date = null; | ||
24 | 21 | ||
25 | @Override | 22 | @Override |
26 | public String doAction(AbstractAF abstractAF, Object instance, ArrayList<EquinoxRawData> eqxRawDataList) { | 23 | public String doAction(AbstractAF abstractAF, Object instance, ArrayList<EquinoxRawData> eqxRawDataList) { |
27 | EC02Instance ec02Ins = (EC02Instance) instance; | 24 | EC02Instance ec02Ins = (EC02Instance) instance; |
28 | - | 25 | + if(ec02Ins.getAFInstance().getInvoke()!=null){ |
26 | + for(EquinoxRawData eqxRawData : eqxRawDataList){ | ||
27 | + EQXRawInstance eqxRaw = new EQXRawInstance(); | ||
28 | + eqxRaw.setMessage("Already in use!"); | ||
29 | + eqxRaw.setTo(ec02Ins.getAFInstance().getOrig()); | ||
30 | + eqxRaw.setCtype(EQXMsg.TEXTPLAIN); | ||
31 | + this.eqxRawDataList.add(this.ec02Builder.getHTTPResponse(eqxRaw,ec02Ins.getAFInstance().getInvoke())); | ||
32 | + this.eqxState = AFState.IDLE; | ||
33 | + } | ||
34 | + } | ||
35 | + else{ | ||
29 | for(EquinoxRawData eqxRawData : eqxRawDataList){ | 36 | for(EquinoxRawData eqxRawData : eqxRawDataList){ |
30 | this.ec02Builder.setEquinoxRawData(eqxRawData, abstractAF, ec02Ins); | 37 | this.ec02Builder.setEquinoxRawData(eqxRawData, abstractAF, ec02Ins); |
31 | ec02Ins.getAFInstance().setInvoke(eqxRawData.getInvoke()); | 38 | ec02Ins.getAFInstance().setInvoke(eqxRawData.getInvoke()); |
@@ -63,13 +70,15 @@ public class StateIdle implements IAFState { | @@ -63,13 +70,15 @@ public class StateIdle implements IAFState { | ||
63 | for (int i = 0; i < rawList.size(); i++) { | 70 | for (int i = 0; i < rawList.size(); i++) { |
64 | this.eqxRawDataList.add(rawList.get(i)); | 71 | this.eqxRawDataList.add(rawList.get(i)); |
65 | } | 72 | } |
66 | - | 73 | + date = new Date(); |
74 | + AppLog.d(""+date); | ||
67 | this.eqxState = AFState.W_ARes; | 75 | this.eqxState = AFState.W_ARes; |
68 | - | 76 | + } |
69 | } | 77 | } |
70 | ec02Ins.setEqxRawDataList(this.eqxRawDataList); | 78 | ec02Ins.setEqxRawDataList(this.eqxRawDataList); |
71 | ec02Ins.getAFInstance().setTimeout(this.eqxRawDataList); | 79 | ec02Ins.getAFInstance().setTimeout(this.eqxRawDataList); |
72 | ec02Ins.getAFInstance().setState(eqxState); | 80 | ec02Ins.getAFInstance().setState(eqxState); |
81 | + ec02Ins.getAFInstance().setTime(date); | ||
73 | return this.eqxState; | 82 | return this.eqxState; |
74 | } | 83 | } |
75 | 84 |
AF-Demo/src/af/state/StateWaitA.java
1 | package af.state; | 1 | package af.state; |
2 | 2 | ||
3 | import java.util.ArrayList; | 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 | import af.instatnce.EC02Instance; | 6 | import af.instatnce.EC02Instance; |
8 | import af.instatnce.EQXRawInstance; | 7 | import af.instatnce.EQXRawInstance; |
9 | -import af.interfaces.AFEvent; | ||
10 | import af.interfaces.AFState; | 8 | import af.interfaces.AFState; |
11 | import af.interfaces.EQXMsg; | 9 | import af.interfaces.EQXMsg; |
12 | import af.message.EC02Builder; | 10 | import af.message.EC02Builder; |
@@ -19,14 +17,18 @@ public class StateWaitA implements IAFState { | @@ -19,14 +17,18 @@ public class StateWaitA implements IAFState { | ||
19 | private String eqxState = null; | 17 | private String eqxState = null; |
20 | private EC02Builder ec02Builder = new EC02Builder(); | 18 | private EC02Builder ec02Builder = new EC02Builder(); |
21 | private ArrayList<EquinoxRawData> eqxRawDataList = new ArrayList<EquinoxRawData>(); | 19 | private ArrayList<EquinoxRawData> eqxRawDataList = new ArrayList<EquinoxRawData>(); |
20 | + private Date date = null; | ||
22 | 21 | ||
23 | @Override | 22 | @Override |
24 | public String doAction(AbstractAF abstractAF, Object instance, ArrayList<EquinoxRawData> eqxRawDataList) { | 23 | public String doAction(AbstractAF abstractAF, Object instance, ArrayList<EquinoxRawData> eqxRawDataList) { |
25 | EC02Instance ec02Ins = (EC02Instance) instance; | 24 | EC02Instance ec02Ins = (EC02Instance) instance; |
26 | - AppLog.d("######"+eqxRawDataList.size()); | 25 | + AppLog.d("######"+ec02Ins.getAFInstance().getTime()); |
27 | if(ec02Ins.getEquinoxProperties().getDiag().equals("Timeout")){ | 26 | if(ec02Ins.getEquinoxProperties().getDiag().equals("Timeout")){ |
28 | this.eqxRawDataList=ec02Ins.getAFInstance().getTimeout(); | 27 | this.eqxRawDataList=ec02Ins.getAFInstance().getTimeout(); |
29 | eqxState = ec02Ins.getAFInstance().getState(); | 28 | eqxState = ec02Ins.getAFInstance().getState(); |
29 | + date = new Date(); | ||
30 | + long seconds = (date.getTime()-ec02Ins.getAFInstance().getTime().getTime())/1000; | ||
31 | + AppLog.d("Defferent Time: "+seconds); | ||
30 | 32 | ||
31 | } | 33 | } |
32 | else{ | 34 | else{ |
@@ -60,7 +62,10 @@ public class StateWaitA implements IAFState { | @@ -60,7 +62,10 @@ public class StateWaitA implements IAFState { | ||
60 | for (int i = 0; i < rawList.size(); i++) { | 62 | for (int i = 0; i < rawList.size(); i++) { |
61 | this.eqxRawDataList.add(rawList.get(i)); | 63 | this.eqxRawDataList.add(rawList.get(i)); |
62 | } | 64 | } |
63 | - | 65 | + date = new Date(); |
66 | + | ||
67 | + long seconds = (date.getTime()-ec02Ins.getAFInstance().getTime().getTime())/1000; | ||
68 | + AppLog.d("Defferent Time: "+seconds); | ||
64 | this.eqxState = AFState.W_CRes; | 69 | this.eqxState = AFState.W_CRes; |
65 | 70 | ||
66 | } | 71 | } |