Quantcast
Channel: SmartClient Forums
Viewing all articles
Browse latest Browse all 4756

how to configure row size with RestDataSource of ListGrid

$
0
0
I want to know how to configure the row size of listGrid using RestDatasource.. default startrow is 0 and endRow is 75 . now instead of 75 row i want to give 25 end row size.
I have rest service on the server side to whome i am giving a call ... please give the server side code too..

some more details
1) smartgwt version 3.0
2)browser: firefox version (22.0)

Server side code:
rest service API
@GET()
@Path("/querytasks")
@Produces( { MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML })
public EPMTaskQueryResponseWrraper getTaskOnQuery(@QueryParam("taskStatus") String taskStatus,
@QueryParam("taskSuspended") String taskSuspended,
@QueryParam("taskPriority") String taskPriority) throws EPMRestException
{
try
{
String tokenId = EPMUtils.getTokenId();
//EPMUtils.validateSession(tokenId);
//task priority
if(EPMUtils.IsValidString(taskPriority))
{
taskPriority = taskPriority.replace("[", "");
taskPriority = taskPriority.replace("]", "");
}
else
taskPriority = "";
//task status
List<EPMTaskProcessInstPOJO> lstOfTasksPojo = null;
if(EPMUtils.IsValidString(taskStatus))
{
taskStatus = taskStatus.replace("[", "");
taskStatus = taskStatus.replace("]", "");
}
else
taskStatus = "";

lstOfTasksPojo=((IEPMTaskManager) EPMFramework
.GetInstance()
.GetEPMApplicationTaskManager(
IEPMApplicationTaskManager.APPLICATION_HUMAN_TASK_ TYPE))
.GetTaskListForQuery(tokenId, taskPriority, taskStatus, taskSuspended);
EPMTaskQueryResponse res = new EPMTaskQueryResponse();
if(lstOfTasksPojo != null)
{
res.setData(lstOfTasksPojo);
res.setStartRow((long)0);
res.setEndRow((long)lstOfTasksPojo.size()-1);
res.setStatus(0);
res.setTotalRows((long)lstOfTasksPojo.size());
}
else
{
res.setData(null);
res.setStartRow((long)0);
res.setEndRow((long)0);
res.setStatus(0);
res.setTotalRows((long)0);
}

EPMTaskQueryResponseWrraper wrapper = new EPMTaskQueryResponseWrraper();
wrapper.setTaskQueryResponse(res);
return wrapper;
}
catch (EPMCoreException e) {
EPMFramework.GetInstance().GetEPMLoggerInstance(). Error(e,
e.getMessage());
throw new EPMRestException(EPMRestException.TYPE_CORE_EXCEPT ION, e.getMessage());
} catch (EPMTaskException e) {
EPMFramework.GetInstance().GetEPMLoggerInstance(). Error(e,
e.getMessage());
throw new EPMRestException(EPMRestException.TYPE_TASK_EXCEPT ION, e.getMessage());
}

}


client side code:

private void initTaskGrid()
{
m_taskGrid = new ListGrid();
m_taskGrid.setHeight("40%");
m_taskGrid.setWidth100();
m_taskGrid.setBorder("1px solid #ECECEC");
m_taskGrid.setAlternateRecordStyles(false);
m_taskGrid.setAutoFetchData(true);
m_taskGrid.setAutoFetchAsFilter(false);
m_taskGrid.setOverflow(Overflow.AUTO);
m_taskGrid.setShowFilterEditor(true);
m_taskGrid.setEmptyMessage(PolSubConstants.NO_ITEM S_TO_SHOW);
m_taskGrid.setSelectionType(SelectionStyle.SINGLE) ;
// m_taskGrid.setShowResizeBar(true);

// m_taskGrid.setDataPageSize(2);
// m_taskGrid.setDrawAheadRatio(1);// do not prefetch data
// m_taskGrid.setDrawAllMaxCells(0);// avoid drawing all rows at startup

m_taskGrid.setDataSource(getDataSource());
addDataArrivedHandler();
addRecordClickHandler();

m_rightSideTaskInboxViewLyt.addMember(m_taskGrid);
}// end of initTaskGrid() method.


