diff --git a/jbpm-flow-builder/src/main/java/org/jbpm/process/workitem/WorkItemRepository.java b/jbpm-flow-builder/src/main/java/org/jbpm/process/workitem/WorkItemRepository.java index bd9f66dcf6..bb50c91d34 100644 --- a/jbpm-flow-builder/src/main/java/org/jbpm/process/workitem/WorkItemRepository.java +++ b/jbpm-flow-builder/src/main/java/org/jbpm/process/workitem/WorkItemRepository.java @@ -64,9 +64,12 @@ public static Map getWorkDefinitions(String path, St } } workDefinition.setResults(results); + workDefinition.setDefaultHandler((String) workDefinitionMap.get("defaultHandler")); - workDefinition.setDependencies(((List) workDefinitionMap.get("dependencies")).toArray(new String[0])); + if(workDefinitionMap.get("dependencies") != null) { + workDefinition.setDependencies(((List) workDefinitionMap.get("dependencies")).toArray(new String[0])); + } if(workDefinitionMap.get("mavenDependencies") != null) { workDefinition.setMavenDependencies(((List) workDefinitionMap.get("mavenDependencies")).toArray(new String[0])); diff --git a/jbpm-flow-builder/src/test/java/org/jbpm/process/workitem/WorkDefinitionImplTest.java b/jbpm-flow-builder/src/test/java/org/jbpm/process/workitem/WorkDefinitionImplTest.java index 457ece5da1..b85c53c3a0 100644 --- a/jbpm-flow-builder/src/test/java/org/jbpm/process/workitem/WorkDefinitionImplTest.java +++ b/jbpm-flow-builder/src/test/java/org/jbpm/process/workitem/WorkDefinitionImplTest.java @@ -30,7 +30,7 @@ public void testServices() throws Exception { Map repoResults = WorkItemRepository.getWorkDefinitions(getClass().getResource("repository").toURI().toString()); assertNotNull(repoResults); assertFalse(repoResults.isEmpty()); - assertEquals(repoResults.size(), 5); + assertEquals(repoResults.size(), 6); WorkDefinitionImpl testServiceOne = repoResults.get("TestServiceOne"); assertNotNull(testServiceOne); @@ -86,6 +86,14 @@ public void testServices() throws Exception { assertEquals(3, testServiceFour2.getDependencies().length); assertEquals(2, testServiceFour2.getMavenDependencies().length); assertEquals("json", testServiceFour2.getWidType()); + + // workitem with no dependency defined + WorkDefinitionImpl testServiceFive = repoResults.get("TestServiceFive"); + assertNotNull(testServiceFive); + assertEquals("TestServiceFive", testServiceFive.getName()); + assertEquals("TestServiceFive", testServiceFive.getDisplayName()); + assertNull(testServiceFive.getDependencies()); + } } diff --git a/jbpm-flow-builder/src/test/java/org/jbpm/process/workitem/WorkItemRepositoryTest.java b/jbpm-flow-builder/src/test/java/org/jbpm/process/workitem/WorkItemRepositoryTest.java index a7c23025b1..2488ac3c28 100644 --- a/jbpm-flow-builder/src/test/java/org/jbpm/process/workitem/WorkItemRepositoryTest.java +++ b/jbpm-flow-builder/src/test/java/org/jbpm/process/workitem/WorkItemRepositoryTest.java @@ -29,7 +29,7 @@ public void testGetWorkDefinitions() throws Exception { Map repoResults = WorkItemRepository.getWorkDefinitions(getClass().getResource("repository").toURI().toString()); assertNotNull(repoResults); assertFalse(repoResults.isEmpty()); - assertEquals(repoResults.size(), 5); + assertEquals(repoResults.size(), 6); } @Test diff --git a/jbpm-flow-builder/src/test/resources/org/jbpm/process/workitem/repository/TestServiceFive/TestServiceFive.wid b/jbpm-flow-builder/src/test/resources/org/jbpm/process/workitem/repository/TestServiceFive/TestServiceFive.wid new file mode 100644 index 0000000000..01c9b23fd6 --- /dev/null +++ b/jbpm-flow-builder/src/test/resources/org/jbpm/process/workitem/repository/TestServiceFive/TestServiceFive.wid @@ -0,0 +1,9 @@ +[ + [ + "java.util.HashMap", + { + "displayName":"TestServiceFive", + "name":"TestServiceFive" + } + ] +] \ No newline at end of file diff --git a/jbpm-flow-builder/src/test/resources/org/jbpm/process/workitem/repository/index.conf b/jbpm-flow-builder/src/test/resources/org/jbpm/process/workitem/repository/index.conf index 544b91f769..45205a94d6 100644 --- a/jbpm-flow-builder/src/test/resources/org/jbpm/process/workitem/repository/index.conf +++ b/jbpm-flow-builder/src/test/resources/org/jbpm/process/workitem/repository/index.conf @@ -2,3 +2,4 @@ TestServiceOne TestServiceTwo TestServiceThree TestServiceFour +TestServiceFive