diff --git a/AF-Demo/src/af/control/AFMain.java b/AF-Demo/src/af/control/AFMain.java index 996ffad..c6885fe 100644 --- a/AF-Demo/src/af/control/AFMain.java +++ b/AF-Demo/src/af/control/AFMain.java @@ -26,6 +26,7 @@ public class AFMain extends AbstractAF implements IEC02{ throws ActionProcessException { AppLog.i("[CURRENT STATE] : " + eqxProp.getState()); + AppLog.i("[CURRENT STATE] : " + eqxProp.getDiag()); EC02Instance ec02Ins = (EC02Instance) instance; ec02Ins.setEquinoxProperties(eqxProp); ec02Ins.setAbstractAF((AbstractAF) this); diff --git a/AF-Demo/src/af/instatnce/AFInstance.java b/AF-Demo/src/af/instatnce/AFInstance.java index 83c13d4..7930fe7 100644 --- a/AF-Demo/src/af/instatnce/AFInstance.java +++ b/AF-Demo/src/af/instatnce/AFInstance.java @@ -1,11 +1,28 @@ package af.instatnce; +import java.util.ArrayList; + +import ec02.af.data.EquinoxRawData; + public class AFInstance { private String orig = ""; private String invoke = ""; - + private ArrayList timeout = null; + private String state =""; + public String getState() { + return state; + } + public void setState(String state) { + this.state = state; + } + public ArrayList getTimeout() { + return timeout; + } + public void setTimeout(ArrayList timeout) { + this.timeout = timeout; + } public String getOrig(){ return this.orig; } diff --git a/AF-Demo/src/af/instatnce/TimeoutIns.java b/AF-Demo/src/af/instatnce/TimeoutIns.java new file mode 100644 index 0000000..c0d5279 --- /dev/null +++ b/AF-Demo/src/af/instatnce/TimeoutIns.java @@ -0,0 +1,35 @@ +package af.instatnce; + +public class TimeoutIns { + + private String orig = ""; + private String invoker = ""; + private String msg = ""; + private String ctype =""; + + public String getCtype() { + return ctype; + } + public void setCtype(String ctype) { + this.ctype = ctype; + } + public String getOrig() { + return orig; + } + public void setOrig(String orig) { + this.orig = orig; + } + public String getInvoker() { + return invoker; + } + public void setInvoker(String invoker) { + this.invoker = invoker; + } + public String getMsg() { + return msg; + } + public void setMsg(String msg) { + this.msg = msg; + } + +} \ No newline at end of file diff --git a/AF-Demo/src/af/message/EC02Builder.java b/AF-Demo/src/af/message/EC02Builder.java index 14b373a..42fcedd 100644 --- a/AF-Demo/src/af/message/EC02Builder.java +++ b/AF-Demo/src/af/message/EC02Builder.java @@ -39,10 +39,24 @@ public class EC02Builder { return eqxRawDataList; } - public EquinoxRawData getHTTPResponse(EQXRawInstance eqxRaw){ + public ArrayList getBRequest(ArrayList eqxRawList){ + ArrayList eqxRawDataList = new ArrayList(); + for (int i = 0; i < eqxRawList.size(); i++) { + eqxRawList.get(i).setType(EQXMsg.REQUEST); + this.msgBuilder = new EC02MSGBuilder(eqxRawList.get(i)); + this.msgBuilder.setInvoke(this.ec02Ins.getAFInstance().getInvoke() + i); + eqxRawDataList.add(this.msgBuilder.getHttpMessage()); + } + String timeoutConf = this.abstractAF.getUtils().getHmWarmConfig().get("HTTP-B-timeout").get(0); + String timeout = (timeoutConf == null) ? this.ec02Ins.getAbstractAF().getUtils().getHmWarmConfig().get("B-timeout").get(0) : timeoutConf; + this.ec02Ins.setTimeout(timeout); + return eqxRawDataList; + } + + public EquinoxRawData getHTTPResponse(EQXRawInstance eqxRaw,String invoke){ eqxRaw.setType(EQXMsg.RESPONSE); this.msgBuilder = new EC02MSGBuilder(eqxRaw); - this.msgBuilder.setInvoke(this.ec02Ins.getAFInstance().getInvoke()); + this.msgBuilder.setInvoke(invoke); return this.msgBuilder.getHttpMessage(); } diff --git a/AF-Demo/src/af/state/StateIdle.java b/AF-Demo/src/af/state/StateIdle.java index ce4206b..3a09581 100644 --- a/AF-Demo/src/af/state/StateIdle.java +++ b/AF-Demo/src/af/state/StateIdle.java @@ -59,7 +59,7 @@ public class StateIdle implements IAFState { eqxRaw.setTo(abstractAF.getUtils().getHmWarmConfig().get("Resource-Name-B").get(0)); eqxRaw.setCtype(EQXMsg.TEXTXML); eqxRawList.add(eqxRaw); - ArrayList rawList = this.ec02Builder.getHTTPRequest(eqxRawList); + ArrayList rawList = this.ec02Builder.getBRequest(eqxRawList); for (int i = 0; i < rawList.size(); i++) { this.eqxRawDataList.add(rawList.get(i)); } @@ -68,6 +68,8 @@ public class StateIdle implements IAFState { } ec02Ins.setEqxRawDataList(this.eqxRawDataList); + ec02Ins.getAFInstance().setTimeout(this.eqxRawDataList); + ec02Ins.getAFInstance().setState(eqxState); return this.eqxState; } diff --git a/AF-Demo/src/af/state/StateWaitA.java b/AF-Demo/src/af/state/StateWaitA.java index 492a4b3..e2d7c08 100644 --- a/AF-Demo/src/af/state/StateWaitA.java +++ b/AF-Demo/src/af/state/StateWaitA.java @@ -13,6 +13,7 @@ import af.message.EC02Builder; import ec02.af.abstracts.AbstractAF; import ec02.af.data.EquinoxRawData; import ec02.af.interfaces.IAFState; +import ec02.utils.AppLog; public class StateWaitA implements IAFState { private String eqxState = null; @@ -22,8 +23,15 @@ public class StateWaitA implements IAFState { @Override public String doAction(AbstractAF abstractAF, Object instance, ArrayList eqxRawDataList) { EC02Instance ec02Ins = (EC02Instance) instance; - + AppLog.d("######"+eqxRawDataList.size()); + if(ec02Ins.getEquinoxProperties().getDiag().equals("Timeout")){ + this.eqxRawDataList=ec02Ins.getAFInstance().getTimeout(); + eqxState = ec02Ins.getAFInstance().getState(); + + } + else{ for (EquinoxRawData eqxRawData : eqxRawDataList) { + this.ec02Builder.setEquinoxRawData(eqxRawData, abstractAF, ec02Ins); /* * if(eqxRawData.getRawEventType().equals(AFEvent. @@ -42,21 +50,25 @@ public class StateWaitA implements IAFState { */ ArrayList eqxRawList = new ArrayList(); - + EQXRawInstance eqxRaw = new EQXRawInstance(); eqxRaw.setMessage("C Req."); eqxRaw.setTo(abstractAF.getUtils().getHmWarmConfig().get("Resource-Name-C").get(0)); eqxRaw.setCtype(EQXMsg.TEXTXML); eqxRawList.add(eqxRaw); - ArrayList rawList = this.ec02Builder.getHTTPRequest(eqxRawList); + ArrayList rawList = this.ec02Builder.getBRequest(eqxRawList); for (int i = 0; i < rawList.size(); i++) { this.eqxRawDataList.add(rawList.get(i)); } this.eqxState = AFState.W_CRes; + } } + ec02Ins.setEqxRawDataList(this.eqxRawDataList); + ec02Ins.getAFInstance().setTimeout(this.eqxRawDataList); + ec02Ins.getAFInstance().setState(eqxState); return this.eqxState; } } diff --git a/AF-Demo/src/af/state/StateWaitC.java b/AF-Demo/src/af/state/StateWaitC.java index bcfdbc0..d6eba90 100644 --- a/AF-Demo/src/af/state/StateWaitC.java +++ b/AF-Demo/src/af/state/StateWaitC.java @@ -13,6 +13,7 @@ import af.message.EC02Builder; import ec02.af.abstracts.AbstractAF; import ec02.af.data.EquinoxRawData; import ec02.af.interfaces.IAFState; +import ec02.utils.AppLog; public class StateWaitC implements IAFState { private String eqxState = null; @@ -22,7 +23,12 @@ public class StateWaitC implements IAFState { @Override public String doAction(AbstractAF abstractAF, Object instance, ArrayList eqxRawDataList) { EC02Instance ec02Ins = (EC02Instance) instance; - + if(ec02Ins.getEquinoxProperties().getDiag().equals("Timeout")){ + this.eqxRawDataList=ec02Ins.getAFInstance().getTimeout(); + eqxState = ec02Ins.getAFInstance().getState(); + + } + else{ for (EquinoxRawData eqxRawData : eqxRawDataList) { this.ec02Builder.setEquinoxRawData(eqxRawData, abstractAF, ec02Ins); /* @@ -40,16 +46,18 @@ public class StateWaitC implements IAFState { * * } } */ - + AppLog.d("THAT INVOKE --->"+ec02Ins.getAFInstance().getInvoke()); EQXRawInstance eqxRaw = new EQXRawInstance(); eqxRaw.setMessage("A Res."); eqxRaw.setTo(ec02Ins.getAFInstance().getOrig()); eqxRaw.setCtype(EQXMsg.TEXTPLAIN); - this.eqxRawDataList.add(this.ec02Builder.getHTTPResponse(eqxRaw)); + this.eqxRawDataList.add(this.ec02Builder.getHTTPResponse(eqxRaw,ec02Ins.getAFInstance().getInvoke())); this.eqxState = AFState.IDLE; - + } } ec02Ins.setEqxRawDataList(this.eqxRawDataList); + ec02Ins.getAFInstance().setTimeout(this.eqxRawDataList); + ec02Ins.getAFInstance().setState(eqxState); return this.eqxState; } } -- libgit2 0.21.2