maia/.svn/pristine/84/848dbae731c1ee12ed3537e03d5...

64 lines
1.5 KiB
Plaintext
Executable File

/*
*
*/
package com.fp.bpmlib.transaction.flow;
import com.fp.bpmlib.Flujo;
import com.fp.bpmlib.RegisterFlow;
import com.fp.dto.rules.TransactionRule;
import com.fp.dto.save.SaveRequest;
/**
* Class StartFlow encargada de.
*
* @author jvaca
* @version 2.1
*/
public class StartFlow extends TransactionRule {
/** serialVersionUID. */
private static final long serialVersionUID = 1L;
/** El valor de completed. */
protected boolean completed = false;
/** El valor de p. */
protected Flujo flujo;
/**
* Normal process.
*
* @param pRequest the request
* @return save request
* @throws Exception la exception
*/
@Override
public SaveRequest normalProcess(SaveRequest pRequest) throws Exception {
try {
flujo = new Flujo();
flujo.iniciar(this.flow, pRequest);
if (this.flujo.getProcessInstance().getState() != org.kie.api.runtime.process.ProcessInstance.STATE_COMPLETED) {
RegisterFlow rf = new RegisterFlow(this.flujo, pRequest);
rf.registerFlow();
} else {
this.completed = true;
}
} finally {
//la session se cierra automaticamente al trabajar con JTA.
}
return pRequest;
}
/**
* Reverse process.
*
* @param pRequest the request
* @return save request
* @throws Exception la exception
*/
@Override
public SaveRequest reverseProcess(SaveRequest pRequest) throws Exception {
return pRequest;
}
}