# HG changeset patch
# User Asier Lostalé <asier.lostale@openbravo.com>
# Date 1497964866 -7200
#      Tue Jun 20 15:21:06 2017 +0200
# Node ID 98bd2f16a3c63d1ed5fd8e9bd2fbbf0da16e72ef
# Parent  f810714ace3ea6dbcf6884ccf2dbeb96781917e1
fixed bug 36299: use DAL's connections in WAD windows queries

diff -r f810714ace3e -r 98bd2f16a3c6 src-wad/src/org/openbravo/wad/javasource.javaxml
--- a/src-wad/src/org/openbravo/wad/javasource.javaxml	Tue Jun 20 15:43:38 2017 +0200
+++ b/src-wad/src/org/openbravo/wad/javasource.javaxml	Tue Jun 20 15:21:06 2017 +0200
@@ -39,6 +39,8 @@
 import org.openbravo.scheduling.ProcessRunner;
 import org.openbravo.xmlEngine.XmlDocument;
 import org.openbravo.database.SessionInfo;
+import org.openbravo.database.ConnectionProvider;
+import org.openbravo.service.db.DalConnectionProvider;
 import java.io.*;
 import javax.servlet.*;
 import javax.servlet.http.*;
@@ -120,6 +122,7 @@
     if(saveRequest != null &amp;&amp; saveRequest){
       throw new OBException("2.50 style request.autosave is no longer supported: " + vars.getCommand());
     }
