Uploaded image for project: 'Nuxeo Platform'
  1. Nuxeo Platform
  2. NXP-19090

Fix validation NPE on workflow multi blob variable

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 7.10-HF05
    • Fix Version/s: 7.10-HF06, 8.2
    • Component/s: Seam / JSF UI
    • Tags:
    • Sprint:
      nxNag Sprint 8.2.1

      Description

      Step to reproduce:
      1- define a workflow with a node form with a multi value blob variable
      2- start the workflow
      3- attach one or many files
      4- validate the task

      It crashes with below stacktrace.

      Caused by: java.lang.NullPointerException
      	at org.nuxeo.ecm.platform.ui.web.validator.DocumentConstraintValidator.resolveField(DocumentConstraintValidator.java:239)
      	at org.nuxeo.ecm.platform.ui.web.validator.DocumentConstraintValidator.doValidate(DocumentConstraintValidator.java:133)
      	at org.nuxeo.ecm.platform.ui.web.validator.DocumentConstraintValidator.validate(DocumentConstraintValidator.java:86)
      	at javax.faces.component.UIInput.validateValue(UIInput.java:1165)
      	at org.nuxeo.ecm.platform.ui.web.component.file.UIInputFile.validate(UIInputFile.java:335)
      	at javax.faces.component.UIInput.executeValidate(UIInput.java:1249)
      	at javax.faces.component.UIInput.processValidators(UIInput.java:712)
      	at org.nuxeo.ecm.platform.ui.web.binding.alias.UIAliasHolder.processComponent(UIAliasHolder.java:202)
      	at org.nuxeo.ecm.platform.ui.web.binding.alias.UIAliasHolder.processFacetsAndChildren(UIAliasHolder.java:181)
      	at org.nuxeo.ecm.platform.ui.web.binding.alias.UIAliasHolder.processFacetsAndChildrenWithVariables(UIAliasHolder.java:189)
      	at org.nuxeo.ecm.platform.ui.web.binding.alias.UIAliasHolder.processValidators(UIAliasHolder.java:170)
      	at javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:1258)
      	at org.nuxeo.ecm.platform.ui.web.binding.alias.UIAliasHolder.processComponent(UIAliasHolder.java:202)
      	at org.nuxeo.ecm.platform.ui.web.binding.alias.UIAliasHolder.processFacetsAndChildren(UIAliasHolder.java:181)
      	at org.nuxeo.ecm.platform.ui.web.binding.alias.UIAliasHolder.processFacetsAndChildrenWithVariables(UIAliasHolder.java:189)
      	at org.nuxeo.ecm.platform.ui.web.binding.alias.UIAliasHolder.processValidators(UIAliasHolder.java:170)
      	at javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:1258)
      	at javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:1258)
      	at javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:1258)
      	at org.nuxeo.ecm.platform.ui.web.component.list.UIEditableList.processComponent(UIEditableList.java:1228)
      	at org.nuxeo.ecm.platform.ui.web.component.list.UIJavascriptList.processFacetsAndChildren(UIJavascriptList.java:235)
      	at org.nuxeo.ecm.platform.ui.web.component.list.UIEditableList.executeValidate(UIEditableList.java:1247)
      	at org.nuxeo.ecm.platform.ui.web.component.list.UIEditableList.processValidators(UIEditableList.java:1099)
      	at javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:1258)
      	at javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:1258)
      	at javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:1258)
      	at javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:1258)
      	at javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:1258)
      	at javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:1258)
      	at javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:1258)
      	at javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:1258)
      	at javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:1258)
      	at javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:1258)
      	at javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:1258)
      	at javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:1258)
      	at javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:1258)
      	at javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:1258)
      	at javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:1258)
      	at javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:1258)
      	at javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:1258)
      	at javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:1258)
      	at javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:1258)
      	at javax.faces.component.UIForm.processValidators(UIForm.java:253)
      	at javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:1258)
      	at javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:1258)
      	at javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:1258)
      	at javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:1258)
      	at javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:1258)
      	at org.nuxeo.ecm.platform.ui.web.binding.alias.UIAliasHolder.processComponent(UIAliasHolder.java:202)
      	at org.nuxeo.ecm.platform.ui.web.binding.alias.UIAliasHolder.processFacetsAndChildren(UIAliasHolder.java:181)
      	at org.nuxeo.ecm.platform.ui.web.binding.alias.UIAliasHolder.processFacetsAndChildrenWithVariables(UIAliasHolder.java:189)
      	at org.nuxeo.ecm.platform.ui.web.binding.alias.UIAliasHolder.processValidators(UIAliasHolder.java:170)
      	at org.nuxeo.ecm.platform.ui.web.binding.alias.UIAliasHolder.processComponent(UIAliasHolder.java:202)
      	at org.nuxeo.ecm.platform.ui.web.binding.alias.UIAliasHolder.processFacetsAndChildren(UIAliasHolder.java:181)
      	at org.nuxeo.ecm.platform.ui.web.binding.alias.UIAliasHolder.processFacetsAndChildrenWithVariables(UIAliasHolder.java:189)
      	at org.nuxeo.ecm.platform.ui.web.binding.alias.UIAliasHolder.processValidators(UIAliasHolder.java:170)
      	at javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:1258)
      	at org.nuxeo.ecm.platform.ui.web.component.holder.UIValueHolder.processComponent(UIValueHolder.java:258)
      	at org.nuxeo.ecm.platform.ui.web.component.holder.UIValueHolder.processFacetsAndChildren(UIValueHolder.java:237)
      	at org.nuxeo.ecm.platform.ui.web.component.holder.UIValueHolder.processFacetsAndChildrenWithVariable(UIValueHolder.java:245)
      	at org.nuxeo.ecm.platform.ui.web.component.holder.UIValueHolder.processValidators(UIValueHolder.java:184)
      	at javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:1258)
      	at javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:1258)
      	at javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:1258)
      	at javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:1258)
      	at javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:1258)
      	at javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:1258)
      	at javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:1258)
      	at javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:1258)
      	at javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:1258)
      	at javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:1258)
      	at org.nuxeo.ecm.platform.ui.web.component.holder.UIValueHolder.processComponent(UIValueHolder.java:258)
      	at org.nuxeo.ecm.platform.ui.web.component.holder.UIValueHolder.processFacetsAndChildren(UIValueHolder.java:237)
      	at org.nuxeo.ecm.platform.ui.web.component.holder.UIValueHolder.processFacetsAndChildrenWithVariable(UIValueHolder.java:245)
      	at org.nuxeo.ecm.platform.ui.web.component.holder.UIValueHolder.processValidators(UIValueHolder.java:184)
      	at javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:1258)
      	at javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:1258)
      	at javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:1258)
      	at javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:1258)
      	at javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:1258)
      	at javax.faces.component.UIViewRoot.processValidators(UIViewRoot.java:1195)
      	at com.sun.faces.lifecycle.ProcessValidationsPhase.execute(ProcessValidationsPhase.java:76)
      	at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
      	at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:198)
      	at javax.faces.webapp.FacesServlet.service(FacesServlet.java:646)
      	... 62 more
      
      

      Attached is a studio project to reproduce on 7.10

        Attachments

          Issue Links

            Activity

              People

              • Votes:
                0 Vote for this issue
                Watchers:
                2 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: