StateIdle.java 2.37 KB
package af.state;

import java.util.ArrayList;

import af.instatnce.E01Instance;
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;
import ec02.af.utils.AlarmCategory;
import ec02.af.utils.AlarmSeverity;
import ec02.af.utils.AlarmType;

public class StateIdle  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);
			ec02Ins.getAFInstance().setInvoke(eqxRawData.getInvoke());
			ec02Ins.getAFInstance().setOrig(eqxRawData.getRawDataAttribute(EQXMsg.ORIG));
			
			/*
			 * if(eqxRawData.getRawEventType().equals(AFEvent.
			 * Incoming_HTTP_Request)){ E01Instance e01Ins = new E01Instance();
			 * ArrayList<String> keys = new ArrayList<String>();
			 * keys.add(eqxRawData.getRawDataMessage()); keys.add("def");
			 * keys.add("def"); keys.add("def"); keys.add("def");
			 * e01Ins.setCmd("search"); e01Ins.setObjType("TESTDATA");
			 * e01Ins.setKey(keys); // e01Ins.setId("01");
			 * ec02Ins.setE01Ins(e01Ins); this.ec02Builder.getE01Request();
			 * String [] parameter = {""};
			 * abstractAF.getUtils().writeLog("mylog1", "hello word!!!");
			 * abstractAF.getUtils().incrementStats("my_stat");
			 * abstractAF.getUtils().incrementStats("raise_by_stat");
			 * abstractAF.getUtils().raiseAlarm("my_alarm", parameter,
			 * AlarmSeverity.WARNING, AlarmCategory.APPLICATION,
			 * AlarmType.Normal); this.eqxState = AFState.W_E01Res; }
			 */
			
			EQXRawInstance eqxRaw = new EQXRawInstance();
			eqxRaw.setMessage("A Res.");
			eqxRaw.setTo(ec02Ins.getAFInstance().getOrig());
			eqxRaw.setCtype(EQXMsg.TEXTPLAIN);
			this.eqxRawDataList.add(this.ec02Builder.getHTTPResponse(eqxRaw,eqxRawData.getInvoke()));
			this.eqxState = AFState.W_ARes;
		}
		ec02Ins.setEqxRawDataList(this.eqxRawDataList);
		return this.eqxState;
	}

}