Commit 0faeb11c9a8b8896cfcda4264c160950bdfaf2fc
1 parent
064d2ecd
Exists in
AFDemo_Ex5
AFDemo_EX05
Showing
5 changed files
with
95 additions
and
5 deletions
Show diff stats
AF-Demo/src/af/control/StateManager.java
| ... | ... | @@ -4,6 +4,7 @@ import af.interfaces.AFState; |
| 4 | 4 | import af.state.StateIdle; |
| 5 | 5 | import af.state.StateWaitE01; |
| 6 | 6 | import af.state.StateWaitA; |
| 7 | +import af.state.StateWaitB; | |
| 7 | 8 | import ec02.af.abstracts.AbstractAFStateManager; |
| 8 | 9 | |
| 9 | 10 | public class StateManager extends AbstractAFStateManager { |
| ... | ... | @@ -18,5 +19,9 @@ public class StateManager extends AbstractAFStateManager { |
| 18 | 19 | else if (state.equals(AFState.W_ARes)) { |
| 19 | 20 | this.afState = new StateWaitA(); |
| 20 | 21 | } |
| 22 | + | |
| 23 | + else if (state.equals(AFState.W_BRes)) { | |
| 24 | + this.afState = new StateWaitB(); | |
| 25 | + } | |
| 21 | 26 | } |
| 22 | 27 | } | ... | ... |
AF-Demo/src/af/interfaces/AFState.java
AF-Demo/src/af/state/StateIdle.java
| ... | ... | @@ -4,6 +4,7 @@ import java.util.ArrayList; |
| 4 | 4 | |
| 5 | 5 | import af.instatnce.E01Instance; |
| 6 | 6 | import af.instatnce.EC02Instance; |
| 7 | +import af.instatnce.EQXRawInstance; | |
| 7 | 8 | import af.interfaces.AFEvent; |
| 8 | 9 | import af.interfaces.AFState; |
| 9 | 10 | import af.interfaces.EQXMsg; |
| ... | ... | @@ -30,7 +31,7 @@ public class StateIdle implements IAFState { |
| 30 | 31 | ec02Ins.getAFInstance().setInvoke(eqxRawData.getInvoke()); |
| 31 | 32 | ec02Ins.getAFInstance().setOrig(eqxRawData.getRawDataAttribute(EQXMsg.ORIG)); |
| 32 | 33 | |
| 33 | - if(eqxRawData.getRawEventType().equals(AFEvent.Incoming_HTTP_Request)){ | |
| 34 | + /*if(eqxRawData.getRawEventType().equals(AFEvent.Incoming_HTTP_Request)){ | |
| 34 | 35 | E01Instance e01Ins = new E01Instance(); |
| 35 | 36 | ArrayList<String> keys = new ArrayList<String>(); |
| 36 | 37 | keys.add(eqxRawData.getRawDataMessage()); |
| ... | ... | @@ -49,8 +50,21 @@ public class StateIdle implements IAFState { |
| 49 | 50 | abstractAF.getUtils().incrementStats("my_stat"); |
| 50 | 51 | abstractAF.getUtils().incrementStats("raise_by_stat"); |
| 51 | 52 | abstractAF.getUtils().raiseAlarm("my_alarm", parameter, AlarmSeverity.WARNING, AlarmCategory.APPLICATION, AlarmType.Normal); |
| 52 | - this.eqxState = AFState.W_E01Res; | |
| 53 | - } | |
| 53 | + this.eqxState = AFState.W_E01Res;*/ | |
| 54 | + | |
| 55 | + ArrayList<EQXRawInstance> eqxRawList = new ArrayList<EQXRawInstance>(); | |
| 56 | + EQXRawInstance eqxRaw = new EQXRawInstance(); | |
| 57 | + eqxRaw.setMessage("B Req."); | |
| 58 | + eqxRaw.setTo(abstractAF.getUtils().getHmWarmConfig().get("Resource-Name-B").get(0)); | |
| 59 | + eqxRaw.setCtype(EQXMsg.TEXTXML); | |
| 60 | + eqxRawList.add(eqxRaw); | |
| 61 | + ArrayList<EquinoxRawData> rawList = this.ec02Builder.getHTTPRequest(eqxRawList); | |
| 62 | + for (int i = 0; i < rawList.size(); i++) { | |
| 63 | + this.eqxRawDataList.add(rawList.get(i)); | |
| 64 | + } | |
| 65 | + this.eqxState = AFState.W_ARes; | |
| 66 | + | |
| 67 | + /*}*/ | |
| 54 | 68 | } |
| 55 | 69 | ec02Ins.setEqxRawDataList(this.eqxRawDataList); |
| 56 | 70 | return this.eqxState; | ... | ... |
AF-Demo/src/af/state/StateWaitA.java
| ... | ... | @@ -25,7 +25,7 @@ public class StateWaitA implements IAFState { |
| 25 | 25 | |
| 26 | 26 | for(EquinoxRawData eqxRawData : eqxRawDataList) { |
| 27 | 27 | this.ec02Builder.setEquinoxRawData(eqxRawData, abstractAF, ec02Ins); |
| 28 | - if(eqxRawData.getRawEventType().equals(AFEvent.Incoming_A_Response)){ | |
| 28 | + /*if(eqxRawData.getRawEventType().equals(AFEvent.Incoming_A_Response)){ | |
| 29 | 29 | StringExtract str = new StringExtract(); |
| 30 | 30 | HashMap<String, String> map = str.getAll(str.setMessage(eqxRawData.getRawDataMessage().trim())); |
| 31 | 31 | String message = map.get("MSG[0].value"); |
| ... | ... | @@ -40,7 +40,20 @@ public class StateWaitA implements IAFState { |
| 40 | 40 | else { |
| 41 | 41 | |
| 42 | 42 | } |
| 43 | - } | |
| 43 | + }*/ | |
| 44 | + | |
| 45 | + ArrayList<EQXRawInstance> eqxRawList = new ArrayList<EQXRawInstance>(); | |
| 46 | + EQXRawInstance eqxRaw = new EQXRawInstance(); | |
| 47 | + eqxRaw.setMessage("B Req."); | |
| 48 | + eqxRaw.setTo(abstractAF.getUtils().getHmWarmConfig().get("Resource-Name-B").get(0)); | |
| 49 | + eqxRaw.setCtype(EQXMsg.TEXTXML); | |
| 50 | + eqxRawList.add(eqxRaw); | |
| 51 | + ArrayList<EquinoxRawData> rawList = this.ec02Builder.getHTTPRequest(eqxRawList); | |
| 52 | + for (int i = 0; i < rawList.size(); i++) { | |
| 53 | + this.eqxRawDataList.add(rawList.get(i)); | |
| 54 | + } | |
| 55 | + this.eqxState = AFState.W_BRes; | |
| 56 | + | |
| 44 | 57 | } |
| 45 | 58 | ec02Ins.setEqxRawDataList(this.eqxRawDataList); |
| 46 | 59 | return this.eqxState; | ... | ... |
| ... | ... | @@ -0,0 +1,56 @@ |
| 1 | +package af.state; | |
| 2 | + | |
| 3 | +import java.util.ArrayList; | |
| 4 | +import java.util.HashMap; | |
| 5 | + | |
| 6 | +import th.co.ais.equinox.utils.StringExtract; | |
| 7 | +import af.instatnce.EC02Instance; | |
| 8 | +import af.instatnce.EQXRawInstance; | |
| 9 | +import af.interfaces.AFEvent; | |
| 10 | +import af.interfaces.AFState; | |
| 11 | +import af.interfaces.EQXMsg; | |
| 12 | +import af.message.EC02Builder; | |
| 13 | +import ec02.af.abstracts.AbstractAF; | |
| 14 | +import ec02.af.data.EquinoxRawData; | |
| 15 | +import ec02.af.interfaces.IAFState; | |
| 16 | + | |
| 17 | +public class StateWaitB implements IAFState { | |
| 18 | + private String eqxState = null; | |
| 19 | + private EC02Builder ec02Builder = new EC02Builder(); | |
| 20 | + private ArrayList<EquinoxRawData> eqxRawDataList = new ArrayList<EquinoxRawData>(); | |
| 21 | + | |
| 22 | + @Override | |
| 23 | + public String doAction(AbstractAF abstractAF, Object instance, ArrayList<EquinoxRawData> eqxRawDataList) { | |
| 24 | + EC02Instance ec02Ins = (EC02Instance)instance; | |
| 25 | + | |
| 26 | + for(EquinoxRawData eqxRawData : eqxRawDataList) { | |
| 27 | + this.ec02Builder.setEquinoxRawData(eqxRawData, abstractAF, ec02Ins); | |
| 28 | + /*if(eqxRawData.getRawEventType().equals(AFEvent.Incoming_A_Response)){ | |
| 29 | + StringExtract str = new StringExtract(); | |
| 30 | + HashMap<String, String> map = str.getAll(str.setMessage(eqxRawData.getRawDataMessage().trim())); | |
| 31 | + String message = map.get("MSG[0].value"); | |
| 32 | + if (message.trim().equals("SUCCESS")) { | |
| 33 | + EQXRawInstance eqxRaw = new EQXRawInstance(); | |
| 34 | + eqxRaw.setMessage(message.trim()); | |
| 35 | + eqxRaw.setTo(ec02Ins.getAFInstance().getOrig()); | |
| 36 | + eqxRaw.setCtype(EQXMsg.TEXTPLAIN); | |
| 37 | + this.eqxRawDataList.add(this.ec02Builder.getHTTPResponse(eqxRaw)); | |
| 38 | + this.eqxState = AFState.IDLE; | |
| 39 | + } | |
| 40 | + else { | |
| 41 | + | |
| 42 | + } | |
| 43 | + }*/ | |
| 44 | + | |
| 45 | + EQXRawInstance eqxRaw = new EQXRawInstance(); | |
| 46 | + eqxRaw.setMessage("A Res."); | |
| 47 | + eqxRaw.setTo(ec02Ins.getAFInstance().getOrig()); | |
| 48 | + eqxRaw.setCtype(EQXMsg.TEXTPLAIN); | |
| 49 | + this.eqxRawDataList.add(this.ec02Builder.getHTTPResponse(eqxRaw)); | |
| 50 | + this.eqxState = AFState.END; | |
| 51 | + | |
| 52 | + } | |
| 53 | + ec02Ins.setEqxRawDataList(this.eqxRawDataList); | |
| 54 | + return this.eqxState; | |
| 55 | + } | |
| 56 | +} | ... | ... |