private RestDataSource getDataSource() {

RestDataSource ds = new RestDataSource()
{
@Override
protected Object transformRequest(DSRequest dsRequest)
{
HashMap<String, String> hashHeaders = new HashMap<String, String>();
hashHeaders.put("Accept", "application/json");
dsRequest.setHttpHeaders(hashHeaders);
dsRequest.setEndRow(1);
System.out.println(m_selectedTaskStatusList.toStri ng());
Map<String, String> params = new HashMap<String, String>();
params.put("taskStatus", m_selectedTaskStatusList.toString());
params.put("taskSuspended", m_taskSuspended);
params.put("taskPriority", m_selectedTaskPriorityList.toString());

dsRequest.setParams(params);
return super.transformRequest(dsRequest);
}

@Override
protected void transformResponse(DSResponse response, DSRequest request, Object data)
{
System.out.println(JSON.encode((JavaScriptObject)d ata));
super.transformResponse(response, request, data);
request.setStartRow(3);
request.setEndRow(response.getEndRow() + 1);
}
};

ds.setFields(getDataSourceFields());
ds.setDataFormat(DSDataFormat.JSON);
ds.setDataURL(EPMInboxHelper.EPM_TASK_QUERY_URL); // here EPMInboxHelper.EPM_TASK_QUERY_URL = "http://localhost:8080/services/epm/rest/task/querytasks"

return ds;
}// end of getDataSource() method.



/**
* Gets the data source fields.
*
* @return the data source fields
*/
protected static DataSourceField[] getDataSourceFields()
{
ArrayList<DataSourceField> lstDataSourceFields = new ArrayList<DataSourceField>();
//task status
DataSourceTextField taskStatusField = new DataSourceTextField("taskStatus","TaskStatus");
taskStatusField.setValueXPath("humanTaskInfo/taskStatus");
lstDataSourceFields.add(taskStatusField);
//tasks
DataSourceTextField tasksField = new DataSourceTextField("taskName","Tasks (Process Instance Name)");
lstDataSourceFields.add(tasksField);
//process name
DataSourceTextField processNameField = new DataSourceTextField("processName","Process Name");
processNameField.setValueXPath("processInstanceDet ails/processName");
lstDataSourceFields.add(processNameField);
//process owner
DataSourceTextField processOwnerField = new DataSourceTextField("processOwnerID","Process Owner");
processOwnerField.setValueXPath("processInstanceDe tails/processOwnerID");
lstDataSourceFields.add(processOwnerField);
//Assignment date
DataSourceTextField assignmentDateField = new DataSourceTextField("taskCreationTime","Assignment Date");
assignmentDateField.setValueXPath("humanTaskInfo/taskExpectedStartTime");
lstDataSourceFields.add(assignmentDateField);
//Due date
DataSourceTextField dueDateField = new DataSourceTextField("taskExpectedEndTime","Due Date");
dueDateField.setValueXPath("humanTaskInfo/taskExpectedEndTime");
lstDataSourceFields.add(dueDateField);
//Priority
DataSourceTextField priorityField = new DataSourceTextField("taskPriority","Priority");
priorityField.setValueXPath("humanTaskInfo/taskPriority");
lstDataSourceFields.add(priorityField);
// //Assigned By
// DataSourceTextField assignedByField = new DataSourceTextField("processOwnerID",
// "Assigned by");
// assignedByField.setValueXPath("processInstanceDeta ils/processOwnerID");
// lstDataSourceFields.add(assignedByField);
//Process Status
DataSourceTextField processStatusField = new DataSourceTextField("processInstanceState","Proces s Status");
processStatusField.setValueXPath("processInstanceD etails/processInstanceState");
lstDataSourceFields.add(processStatusField);

//Process Instance Name
DataSourceTextField processInstaneNamecField = new DataSourceTextField("processInstanceName","Process Instance Name");
processInstaneNamecField.setValueXPath("processIns tanceDetails/processInstanceName");
processInstaneNamecField.setHidden(true);
lstDataSourceFields.add(processInstaneNamecField);

DataSourceTextField taskActualCompletionTimeField = new DataSourceTextField("taskActualCompletionTime","Ta sk Actual Completion Time");
taskActualCompletionTimeField.setValueXPath("human TaskInfo/taskActualCompletionTime");
taskActualCompletionTimeField.setHidden(true);
lstDataSourceFields.add(taskActualCompletionTimeFi eld);

DataSourceTextField taskActualStartTimeField = new DataSourceTextField("taskExpectedStartTime","Task Expected Start Time");
taskActualStartTimeField.setValueXPath("humanTaskI nfo/taskExpectedStartTime");
taskActualStartTimeField.setHidden(true);
lstDataSourceFields.add(taskActualStartTimeField);

DataSourceTextField processInstDescField = new DataSourceTextField("processInstanceDescription"," processInstanceDescription");
processInstDescField.setValueXPath("processInstanc eDetails/processInstanceDescription");
processInstDescField.setHidden(true);
lstDataSourceFields.add(processInstDescField);


DataSourceField[] dataSourceFields = new DataSourceField[lstDataSourceFields.size()];
lstDataSourceFields.toArray(dataSourceFields);

return dataSourceFields;
}// end of getDataSourceFields();

please let me know if somebody need any more information
Thanks in advance..

Viewing all articles
Browse latest Browse all 4756

Latest Images

Trending Articles



Latest Images