Message Boards

workflow on custom entity (Liferay 7.2)

Tej Dave, modified 3 Years ago.

workflow on custom entity (Liferay 7.2)

New Member Posts: 11 Join Date: 12/24/19 Recent Posts
I need to implement workflow on a custom entity 
for that, I am following this URL -https://help.liferay.com/hc/en-us/articles/360034748612-Creating-a-Workflow-Handler-for-Guestbooks
I have created handler just where the portlet is but No handler found error occure
ServiceContext serviceContext = ServiceContextFactory.getInstance(Foo.class.getName(), renderRequest);
            WorkflowDefinitionLink workflowDefinitionLink = null;
            try {                workflowDefinitionLink = WorkflowDefinitionLinkLocalServiceUtil
                        .getDefaultWorkflowDefinitionLink(foo.getCompanyId(), Foo.class.getName(), 0, 0);            } catch (Exception e) {            }            AssetEntryLocalServiceUtil.updateEntry(foo.getUserId(), foo.getGroupId(), User.class.getName(),
                    foo.getPrimaryKey(), serviceContext.getAssetCategoryIds(), serviceContext.getAssetTagNames());            WorkflowHandlerRegistryUtil.startWorkflowInstance(foo.getCompanyId(), foo.getGroupId(), foo.getUserId(),
                    Foo.class.getName(), foo.getPrimaryKey(), foo, serviceContext);
        } catch (PortalException e) {
            e.printStackTrace();
        }

Handler mapping -
@Component(immediate = true, property = { "model.class.name=WokeFlow.model.Foo",
        "javax.portlet.name=" + WorkFlowDemoPortletKeys.WORKFLOWDEMO, }, service = WorkflowHandler.class)

error -
 com.liferay.portal.kernel.workflow.WorkflowException: No workflow handler found for WokeFlow.model.Foo
    at com.liferay.portal.kernel.workflow.WorkflowHandlerRegistryUtil.startWorkflowInstance(WorkflowHandlerRegistryUtil.java:122)
    at com.liferay.portal.kernel.workflow.WorkflowHandlerRegistryUtil.startWorkflowInstance(WorkflowHandlerRegistryUtil.java:99)
    at workFlowDemo.portlet.WorkFlowDemoPortlet.doView(WorkFlowDemoPortlet.java:84)
thumbnail
Mohammed Yasin, modified 3 Years ago.

RE: workflow on custom entity (Liferay 7.2)

Liferay Master Posts: 591 Join Date: 8/8/14 Recent Posts

Handler mapping -
@Component(immediate = true, property = { "model.class.name=WokeFlow.model.Foo",
        "javax.portlet.name=" + WorkFlowDemoPortletKeys.WORKFLOWDEMO, }, service = WorkflowHandler.class)


Hi ,
i dont think u need to specify portlet name and model class name  in work flow handler,  only below code is enough 
​​​​​​​
@Component(immediate = true, service = WorkflowHandler.class)
public class GuestbookWorkflowHandler extends BaseWorkflowHandler<guestbook> {..</guestbook>