<%@ 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"%> <%@ page import="java.io.File "%> <%@ page import="java.sql.Connection"%> <%@ page import="java.sql.DriverManager"%> <%@ page import="java.sql.PreparedStatement"%> <%@ page import="java.sql.ResultSet"%> <%@ page import="java.sql.SQLException"%> <%@ page import="java.sql.Statement"%> <%@ page import="java.util.ArrayList"%> <%@ page import="java.util.List"%> <%@ page import="java.util.Map"%> <%@ page import="org.jdom2.Element"%> <%@ page import="org.yawlfoundation.yawl.elements.data.YParameter"%> <%@ page import="java.sql.*"%> <% Connection connection; Statement statement; PreparedStatement preparedStatement; ResultSet resultSet; String tempQuery; boolean isValidUser; String var_input; String var2_input; String var3_input; String wqURL = "http://localhost:8080/resourceService/workqueuegateway"; String itemXML; String itemid; String handle; String error; String varName1 = "username"; String varName2 = "password"; String varName3 = "isValidUser"; String redirectURL = (String) session.getAttribute("redirectURL"); String submit = request.getParameter("submit"); WorkQueueGatewayClient wqClient = new WorkQueueGatewayClient(wqURL); if (redirectURL == null) { redirectURL = request.getParameter("source"); session.setAttribute("redirectURL", redirectURL); } 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"))) { //BLOCCHI CONNECTION E SCRITTURA XML SPOSTATO DENTRO //try { var_input = request.getParameter("var_input"); var2_input = request.getParameter("var_input2"); Class.forName("com.mysql.jdbc.Driver"); tempQuery = "SELECT * FROM appuser WHERE username = '" + var_input + "' AND password = '" + var2_input + "'"; connection = DriverManager.getConnection( "jdbc:mysql://localhost:3306/mydb?autoReconnect=true&useSSL=false", "root", "root"); statement = connection.createStatement(); resultSet = statement.executeQuery(tempQuery); isValidUser = resultSet.first(); itemXML = (String) session.getAttribute("itemXML"); if (itemXML == null) { itemid = request.getParameter("workitem"); 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"); Element data = wir.getChild("data"); Element wirData = data.getChildren().get(0); // DA QUI IN POI TROVIAMO LE VAR error = null; Element dataitem1; Element dataitem2; Element dataitem3 = new Element(varName3); wirData.addContent(dataitem3); if (!wqClient.successful(itemXML)) { error = itemXML; System.out.println("WQCLIENT E' GIA' SALTATO QUI: " + error); System.out.println("WQCLIENT FINE "); } else { if (var_input != null && var2_input != null) { if (wirData != null) { dataitem1 = wirData.getChild(varName1); // get data var dataitem2 = wirData.getChild(varName2); if (dataitem1 != null && dataitem2 != null) { dataitem1.setText(var_input); // update data var's value dataitem2.setText(var2_input); dataitem3.setText(Boolean.toString(isValidUser)); itemid = (String) session.getAttribute("workitem"); 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; System.out.println("ERRORE 1 SEGUE : "); System.out.println("error : " + error); System.out.println("itemid : " + itemid); System.out.println("dataString : " + dataString.toString()); System.out.println("dataitem1 A :" + dataitem1.getValue()); System.out.println("dataitem1 B :" + dataitem2.getValue()); System.out.println("handle : " + handle); System.out.println("itemXML : " + itemXML.toString()); System.out.println("wir : " + wir.toString()); System.out.println("wirdata : " + wirData.toString()); System.out.println("VAR INPUT : " + var_input); // val digitati, corretto System.out.println("VAR2 INPUT : " + var2_input); System.out.println("ERRORE 1 terminato. "); } } else { error = "This workitem does not contain a variable called '" + varName1 + "'or ' " + varName2 + "' "; } } else { // error = "This workitem does not contain any data for updating."; } } } /*} catch (Exception e) { System.out.println("inizio catch submit"); e.printStackTrace(); System.out.println("fine catch submit"); }*/ } %> LoginForm
Username: Password: