| 1 19 package org.openbravo.erpCommon.ad_callouts; 20 21 import org.openbravo.base.secureApp.HttpSecureAppServlet; 22 import org.openbravo.base.secureApp.VariablesSecureApp; 23 import org.openbravo.xmlEngine.XmlDocument; 24 import org.openbravo.erpCommon.utility.Utility; 25 import java.io.*; 26 import javax.servlet.*; 27 import javax.servlet.http.*; 28 29 import java.sql.*; 30 import org.openbravo.utils.FormatUtilities; 31 32 33 public class SL_AlertRule_SQL extends HttpSecureAppServlet { 34 35 36 public void init (ServletConfig config) { 37 super.init(config); 38 boolHist = false; 39 } 40 41 public void doPost (HttpServletRequest request, HttpServletResponse response) throws IOException,ServletException { 42 VariablesSecureApp vars = new VariablesSecureApp(request); 43 if (vars.commandIn("DEFAULT")) { 44 String strSQL = vars.getStringParameter("inpsql"); 45 try { 46 printPage(response, vars, strSQL); 47 } catch (ServletException ex) { 48 pageErrorCallOut(response); 49 } 50 } else pageError(response); 51 } 52 53 boolean existsColumn(ResultSetMetaData rmeta, String col) { 54 try { 55 for (int i=1; i<=rmeta.getColumnCount(); i++) { 56 if (rmeta.getColumnName(i).equals(col)) return true; 57 } 58 } catch (Exception ex){} 59 return false; 60 } 61 62 void printPage(HttpServletResponse response, VariablesSecureApp vars, String strSQL) throws IOException, ServletException { 63 if (log4j.isDebugEnabled()) log4j.debug("Output: dataSheet"); 64 XmlDocument xmlDocument = xmlEngine.readXmlTemplate("org/openbravo/erpCommon/ad_callouts/CallOut").createXmlDocument(); 65 66 String msg=""; 67 68 69 try { 70 PreparedStatement st = this.getPreparedStatement(strSQL); 71 ResultSet result; 72 result = st.executeQuery(); 73 ResultSetMetaData rmeta=result.getMetaData(); 74 if (!existsColumn(rmeta,"AD_CLIENT_ID")) msg = "AD_CLIENT_ID "; 75 if (!existsColumn(rmeta,"AD_ORG_ID")) msg += "AD_ORG_ID "; 76 if (!existsColumn(rmeta,"CREATED")) msg += "CREATED "; 77 if (!existsColumn(rmeta,"CREATEDBY")) msg += "CREATEDBY "; 78 if (!existsColumn(rmeta,"UPDATED")) msg += "UPDATED "; 79 if (!existsColumn(rmeta,"UPDATEDBY")) msg += "UPDATEDBY "; 80 if (!existsColumn(rmeta,"ISACTIVE")) msg += "ISACTIVE "; 81 if (!existsColumn(rmeta,"AD_USER_ID")) msg += "AD_USER_ID "; 82 if (!existsColumn(rmeta,"AD_ROLE_ID")) msg += "AD_ROLE_ID "; 83 if (!existsColumn(rmeta,"RECORD_ID")) msg += "RECORD_ID "; 84 if (!existsColumn(rmeta,"DESCRIPTION")) msg += "DESCRIPTION "; 85 if (!existsColumn(rmeta,"REFERENCEKEY_ID")) msg += "REFERENCEKEY_ID"; 86 if (!msg.equals("")) msg = Utility.messageBD(this,"notColumnInQuery",vars.getLanguage()) + msg; 87 } catch (Exception ex) { 88 msg = "error in query: " + FormatUtilities.replaceJS(ex.toString()); 89 } 90 91 StringBuffer resultado = new StringBuffer (); 92 resultado.append("var calloutName='SL_AlertRule_SQL';\n\n"); 93 resultado.append("var respuesta = new Array("); 94 if (!msg.equals("")) resultado.append("new Array(\"MESSAGE\", \"" + msg + "\")"); 95 resultado.append(");"); 96 xmlDocument.setParameter("array", resultado.toString()); 97 xmlDocument.setParameter("frameName", "frameAplicacion"); 98 response.setContentType("text/html; charset=UTF-8"); 99 PrintWriter out = response.getWriter(); 100 out.println(xmlDocument.print()); 101 out.close(); 102 } 103 } 104 | Popular Tags |