<%@ page import="org.jdom2.Element" %> <%@ page import="org.yawlfoundation.yawl.resourcing.rsInterface.WorkQueueGatewayClient" %> <%@ page import="org.jdom2.output.XMLOutputter" %> <%@ page import="org.jdom2.output.Format" %> <%@ page import="org.jdom2.input.SAXBuilder" %> <%@ page import="java.io.StringReader" %> <% String redirectURL = (String) session.getAttribute("redirectURL"); if (redirectURL == null) { redirectURL = request.getParameter("source"); session.setAttribute("redirectURL", redirectURL); } String submit = request.getParameter("submit"); if ((submit != null) && (submit.equals("Cancel"))) { session.removeAttribute("itemXML"); session.removeAttribute("workitem"); session.removeAttribute("handle"); session.removeAttribute("redirectURL"); response.sendRedirect(response.encodeURL(redirectURL)); return; } if ((submit != null) && (submit.equals("Submit"))) { redirectURL += "?complete=true"; response.sendRedirect(response.encodeURL(redirectURL)); } String wqURL = "http://localhost:8080/resourceService/workqueuegateway"; WorkQueueGatewayClient wqClient = new WorkQueueGatewayClient(wqURL); String itemXML = (String) session.getAttribute("itemXML"); if (itemXML == null) { String itemid = request.getParameter("workitem"); String handle = request.getParameter("handle"); itemXML = wqClient.getWorkItem(itemid, handle); // CONTIENE I DATI session.setAttribute("itemXML", itemXML); session.setAttribute("workitem", itemid); session.setAttribute("handle", handle); } Element wir = new SAXBuilder().build(new StringReader(itemXML)).getRootElement(); // ESTRAIAMO LA ROOT E ANDIAMO AI DATI //wir.detach(); // PROVA, NON PRESENTE NEL CUSTOM EXAMPLE Element updatedData = wir.getChild("updateddata"); // INUTILE, DATI DA 0 Element data = wir.getChild("data"); Element wirData = data.getChildren().get(0); // DA QUI IN POI TROVIAMO LE VAR String error = null; Element dataitem1; Element dataitem2; if (! wqClient.successful(itemXML)) { error = itemXML; } else { String input1 = request.getParameter("input1"); String input2 = request.getParameter("input2"); String varName1 = "username"; String varName2 = "password"; if (input1 != null && input2 != null) { if (wirData != null) { //wir.getChild(varName1).setText(input1); //wir.getChild(varName2).setText(input2); dataitem1 = wirData.getChild(varName1); // get data var dataitem2 = wirData.getChild(varName2); //if (dataitem1 != null && dataitem2 != null) { dataitem1.setText(input1); // update data var's value dataitem2.setText(input2); String itemid = (String) session.getAttribute("workitem"); String handle = (String) session.getAttribute("handle"); String dataString = new XMLOutputter(Format.getCompactFormat()).outputString(wirData); String result = wqClient.updateWorkItemData(itemid, dataString, handle); if (wqClient.successful(result)) { session.removeAttribute("itemXML"); session.removeAttribute("workitem"); session.removeAttribute("handle"); session.removeAttribute("redirectURL"); redirectURL += "?complete=true"; response.sendRedirect(response.encodeURL(redirectURL)); } else { error = result; } //} //else { error = "This workitem does not contain a variable called '" + varName1 + "'or ' "+varName2+"' "; } } else { error = "This workitem does not contain any data for updating."; } } // } %> LoginForm

The CaseID Passed

Username: Password: