/** * Method to return a list of current jobs * * @return list of job id's */ private List<String> getCurrentJobsList() { List<String> jobsList = new ArrayList<String>(); for (MyJobsModel m : myJobsStore.getAll()) { jobsList.add(m.getJobid()); } return jobsList; }
/** * Adds jobs to grid. * * @param jobs jobs to display * @param selectedJobId current job */ private void setJobs(List<ProcessingInProgressData> jobs, String selectedJobId) { MyJobsModel itemToSelect = null; int itemToSelectIndex = 0; if (jobs != null) { int i = 0; for (int ii = 0; ii < myJobsStore.size(); ii++) { MyJobsModel model = myJobsStore.get(ii); boolean found = false; int j = 0; while ((j < jobs.size()) && (!found)) { if (jobs.get(j).getJobId().equals(model.getJobid())) { found = true; break; } j++; } if (!found) { myJobsStore.remove(ii); } } for (ProcessingInProgressData statusData : jobs) { MyJobsModel myJobsModel = new MyJobsModel(statusData.getJobId(), statusData.getStatus(), statusData.getInput()); if ((selectedJobId != null) && (statusData.getJobId().equals(selectedJobId))) { itemToSelect = myJobsModel; itemToSelectIndex = i; } MyJobsModel existingModel = myJobsStore.findModel(myJobsModel); if (existingModel != null) { existingModel.setStatus(statusData.getStatus()); existingModel.setInput(statusData.getInput()); myJobsStore.update(existingModel); } else { myJobsStore.add(myJobsModel); } i++; } } myJobsStore.commitChanges(); if ((selectedJobId != null) && (myJobsStore.size() > 0)) { myJobsGrid.getSelectionModel().select(itemToSelect, false); if (isJobsListFirstTimeLoaded) { myJobsGrid.getView().focusRow(itemToSelectIndex); isJobsListFirstTimeLoaded = false; } EventBusManager.EVENT_BUS.fireEvent(new ShowJobsPanelEvent()); } else { EventBusManager.EVENT_BUS.fireEvent(new HideJobsPanelEvent()); } }