package com.fitbank.bpm.common; import com.fitbank.common.RequestData; import com.fitbank.common.exception.FitbankException; import com.fitbank.common.logger.FitbankLogger; import com.fitbank.dto.management.Detail; import com.fitbank.dto.management.Field; /** * * @author pedro */ public class ExecuteTransactionCancel extends AbstractFitSend { public Detail execute(Detail pDetail, String pSubsystem, String pTransaction, String pVersion) throws Exception { try { this.setDetailHeader(pDetail, pSubsystem, pTransaction, pVersion); pDetail = this.send(pDetail); } catch (FitbankException e) { FitbankLogger.getLogger().warn(e, e); throw e; } catch (Exception e) { FitbankLogger.getLogger().warn(e, e); throw e; } return pDetail; } private void setDetailHeader(Detail pDetail, String pSubsystem, String pTransaction, String pVersion) throws Exception { // pDetail.setMessageid(MessageIdGenerator.getInstance().generateId(pDetail.getChannel())); //Este difiere del // executetransaction pDetail.setSubsystem(pSubsystem); pDetail.setTransaction(pTransaction); pDetail.setVersion(pVersion); pDetail.setSessionid(RequestData.getDetail().getSessionid()); pDetail.setTerminal(RequestData.getDetail().getTerminal()); pDetail.setUser(RequestData.getDetail().getUser()); pDetail.setType("MAN"); for (Field f : pDetail.getFields()) { if ((f.getName().compareTo("RESPONSE") == 0) || (f.getName().indexOf("_USER_") == 0) || (f.getName().compareTo("_AUT_ESTADO") == 0)) { f.setValue(null); } } } }