/**
*
*/
package net.conselldemallorca.helium.jbpm3.command;
import org.jbpm.JbpmContext;
import org.jbpm.command.AbstractBaseCommand;
import org.jbpm.graph.exe.ProcessInstance;
import org.jbpm.logging.log.MessageLog;
/**
* Command per a afegir un log associats a una instància de tasca
*
* @author Limit Tecnologies <limit@limit.es>
*/
public class AddTaskInstanceMessageLogCommand extends AbstractBaseCommand {
private static final long serialVersionUID = -1908847549444051495L;
private long id;
private String message;
public AddTaskInstanceMessageLogCommand(
long id,
String message) {
super();
this.id = id;
this.message = message;
}
public Object execute(JbpmContext jbpmContext) throws Exception {
MessageLog log = new MessageLog(message);
log.setToken(jbpmContext.getTaskInstance(id).getToken());
ProcessInstance processInstance = jbpmContext.getTaskInstance(id).getProcessInstance();
processInstance.getLoggingInstance().addLog(log);
jbpmContext.save(processInstance);
return new Long(log.getId());
}
public long getId() {
return id;
}
public void setId(long id) {
this.id = id;
}
@Override
public String getAdditionalToStringInformation() {
return "id=" + id ;
}
}