package com.fitbank.bpm.common;

import com.fitbank.common.RequestData;
import com.fitbank.dto.management.Detail;

public class ExecuteTransaction extends AbstractFitSend {

    private static final long serialVersionUID = 1L;

    public Detail execute(Detail pDetail, String pSubsystem,
            String pTransaction, String pVersion) throws Exception {
        if (RequestData.getOrigin() == null) {
            RequestData.setOrigin(pDetail);
        }
        RequestData.getOrigin().findFieldByNameCreate("__EVENT__")
                .setValue("com.fitbank.bpm.common.ExecuteTransaction");
        RequestData.getOrigin().findFieldByNameCreate("__EVENT_SUBSYSTEM__")
                .setValue(pSubsystem);
        RequestData.getOrigin().findFieldByNameCreate("__EVENT_TRANSACTION__")
                .setValue(pTransaction);
        RequestData.getOrigin().findFieldByNameCreate("__EVENT_VERSION__")
                .setValue(pVersion);
        pDetail.findFieldByNameCreate("_BPMEND").setValue("1");
        return pDetail;
    }
}