package th.co.ais.ssbsrfc.substate; import javax.xml.bind.JAXBException; import javax.xml.stream.XMLStreamException; import ec02.af.abstracts.AbstractAF; import ec02.af.data.EquinoxRawData; import ec02.utils.AppLog; import th.co.ais.ssbsrfc.config.Constant; import th.co.ais.ssbsrfc.config.StateConfig; import th.co.ais.ssbsrfc.instance.AdjustmentResponseIns; import th.co.ais.ssbsrfc.instance.ChargeReportIns; import th.co.ais.ssbsrfc.instance.EC02Instance; import th.co.ais.ssbsrfc.instance.EQXRawInstance; import th.co.ais.ssbsrfc.message.MessageParser; import th.co.ais.ssbsrfc.utils.EqxStringUtils; public class SubWaitAdjustmentChargeReportResponse extends WaitSubState { private ChargeReportIns chargeReportIns = new ChargeReportIns(); public void configSubstate(EC02Instance ec02Instance, EquinoxRawData equinoxRawData) { this._state = StateConfig.SSTATE_W_ADJUSTMENT_CHARGEREPORT; this._eventType = StateConfig.Incoming_Adjustment_ChargeReport_Response; this._stateType = Constant.SUBSTATE_TYPE_W_RESPONSE; ec02Instance.getAFInstance().setFlow(Constant.FLOW_TEST_A); } public Object getMessage(EC02Instance ec02Instance, EquinoxRawData equinoxRawData) { String value = EqxStringUtils.getMessage(equinoxRawData, ec02Instance); AppLog.d("## PARAMETERS : " + value); AdjustmentResponseIns ins = null; try { ins = (AdjustmentResponseIns) MessageParser.formsoap(value); } catch (XMLStreamException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (JAXBException e) { // TODO Auto-generated catch block e.printStackTrace(); } AppLog.d(ins.getVersion()); chargeReportIns.setResult("000"); chargeReportIns.setPrepaidsubscriberflag("1"); return chargeReportIns; } public void verifyMessage(AbstractAF abstractAF, EC02Instance ec02Instance, EquinoxRawData equinoxRawData) { this.type = Constant.TYPE_SUCCESS; } public void buildMessage(AbstractAF abstractAF, EC02Instance ec02Instance, EquinoxRawData equinoxRawData) { switch (this.type) { case Constant.TYPE_SUCCESS: default: { // this.isStat = false; // ec02Instance.getAFInstance().getListStat().add(new Stat(StateConfig.PROJECT_STAT_NAME + " ABCDEFG STAT")); String message = th.co.ais.ssbsrfc.message.MessageParser.toXml(chargeReportIns); ec02Instance.getAFInstance().setCurrentState(StateConfig.SSTATE_END); EQXRawInstance eqxRaw = SubMessages.getRawChargeReportResponse(abstractAF, ec02Instance, ec02Instance.getAFInstance().getOrig(), ec02Instance.getAFInstance().getInvoke(),message); this.equinoxRawDataList.add(this.ec02Builder.getHTTPResponse(eqxRaw)); } } } }