Navigation Menu

Skip to content

Commit

Permalink
BZ1263753 - Disable link to process instance details when activity no…
Browse files Browse the repository at this point in the history
…t present

New perspective exclusive to Drools that removes the new task button
  • Loading branch information
cristianonicolai authored and manstis committed Apr 5, 2016
1 parent 840c303 commit 2cc3356
Show file tree
Hide file tree
Showing 11 changed files with 1,157 additions and 856 deletions.
Expand Up @@ -14,6 +14,7 @@
*/
package org.jbpm.console.ng.ht.client.editors.taskprocesscontext;

import java.util.Set;
import javax.annotation.PostConstruct;
import javax.enterprise.context.Dependent;
import javax.enterprise.event.Event;
Expand All @@ -31,13 +32,18 @@
import org.jbpm.console.ng.ht.service.TaskQueryService;
import org.jbpm.console.ng.pr.model.ProcessInstanceSummary;
import org.jbpm.console.ng.pr.model.events.ProcessInstancesWithDetailsRequestEvent;
import org.uberfire.client.mvp.Activity;
import org.uberfire.client.mvp.ActivityManager;
import org.uberfire.client.mvp.PlaceManager;
import org.uberfire.client.mvp.UberView;
import org.uberfire.ext.widgets.common.client.callbacks.DefaultErrorCallback;
import org.uberfire.mvp.impl.DefaultPlaceRequest;

@Dependent
public class TaskProcessContextPresenter {

public static final String PROCESS_INSTANCE_DETAILS = "DataSet Process Instances With Variables";

public interface TaskProcessContextView extends UberView<TaskProcessContextPresenter> {

void displayNotification(String text);
Expand All @@ -51,6 +57,8 @@ public interface TaskProcessContextView extends UberView<TaskProcessContextPrese

private PlaceManager placeManager;

private ActivityManager activityManager;

private TaskProcessContextView view;

private Event<ProcessInstancesWithDetailsRequestEvent> processInstanceSelected;
Expand All @@ -61,25 +69,29 @@ public interface TaskProcessContextView extends UberView<TaskProcessContextPrese

private long currentTaskId = 0;
private long currentProcessInstanceId = -1L;
private boolean enableProcessInstanceDetails = true;

@Inject
public TaskProcessContextPresenter(
TaskProcessContextView view,
PlaceManager placeManager,
Caller<TaskQueryService> taskQueryService,
Caller<DataServiceEntryPoint> dataServices,
Event<ProcessInstancesWithDetailsRequestEvent> processInstanceSelected
) {
public TaskProcessContextPresenter(TaskProcessContextView view,
PlaceManager placeManager,
Caller<TaskQueryService> taskQueryService,
Caller<DataServiceEntryPoint> dataServices,
Event<ProcessInstancesWithDetailsRequestEvent> processInstanceSelected,
ActivityManager activityManager) {
this.view = view;
this.taskQueryService = taskQueryService;
this.dataServices = dataServices;
this.placeManager = placeManager;
this.processInstanceSelected = processInstanceSelected;
this.activityManager = activityManager;
}

@PostConstruct
public void init() {
view.init(this);
final Set<Activity> activity = activityManager.getActivities(new DefaultPlaceRequest(PROCESS_INSTANCE_DETAILS));
enableProcessInstanceDetails = activity.isEmpty() == false;
view.enablePIDetailsButton(enableProcessInstanceDetails);
}

public IsWidget getView() {
Expand All @@ -88,39 +100,40 @@ public IsWidget getView() {

public void goToProcessInstanceDetails() {
dataServices.call(new RemoteCallback<ProcessInstanceSummary>() {
@Override
public void callback(ProcessInstanceSummary summary) {
placeManager.goTo("DataSet Process Instances With Variables");
processInstanceSelected.fire(new ProcessInstancesWithDetailsRequestEvent(
summary.getDeploymentId(),
summary.getProcessInstanceId(),
summary.getProcessId(),
summary.getProcessName(),
summary.getState())
);
}
},
@Override
public void callback(ProcessInstanceSummary summary) {
placeManager.goTo(PROCESS_INSTANCE_DETAILS);
processInstanceSelected.fire(new ProcessInstancesWithDetailsRequestEvent(
summary.getDeploymentId(),
summary.getProcessInstanceId(),
summary.getProcessId(),
summary.getProcessName(),
summary.getState())
);
}
},
new DefaultErrorCallback()
).getProcessInstanceById(currentProcessInstanceId);
}

public void refreshProcessContextOfTask() {
taskQueryService.call(new RemoteCallback<TaskSummary>() {
@Override
public void callback(TaskSummary details) {
if (details == null || details.getProcessInstanceId() == -1) {
view.setProcessInstanceId("None");
view.setProcessId("None");
view.enablePIDetailsButton(false);
return;
}

currentProcessInstanceId = details.getProcessInstanceId();
view.setProcessInstanceId(String.valueOf(currentProcessInstanceId));
view.setProcessId(details.getProcessId());
view.enablePIDetailsButton(true);
}
},
@Override
public void callback(TaskSummary details) {
if (details == null || details.getProcessInstanceId() == -1) {
view.setProcessInstanceId("None");
view.setProcessId("None");
view.enablePIDetailsButton(false);
return;
}

currentProcessInstanceId = details.getProcessInstanceId();
view.setProcessInstanceId(String.valueOf(currentProcessInstanceId));
view.setProcessId(details.getProcessId());
view.enablePIDetailsButton(true);
view.enablePIDetailsButton(enableProcessInstanceDetails);
}
},
new DefaultErrorCallback()
).getItem(new TaskKey(currentTaskId));
}
Expand Down

0 comments on commit 2cc3356

Please sign in to comment.