Skip to content

Commit

Permalink
Merge pull request #9 from nmirasch/kie-server-for-workbench_taskAdmin
Browse files Browse the repository at this point in the history
jobs list pagination not depending on totalRowSize.
  • Loading branch information
cristianonicolai committed Jun 7, 2016
2 parents d541228 + 20a4df0 commit 42ee766
Show file tree
Hide file tree
Showing 8 changed files with 55 additions and 35 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -212,17 +212,12 @@ public void callback(DataSet dataSet) {
dataSetQueryHelper.getColumnStringValue(dataSet, COLUMN_BUSINESSKEY, i)));

}
PageResponse<RequestSummary> requestSummaryPageResponse = new PageResponse<RequestSummary>();
requestSummaryPageResponse.setPageRowList(myRequestSumaryFromDataSet);
requestSummaryPageResponse.setStartRowIndex(visibleRange.getStart());
requestSummaryPageResponse.setTotalRowSize(dataSet.getRowCountNonTrimmed());
requestSummaryPageResponse.setTotalRowSizeExact(true);
if (visibleRange.getStart() + dataSet.getRowCount() == dataSet.getRowCountNonTrimmed()) {
requestSummaryPageResponse.setLastPage(true);
} else {
requestSummaryPageResponse.setLastPage(false);
boolean lastPageExactCount=false;
if( dataSet.getRowCount() < view.getListGrid().getPageSize()) {
lastPageExactCount=true;
}
updateDataOnCallback(requestSummaryPageResponse);
updateDataOnCallback(myRequestSumaryFromDataSet,visibleRange.getStart(),visibleRange.getStart()+ myRequestSumaryFromDataSet.size(), lastPageExactCount);

}
}
});
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -93,7 +93,7 @@ protected void updateRefreshTimer() {
if (refreshTimer == null) {
refreshTimer = new Timer() {
public void run() {
getData(dataProvider.getDataDisplays().iterator().next().getVisibleRange());
getData(getListView().getListGrid().getVisibleRange());
}
};
}else{
Expand Down Expand Up @@ -130,11 +130,11 @@ public void updateDataOnCallback(PageResponse response){
updateRefreshTimer();
}

public void updateDataOnCallback(List<T> instanceSummaries, int startRange, boolean lastPage){
public void updateDataOnCallback(List<T> instanceSummaries, int startRange, int totalRowCount, boolean isExact){

getListView().hideBusyIndicator();
dataProvider.updateRowCount(instanceSummaries.size() + startRange,
lastPage);
dataProvider.updateRowCount(totalRowCount,
isExact);
dataProvider.updateRowData(startRange,
instanceSummaries);

Expand All @@ -155,7 +155,9 @@ public void onRefresh() {
}

public void refreshGrid() {
getListView().getListGrid().setVisibleRangeAndClearData(getListView().getListGrid().getVisibleRange(),true);
if(getListView().getListGrid()!=null) {
getListView().getListGrid().setVisibleRangeAndClearData(getListView().getListGrid().getVisibleRange(), true);
}
}

protected void onSearchEvent(@Observes SearchEvent searchEvent) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@
import com.google.gwt.view.client.Range;
import com.google.gwtmockito.GwtMockitoTestRunner;
import org.apache.commons.lang3.RandomStringUtils;
import org.drools.core.spi.DataProvider;
import org.jbpm.console.ng.gc.client.experimental.grid.base.ExtendedPagedTable;
import org.jbpm.console.ng.gc.client.list.base.events.SearchEvent;
import org.junit.Before;
import org.junit.Test;
Expand All @@ -46,6 +46,9 @@ public class AbstractListPresenterTest {
@Mock
private AbstractListView.ListView viewMock;

@Mock
ExtendedPagedTable extendedPagedTable;

@Mock
HasData next;

Expand Down Expand Up @@ -135,7 +138,7 @@ public void testUpDateDataOnCallBackFirstPage() {

int startRange = 0;
testListPresenter.setDataProvider(dataProviderMock);
testListPresenter.updateDataOnCallback(instanceSummaries, startRange, false);
testListPresenter.updateDataOnCallback(instanceSummaries, startRange, startRange + instanceSummaries.size(), false);

verify(dataProviderMock).updateRowCount(2, false);
verify(dataProviderMock).updateRowData(0, instanceSummaries);
Expand All @@ -150,11 +153,26 @@ public void testUpDateDataOnCallBackMiddlePage() {

int startRange = 10;
testListPresenter.setDataProvider(dataProviderMock);
testListPresenter.updateDataOnCallback(instanceSummaries, startRange, true);
testListPresenter.updateDataOnCallback(instanceSummaries, startRange,startRange + instanceSummaries.size(), true);

verify(dataProviderMock).updateRowCount(startRange + instanceSummaries.size(), true);
verify(dataProviderMock).updateRowData(startRange, instanceSummaries);

}

@Test
public void testRefreshGrid() {

Range range = new Range(0,5);

when(viewMock.getListGrid()).thenReturn(extendedPagedTable);
when(extendedPagedTable.getVisibleRange()).thenReturn(range);

testListPresenter.refreshGrid();

verify(extendedPagedTable).setVisibleRangeAndClearData(range, true);

}


}
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ public final class TaskDataSetConstants {
public static final String COLUMN_STATUS = "status";
public static final String COLUMN_TASK_ID = "taskId";
public static final String COLUMN_WORK_ITEM_ID = "workItemId";
public static final String COLUMN_ORGANIZATIONAL_ENTITY = "oeid";
public static final String COLUMN_ORGANIZATIONAL_ENTITY = "id";

public static final String COLUMN_TASK_VARIABLE_TASK_ID = "taskId";
public static final String COLUMN_TASK_VARIABLE_TASK_NAME = "TASKNAME";
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -124,7 +124,7 @@ protected void registerDataSetDefinitions() {
"t.status, " +
"t.taskId, " +
"t.workItemId, " +
"oe.id as OEID " +
"oe.id " +
"from " +
"AuditTaskImpl t, " +
"PeopleAssignments_PotOwners po, " +
Expand Down Expand Up @@ -172,7 +172,7 @@ protected void registerDataSetDefinitions() {
"t.status, " +
"t.taskId, " +
"t.workItemId, " +
"oe.id as OEID " +
"oe.id " +
"from " +
"AuditTaskImpl t, " +
"PeopleAssignments_BAs bas, " +
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -184,7 +184,7 @@ public void callback(List<TaskSummary> taskSummaries) {
if ( taskSummaries.size() < visibleRange.getLength() ) {
lastPage = true;
}
updateDataOnCallback(taskSummaries,visibleRange.getStart(),lastPage);
updateDataOnCallback(taskSummaries,visibleRange.getStart(), visibleRange.getStart() + taskSummaries.size(), lastPage);

}
}).getActiveTasks(selectedServerTemplate, visibleRange.getStart()/visibleRange.getLength(), visibleRange.getLength());
Expand Down Expand Up @@ -253,15 +253,15 @@ public void callback(DataSet dataSet) {
List<DataSetOp> ops = tableSettings.getDataSetLookup().getOperationList();
String filterValue = isFilteredByTaskName(ops); //Add here the check to add the domain data columns taskName?

boolean lastPage=false;
boolean lastPageExactCount = false;
if( dataSet.getRowCount() < view.getListGrid().getPageSize()) {
lastPage=true;
lastPageExactCount = true;
}

if (filterValue != null) {
getDomainSpecifDataForTasks(startRange, filterValue, myTasksFromDataSet, lastPage);
getDomainSpecifDataForTasks(startRange, filterValue, myTasksFromDataSet, lastPageExactCount);
} else {
updateDataOnCallback(myTasksFromDataSet,startRange,lastPage);
updateDataOnCallback(myTasksFromDataSet, startRange,startRange + myTasksFromDataSet.size(), lastPageExactCount);
}

}
Expand Down Expand Up @@ -297,7 +297,7 @@ protected String isFilteredByTaskName(List<DataSetOp> ops) {

}

public void getDomainSpecifDataForTasks(final int startRange, String filterValue, final List<TaskSummary> myTasksFromDataSet, boolean lastPage) {
public void getDomainSpecifDataForTasks(final int startRange, String filterValue, final List<TaskSummary> myTasksFromDataSet, boolean lastPageExactCount) {

FilterSettings variablesTableSettings = view.getVariablesTableSettings(filterValue);
variablesTableSettings.setTablePageSize(-1);
Expand All @@ -317,11 +317,11 @@ public void getDomainSpecifDataForTasks(final int startRange, String filterValue
filter.addFilterColumn(filter1);
variablesTableSettings.getDataSetLookup().addOperation(filter);

dataSetQueryHelperDomainSpecific.lookupDataSet(0, createDataSetDomainSpecificCallback(startRange, myTasksFromDataSet, variablesTableSettings.getDataSet(),lastPage));
dataSetQueryHelperDomainSpecific.lookupDataSet(0, createDataSetDomainSpecificCallback(startRange, myTasksFromDataSet, variablesTableSettings.getDataSet(),lastPageExactCount));

}

protected DataSetReadyCallback createDataSetDomainSpecificCallback(final int startRange, final List<TaskSummary> instances, final DataSet dataset, boolean lastPage) {
protected DataSetReadyCallback createDataSetDomainSpecificCallback(final int startRange, final List<TaskSummary> instances, final DataSet dataset, boolean lastPageExactCount) {
return new AbstractDataSetReadyCallback(errorPopup, view, dataset) {
@Override
public void callback(DataSet dataSet) {
Expand All @@ -341,7 +341,7 @@ public void callback(DataSet dataSet) {
}
view.addDomainSpecifColumns(view.getListGrid(), columns);
}
updateDataOnCallback(instances,startRange,lastPage);
updateDataOnCallback(instances, startRange, startRange + instances.size(), lastPageExactCount);
}

};
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -189,11 +189,11 @@ public void getData( final Range visibleRange ) {
remoteRuntimeDataService.call(new RemoteCallback<List<ProcessInstanceSummary>>() {
@Override
public void callback(List<ProcessInstanceSummary> processInstanceSummaries) {
boolean lastPage=false;
boolean lastPageExactCount=false;
if ( processInstanceSummaries.size() < visibleRange.getLength() ) {
lastPage = true;
lastPageExactCount = true;
}
updateDataOnCallback(processInstanceSummaries,visibleRange.getStart(),lastPage);
updateDataOnCallback(processInstanceSummaries, visibleRange.getStart(), visibleRange.getStart()+processInstanceSummaries.size(), lastPageExactCount);

}
}).getProcessInstances(selectedServerTemplate, statuses, visibleRange.getStart()/visibleRange.getLength(), visibleRange.getLength());
Expand Down Expand Up @@ -242,7 +242,7 @@ public void callback( DataSet dataSet ) {
}
view.addDomainSpecifColumns(view.getListGrid(), columns);

updateDataOnCallback(myProcessInstancesFromDataSet, startRange, lastPage);
updateDataOnCallback(myProcessInstancesFromDataSet, startRange, startRange+myProcessInstancesFromDataSet.size(), lastPage);
}

};
Expand Down Expand Up @@ -272,7 +272,7 @@ public void callback( DataSet dataSet ) {
if ( filterValue != null ) {
getDomainSpecifDataForProcessInstances( startRange, filterValue, lastPage );
} else {
updateDataOnCallback(myProcessInstancesFromDataSet, startRange, lastPage);
updateDataOnCallback(myProcessInstancesFromDataSet, startRange, startRange+myProcessInstancesFromDataSet.size(), lastPage);
}

}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@
import com.google.gwtmockito.GwtMockitoTestRunner;
import org.jboss.errai.common.client.api.Caller;
import org.jbpm.console.ng.bd.model.ProcessVariableSummary;
import org.jbpm.console.ng.gc.client.experimental.grid.base.ExtendedPagedTable;
import org.jbpm.console.ng.pr.model.events.ProcessInstanceSelectionEvent;
import org.jbpm.console.ng.pr.service.ProcessVariablesService;
import org.junit.Before;
Expand All @@ -39,6 +40,9 @@ public class ProcessVariableListPresenterTest {
@Mock
ProcessVariableListPresenter.ProcessVariableListView view;

@Mock
ExtendedPagedTable extendedPagedTable;

Caller<ProcessVariablesService> variablesServicesCaller;

@Mock
Expand All @@ -61,6 +65,7 @@ public void testLoadVariableHistory() {
final ProcessVariableSummary summary = new ProcessVariableSummary(variableName, "variableInstanceId", processInstanceId, "oldValue", "newValue", System.currentTimeMillis(), "type");
final List<ProcessVariableSummary> summaries = Arrays.asList(summary);
when(processVariablesService.getVariableHistory(anyString(), eq(deploymentId), eq(processInstanceId), eq(variableName))).thenReturn(summaries);
when(view.getListGrid()).thenReturn(extendedPagedTable);

final ProcessInstanceSelectionEvent event = new ProcessInstanceSelectionEvent(deploymentId, processInstanceId, "processDefId", "processDefName", 1);

Expand Down

0 comments on commit 42ee766

Please sign in to comment.