I want to override setAssignee method of activiti/alfersco workflow.How Can I do that?
I found that TaskEntity.java class is called during set assignee.
Is this proper way to change existing setAssignee below method of TaskEntity.java?
public void setAssignee(String assignee, boolean dispatchAssignmentEvent, boolean dispatchUpdateEvent) {}
Why do you want to change / override that method in the first place? Generally speaking it is not recommend / actually discouraged to make changes to the core classes / sources just to addess a business requirement. If you need some different behaviour from task assignment, you should implement a proper API facade / action wrapper around the things you need to adapt.
How Can I Implement API facade / action wrapper for setAssignee()?
Can you provide some help on that?
I don't want to sound rude, but the facade pattern is a common software design pattern. Any help I would provide would basically just be a TL;DR summary of that pattern at this point...
can you provide some more detail?
why not use taskListener instead? write your business logic on "assign" event then send the variable to the setAssignee
This is not for particular workflow.it is for all workflow.
can you describe how can i achieve?
you can a listener before every task assignment. This thread might help you - Does engine have a hook to install an event listener?
update: use AbstractBpmnParseHandler instead of AbstractBpmnParseListener (with 5.22 engine)
example:
public class AssingmentExample extends AbstractBpmnParseHandler<UserTask> {
@Override
protected void executeParse(BpmnParse arg0, UserTask userTask) {// add your custom logic here
userTask.setAssignee("// your assignee here");
}@Override
protected Class<? extends BaseElement> getHandledType() {
// TODO Auto-generated method stub
return null;
}}
Register this with your process engine configuration.
Ask for and offer help to other Alfresco Content Services Users and members of the Alfresco team.
Related links:
By using this site, you are agreeing to allow us to collect and use cookies as outlined in Alfresco’s Cookie Statement and Terms of Use (and you have a legitimate interest in Alfresco and our products, authorizing us to contact you in such methods). If you are not ok with these terms, please do not use this website.