+    ConnectionProvider cp = new DalConnectionProvider(false);
     
     if (vars.commandIn("DEFAULT", "DIRECT", "TAB", "SEARCH", "RELATION", "NEW", "EDIT", "NEXT",
         "PREVIOUS", "FIRST_RELATION", "PREVIOUS_RELATION", "NEXT_RELATION", "LAST_RELATION",
@@ -148,8 +151,8 @@
         String strClient = vars.getSessionValue("button<FIELD_TMP id="ProcessID1">xx</FIELD_TMP>.strClient");
         
         <FIELD_TMP id="FieldsLoad1">String strField = vars.getStringParameter("inpFields");</FIELD_TMP>
-        if ((org.openbravo.erpCommon.utility.WindowAccessData.hasReadOnlyAccess(this, vars.getRole(), tabId)) || !(Utility.isElementInList(Utility.getContext(this, vars, "#User_Client", windowId, accesslevel),strClient)  &amp;&amp; Utility.isElementInList(Utility.getContext(this, vars, "#User_Org", windowId, accesslevel),strOrg))){
-          OBError myError = Utility.translateError(this, vars, vars.getLanguage(), Utility.messageBD(this, "NoWriteAccess", vars.getLanguage()));
+        if ((org.openbravo.erpCommon.utility.WindowAccessData.hasReadOnlyAccess(cp, vars.getRole(), tabId)) || !(Utility.isElementInList(Utility.getContext(cp, vars, "#User_Client", windowId, accesslevel),strClient)  &amp;&amp; Utility.isElementInList(Utility.getContext(cp, vars, "#User_Org", windowId, accesslevel),strOrg))){
+          OBError myError = Utility.translateError(cp, vars, vars.getLanguage(), Utility.messageBD(cp, "NoWriteAccess", vars.getLanguage()));
           vars.setMessage(tabId, myError);
           printPageClosePopUp(response, vars);
         }else{       
@@ -177,8 +180,8 @@
         String strClient = vars.getSessionValue("button<FIELD_TMP id="ProcessID4">xx</FIELD_TMP>.strClient");
 
         <FIELD_TMP id="FieldsLoad4">String strField = vars.getStringParameter("inpFields");</FIELD_TMP>
-        if ((org.openbravo.erpCommon.utility.WindowAccessData.hasReadOnlyAccess(this, vars.getRole(), tabId)) || !(Utility.isElementInList(Utility.getContext(this, vars, "#User_Client", windowId, accesslevel),strClient)  &amp;&amp; Utility.isElementInList(Utility.getContext(this, vars, "#User_Org", windowId, accesslevel),strOrg))){
-          OBError myError = Utility.translateError(this, vars, vars.getLanguage(), Utility.messageBD(this, "NoWriteAccess", vars.getLanguage()));
+        if ((org.openbravo.erpCommon.utility.WindowAccessData.hasReadOnlyAccess(cp, vars.getRole(), tabId)) || !(Utility.isElementInList(Utility.getContext(cp, vars, "#User_Client", windowId, accesslevel),strClient)  &amp;&amp; Utility.isElementInList(Utility.getContext(cp, vars, "#User_Org", windowId, accesslevel),strOrg))){
+          OBError myError = Utility.translateError(cp, vars, vars.getLanguage(), Utility.messageBD(cp, "NoWriteAccess", vars.getLanguage()));
           vars.setMessage(tabId, myError);
           printPageClosePopUp(response, vars);
         }else{       
@@ -192,16 +195,16 @@
         OBError myMessage = null;
         try {
           String pinstance = SequenceIdData.getUUID();
-          PInstanceProcessData.insertPInstance(this, pinstance, "<FIELD_TMP id="ProcessID3">button</FIELD_TMP>", (("<KEY_TMP id="key">PosicionAlmacen</KEY_TMP>".equalsIgnoreCase("AD_Language"))?"0":str<KEY_TMP id="key">PosicionAlmacen</KEY_TMP>), strProcessing, vars.getUser(), vars.getClient(), vars.getOrg());
-          <FIELD_TMP id="FieldsLoadParams3">PInstanceProcessData.insertPInstanceParam(this, pinstance, )</FIELD_TMP>
+          PInstanceProcessData.insertPInstance(cp, pinstance, "<FIELD_TMP id="ProcessID3">button</FIELD_TMP>", (("<KEY_TMP id="key">PosicionAlmacen</KEY_TMP>".equalsIgnoreCase("AD_Language"))?"0":str<KEY_TMP id="key">PosicionAlmacen</KEY_TMP>), strProcessing, vars.getUser(), vars.getClient(), vars.getOrg());
+          <FIELD_TMP id="FieldsLoadParams3">PInstanceProcessData.insertPInstanceParam(cp, pinstance, )</FIELD_TMP>
           <FIELD_TMP id="AdditionalCode3">code</FIELD_TMP>
-          ProcessBundle bundle = ProcessBundle.pinstance(pinstance, vars, this);
-          new ProcessRunner(bundle).execute(this);
+          ProcessBundle bundle = ProcessBundle.pinstance(pinstance, vars, cp);
+          new ProcessRunner(bundle).execute(cp);
           
-          PInstanceProcessData[] pinstanceData = PInstanceProcessData.select(this, pinstance);
-          myMessage = Utility.getProcessInstanceMessage(this, vars, pinstanceData);
+          PInstanceProcessData[] pinstanceData = PInstanceProcessData.select(cp, pinstance);
+          myMessage = Utility.getProcessInstanceMessage(cp, vars, pinstanceData);
         } catch (ServletException ex) {
-          myMessage = Utility.translateError(this, vars, vars.getLanguage(), ex.getMessage());
+          myMessage = Utility.translateError(cp, vars, vars.getLanguage(), ex.getMessage());
           if (!myMessage.isConnectionAvailable()) {
             bdErrorConnection(response);
             return;
@@ -217,7 +220,7 @@
 <FIELDS_TMP id="sectionActionButtons3java">    } else if (vars.commandIn("SAVE_BUTTON<FIELD_TMP id="ButtonRealName3j">button</FIELD_TMP><FIELD_TMP id="ProcessID3j">button</FIELD_TMP>")) {
         String str<KEY_TMP id="key">PosicionAlmacen</KEY_TMP> = vars.getGlobalVariable("inpKey", windowId + "|<KEY_TMP id="key">PosicionAlmacen</KEY_TMP>", "");
         
-        ProcessBundle pb = new ProcessBundle("<FIELD_TMP id="ProcessID3j"/>", vars).init(this);
+        ProcessBundle pb = new ProcessBundle("<FIELD_TMP id="ProcessID3j"/>", vars).init(cp);
         HashMap&lt;String, Object&gt; params= new HashMap&lt;String, Object&gt;();
        
         params.put("<KEY_TMP id="key">PosicionAlmacen</KEY_TMP>", str<KEY_TMP id="key">PosicionAlmacen</KEY_TMP>);
@@ -225,17 +228,17 @@
         params.put("adClientId", vars.getStringParameter("inpadClientId"));
         params.put("tabId", tabId);
         
-        <FIELD_TMP id="FieldsLoadParams3j">PInstanceProcessData.insertPInstanceParam(this, pinstance, )</FIELD_TMP>
+        <FIELD_TMP id="FieldsLoadParams3j">PInstanceProcessData.insertPInstanceParam(cp, pinstance, )</FIELD_TMP>
         
         pb.setParams(params);
         OBError myMessage = null;
         try {
-          new ProcessRunner(pb).execute(this);
+          new ProcessRunner(pb).execute(cp);
           myMessage = (OBError) pb.getResult();
-          myMessage.setMessage(Utility.parseTranslation(this, vars, vars.getLanguage(), myMessage.getMessage()));
-          myMessage.setTitle(Utility.parseTranslation(this, vars, vars.getLanguage(), myMessage.getTitle()));
+          myMessage.setMessage(Utility.parseTranslation(cp, vars, vars.getLanguage(), myMessage.getMessage()));
+          myMessage.setTitle(Utility.parseTranslation(cp, vars, vars.getLanguage(), myMessage.getTitle()));
         } catch (Exception ex) {
-          myMessage = Utility.translateError(this, vars, vars.getLanguage(), ex.getMessage());
+          myMessage = Utility.translateError(cp, vars, vars.getLanguage(), ex.getMessage());
           log4j.error(ex);
           if (!myMessage.isConnectionAvailable()) {
             bdErrorConnection(response);
@@ -278,8 +281,8 @@
         vars.setSessionValue("CreateFrom|adOrgId", strOrg);
         vars.setSessionValue("CreateFrom|isreceipt", strIsreceipt);
         vars.setSessionValue("CreateFrom|tabName", "<PARAMETER_TMP id="class">Almacen</PARAMETER_TMP>");
-        if ((org.openbravo.erpCommon.utility.WindowAccessData.hasReadOnlyAccess(this, vars.getRole(), tabId)) || !(Utility.isElementInList(Utility.getContext(this, vars, "#User_Client", windowId, accesslevel),strClient)  &amp;&amp; Utility.isElementInList(Utility.getContext(this, vars, "#User_Org", windowId, accesslevel),strOrg))){
-          OBError myError = Utility.translateError(this, vars, vars.getLanguage(), Utility.messageBD(this, "NoWriteAccess", vars.getLanguage()));
+        if ((org.openbravo.erpCommon.utility.WindowAccessData.hasReadOnlyAccess(cp, vars.getRole(), tabId)) || !(Utility.isElementInList(Utility.getContext(cp, vars, "#User_Client", windowId, accesslevel),strClient)  &amp;&amp; Utility.isElementInList(Utility.getContext(cp, vars, "#User_Org", windowId, accesslevel),strOrg))){
+          OBError myError = Utility.translateError(cp, vars, vars.getLanguage(), Utility.messageBD(cp, "NoWriteAccess", vars.getLanguage()));
           vars.setMessage(tabId, myError);
           printPageClosePopUp(response, vars);
         }else{       
@@ -294,8 +297,8 @@
         log4j.debug("Loading Posted button in table: " + strTableId);
         String strOrg = vars.getStringParameter("inpadOrgId");
         String strClient = vars.getStringParameter("inpadClientId");
-        if ((org.openbravo.erpCommon.utility.WindowAccessData.hasReadOnlyAccess(this, vars.getRole(), tabId)) || !(Utility.isElementInList(Utility.getContext(this, vars, "#User_Client", windowId, accesslevel),strClient)  &amp;&amp; Utility.isElementInList(Utility.getContext(this, vars, "#User_Org", windowId, accesslevel),strOrg))){
-          OBError myError = Utility.translateError(this, vars, vars.getLanguage(), Utility.messageBD(this, "NoWriteAccess", vars.getLanguage()));
+        if ((org.openbravo.erpCommon.utility.WindowAccessData.hasReadOnlyAccess(cp, vars.getRole(), tabId)) || !(Utility.isElementInList(Utility.getContext(cp, vars, "#User_Client", windowId, accesslevel),strClient)  &amp;&amp; Utility.isElementInList(Utility.getContext(cp, vars, "#User_Org", windowId, accesslevel),strOrg))){
+          OBError myError = Utility.translateError(cp, vars, vars.getLanguage(), Utility.messageBD(cp, "NoWriteAccess", vars.getLanguage()));
           vars.setMessage(tabId, myError);
           printPageClosePopUp(response, vars);
         }else{
@@ -335,6 +338,7 @@
       log4j.debug("Output: Button process <FIELD_TMP id="ProcessID2">xx</FIELD_TMP>");
       String[] discard = {"newDiscard"};
       response.setContentType("text/html; charset=UTF-8");
+      ConnectionProvider cp = new DalConnectionProvider(false);
       PrintWriter out = response.getWriter();
       XmlDocument xmlDocument = xmlEngine.readXmlTemplate("org/openbravo/erpCommon/ad_actionButton/<FIELD_TMP id="ButtonRealName2">name</FIELD_TMP><FIELD_TMP id="ButtonProcessId2">name</FIELD_TMP>", discard).createXmlDocument();
       xmlDocument.setParameter("key", str<KEY_TMP id="key">PosicionAlmacen</KEY_TMP>);
@@ -345,8 +349,8 @@
       xmlDocument.setParameter("language", "defaultLang=\"" + vars.getLanguage() + "\";");
       xmlDocument.setParameter("directory", "var baseDirectory = \"" + strReplaceWith + "/\";\n");
       xmlDocument.setParameter("processId", "<FIELD_TMP id="ProcessID2">xx</FIELD_TMP>");
-      xmlDocument.setParameter("cancel", Utility.messageBD(this, "Cancel", vars.getLanguage()));
-      xmlDocument.setParameter("ok", Utility.messageBD(this, "OK", vars.getLanguage()));
+      xmlDocument.setParameter("cancel", Utility.messageBD(cp, "Cancel", vars.getLanguage()));
+      xmlDocument.setParameter("ok", Utility.messageBD(cp, "OK", vars.getLanguage()));
       
       {
         OBError myMessage = vars.getMessage("<FIELD_TMP id="ProcessID2">xx</FIELD_TMP>");
@@ -371,6 +375,7 @@
       String[] discard = {"newDiscard"};
       response.setContentType("text/html; charset=UTF-8");
       PrintWriter out = response.getWriter();
+      ConnectionProvider cp = new DalConnectionProvider(false);
       XmlDocument xmlDocument = xmlEngine.readXmlTemplate("org/openbravo/erpCommon/ad_actionButton/<FIELD_TMP id="ButtonRealName2j">name</FIELD_TMP><FIELD_TMP id="ButtonProcessId2j">name</FIELD_TMP>", discard).createXmlDocument();
       xmlDocument.setParameter("key", str<KEY_TMP id="key">PosicionAlmacen</KEY_TMP>);
       xmlDocument.setParameter("processing", strProcessing);
@@ -380,8 +385,8 @@
       xmlDocument.setParameter("language", "defaultLang=\"" + vars.getLanguage() + "\";");
       xmlDocument.setParameter("directory", "var baseDirectory = \"" + strReplaceWith + "/\";\n");
       xmlDocument.setParameter("processId", "<FIELD_TMP id="ProcessID2j">xx</FIELD_TMP>");
-      xmlDocument.setParameter("cancel", Utility.messageBD(this, "Cancel", vars.getLanguage()));
-      xmlDocument.setParameter("ok", Utility.messageBD(this, "OK", vars.getLanguage()));
+      xmlDocument.setParameter("cancel", Utility.messageBD(cp, "Cancel", vars.getLanguage()));
+      xmlDocument.setParameter("ok", Utility.messageBD(cp, "OK", vars.getLanguage()));
       
       {
         OBError myMessage = vars.getMessage("<FIELD_TMP id="ProcessID2j">xx</FIELD_TMP>");
