StateWaitE01.java 1.8 KB
package af.state;

import java.util.ArrayList;
import af.instatnce.EC02Instance;
import af.instatnce.EQXRawInstance;
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 StateWaitE01 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;
		
		//receive E01 response
		if(abstractAF.getUtils().getGlobalData().isRecieve()){
			this.ec02Builder.setEquinoxRawData(abstractAF, ec02Ins);
			//E01 return success
			ec02Ins.setE01data(abstractAF.getUtils().getGlobalData().getDataResultSet().get(0).getData());
			if(abstractAF.getUtils().getGlobalData().getResultCode().equals("0")){
					ArrayList<EQXRawInstance> eqxRawList = new ArrayList<EQXRawInstance>();
					if (ec02Ins.getE01data().equals("SUCCESS")) {
						EQXRawInstance eqxRaw = new EQXRawInstance();
						eqxRaw.setMessage("<MSG value=\"TEST\"/>");
						eqxRaw.setTo(abstractAF.getUtils().getHmWarmConfig().get("Resource-Name-A").get(0));
						eqxRaw.setCtype(EQXMsg.TEXTXML);
						eqxRawList.add(eqxRaw);
						ArrayList<EquinoxRawData> rawList = this.ec02Builder.getHTTPRequest(eqxRawList);
						for (int i = 0; i < rawList.size(); i++) {
							this.eqxRawDataList.add(rawList.get(i));		
						}		
						this.eqxState = AFState.W_ARes;		
					}
			}
			//E01 does not return success

		}
		//E01 does not response
		else{
			
		}
		ec02Ins.setEqxRawDataList(this.eqxRawDataList);
		return this.eqxState;
	}
}