package com.fitbank.bpm.common; import com.fitbank.common.RequestData; import com.fitbank.dto.management.Detail; import com.fitbank.dto.management.Field; public class ExecuteOriginTransaction extends AbstractFitSend { private static final long serialVersionUID = 1L; public Detail execute(Detail pDetail, Detail pAuth) throws Exception { pDetail = this.copyControlFields(pAuth, pDetail); 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); } } RequestData.setOrigin(pDetail); RequestData.getOrigin().findFieldByNameCreate("__EVENT__") .setValue("com.fitbank.bpm.common.ExecuteOriginTransaction"); pDetail.findFieldByNameCreate("_BPMEND").setValue("1"); return pDetail; } private Detail copyControlFields(Detail pAuth, Detail pDetail) { for (Field f : pAuth.getFields()) { if (pDetail.findFieldByName(f.getName()) == null) { pDetail.findFieldByNameCreate(f.getName()).setValue( f.getValue()); } } return pDetail; } }