Commit 2608e455d2bcf50e86fb7282bb6d2a55be45feca

Authored by Suraputt Suntimitr
1 parent ab936f84
Exists in AFDemo_Timeout_Ex3

ใส่ Date

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,6 +11,7 @@ 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  
14 16 public String getState() {
15 17 return state;
... ... @@ -23,6 +25,12 @@ public class AFInstance {
23 25 public void setTimeout(ArrayList<EquinoxRawData> timeout) {
24 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 34 public String getOrig(){
27 35 return this.orig;
28 36 }
... ...
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;
  14 +import ec02.utils.AppLog;
19 15  
20 16 public class StateIdle implements IAFState {
21 17 private String eqxState = null;
22 18 private EC02Builder ec02Builder = new EC02Builder();
23 19 private ArrayList<EquinoxRawData> eqxRawDataList = new ArrayList<EquinoxRawData>();
  20 + private Date date = null;
24 21  
25 22 @Override
26 23 public String doAction(AbstractAF abstractAF, Object instance, ArrayList<EquinoxRawData> eqxRawDataList) {
27 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 36 for(EquinoxRawData eqxRawData : eqxRawDataList){
30 37 this.ec02Builder.setEquinoxRawData(eqxRawData, abstractAF, ec02Ins);
31 38 ec02Ins.getAFInstance().setInvoke(eqxRawData.getInvoke());
... ... @@ -63,13 +70,15 @@ public class StateIdle implements IAFState {
63 70 for (int i = 0; i < rawList.size(); i++) {
64 71 this.eqxRawDataList.add(rawList.get(i));
65 72 }
66   -
  73 + date = new Date();
  74 + AppLog.d(""+date);
67 75 this.eqxState = AFState.W_ARes;
68   -
  76 + }
69 77 }
70 78 ec02Ins.setEqxRawDataList(this.eqxRawDataList);
71 79 ec02Ins.getAFInstance().setTimeout(this.eqxRawDataList);
72 80 ec02Ins.getAFInstance().setState(eqxState);
  81 + ec02Ins.getAFInstance().setTime(date);
73 82 return this.eqxState;
74 83 }
75 84  
... ...
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 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;
... ... @@ -19,14 +17,18 @@ public class StateWaitA implements IAFState {
19 17 private String eqxState = null;
20 18 private EC02Builder ec02Builder = new EC02Builder();
21 19 private ArrayList<EquinoxRawData> eqxRawDataList = new ArrayList<EquinoxRawData>();
  20 + private Date date = null;
22 21  
23 22 @Override
24 23 public String doAction(AbstractAF abstractAF, Object instance, ArrayList<EquinoxRawData> eqxRawDataList) {
25 24 EC02Instance ec02Ins = (EC02Instance) instance;
26   - AppLog.d("######"+eqxRawDataList.size());
  25 + AppLog.d("######"+ec02Ins.getAFInstance().getTime());
27 26 if(ec02Ins.getEquinoxProperties().getDiag().equals("Timeout")){
28 27 this.eqxRawDataList=ec02Ins.getAFInstance().getTimeout();
29 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 34 else{
... ... @@ -60,7 +62,10 @@ public class StateWaitA implements IAFState {
60 62 for (int i = 0; i < rawList.size(); i++) {
61 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 69 this.eqxState = AFState.W_CRes;
65 70  
66 71 }
... ...