Blame view

AF-Demo/src/af/state/StateWaitA.java 1.62 KB
064d2ecd   Suraputt Suntimitr   AFDemo_Template
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
package af.state;

import java.util.ArrayList;
import java.util.HashMap;

import th.co.ais.equinox.utils.StringExtract;
import af.instatnce.EC02Instance;
import af.instatnce.EQXRawInstance;
import af.interfaces.AFEvent;
import af.interfaces.AFState;
import af.interfaces.EQXMsg;
import af.message.EC02Builder;
import ec02.af.abstracts.AbstractAF;
import ec02.af.data.EquinoxRawData;
import ec02.af.interfaces.IAFState;

public class StateWaitA implements IAFState {
	private String eqxState = null;
	private EC02Builder ec02Builder = new EC02Builder();
	private ArrayList<EquinoxRawData> eqxRawDataList = new ArrayList<EquinoxRawData>();
	
	@Override
	public String doAction(AbstractAF abstractAF, Object instance, ArrayList<EquinoxRawData> eqxRawDataList) {
		EC02Instance ec02Ins = (EC02Instance)instance;
		
		for(EquinoxRawData eqxRawData : eqxRawDataList) {
			this.ec02Builder.setEquinoxRawData(eqxRawData, abstractAF, ec02Ins);			
			if(eqxRawData.getRawEventType().equals(AFEvent.Incoming_A_Response)){
				StringExtract str = new StringExtract();
				HashMap<String, String> map = str.getAll(str.setMessage(eqxRawData.getRawDataMessage().trim()));
				String message = map.get("MSG[0].value");
				if (message.trim().equals("SUCCESS")) {
					EQXRawInstance eqxRaw = new EQXRawInstance();
					eqxRaw.setMessage(message.trim());
					eqxRaw.setTo(ec02Ins.getAFInstance().getOrig());
					eqxRaw.setCtype(EQXMsg.TEXTPLAIN);
					this.eqxRawDataList.add(this.ec02Builder.getHTTPResponse(eqxRaw));
					this.eqxState = AFState.IDLE;
					
				}
				else {
					
				}
			}
		}
		ec02Ins.setEqxRawDataList(this.eqxRawDataList);
		return this.eqxState;
	}