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