From 06a336d25246a3fdec04c1a9ac8d3f9d5134a950 Mon Sep 17 00:00:00 2001 From: jensp Date: Tue, 20 Jun 2017 11:25:05 +0000 Subject: [PATCH] CCM NG/ccm-cms: Avoid NPE in ItemWorkflowRequestLocalHelper when no workflow is assigned to a ContentItem. git-svn-id: https://svn.libreccm.org/ccm/ccm_ng@4790 8810af33-2d31-482b-a856-94f89814c4df --- .../item/ItemWorkflowRequestLocalHelper.java | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/ccm-cms/src/main/java/com/arsdigita/cms/ui/item/ItemWorkflowRequestLocalHelper.java b/ccm-cms/src/main/java/com/arsdigita/cms/ui/item/ItemWorkflowRequestLocalHelper.java index d168305b0..d8f10b622 100644 --- a/ccm-cms/src/main/java/com/arsdigita/cms/ui/item/ItemWorkflowRequestLocalHelper.java +++ b/ccm-cms/src/main/java/com/arsdigita/cms/ui/item/ItemWorkflowRequestLocalHelper.java @@ -40,7 +40,7 @@ class ItemWorkflowRequestLocalHelper { @Inject private ContentItemRepository itemRepo; - + @Inject private WorkflowRepository workflowRepo; @@ -53,12 +53,17 @@ class ItemWorkflowRequestLocalHelper { .format("No ContentItem with ID %d in the database.", item.getObjectId()))); - final Workflow workflow = workflowRepo - .findById(contentItem.getWorkflow().getWorkflowId()) - .orElseThrow(() -> new IllegalArgumentException(String - .format("No Workflow with ID %d in the database.", - contentItem.getWorkflow().getWorkflowId()))); - + final Workflow workflow; + if (contentItem.getWorkflow() == null) { + workflow = null; + } else { + workflow = workflowRepo + .findById(contentItem.getWorkflow().getWorkflowId()) + .orElseThrow(() -> new IllegalArgumentException(String + .format("No Workflow with ID %d in the database.", + contentItem.getWorkflow().getWorkflowId()))); + } + return workflow; }