use of org.camunda.bpm.engine.task.IdentityLink in project camunda-bpm-platform by camunda.
the class HalIdentityLinkResolver method resolveNotCachedLinks.
protected List<HalResource<?>> resolveNotCachedLinks(String[] linkedIds, ProcessEngine processEngine) {
TaskService taskService = processEngine.getTaskService();
List<IdentityLink> identityLinks = taskService.getIdentityLinksForTask(linkedIds[0]);
List<HalResource<?>> resolvedIdentityLinks = new ArrayList<HalResource<?>>();
for (IdentityLink identityLink : identityLinks) {
resolvedIdentityLinks.add(HalIdentityLink.fromIdentityLink(identityLink));
}
return resolvedIdentityLinks;
}
use of org.camunda.bpm.engine.task.IdentityLink in project camunda-bpm-platform by camunda.
the class TaskRestServiceInteractionTest method setUpRuntimeData.
@Before
public void setUpRuntimeData() {
taskServiceMock = mock(TaskService.class);
when(processEngine.getTaskService()).thenReturn(taskServiceMock);
mockTask = MockProvider.createMockTask();
mockQuery = mock(TaskQuery.class);
when(mockQuery.initializeFormKeys()).thenReturn(mockQuery);
when(mockQuery.taskId(anyString())).thenReturn(mockQuery);
when(mockQuery.singleResult()).thenReturn(mockTask);
when(taskServiceMock.createTaskQuery()).thenReturn(mockQuery);
List<IdentityLink> identityLinks = new ArrayList<IdentityLink>();
mockAssigneeIdentityLink = MockProvider.createMockUserAssigneeIdentityLink();
identityLinks.add(mockAssigneeIdentityLink);
mockOwnerIdentityLink = MockProvider.createMockUserOwnerIdentityLink();
identityLinks.add(mockOwnerIdentityLink);
mockCandidateGroupIdentityLink = MockProvider.createMockCandidateGroupIdentityLink();
identityLinks.add(mockCandidateGroupIdentityLink);
mockCandidateGroup2IdentityLink = MockProvider.createAnotherMockCandidateGroupIdentityLink();
identityLinks.add(mockCandidateGroup2IdentityLink);
when(taskServiceMock.getIdentityLinksForTask(EXAMPLE_TASK_ID)).thenReturn(identityLinks);
mockTaskComment = MockProvider.createMockTaskComment();
when(taskServiceMock.getTaskComment(EXAMPLE_TASK_ID, EXAMPLE_TASK_COMMENT_ID)).thenReturn(mockTaskComment);
mockTaskComments = MockProvider.createMockTaskComments();
when(taskServiceMock.getTaskComments(EXAMPLE_TASK_ID)).thenReturn(mockTaskComments);
when(taskServiceMock.createComment(EXAMPLE_TASK_ID, null, EXAMPLE_TASK_COMMENT_FULL_MESSAGE)).thenReturn(mockTaskComment);
mockTaskAttachment = MockProvider.createMockTaskAttachment();
when(taskServiceMock.getTaskAttachment(EXAMPLE_TASK_ID, EXAMPLE_TASK_ATTACHMENT_ID)).thenReturn(mockTaskAttachment);
mockTaskAttachments = MockProvider.createMockTaskAttachments();
when(taskServiceMock.getTaskAttachments(EXAMPLE_TASK_ID)).thenReturn(mockTaskAttachments);
when(taskServiceMock.createAttachment(anyString(), anyString(), anyString(), anyString(), anyString(), anyString())).thenReturn(mockTaskAttachment);
when(taskServiceMock.createAttachment(anyString(), anyString(), anyString(), anyString(), anyString(), any(InputStream.class))).thenReturn(mockTaskAttachment);
when(taskServiceMock.getTaskAttachmentContent(EXAMPLE_TASK_ID, EXAMPLE_TASK_ATTACHMENT_ID)).thenReturn(new ByteArrayInputStream(createMockByteData()));
formServiceMock = mock(FormService.class);
when(processEngine.getFormService()).thenReturn(formServiceMock);
TaskFormData mockFormData = MockProvider.createMockTaskFormData();
when(formServiceMock.getTaskFormData(anyString())).thenReturn(mockFormData);
VariableMap variablesMock = MockProvider.createMockFormVariables();
when(formServiceMock.getTaskFormVariables(eq(EXAMPLE_TASK_ID), Matchers.<Collection<String>>any(), anyBoolean())).thenReturn(variablesMock);
repositoryServiceMock = mock(RepositoryService.class);
when(processEngine.getRepositoryService()).thenReturn(repositoryServiceMock);
ProcessDefinition mockDefinition = MockProvider.createMockDefinition();
when(repositoryServiceMock.getProcessDefinition(MockProvider.EXAMPLE_PROCESS_DEFINITION_ID)).thenReturn(mockDefinition);
managementServiceMock = mock(ManagementService.class);
when(processEngine.getManagementService()).thenReturn(managementServiceMock);
when(managementServiceMock.getProcessApplicationForDeployment(MockProvider.EXAMPLE_DEPLOYMENT_ID)).thenReturn(MockProvider.EXAMPLE_PROCESS_APPLICATION_NAME);
when(managementServiceMock.getHistoryLevel()).thenReturn(ProcessEngineConfigurationImpl.HISTORYLEVEL_FULL);
HistoryService historyServiceMock = mock(HistoryService.class);
when(processEngine.getHistoryService()).thenReturn(historyServiceMock);
historicTaskInstanceQueryMock = mock(HistoricTaskInstanceQuery.class);
when(historyServiceMock.createHistoricTaskInstanceQuery()).thenReturn(historicTaskInstanceQueryMock);
when(historicTaskInstanceQueryMock.taskId(eq(EXAMPLE_TASK_ID))).thenReturn(historicTaskInstanceQueryMock);
HistoricTaskInstance historicTaskInstanceMock = createMockHistoricTaskInstance();
when(historicTaskInstanceQueryMock.singleResult()).thenReturn(historicTaskInstanceMock);
// replace the runtime container delegate & process application service with a mock
ProcessApplicationService processApplicationService = mock(ProcessApplicationService.class);
ProcessApplicationInfo appMock = MockProvider.createMockProcessApplicationInfo();
when(processApplicationService.getProcessApplicationInfo(MockProvider.EXAMPLE_PROCESS_APPLICATION_NAME)).thenReturn(appMock);
RuntimeContainerDelegate delegate = mock(RuntimeContainerDelegate.class);
when(delegate.getProcessApplicationService()).thenReturn(processApplicationService);
RuntimeContainerDelegate.INSTANCE.set(delegate);
}
use of org.camunda.bpm.engine.task.IdentityLink in project camunda-bpm-platform by camunda.
the class MockProvider method createAnotherMockCandidateGroupIdentityLink.
public static IdentityLink createAnotherMockCandidateGroupIdentityLink() {
IdentityLink identityLink = mock(IdentityLink.class);
when(identityLink.getTaskId()).thenReturn(EXAMPLE_TASK_ID);
when(identityLink.getType()).thenReturn(IdentityLinkType.CANDIDATE);
when(identityLink.getGroupId()).thenReturn(EXAMPLE_GROUP_ID2);
return identityLink;
}
use of org.camunda.bpm.engine.task.IdentityLink in project camunda-bpm-platform by camunda.
the class TaskResourceImpl method getIdentityLinks.
@Override
public List<IdentityLinkDto> getIdentityLinks(String type) {
TaskService taskService = engine.getTaskService();
List<IdentityLink> identityLinks = taskService.getIdentityLinksForTask(taskId);
List<IdentityLinkDto> result = new ArrayList<IdentityLinkDto>();
for (IdentityLink link : identityLinks) {
if (type == null || type.equals(link.getType())) {
result.add(IdentityLinkDto.fromIdentityLink(link));
}
}
return result;
}
use of org.camunda.bpm.engine.task.IdentityLink in project camunda-bpm-platform by camunda.
the class HalResourceCacheTest method testIdentityLinkCaching.
@Test
public void testIdentityLinkCaching() {
String[] taskIds = new String[] { "test" };
// mock identityLinks and query
IdentityLink link1 = mock(IdentityLink.class);
when(link1.getTaskId()).thenReturn(taskIds[0]);
IdentityLink link2 = mock(IdentityLink.class);
when(link2.getTaskId()).thenReturn(taskIds[0]);
when(processEngine.getTaskService().getIdentityLinksForTask(anyString())).thenReturn(Arrays.asList(link1, link2));
// configure cache
HalRelationCacheConfiguration configuration = new HalRelationCacheConfiguration();
configuration.setCacheImplementationClass(DefaultHalResourceCache.class);
Map<String, Object> halIdentityLinkConfig = new HashMap<String, Object>();
halIdentityLinkConfig.put("capacity", 100);
halIdentityLinkConfig.put("secondsToLive", 10000);
configuration.addCacheConfiguration(HalIdentityLink.class, halIdentityLinkConfig);
contextListener.configureCaches(configuration);
// cache exists and is empty
DefaultHalResourceCache cache = (DefaultHalResourceCache) Hal.getInstance().getHalRelationCache(HalIdentityLink.class);
assertNotNull(cache);
assertEquals(0, cache.size());
// get link resolver and resolve identity link
HalLinkResolver linkResolver = Hal.getInstance().getLinkResolver(IdentityRestService.class);
List<HalResource<?>> halIdentityLinks = linkResolver.resolveLinks(taskIds, processEngine);
assertEquals(2, halIdentityLinks.size());
assertEquals(1, cache.size());
assertEquals(halIdentityLinks, cache.get(taskIds[0]));
}
Aggregations