Skip to content

Commit

Permalink
BZ-1129659: upgrading job list and fix type/name
Browse files Browse the repository at this point in the history
  • Loading branch information
salaboy committed Nov 25, 2014
1 parent 4a90a29 commit 20da8e0
Show file tree
Hide file tree
Showing 11 changed files with 467 additions and 471 deletions.
Expand Up @@ -29,6 +29,10 @@
<name>jBPM Console NG - Executor Service API</name>

<dependencies>
<dependency>
<groupId>org.jbpm</groupId>
<artifactId>jbpm-console-ng-generic-api</artifactId>
</dependency>
<dependency>
<groupId>org.jboss.errai</groupId>
<artifactId>errai-bus</artifactId>
Expand Down
Expand Up @@ -16,12 +16,13 @@

package org.jbpm.console.ng.es.model;

import java.io.Serializable;
import java.util.Date;

import org.jboss.errai.common.client.api.annotations.Portable;
import org.jbpm.console.ng.ga.model.GenericSummary;

@Portable
public class RequestSummary implements Serializable {
public class RequestSummary extends GenericSummary {

private Long id;
private Date time;
Expand Down
Expand Up @@ -24,6 +24,8 @@
import org.jbpm.console.ng.es.model.ErrorSummary;
import org.jbpm.console.ng.es.model.RequestDetails;
import org.jbpm.console.ng.es.model.RequestSummary;
import org.jbpm.console.ng.ga.model.QueryFilter;
import org.uberfire.paging.PageResponse;

@Remote
public interface ExecutorServiceEntryPoint {
Expand Down Expand Up @@ -83,5 +85,7 @@ public interface ExecutorServiceEntryPoint {
public List<RequestSummary> getRunningRequests();

public List<RequestSummary> getFutureQueuedRequests();

public PageResponse<RequestSummary> getData(QueryFilter filter);

}
Expand Up @@ -16,6 +16,9 @@

package org.jbpm.console.ng.es.backend.server;

import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
Expand All @@ -27,18 +30,22 @@
import org.jboss.errai.bus.server.annotations.Service;
import org.jbpm.console.ng.es.model.ErrorSummary;
import org.jbpm.console.ng.es.model.RequestDetails;
import org.jbpm.console.ng.es.model.RequestKey;
import org.jbpm.console.ng.es.model.RequestParameterSummary;
import org.jbpm.console.ng.es.model.RequestSummary;
import org.jbpm.console.ng.es.service.ExecutorServiceEntryPoint;
import org.jbpm.console.ng.ga.model.QueryFilter;
import org.jbpm.console.ng.ga.service.GenericServiceEntryPoint;
import org.jbpm.executor.RequeueAware;
import org.kie.internal.executor.api.CommandContext;
import org.kie.internal.executor.api.ExecutorService;
import org.kie.internal.executor.api.RequestInfo;
import org.kie.internal.executor.api.STATUS;
import org.uberfire.paging.PageResponse;

@Service
@ApplicationScoped
public class ExecutorServiceEntryPointImpl implements ExecutorServiceEntryPoint {
public class ExecutorServiceEntryPointImpl implements ExecutorServiceEntryPoint ,GenericServiceEntryPoint<RequestKey, RequestSummary> {

@Inject
ExecutorService executor;
Expand Down Expand Up @@ -203,4 +210,52 @@ public List<RequestSummary> getFutureQueuedRequests() {
return RequestSummaryHelper.adaptRequestList(executor.getFutureQueuedRequests());
}

@Override
public PageResponse<RequestSummary> getData(QueryFilter filter) {
PageResponse<RequestSummary> response = new PageResponse<RequestSummary>();
List<String> states = null;
if (filter.getParams() != null) {
states = (List<String>) filter.getParams().get("states");
}
Collection<RequestInfo> requestInfoList = null;
if (states == null || states.isEmpty()) {
requestInfoList = executor.getAllRequests();
}else{
List<STATUS> statusList = RequestSummaryHelper.adaptStatusList(states);
requestInfoList =executor.getRequestsByStatus(statusList);
}
List<RequestSummary> requestSummarys = new ArrayList<RequestSummary>(requestInfoList.size()); ;
for(RequestInfo requestInfo:requestInfoList){
if (filter.getParams().get("textSearch") == null || ((String) filter.getParams().get("textSearch")).isEmpty()) {
requestSummarys.add( RequestSummaryHelper.adaptRequest( requestInfo ) );
}else if(requestInfo.getCommandName().toLowerCase().contains((String) filter.getParams().get("textSearch"))){
requestSummarys.add( RequestSummaryHelper.adaptRequest( requestInfo ) );
}

}
response.setStartRowIndex(filter.getOffset());
response.setTotalRowSize(requestSummarys.size()-1);
if(requestSummarys.size() > filter.getCount()){
response.setTotalRowSizeExact(false);
} else{
response.setTotalRowSizeExact(true);
}

if (!requestSummarys.isEmpty() && requestSummarys.size() > (filter.getCount() + filter.getOffset())) {
response.setPageRowList(new ArrayList<RequestSummary>(requestSummarys.subList(filter.getOffset(), filter.getOffset() + filter.getCount())));
response.setLastPage(false);

} else {
response.setPageRowList(new ArrayList<RequestSummary>(requestSummarys));
response.setLastPage(true);

}
return response;
}

@Override
public RequestSummary getItem(RequestKey key) {
// TODO Auto-generated method stub
return null;
}
}
Expand Up @@ -29,6 +29,10 @@
<name>jBPM Console NG - Executor Service Client</name>

<dependencies>
<dependency>
<groupId>org.jbpm</groupId>
<artifactId>jbpm-console-ng-generic-client</artifactId>
</dependency>
<dependency>
<groupId>org.jbpm</groupId>
<artifactId>jbpm-console-ng-executor-service-api</artifactId>
Expand Down
Expand Up @@ -16,71 +16,51 @@

package org.jbpm.console.ng.es.client.editors.requestlist;

import com.github.gwtbootstrap.client.ui.CheckBox;
import com.github.gwtbootstrap.client.ui.NavLink;
import com.google.gwt.core.client.GWT;
import com.google.gwt.user.cellview.client.ColumnSortEvent;
import com.google.gwt.user.cellview.client.DataGrid;

import com.google.gwt.view.client.HasData;
import com.google.gwt.view.client.ListDataProvider;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import javax.enterprise.context.Dependent;
import javax.enterprise.event.Event;
import javax.inject.Inject;
import org.jboss.errai.common.client.api.RemoteCallback;

import org.jboss.errai.common.client.api.Caller;
import org.jboss.errai.common.client.api.ErrorCallback;
import org.jboss.errai.common.client.api.RemoteCallback;
import org.jbpm.console.ng.es.client.i18n.Constants;
import org.jbpm.console.ng.es.model.RequestSummary;
import org.jbpm.console.ng.es.model.events.RequestChangedEvent;
import org.jbpm.console.ng.es.service.ExecutorServiceEntryPoint;
import org.kie.workbench.common.widgets.client.search.ClearSearchEvent;
import org.jbpm.console.ng.ga.model.PortableQueryFilter;
import org.jbpm.console.ng.gc.client.list.base.AbstractListView.ListView;
import org.jbpm.console.ng.gc.client.list.base.AbstractScreenListPresenter;
import org.uberfire.client.annotations.WorkbenchMenu;

import org.uberfire.client.annotations.WorkbenchPartTitle;
import org.uberfire.client.annotations.WorkbenchPartView;
import org.uberfire.client.annotations.WorkbenchScreen;
import org.uberfire.client.mvp.PlaceManager;
import org.uberfire.client.mvp.UberView;
import org.uberfire.mvp.Command;
import org.uberfire.mvp.impl.DefaultPlaceRequest;
import org.uberfire.paging.PageResponse;
import org.uberfire.workbench.model.menu.MenuFactory;
import org.uberfire.workbench.model.menu.Menus;

import com.google.gwt.core.client.GWT;
import org.jboss.errai.bus.client.api.messaging.Message;
import com.google.gwt.user.cellview.client.ColumnSortList;
import com.google.gwt.view.client.AsyncDataProvider;
import com.google.gwt.view.client.HasData;
import com.google.gwt.view.client.Range;

@Dependent
@WorkbenchScreen(identifier = "Requests List")
public class RequestListPresenter {

public interface RequestListView extends UberView<RequestListPresenter> {

void displayNotification(String text);

NavLink getShowAllLink();

NavLink getShowQueuedLink();

NavLink getShowRunningLink();

NavLink getShowRetryingLink();

NavLink getShowErrorLink();
public class RequestListPresenter extends AbstractScreenListPresenter<RequestSummary> {

NavLink getShowCompletedLink();
public interface RequestListView extends ListView<RequestSummary, RequestListPresenter> {

NavLink getShowCancelledLink();

DataGrid<RequestSummary> getDataGrid();

ColumnSortEvent.ListHandler<RequestSummary> getSortHandler();
}
private Constants constants = GWT.create( Constants.class );

@Inject
private PlaceManager placeManager;

@Inject
private RequestListView view;

Expand All @@ -91,14 +71,69 @@ public interface RequestListView extends UberView<RequestListPresenter> {
@Inject
private Event<RequestChangedEvent> requestChangedEvent;

private ListDataProvider<RequestSummary> dataProvider = new ListDataProvider<RequestSummary>();

private List<String> currentActiveStates;

public RequestListPresenter() {
onRangeChanged();
makeMenuBar();
}



private void onRangeChanged(){
dataProvider = new AsyncDataProvider<RequestSummary>() {
@Override
protected void onRangeChanged(HasData<RequestSummary> display) {
final Range visibleRange = display.getVisibleRange();
ColumnSortList columnSortList = view.getListGrid().getColumnSortList();
if (currentFilter == null) {
currentFilter = new PortableQueryFilter(visibleRange.getStart(),
visibleRange.getLength(),
false, "",
(columnSortList.size() > 0) ? columnSortList.get(0)
.getColumn().getDataStoreName() : "",
(columnSortList.size() > 0) ? columnSortList.get(0)
.isAscending() : true);
}
// If we are refreshing after a search action, we need to go back to offset 0
if (currentFilter.getParams() == null || currentFilter.getParams().isEmpty()
|| currentFilter.getParams().get("textSearch") == null || currentFilter.getParams().get("textSearch").equals("")) {
currentFilter.setOffset(visibleRange.getStart());
currentFilter.setCount(visibleRange.getLength());
} else {
currentFilter.setOffset(0);
currentFilter.setCount(view.getListGrid().getPageSize());
}
//Applying screen specific filters
if (currentFilter.getParams() == null) {
currentFilter.setParams(new HashMap<String, Object>());
}
currentFilter.getParams().put("states", currentActiveStates);

currentFilter.setOrderBy((columnSortList.size() > 0) ? columnSortList.get(0)
.getColumn().getDataStoreName() : "");
currentFilter.setIsAscending((columnSortList.size() > 0) ? columnSortList.get(0)
.isAscending() : true);

executorServices.call(new RemoteCallback<PageResponse<RequestSummary>>() {
@Override
public void callback(PageResponse<RequestSummary> response) {
dataProvider.updateRowCount( response.getTotalRowSize(),
response.isTotalRowSizeExact() );
dataProvider.updateRowData( response.getStartRowIndex(),
response.getPageRowList() );
}
}, new ErrorCallback<Message>() {
@Override
public boolean error(Message message, Throwable throwable) {
view.hideBusyIndicator();
view.displayNotification("Error: Getting Jbos Requests: " + message);
GWT.log(throwable.toString());
return true;
}
}).getData(currentFilter);
}
} ;
}
@WorkbenchPartTitle
public String getTitle() {
return constants.RequestsListTitle();
Expand All @@ -110,26 +145,8 @@ public UberView<RequestListPresenter> getView() {
}

public void refreshRequests(List<String> statuses) {
if (statuses == null || statuses.isEmpty()) {
executorServices.call(new RemoteCallback<List<RequestSummary>>() {
@Override
public void callback(List<RequestSummary> requests) {
dataProvider.setList(requests);
dataProvider.refresh();
view.getSortHandler().getList().addAll(dataProvider.getList());

}
}).getAllRequests();
} else {
executorServices.call(new RemoteCallback<List<RequestSummary>>() {
@Override
public void callback(List<RequestSummary> requests) {
dataProvider.setList(requests);
dataProvider.refresh();
view.getSortHandler().getList().addAll(dataProvider.getList());
}
}).getRequestsByStatus(statuses);
}
currentActiveStates = statuses;
refreshGrid();
}

public void init() {
Expand Down Expand Up @@ -157,14 +174,10 @@ public void addDataDisplay(HasData<RequestSummary> display) {
dataProvider.addDataDisplay(display);
}

public ListDataProvider<RequestSummary> getDataProvider() {
public AsyncDataProvider<RequestSummary> getDataProvider() {
return dataProvider;
}

public void refreshData() {
dataProvider.refresh();
}

public void cancelRequest(final Long requestId) {
executorServices.call(new RemoteCallback<Void>() {
@Override
Expand Down Expand Up @@ -212,15 +225,7 @@ public void execute() {
.endMenu()
.newTopLevelMenu(constants.Refresh())
.respondsWith(new Command() {
@Override
public void execute() {
view.getShowAllLink().setStyleName("active");
view.getShowCompletedLink().setStyleName("");
view.getShowCancelledLink().setStyleName("");
view.getShowErrorLink().setStyleName("");
view.getShowQueuedLink().setStyleName("");
view.getShowRetryingLink().setStyleName("");
view.getShowRunningLink().setStyleName("");
refreshRequests(null);
// clearSearchEvent.fire(new ClearSearchEvent());
// view.setCurrentFilter("");
Expand All @@ -230,6 +235,4 @@ public void execute() {
.endMenu().build();

}


}

0 comments on commit 20da8e0

Please sign in to comment.