Uploaded image for project: 'PUBLIC - Liferay Portal Community Edition'
  1. PUBLIC - Liferay Portal Community Edition
  2. LPS-64651

NPE loading workflow defn w/o role-type

Details

    Description

      liferay-workflow-definition_7_0_0.xsd declares the <role-type /> tag is optional, minOccurs=0 and the default role type is "regular".

      If the tag is left out of the workflow XML file, though, an NPE is thrown:

      17:57:13,350 ERROR [http-apr-8080-exec-6][render_portlet_jsp:131] null
      java.lang.NullPointerException
      	at com.liferay.portal.workflow.kaleo.runtime.util.RoleUtil.getRoleType(RoleUtil.java:86)
      	at com.liferay.portal.workflow.kaleo.service.impl.KaleoNotificationRecipientLocalServiceImpl.setRecipient(KaleoNotificationRecipientLocalServiceImpl.java:121)
      	at com.liferay.portal.workflow.kaleo.service.impl.KaleoNotificationRecipientLocalServiceImpl.addKaleoNotificationRecipient(KaleoNotificationRecipientLocalServiceImpl.java:68)
      	at com.liferay.portal.spring.aop.ServiceBeanMethodInvocation.proceed(ServiceBeanMethodInvocation.java:153)
      	at com.liferay.portal.spring.transaction.DefaultTransactionExecutor.execute(DefaultTransactionExecutor.java:85)
      	at com.liferay.portal.spring.transaction.TransactionInterceptor.invoke(TransactionInterceptor.java:58)
      	at com.liferay.portal.spring.aop.ServiceBeanMethodInvocation.proceed(ServiceBeanMethodInvocation.java:127)
      	at com.liferay.portal.service.ServiceContextAdvice.invoke(ServiceContextAdvice.java:40)
      	at com.liferay.portal.spring.aop.ServiceBeanMethodInvocation.proceed(ServiceBeanMethodInvocation.java:127)
      	at com.liferay.portal.spring.aop.ChainableMethodAdvice.invoke(ChainableMethodAdvice.java:56)
      	at com.liferay.portal.spring.aop.ServiceBeanMethodInvocation.proceed(ServiceBeanMethodInvocation.java:127)
      	at com.liferay.portal.spring.aop.ServiceBeanAopProxy.invoke(ServiceBeanAopProxy.java:173)
      	at com.liferay.portal.workflow.kaleo.service.impl.KaleoNotificationLocalServiceImpl.addKaleoNotification(KaleoNotificationLocalServiceImpl.java:100)
      	at com.liferay.portal.spring.aop.ServiceBeanMethodInvocation.proceed(ServiceBeanMethodInvocation.java:153)
      	at com.liferay.portal.spring.transaction.DefaultTransactionExecutor.execute(DefaultTransactionExecutor.java:85)
      	at com.liferay.portal.spring.transaction.TransactionInterceptor.invoke(TransactionInterceptor.java:58)
      	at com.liferay.portal.spring.aop.ServiceBeanMethodInvocation.proceed(ServiceBeanMethodInvocation.java:127)
      	at com.liferay.portal.service.ServiceContextAdvice.invoke(ServiceContextAdvice.java:40)
      	at com.liferay.portal.spring.aop.ServiceBeanMethodInvocation.proceed(ServiceBeanMethodInvocation.java:127)
      	at com.liferay.portal.spring.aop.ChainableMethodAdvice.invoke(ChainableMethodAdvice.java:56)
      

      Attachments

        1. Fixed.PNG
          Fixed.PNG
          57 kB
        2. Reproduced.PNG
          Reproduced.PNG
          42 kB
        3. soacc.vendor.delete.xml
          2 kB

        Activity

          People

            harry.chai Harry Chai
            david.nebinger David Nebinger
            Kiyoshi Lee Kiyoshi Lee
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:
              7 years, 5 weeks, 4 days ago

              Packages

                Version Package
                7.0.1 CE GA2