private static List<Map<String, Object>> getWorkDefinitionsMapForSingleDir(String parentPath, String widName) { String path = parentPath + "/" + widName + ".wid"; return getWorkDefinitionsForPath(parentPath, path, widName); }
public static Map<String, WorkDefinitionImpl> getWorkDefinitions(String path) { return getWorkDefinitions(path, null, null); }
private static List<Map<String, Object>> getAllWorkDefinitionsMap(String directory, String widName) { List<Map<String, Object>> workDefinitions = new ArrayList<Map<String, Object>>(); if(widName != null) { workDefinitions.addAll(getWorkDefinitionsMapForSingleDir(directory, widName)); } else { for (String s: getDirectories(directory)) { try { workDefinitions.addAll(getAllWorkDefinitionsMap(directory + "/" + s, null)); } catch (Throwable t) { logger.error("Error retrieving work definitions: " + t.getMessage()); } workDefinitions.addAll(getWorkDefinitionsMap(directory, s)); } } return workDefinitions; }
@Test public void testServices() throws Exception { Map<String, WorkDefinitionImpl> repoResults = WorkItemRepository.getWorkDefinitions(getClass().getResource("repository").toURI().toString()); assertNotNull(repoResults); assertFalse(repoResults.isEmpty()); assertEquals("TestServiceOne", testServiceOne.getName()); assertEquals("TestServiceOne", testServiceOne.getDisplayName()); assertEquals("Test Service One", testServiceOne.getDescription()); assertEquals(3, testServiceOne.getParameters().size()); assertEquals("testserviceone.png", testServiceOne.getIcon()); assertEquals("MyTestServices", testServiceOne.getCategory()); assertEquals(0, testServiceOne.getDependencies().length); assertEquals("MyTestServices", testServiceOne.getCategory()); assertEquals("mvel", testServiceOne.getWidType()); assertEquals(2, testServiceTwo.getResults().size()); assertTrue(testServiceTwo.getResult("result1").getType() instanceof StringDataType); assertTrue(testServiceTwo.getResult("result2").getType() instanceof StringDataType); assertEquals("mvel", testServiceTwo.getWidType()); assertEquals("1.0", testServiceThree.getVersion()); assertEquals("org.drools.eclipse.flow.common.editor.editpart.work.SampleCustomEditor", testServiceThree.getCustomEditor()); assertEquals("org.jbpm.process.workitem.MyHandler", testServiceThree.getDefaultHandler()); assertEquals(2, testServiceThree.getDependencies().length); assertEquals(2, testServiceThree.getMavenDependencies().length); assertEquals("mvel", testServiceThree.getWidType()); assertEquals("TestServiceFour", testServiceFour.getName()); assertEquals("TestServiceFour", testServiceFour.getDisplayName());
public static Map<String, WorkDefinitionImpl> getWorkDefinitions(String path, String[] definitionNames, String widName) { Map<String, WorkDefinitionImpl> workDefinitions = new HashMap<String, WorkDefinitionImpl>(); List<Map<String, Object>> workDefinitionsMaps = getAllWorkDefinitionsMap(path, widName); for (Map<String, Object> workDefinitionMap : workDefinitionsMaps) { if (workDefinitionMap != null) { WorkDefinitionImpl workDefinition = new WorkDefinitionImpl(); workDefinition.setName((String) workDefinitionMap.get("name")); workDefinition.setDisplayName((String) workDefinitionMap.get("displayName")); workDefinition.setIcon((String) workDefinitionMap.get("icon")); workDefinition.setCustomEditor((String) workDefinitionMap.get("customEditor")); workDefinition.setCategory((String) workDefinitionMap.get("category")); workDefinition.setPath((String) workDefinitionMap.get("path")); workDefinition.setFile((String) workDefinitionMap.get("file")); workDefinition.setDocumentation((String) workDefinitionMap.get("documentation")); Set<ParameterDefinition> parameters = new HashSet<ParameterDefinition>(); Map<String, DataType> parameterMap = (Map<String, DataType>) workDefinitionMap.get("parameters"); workDefinition.setParameters(parameters); workDefinition.setParameterValues( (Map<String, Object>) workDefinitionMap.get("parameterValues") ); workDefinition.setResults(results); workDefinition.setDefaultHandler((String) workDefinitionMap.get("defaultHandler")); workDefinition.setDependencies(((List<String>) workDefinitionMap.get("dependencies")).toArray(new String[0])); workDefinition.setMavenDependencies(((List<String>) workDefinitionMap.get("mavenDependencies")).toArray(new String[0])); workDefinition.setVersion((String) workDefinitionMap.get("version"));
@Test public void testParameterValuesWithStringsOnly() throws Exception { Map<String, WorkDefinitionImpl> repoResults = WorkItemRepository.getWorkDefinitions(getClass().getResource("repository").toURI().toString()); assertNotNull(repoResults); assertFalse(repoResults.isEmpty()); assertNotNull(testServiceWithParamValuesTwo.getParameterValues()); Map<String, Object> parameterValues = testServiceWithParamValuesTwo.getParameterValues(); assertNotNull(parameterValues); assertEquals(parameterValues.size(), 2);
@Test public void testWorkDefinitionsPathAndFile() throws Exception { Map<String, WorkDefinitionImpl> repoResults = WorkItemRepository.getWorkDefinitions(getClass().getResource("repository").toURI().toString(), new String[]{"TestServiceOne"}); assertNotNull(repoResults); assertFalse(repoResults.isEmpty()); assertEquals(repoResults.size(), 1); assertNotNull(repoResults.get("TestServiceOne")); assertNotNull(repoResults.get("TestServiceOne").getPath()); assertTrue(repoResults.get("TestServiceOne").getPath().endsWith("/repository/TestServiceOne")); assertNotNull(repoResults.get("TestServiceOne").getFile()); assertTrue(repoResults.get("TestServiceOne").getFile().equals("TestServiceOne.wid")); }
logger.warn("Could not parse work definition as mvel. Trying as json."); try { List<Map<String, Object>> result = JsonWorkItemParser.parse(content); for (Map<String, Object> wid: result) { wid.put("path", parentPath + "/" + file);
public static Map<String, WorkDefinitionImpl> getWorkDefinitions(String path, String[] definitionNames) { return getWorkDefinitions(path, definitionNames, null); }
@Test public void testParameterValuesWithEnumsOnly() throws Exception { Map<String, WorkDefinitionImpl> repoResults = WorkItemRepository.getWorkDefinitions(getClass().getResource("repository").toURI().toString()); assertNotNull(repoResults); assertFalse(repoResults.isEmpty()); assertNotNull(testServiceWithParamValues.getParameterValues()); Map<String, Object> parameterValues = testServiceWithParamValues.getParameterValues(); assertNotNull(parameterValues); assertEquals(parameterValues.size(), 2);
private static List<Map<String, Object>> getWorkDefinitionsMap(String parentPath, String file) { String path = parentPath + "/" + file + "/" + file + ".wid"; return getWorkDefinitionsForPath(parentPath, path, file); }
@Test public void testGetWorkDefinitionsFromInvalidRepo() throws Exception { Map<String, WorkDefinitionImpl> repoResults = WorkItemRepository.getWorkDefinitions("invlidrepo"); assertNotNull(repoResults); assertTrue(repoResults.isEmpty()); }
@Test public void testParameterValuesWithStringsAndEnums() throws Exception { Map<String, WorkDefinitionImpl> repoResults = WorkItemRepository.getWorkDefinitions(getClass().getResource("repository").toURI().toString()); assertNotNull(repoResults); assertFalse(repoResults.isEmpty()); assertNotNull(testServiceWithParamValuesThree.getParameterValues()); Map<String, Object> parameterValues = testServiceWithParamValuesThree.getParameterValues(); assertNotNull(parameterValues); assertEquals(parameterValues.size(), 2);
private static List<Map<String, Object>> getWorkDefinitionsMap(String parentPath, String file) { String path = parentPath + "/" + file + "/" + file + ".wid"; return getWorkDefinitionsForPath(parentPath, path, file); }
@Test public void testGetInvalidWorkDefinitionForSingleDirRepo() throws Exception { Map<String, WorkDefinitionImpl> repoResults = WorkItemRepository.getWorkDefinitions(getClass().getResource("repositorysingledir").toURI().toString(), null, "invalidrepowid"); assertNotNull(repoResults); assertTrue(repoResults.isEmpty()); } }
@Test public void testGetWorkDefinitions() throws Exception { Map<String, WorkDefinitionImpl> repoResults = WorkItemRepository.getWorkDefinitions(getClass().getResource("repository").toURI().toString()); assertNotNull(repoResults); assertFalse(repoResults.isEmpty()); assertEquals(repoResults.size(), 9); }
@Test public void testGetWorkDefinitionsForNames() throws Exception { Map<String, WorkDefinitionImpl> repoResults = WorkItemRepository.getWorkDefinitions(getClass().getResource("repository").toURI().toString(), new String[]{"TestServiceOne", "TestServiceTwo"}); assertNotNull(repoResults); assertFalse(repoResults.isEmpty()); assertEquals(repoResults.size(), 2); }
@Test public void testGetWorkDefinitionForSingleDirRepo() throws Exception { Map<String, WorkDefinitionImpl> repoResults = WorkItemRepository.getWorkDefinitions(getClass().getResource("repositorysingledir").toURI().toString(), null, "repowid"); assertNotNull(repoResults); assertFalse(repoResults.isEmpty()); assertEquals(repoResults.size(), 1); }
@Test public void testGetWorkDefinitionsForInvalidNames() throws Exception { Map<String, WorkDefinitionImpl> repoResults = WorkItemRepository.getWorkDefinitions(getClass().getResource("repository").toURI().toString(), new String[]{"TestServiceOne", "INVALID_NAME"}); assertNotNull(repoResults); assertFalse(repoResults.isEmpty()); assertEquals(repoResults.size(), 1); Map<String, WorkDefinitionImpl> repoResults2 = WorkItemRepository.getWorkDefinitions(getClass().getResource("repository").toURI().toString(), new String[]{"INVALID_NAME1", "INVALID_NAME2"}); assertNotNull(repoResults2); assertTrue(repoResults2.isEmpty()); Map<String, WorkDefinitionImpl> repoResults3 = WorkItemRepository.getWorkDefinitions(getClass().getResource("repository").toURI().toString(), new String[]{}); assertNotNull(repoResults3); assertTrue(repoResults3.isEmpty()); }
public static Map<String, WorkDefinitionImpl> getWorkDefinitions(String path, String[] definitionNames) { return getWorkDefinitions(path, definitionNames, null); }