public String btnView_action() { String itemID = (String) hdnSelectedItemID.getValue(); if (itemID == null) { msgPanel.error("No work item selected. Please select a work item to view."); return null; } WorkItemRecord selectedWIR = getSelectedWIR(itemID); // maybe the wir isn't started or was part of a cancellation set and now it's gone if (selectedWIR == null) { msgPanel.error( "Cannot view item contents - it appears that the " + "selected item may have been removed or cancelled. " + "Please see the log files for details."); return null; } _sb.setDynFormType(ApplicationBean.DynFormType.tasklevel); DynamicForm df = (DynamicForm) getBean("DynFormFactory"); String title = "YAWL 3.0 - Edit Work Item"; String header = "Edit Work Item: " + selectedWIR.getCaseID(); if (df.makeForm(title, header, _sb.getTaskSchema(selectedWIR), selectedWIR)) { _sb.setVisualiserReferred(true); _sb.setVisualiserEditedWIR(selectedWIR); return "showDynForm"; } else { msgPanel.error( "Cannot view item contents - problem initialising " + "dynamic form from task specification. " + "Please see the log files for details."); return null; } }
/** updates a workitem after editing on a dynamic form */ private void postEditWIR() { if (_sb.isWirEdit()) { WorkItemRecord wir = _sb.getVisualiserEditedWIR(); if (wir != null) { Element data = JDOMUtil.stringToElement(((DynFormFactory) getBean("DynFormFactory")).getDataList()); wir.setUpdatedData(data); _rm.getWorkItemCache().update(wir); if (_sb.isCompleteAfterEdit()) { completeWorkItem(wir, _sb.getParticipant()); } } else { msgPanel.error("Could not complete workitem. Check log for details."); } } _sb.setWirEdit(false); _sb.setCompleteAfterEdit(false); _sb.setVisualiserReferred(false); _sb.setVisualiserEditedWIR(null); if (msgPanel.hasMessage()) forceRefresh(); }