From 208c3215bbd0e4aabf83fb59897b8a27160cb612 Mon Sep 17 00:00:00 2001 From: Cristiano Nicolai Date: Wed, 8 Jun 2016 15:08:21 +1000 Subject: [PATCH] Migrate human task information on process definition details --- .../console/ng/bd/model/TaskDefSummary.java | 10 +++-- .../integration/RemoteRuntimeDataService.java | 7 ++- .../RemoteRuntimeDataServiceImpl.java | 13 +++++- ...dvancedViewProcessDefDetailsPresenter.java | 45 +++++++++++-------- 4 files changed, 51 insertions(+), 24 deletions(-) diff --git a/jbpm-console-ng-business-domain/jbpm-console-ng-business-domain-api/src/main/java/org/jbpm/console/ng/bd/model/TaskDefSummary.java b/jbpm-console-ng-business-domain/jbpm-console-ng-business-domain-api/src/main/java/org/jbpm/console/ng/bd/model/TaskDefSummary.java index e75f28b363..bf8c449b8a 100644 --- a/jbpm-console-ng-business-domain/jbpm-console-ng-business-domain-api/src/main/java/org/jbpm/console/ng/bd/model/TaskDefSummary.java +++ b/jbpm-console-ng-business-domain/jbpm-console-ng-business-domain-api/src/main/java/org/jbpm/console/ng/bd/model/TaskDefSummary.java @@ -24,14 +24,18 @@ public class TaskDefSummary implements Serializable { private long id; private String name; - public TaskDefSummary(long id, String name) { - super(); + public TaskDefSummary(long id, final String name) { + this(name); this.id = id; - this.name = name; + } + public TaskDefSummary(final String name) { + super(); + this.name = name; } public TaskDefSummary() { + super(); } public long getId() { diff --git a/jbpm-console-ng-process-runtime/jbpm-console-ng-process-runtime-api/src/main/java/org/jbpm/console/ng/pr/service/integration/RemoteRuntimeDataService.java b/jbpm-console-ng-process-runtime/jbpm-console-ng-process-runtime-api/src/main/java/org/jbpm/console/ng/pr/service/integration/RemoteRuntimeDataService.java index dfeadf7e6e..b69b0ac1d1 100644 --- a/jbpm-console-ng-process-runtime/jbpm-console-ng-process-runtime-api/src/main/java/org/jbpm/console/ng/pr/service/integration/RemoteRuntimeDataService.java +++ b/jbpm-console-ng-process-runtime/jbpm-console-ng-process-runtime-api/src/main/java/org/jbpm/console/ng/pr/service/integration/RemoteRuntimeDataService.java @@ -25,7 +25,7 @@ import org.jbpm.console.ng.bd.model.ProcessInstanceSummary; import org.jbpm.console.ng.bd.model.ProcessSummary; import org.jbpm.console.ng.bd.model.RuntimeLogSummary; -import org.kie.internal.query.QueryFilter; +import org.jbpm.console.ng.bd.model.TaskDefSummary; @Remote public interface RemoteRuntimeDataService { @@ -47,4 +47,7 @@ public interface RemoteRuntimeDataService { List getProcessesByFilter(String serverTemplateId, String textSearch, Integer page, Integer pageSize); ProcessSummary getProcessesByContainerIdProcessId(String serverTemplateId, String containerId, String processId); -} + + List getProcessUserTasks(String serverTemplateId, String containerId, String processId); + +} \ No newline at end of file diff --git a/jbpm-console-ng-process-runtime/jbpm-console-ng-process-runtime-backend/src/main/java/org/jbpm/console/ng/pr/backend/server/integration/RemoteRuntimeDataServiceImpl.java b/jbpm-console-ng-process-runtime/jbpm-console-ng-process-runtime-backend/src/main/java/org/jbpm/console/ng/pr/backend/server/integration/RemoteRuntimeDataServiceImpl.java index a0ebf44751..83e2bb857a 100644 --- a/jbpm-console-ng-process-runtime/jbpm-console-ng-process-runtime-backend/src/main/java/org/jbpm/console/ng/pr/backend/server/integration/RemoteRuntimeDataServiceImpl.java +++ b/jbpm-console-ng-process-runtime/jbpm-console-ng-process-runtime-backend/src/main/java/org/jbpm/console/ng/pr/backend/server/integration/RemoteRuntimeDataServiceImpl.java @@ -18,6 +18,7 @@ import java.util.ArrayList; import java.util.List; +import java.util.stream.Collectors; import javax.enterprise.context.ApplicationScoped; import javax.inject.Inject; @@ -29,10 +30,11 @@ import org.jbpm.console.ng.bd.model.ProcessInstanceSummary; import org.jbpm.console.ng.bd.model.ProcessSummary; import org.jbpm.console.ng.bd.model.RuntimeLogSummary; +import org.jbpm.console.ng.bd.model.TaskDefSummary; import org.jbpm.console.ng.bd.model.UserTaskSummary; import org.jbpm.console.ng.pr.service.integration.RemoteRuntimeDataService; -import org.kie.internal.query.QueryFilter; import org.kie.server.api.model.definition.ProcessDefinition; +import org.kie.server.api.model.definition.UserTaskDefinitionList; import org.kie.server.api.model.instance.NodeInstance; import org.kie.server.api.model.instance.ProcessInstance; import org.kie.server.api.model.instance.TaskEventInstance; @@ -236,6 +238,15 @@ public ProcessSummary getProcessesByContainerIdProcessId(String serverTemplateId return summary; } + @Override + public List getProcessUserTasks(final String serverTemplateId, final String containerId, final String processId){ + ProcessServicesClient processServicesClient = getClient(serverTemplateId, ProcessServicesClient.class); + + final UserTaskDefinitionList userTaskDefinitionList = processServicesClient.getUserTaskDefinitions(containerId, processId); + + return userTaskDefinitionList.getItems().stream().map(t -> new TaskDefSummary(t.getName())).collect(Collectors.toList()); + } + @Override public List getRuntimeLogs(String serverTemplateId, Long processInstanceId) { List processInstanceHistory = getProcessInstanceHistory(serverTemplateId, processInstanceId); diff --git a/jbpm-console-ng-process-runtime/jbpm-console-ng-process-runtime-client/src/main/java/org/jbpm/console/ng/pr/client/editors/definition/details/advance/AdvancedViewProcessDefDetailsPresenter.java b/jbpm-console-ng-process-runtime/jbpm-console-ng-process-runtime-client/src/main/java/org/jbpm/console/ng/pr/client/editors/definition/details/advance/AdvancedViewProcessDefDetailsPresenter.java index fc6724fe36..1938b3e6d9 100644 --- a/jbpm-console-ng-process-runtime/jbpm-console-ng-process-runtime-client/src/main/java/org/jbpm/console/ng/pr/client/editors/definition/details/advance/AdvancedViewProcessDefDetailsPresenter.java +++ b/jbpm-console-ng-process-runtime/jbpm-console-ng-process-runtime-client/src/main/java/org/jbpm/console/ng/pr/client/editors/definition/details/advance/AdvancedViewProcessDefDetailsPresenter.java @@ -24,7 +24,6 @@ import com.google.gwt.safehtml.shared.SafeHtmlBuilder; import com.google.gwt.user.client.ui.HTML; import com.google.gwt.user.client.ui.IsWidget; -import org.jboss.errai.bus.client.api.messaging.Message; import org.jboss.errai.common.client.api.Caller; import org.jboss.errai.common.client.api.RemoteCallback; import org.jbpm.console.ng.bd.model.ProcessDefinitionKey; @@ -173,27 +172,37 @@ private void refreshAssociatedEntities( Map entities ) { } } - private void refreshTaskDef( List tasks ) { - view.getNroOfHumanTasksText().setText( - String.valueOf( tasks.size() ) ); + private void refreshTaskDef( final String serverTemplateId, final String deploymentId, final String processId ) { + view.getNroOfHumanTasksText().setText( "" ); view.getHumanTasksListBox().setText( "" ); - SafeHtmlBuilder safeHtmlBuilder = new SafeHtmlBuilder(); - if (tasks.isEmpty()) { - safeHtmlBuilder.appendEscapedLines(constants.NoUserTasksDefinedInThisProcess()); - view.getHumanTasksListBox().setStyleName( "muted" ); - view.getHumanTasksListBox().setHTML( - safeHtmlBuilder.toSafeHtml() ); - } else { - for (TaskDefSummary t : tasks) { - safeHtmlBuilder.appendEscapedLines( t.getName() + "\n" ); + + processDefService.call(new RemoteCallback>() { + + @Override + public void callback(final List userTaskSummaries) { + view.getNroOfHumanTasksText().setText( String.valueOf(userTaskSummaries.size()) ); + + SafeHtmlBuilder safeHtmlBuilder = new SafeHtmlBuilder(); + if (userTaskSummaries.isEmpty()) { + safeHtmlBuilder.appendEscapedLines(constants.NoUserTasksDefinedInThisProcess()); + view.getHumanTasksListBox().setStyleName( "muted" ); + view.getHumanTasksListBox().setHTML( + safeHtmlBuilder.toSafeHtml() ); + } else { + for (TaskDefSummary t : userTaskSummaries) { + safeHtmlBuilder.appendEscapedLines( t.getName() + "\n" ); + } + view.getHumanTasksListBox().setHTML( + safeHtmlBuilder.toSafeHtml() ); + } } - view.getHumanTasksListBox().setHTML( - safeHtmlBuilder.toSafeHtml() ); - } + + }, new DefaultErrorCallback()).getProcessUserTasks(serverTemplateId, deploymentId, processId); + } @Override - protected void refreshProcessDef( String serverTemplateId, final String deploymentId, final String processId ) { + protected void refreshProcessDef( final String serverTemplateId, final String deploymentId, final String processId ) { processDefService.call( new RemoteCallback() { @@ -201,7 +210,7 @@ protected void refreshProcessDef( String serverTemplateId, final String deployme public void callback( ProcessSummary process ) { if (process != null) { -// refreshTaskDef( process. ); + refreshTaskDef( serverTemplateId, deploymentId, processId ); refreshAssociatedEntities( process.getAssociatedEntities() );