Commit ab936f842e3e0eb40def046ec6626d2d121e41e0

Authored by Suraputt Suntimitr
1 parent 87f93676

Time Out Template

AF-Demo/src/af/control/AFMain.java
@@ -26,6 +26,7 @@ public class AFMain extends AbstractAF implements IEC02{ @@ -26,6 +26,7 @@ public class AFMain extends AbstractAF implements IEC02{
26 throws ActionProcessException { 26 throws ActionProcessException {
27 27
28 AppLog.i("[CURRENT STATE] : " + eqxProp.getState()); 28 AppLog.i("[CURRENT STATE] : " + eqxProp.getState());
  29 + AppLog.i("[CURRENT STATE] : " + eqxProp.getDiag());
29 EC02Instance ec02Ins = (EC02Instance) instance; 30 EC02Instance ec02Ins = (EC02Instance) instance;
30 ec02Ins.setEquinoxProperties(eqxProp); 31 ec02Ins.setEquinoxProperties(eqxProp);
31 ec02Ins.setAbstractAF((AbstractAF) this); 32 ec02Ins.setAbstractAF((AbstractAF) this);
AF-Demo/src/af/instatnce/AFInstance.java
1 package af.instatnce; 1 package af.instatnce;
2 2
  3 +import java.util.ArrayList;
  4 +
  5 +import ec02.af.data.EquinoxRawData;
  6 +
3 public class AFInstance { 7 public class AFInstance {
4 8
5 private String orig = ""; 9 private String orig = "";
6 private String invoke = ""; 10 private String invoke = "";
7 - 11 + private ArrayList<EquinoxRawData> timeout = null;
  12 + private String state ="";
8 13
  14 + public String getState() {
  15 + return state;
  16 + }
  17 + public void setState(String state) {
  18 + this.state = state;
  19 + }
  20 + public ArrayList<EquinoxRawData> getTimeout() {
  21 + return timeout;
  22 + }
  23 + public void setTimeout(ArrayList<EquinoxRawData> timeout) {
  24 + this.timeout = timeout;
  25 + }
9 public String getOrig(){ 26 public String getOrig(){
10 return this.orig; 27 return this.orig;
11 } 28 }
AF-Demo/src/af/instatnce/TimeoutIns.java 0 → 100644
@@ -0,0 +1,35 @@ @@ -0,0 +1,35 @@
  1 +package af.instatnce;
  2 +
  3 +public class TimeoutIns {
  4 +
  5 + private String orig = "";
  6 + private String invoker = "";
  7 + private String msg = "";
  8 + private String ctype ="";
  9 +
  10 + public String getCtype() {
  11 + return ctype;
  12 + }
  13 + public void setCtype(String ctype) {
  14 + this.ctype = ctype;
  15 + }
  16 + public String getOrig() {
  17 + return orig;
  18 + }
  19 + public void setOrig(String orig) {
  20 + this.orig = orig;
  21 + }
  22 + public String getInvoker() {
  23 + return invoker;
  24 + }
  25 + public void setInvoker(String invoker) {
  26 + this.invoker = invoker;
  27 + }
  28 + public String getMsg() {
  29 + return msg;
  30 + }
  31 + public void setMsg(String msg) {
  32 + this.msg = msg;
  33 + }
  34 +
  35 +}
0 \ No newline at end of file 36 \ No newline at end of file
AF-Demo/src/af/message/EC02Builder.java
@@ -39,10 +39,24 @@ public class EC02Builder { @@ -39,10 +39,24 @@ public class EC02Builder {
39 return eqxRawDataList; 39 return eqxRawDataList;
40 } 40 }
41 41
42 - public EquinoxRawData getHTTPResponse(EQXRawInstance eqxRaw){ 42 + public ArrayList<EquinoxRawData> getBRequest(ArrayList<EQXRawInstance> eqxRawList){
  43 + ArrayList<EquinoxRawData> eqxRawDataList = new ArrayList<EquinoxRawData>();
  44 + for (int i = 0; i < eqxRawList.size(); i++) {
  45 + eqxRawList.get(i).setType(EQXMsg.REQUEST);
  46 + this.msgBuilder = new EC02MSGBuilder(eqxRawList.get(i));
  47 + this.msgBuilder.setInvoke(this.ec02Ins.getAFInstance().getInvoke() + i);
  48 + eqxRawDataList.add(this.msgBuilder.getHttpMessage());
  49 + }
  50 + String timeoutConf = this.abstractAF.getUtils().getHmWarmConfig().get("HTTP-B-timeout").get(0);
  51 + String timeout = (timeoutConf == null) ? this.ec02Ins.getAbstractAF().getUtils().getHmWarmConfig().get("B-timeout").get(0) : timeoutConf;
  52 + this.ec02Ins.setTimeout(timeout);
  53 + return eqxRawDataList;
  54 + }
  55 +
  56 + public EquinoxRawData getHTTPResponse(EQXRawInstance eqxRaw,String invoke){
43 eqxRaw.setType(EQXMsg.RESPONSE); 57 eqxRaw.setType(EQXMsg.RESPONSE);
44 this.msgBuilder = new EC02MSGBuilder(eqxRaw); 58 this.msgBuilder = new EC02MSGBuilder(eqxRaw);
45 - this.msgBuilder.setInvoke(this.ec02Ins.getAFInstance().getInvoke()); 59 + this.msgBuilder.setInvoke(invoke);
46 return this.msgBuilder.getHttpMessage(); 60 return this.msgBuilder.getHttpMessage();
47 } 61 }
48 62
AF-Demo/src/af/state/StateIdle.java
@@ -59,7 +59,7 @@ public class StateIdle implements IAFState { @@ -59,7 +59,7 @@ public class StateIdle implements IAFState {
59 eqxRaw.setTo(abstractAF.getUtils().getHmWarmConfig().get("Resource-Name-B").get(0)); 59 eqxRaw.setTo(abstractAF.getUtils().getHmWarmConfig().get("Resource-Name-B").get(0));
60 eqxRaw.setCtype(EQXMsg.TEXTXML); 60 eqxRaw.setCtype(EQXMsg.TEXTXML);
61 eqxRawList.add(eqxRaw); 61 eqxRawList.add(eqxRaw);
62 - ArrayList<EquinoxRawData> rawList = this.ec02Builder.getHTTPRequest(eqxRawList); 62 + ArrayList<EquinoxRawData> rawList = this.ec02Builder.getBRequest(eqxRawList);
63 for (int i = 0; i < rawList.size(); i++) { 63 for (int i = 0; i < rawList.size(); i++) {
64 this.eqxRawDataList.add(rawList.get(i)); 64 this.eqxRawDataList.add(rawList.get(i));
65 } 65 }
@@ -68,6 +68,8 @@ public class StateIdle implements IAFState { @@ -68,6 +68,8 @@ public class StateIdle implements IAFState {
68 68
69 } 69 }
70 ec02Ins.setEqxRawDataList(this.eqxRawDataList); 70 ec02Ins.setEqxRawDataList(this.eqxRawDataList);
  71 + ec02Ins.getAFInstance().setTimeout(this.eqxRawDataList);
  72 + ec02Ins.getAFInstance().setState(eqxState);
71 return this.eqxState; 73 return this.eqxState;
72 } 74 }
73 75
AF-Demo/src/af/state/StateWaitA.java
@@ -13,6 +13,7 @@ import af.message.EC02Builder; @@ -13,6 +13,7 @@ import af.message.EC02Builder;
13 import ec02.af.abstracts.AbstractAF; 13 import ec02.af.abstracts.AbstractAF;
14 import ec02.af.data.EquinoxRawData; 14 import ec02.af.data.EquinoxRawData;
15 import ec02.af.interfaces.IAFState; 15 import ec02.af.interfaces.IAFState;
  16 +import ec02.utils.AppLog;
16 17
17 public class StateWaitA implements IAFState { 18 public class StateWaitA implements IAFState {
18 private String eqxState = null; 19 private String eqxState = null;
@@ -22,8 +23,15 @@ public class StateWaitA implements IAFState { @@ -22,8 +23,15 @@ public class StateWaitA implements IAFState {
22 @Override 23 @Override
23 public String doAction(AbstractAF abstractAF, Object instance, ArrayList<EquinoxRawData> eqxRawDataList) { 24 public String doAction(AbstractAF abstractAF, Object instance, ArrayList<EquinoxRawData> eqxRawDataList) {
24 EC02Instance ec02Ins = (EC02Instance) instance; 25 EC02Instance ec02Ins = (EC02Instance) instance;
25 - 26 + AppLog.d("######"+eqxRawDataList.size());
  27 + if(ec02Ins.getEquinoxProperties().getDiag().equals("Timeout")){
  28 + this.eqxRawDataList=ec02Ins.getAFInstance().getTimeout();
  29 + eqxState = ec02Ins.getAFInstance().getState();
  30 +
  31 + }
  32 + else{
26 for (EquinoxRawData eqxRawData : eqxRawDataList) { 33 for (EquinoxRawData eqxRawData : eqxRawDataList) {
  34 +
27 this.ec02Builder.setEquinoxRawData(eqxRawData, abstractAF, ec02Ins); 35 this.ec02Builder.setEquinoxRawData(eqxRawData, abstractAF, ec02Ins);
28 /* 36 /*
29 * if(eqxRawData.getRawEventType().equals(AFEvent. 37 * if(eqxRawData.getRawEventType().equals(AFEvent.
@@ -42,21 +50,25 @@ public class StateWaitA implements IAFState { @@ -42,21 +50,25 @@ public class StateWaitA implements IAFState {
42 */ 50 */
43 51
44 ArrayList<EQXRawInstance> eqxRawList = new ArrayList<EQXRawInstance>(); 52 ArrayList<EQXRawInstance> eqxRawList = new ArrayList<EQXRawInstance>();
45 - 53 +
46 EQXRawInstance eqxRaw = new EQXRawInstance(); 54 EQXRawInstance eqxRaw = new EQXRawInstance();
47 eqxRaw.setMessage("C Req."); 55 eqxRaw.setMessage("C Req.");
48 eqxRaw.setTo(abstractAF.getUtils().getHmWarmConfig().get("Resource-Name-C").get(0)); 56 eqxRaw.setTo(abstractAF.getUtils().getHmWarmConfig().get("Resource-Name-C").get(0));
49 eqxRaw.setCtype(EQXMsg.TEXTXML); 57 eqxRaw.setCtype(EQXMsg.TEXTXML);
50 eqxRawList.add(eqxRaw); 58 eqxRawList.add(eqxRaw);
51 - ArrayList<EquinoxRawData> rawList = this.ec02Builder.getHTTPRequest(eqxRawList); 59 + ArrayList<EquinoxRawData> rawList = this.ec02Builder.getBRequest(eqxRawList);
52 for (int i = 0; i < rawList.size(); i++) { 60 for (int i = 0; i < rawList.size(); i++) {
53 this.eqxRawDataList.add(rawList.get(i)); 61 this.eqxRawDataList.add(rawList.get(i));
54 } 62 }
55 63
56 this.eqxState = AFState.W_CRes; 64 this.eqxState = AFState.W_CRes;
57 65
  66 + }
58 } 67 }
  68 +
59 ec02Ins.setEqxRawDataList(this.eqxRawDataList); 69 ec02Ins.setEqxRawDataList(this.eqxRawDataList);
  70 + ec02Ins.getAFInstance().setTimeout(this.eqxRawDataList);
  71 + ec02Ins.getAFInstance().setState(eqxState);
60 return this.eqxState; 72 return this.eqxState;
61 } 73 }
62 } 74 }
AF-Demo/src/af/state/StateWaitC.java
@@ -13,6 +13,7 @@ import af.message.EC02Builder; @@ -13,6 +13,7 @@ import af.message.EC02Builder;
13 import ec02.af.abstracts.AbstractAF; 13 import ec02.af.abstracts.AbstractAF;
14 import ec02.af.data.EquinoxRawData; 14 import ec02.af.data.EquinoxRawData;
15 import ec02.af.interfaces.IAFState; 15 import ec02.af.interfaces.IAFState;
  16 +import ec02.utils.AppLog;
16 17
17 public class StateWaitC implements IAFState { 18 public class StateWaitC implements IAFState {
18 private String eqxState = null; 19 private String eqxState = null;
@@ -22,7 +23,12 @@ public class StateWaitC implements IAFState { @@ -22,7 +23,12 @@ public class StateWaitC implements IAFState {
22 @Override 23 @Override
23 public String doAction(AbstractAF abstractAF, Object instance, ArrayList<EquinoxRawData> eqxRawDataList) { 24 public String doAction(AbstractAF abstractAF, Object instance, ArrayList<EquinoxRawData> eqxRawDataList) {
24 EC02Instance ec02Ins = (EC02Instance) instance; 25 EC02Instance ec02Ins = (EC02Instance) instance;
25 - 26 + if(ec02Ins.getEquinoxProperties().getDiag().equals("Timeout")){
  27 + this.eqxRawDataList=ec02Ins.getAFInstance().getTimeout();
  28 + eqxState = ec02Ins.getAFInstance().getState();
  29 +
  30 + }
  31 + else{
26 for (EquinoxRawData eqxRawData : eqxRawDataList) { 32 for (EquinoxRawData eqxRawData : eqxRawDataList) {
27 this.ec02Builder.setEquinoxRawData(eqxRawData, abstractAF, ec02Ins); 33 this.ec02Builder.setEquinoxRawData(eqxRawData, abstractAF, ec02Ins);
28 /* 34 /*
@@ -40,16 +46,18 @@ public class StateWaitC implements IAFState { @@ -40,16 +46,18 @@ public class StateWaitC implements IAFState {
40 * 46 *
41 * } } 47 * } }
42 */ 48 */
43 - 49 + AppLog.d("THAT INVOKE --->"+ec02Ins.getAFInstance().getInvoke());
44 EQXRawInstance eqxRaw = new EQXRawInstance(); 50 EQXRawInstance eqxRaw = new EQXRawInstance();
45 eqxRaw.setMessage("A Res."); 51 eqxRaw.setMessage("A Res.");
46 eqxRaw.setTo(ec02Ins.getAFInstance().getOrig()); 52 eqxRaw.setTo(ec02Ins.getAFInstance().getOrig());
47 eqxRaw.setCtype(EQXMsg.TEXTPLAIN); 53 eqxRaw.setCtype(EQXMsg.TEXTPLAIN);
48 - this.eqxRawDataList.add(this.ec02Builder.getHTTPResponse(eqxRaw)); 54 + this.eqxRawDataList.add(this.ec02Builder.getHTTPResponse(eqxRaw,ec02Ins.getAFInstance().getInvoke()));
49 this.eqxState = AFState.IDLE; 55 this.eqxState = AFState.IDLE;
50 - 56 + }
51 } 57 }
52 ec02Ins.setEqxRawDataList(this.eqxRawDataList); 58 ec02Ins.setEqxRawDataList(this.eqxRawDataList);
  59 + ec02Ins.getAFInstance().setTimeout(this.eqxRawDataList);
  60 + ec02Ins.getAFInstance().setState(eqxState);
53 return this.eqxState; 61 return this.eqxState;
54 } 62 }
55 } 63 }