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 | 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,7 +11,14 @@ public class AFInstance { | @@ -10,7 +11,14 @@ 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 | ||
| 16 | + public Date getTime() { | ||
| 17 | + return time; | ||
| 18 | + } | ||
| 19 | + public void setTime(Date time) { | ||
| 20 | + this.time = time; | ||
| 21 | + } | ||
| 14 | public String getState() { | 22 | public String getState() { |
| 15 | return state; | 23 | return state; |
| 16 | } | 24 | } |
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; | ||
| 19 | 14 | ||
| 20 | public class StateIdle implements IAFState { | 15 | public class StateIdle implements IAFState { |
| 21 | private String eqxState = null; | 16 | private String eqxState = null; |
| 22 | private EC02Builder ec02Builder = new EC02Builder(); | 17 | private EC02Builder ec02Builder = new EC02Builder(); |
| 23 | private ArrayList<EquinoxRawData> eqxRawDataList = new ArrayList<EquinoxRawData>(); | 18 | private ArrayList<EquinoxRawData> eqxRawDataList = new ArrayList<EquinoxRawData>(); |
| 19 | + private Date time = null; | ||
| 24 | 20 | ||
| 25 | @Override | 21 | @Override |
| 26 | public String doAction(AbstractAF abstractAF, Object instance, ArrayList<EquinoxRawData> eqxRawDataList) { | 22 | public String doAction(AbstractAF abstractAF, Object instance, ArrayList<EquinoxRawData> eqxRawDataList) { |
| @@ -72,11 +68,12 @@ public class StateIdle implements IAFState { | @@ -72,11 +68,12 @@ public class StateIdle implements IAFState { | ||
| 72 | } | 68 | } |
| 73 | 69 | ||
| 74 | this.eqxState = AFState.W_ARes; | 70 | this.eqxState = AFState.W_ARes; |
| 75 | - | 71 | + time = new Date(); |
| 76 | } | 72 | } |
| 77 | ec02Ins.setEqxRawDataList(this.eqxRawDataList); | 73 | ec02Ins.setEqxRawDataList(this.eqxRawDataList); |
| 78 | ec02Ins.getAFInstance().setTimeout(this.eqxRawDataList); | 74 | ec02Ins.getAFInstance().setTimeout(this.eqxRawDataList); |
| 79 | ec02Ins.getAFInstance().setState(eqxState); | 75 | ec02Ins.getAFInstance().setState(eqxState); |
| 76 | + ec02Ins.getAFInstance().setTime(time); | ||
| 80 | return this.eqxState; | 77 | return this.eqxState; |
| 81 | } | 78 | } |
| 82 | 79 |
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; | ||
| 9 | -import af.interfaces.AFEvent; | ||
| 10 | import af.interfaces.AFState; | 7 | import af.interfaces.AFState; |
| 11 | -import af.interfaces.EQXMsg; | ||
| 12 | import af.message.EC02Builder; | 8 | import af.message.EC02Builder; |
| 13 | import ec02.af.abstracts.AbstractAF; | 9 | import ec02.af.abstracts.AbstractAF; |
| 14 | import ec02.af.data.EquinoxRawData; | 10 | import ec02.af.data.EquinoxRawData; |
| @@ -19,14 +15,18 @@ public class StateWaitA implements IAFState { | @@ -19,14 +15,18 @@ public class StateWaitA implements IAFState { | ||
| 19 | private String eqxState = null; | 15 | private String eqxState = null; |
| 20 | private EC02Builder ec02Builder = new EC02Builder(); | 16 | private EC02Builder ec02Builder = new EC02Builder(); |
| 21 | private ArrayList<EquinoxRawData> eqxRawDataList = new ArrayList<EquinoxRawData>(); | 17 | private ArrayList<EquinoxRawData> eqxRawDataList = new ArrayList<EquinoxRawData>(); |
| 18 | + private Date date = null; | ||
| 22 | 19 | ||
| 23 | @Override | 20 | @Override |
| 24 | public String doAction(AbstractAF abstractAF, Object instance, ArrayList<EquinoxRawData> eqxRawDataList) { | 21 | public String doAction(AbstractAF abstractAF, Object instance, ArrayList<EquinoxRawData> eqxRawDataList) { |
| 25 | EC02Instance ec02Ins = (EC02Instance) instance; | 22 | EC02Instance ec02Ins = (EC02Instance) instance; |
| 26 | - AppLog.d("######"+eqxRawDataList.size()); | ||
| 27 | if(ec02Ins.getEquinoxProperties().getDiag().equals("Timeout")){ | 23 | if(ec02Ins.getEquinoxProperties().getDiag().equals("Timeout")){ |
| 28 | this.eqxRawDataList=ec02Ins.getAFInstance().getTimeout(); | 24 | this.eqxRawDataList=ec02Ins.getAFInstance().getTimeout(); |
| 29 | eqxState = ec02Ins.getAFInstance().getState(); | 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 | else{ | 32 | else{ |
| @@ -57,10 +57,14 @@ public class StateWaitA implements IAFState { | @@ -57,10 +57,14 @@ public class StateWaitA implements IAFState { | ||
| 57 | } | 57 | } |
| 58 | } | 58 | } |
| 59 | if(ec02Ins.getAFInstance().getTimeout().size()!=0){ | 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 | this.eqxState = AFState.W_CRes; | 63 | this.eqxState = AFState.W_CRes; |
| 62 | } | 64 | } |
| 63 | else{ | 65 | else{ |
| 66 | + date = new Date(); | ||
| 67 | + long seconds = (date.getTime()-ec02Ins.getAFInstance().getTime().getTime())/1000; | ||
| 64 | this.eqxState = AFState.W_CRes; | 68 | this.eqxState = AFState.W_CRes; |
| 65 | } | 69 | } |
| 66 | //ArrayList<EQXRawInstance> eqxRawList = new ArrayList<EQXRawInstance>(); | 70 | //ArrayList<EQXRawInstance> eqxRawList = new ArrayList<EQXRawInstance>(); |
| @@ -76,9 +80,6 @@ public class StateWaitA implements IAFState { | @@ -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 | ec02Ins.getAFInstance().setState(eqxState); | 83 | ec02Ins.getAFInstance().setState(eqxState); |
| 83 | return this.eqxState; | 84 | return this.eqxState; |
| 84 | } | 85 | } |
AF-Demo/src/af/state/StateWaitC.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; |
| @@ -14,11 +12,13 @@ import ec02.af.abstracts.AbstractAF; | @@ -14,11 +12,13 @@ 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.utils.AppLog; | 14 | import ec02.utils.AppLog; |
| 15 | +import sun.net.www.ApplicationLaunchException; | ||
| 17 | 16 | ||
| 18 | public class StateWaitC implements IAFState { | 17 | public class StateWaitC implements IAFState { |
| 19 | private String eqxState = null; | 18 | private String eqxState = null; |
| 20 | private EC02Builder ec02Builder = new EC02Builder(); | 19 | private EC02Builder ec02Builder = new EC02Builder(); |
| 21 | private ArrayList<EquinoxRawData> eqxRawDataList = new ArrayList<EquinoxRawData>(); | 20 | private ArrayList<EquinoxRawData> eqxRawDataList = new ArrayList<EquinoxRawData>(); |
| 21 | + private Date time = null; | ||
| 22 | 22 | ||
| 23 | @Override | 23 | @Override |
| 24 | public String doAction(AbstractAF abstractAF, Object instance, ArrayList<EquinoxRawData> eqxRawDataList) { | 24 | public String doAction(AbstractAF abstractAF, Object instance, ArrayList<EquinoxRawData> eqxRawDataList) { |
| @@ -26,7 +26,8 @@ public class StateWaitC implements IAFState { | @@ -26,7 +26,8 @@ public class StateWaitC implements IAFState { | ||
| 26 | if(ec02Ins.getEquinoxProperties().getDiag().equals("Timeout")){ | 26 | if(ec02Ins.getEquinoxProperties().getDiag().equals("Timeout")){ |
| 27 | this.eqxRawDataList=ec02Ins.getAFInstance().getTimeout(); | 27 | this.eqxRawDataList=ec02Ins.getAFInstance().getTimeout(); |
| 28 | eqxState = ec02Ins.getAFInstance().getState(); | 28 | eqxState = ec02Ins.getAFInstance().getState(); |
| 29 | - | 29 | + time = new Date(); |
| 30 | + long seconds = (time.getTime()-ec02Ins.getAFInstance().getTime().getTime())/1000; | ||
| 30 | } | 31 | } |
| 31 | else{ | 32 | else{ |
| 32 | for (EquinoxRawData eqxRawData : eqxRawDataList) { | 33 | for (EquinoxRawData eqxRawData : eqxRawDataList) { |
| @@ -55,6 +56,8 @@ public class StateWaitC implements IAFState { | @@ -55,6 +56,8 @@ public class StateWaitC implements IAFState { | ||
| 55 | if(ec02Ins.getAFInstance().getTimeout().size()!=0){ | 56 | if(ec02Ins.getAFInstance().getTimeout().size()!=0){ |
| 56 | this.eqxRawDataList=ec02Ins.getAFInstance().getTimeout(); | 57 | this.eqxRawDataList=ec02Ins.getAFInstance().getTimeout(); |
| 57 | eqxState = ec02Ins.getAFInstance().getState(); | 58 | eqxState = ec02Ins.getAFInstance().getState(); |
| 59 | + time = new Date(); | ||
| 60 | + long seconds = (time.getTime()-ec02Ins.getAFInstance().getTime().getTime())/1000; | ||
| 58 | } | 61 | } |
| 59 | else{ | 62 | else{ |
| 60 | EQXRawInstance eqxRaw = new EQXRawInstance(); | 63 | EQXRawInstance eqxRaw = new EQXRawInstance(); |