home *** CD-ROM | disk | FTP | other *** search
/ CD Actual Thematic 7: Programming / CDAT7.iso / Share / Java / JDesignerPro / Jdp3_0.exe / data1.cab / Program_Files / JDPSQLWizard.class (.txt) < prev    next >
Encoding:
Java Class File  |  1999-04-09  |  10.5 KB  |  344 lines

  1. import java.awt.BorderLayout;
  2. import java.awt.Component;
  3. import java.awt.Container;
  4. import java.awt.Event;
  5. import java.awt.Label;
  6. import java.awt.Panel;
  7. import java.awt.TextField;
  8. import java.util.StringTokenizer;
  9. import java.util.Vector;
  10.  
  11. public class JDPSQLWizard extends JDPClassLayout {
  12.    JDPUser user;
  13.    JDPJagg jaggSQL;
  14.    JDPPopupMessage popuppanel;
  15.    JDPMaskEdit JDPMaskEditMain;
  16.    String moduleParameter;
  17.    Panel Main;
  18.    JDPTabSelectPanel TabPanel1;
  19.    JDPSelectDSN JDPSelectDSN1;
  20.    JDPSQLSelector JDPSQLSelector1;
  21.    Panel Panel1;
  22.    JDPChiselFramePanel ChiselPanel1;
  23.    Panel Panel2;
  24.    JDPButtons JDPButtons1;
  25.    Panel Panel4;
  26.    Label Label1;
  27.    TextField sqlReturnValue;
  28.    JDPTextGrid GridPanel1;
  29.    boolean SQLOnly = false;
  30.    boolean warningDisplayed = false;
  31.    JDPLayoutMgr LayoutMgr;
  32.  
  33.    public void InitClass(JDPUser var1, Panel var2, String var3) {
  34.       this.user = var1;
  35.       this.moduleParameter = var3;
  36.       super.targetPanel = var2;
  37.       this.jaggSQL = new JDPJagg(var1.jaggPath);
  38.       ((Container)this).setLayout(new BorderLayout());
  39.       this.popuppanel = new JDPPopupMessage(var1, this);
  40.       ((Container)this).add(this.popuppanel);
  41.       this.JDPMaskEditMain = new JDPMaskEdit();
  42.       this.Main = new Panel();
  43.       String[] var4 = new String[3];
  44.       Panel[] var5 = new Panel[]{new Panel(), null, null};
  45.       var5[0].setLayout(new BorderLayout());
  46.       var4[0] = "Select Database";
  47.       var5[1] = new Panel();
  48.       var5[1].setLayout(new BorderLayout());
  49.       var4[1] = "Define SQL Statement";
  50.       var5[2] = new Panel();
  51.       var5[2].setLayout(new BorderLayout());
  52.       var4[2] = "Show SQL Results";
  53.       this.TabPanel1 = new JDPTabSelectPanel(var1, var4, var5, "North");
  54.       this.JDPSelectDSN1 = new JDPSelectDSN();
  55.       this.JDPSelectDSN1.InitClass(var1, var2, var3);
  56.       this.JDPSQLSelector1 = new JDPSQLSelector();
  57.       this.JDPSQLSelector1.InitClass(var1, var2, var3);
  58.       this.Panel1 = new Panel();
  59.       this.ChiselPanel1 = new JDPChiselFramePanel(var1, "SQL Results");
  60.       this.Panel2 = new Panel();
  61.       String[] var6 = new String[]{"Back", "Cancel"};
  62.       int[] var7 = new int[]{JDPButton.getIconValue("Undo"), JDPButton.getIconValue("Delete")};
  63.       this.JDPButtons1 = new JDPButtons(var1, var6, var7, JDPButtons.getAlignmentValue("Horizontal"));
  64.       this.Panel4 = new Panel();
  65.       this.Label1 = new Label("SQL Return Value:", 0);
  66.       this.sqlReturnValue = new TextField("", 20);
  67.       this.GridPanel1 = new JDPTextGrid(var1);
  68.       this.Main.setLayout(new BorderLayout());
  69.       ((Container)this).add("Center", this.Main);
  70.       this.Main.add("Center", this.TabPanel1);
  71.       var5[0].add("Center", this.JDPSelectDSN1);
  72.       var5[1].add("Center", this.JDPSQLSelector1);
  73.       var5[2].add("Center", this.Panel1);
  74.       this.Panel1.setLayout(new BorderLayout());
  75.       this.Panel1.add("Center", this.ChiselPanel1);
  76.       this.ChiselPanel1.add("Center", this.Panel2);
  77.       this.Panel2.setLayout(new BorderLayout());
  78.       this.Panel2.add("South", this.JDPButtons1);
  79.       this.Panel2.add("North", this.Panel4);
  80.       this.Panel4.setLayout(new JDPLineLayout());
  81.       this.Panel4.add("Left", this.Label1);
  82.       this.Panel4.add("Left", this.sqlReturnValue);
  83.       this.Panel2.add("Center", this.GridPanel1);
  84.       this.TabPanel1.setTabcolor(0, var1.u._cvtcolor("Black"), var1.u._cvtcolor("LightGray"));
  85.       this.TabPanel1.setTabcolor(1, var1.u._cvtcolor("Black"), var1.u._cvtcolor("LightGray"));
  86.       this.TabPanel1.setTabcolor(2, var1.u._cvtcolor("Black"), var1.u._cvtcolor("LightGray"));
  87.       var1.gParm.addElement(this);
  88.       this.InitComponents();
  89.    }
  90.  
  91.    public boolean handleEvent(Event var1) {
  92.       switch (var1.id) {
  93.          case 503:
  94.          case 504:
  95.          case 505:
  96.             this.popuppanel.postEvent(var1);
  97.             return false;
  98.          case 1001:
  99.             if (var1.target.equals(this.JDPSQLSelector1)) {
  100.                String var4 = (String)var1.arg;
  101.                if (!var4.equals("SQLWizardRun")) {
  102.                   return !var4.equals("SQLWizardDone") && !var4.equals("SQLWizardCancel");
  103.                } else {
  104.                   String var3 = "Caution, all SQLs are run without the chance of rollback. Press again to confirm.";
  105.                   if (!this.warningDisplayed && !this.user.mainmsg.getStatusMsg().equals(var3)) {
  106.                      this.warningDisplayed = true;
  107.                      this.user.mainmsg.setStatusMsg(var3, 25);
  108.                   } else {
  109.                      this.runSQL(this.JDPSQLSelector1.getSQL());
  110.                   }
  111.  
  112.                   return true;
  113.                }
  114.             } else if (var1.target.equals(this.JDPButtons1.button[0])) {
  115.                this.TabPanel1.select(1);
  116.                return true;
  117.             } else if (var1.target.equals(this.JDPButtons1.button[1])) {
  118.                this.TabPanel1.select(1);
  119.                Event var2 = new Event(this.JDPSQLSelector1, 1001, "SQLWizardCancel");
  120.                ((Component)this).postEvent(var2);
  121.                return true;
  122.             } else {
  123.                return false;
  124.             }
  125.          default:
  126.             return false;
  127.       }
  128.    }
  129.  
  130.    public void InitComponents() {
  131.       this.jaggSQL.setKeepConnectionOpen(false);
  132.       this.JDPSelectDSN1.setComponentName("Wizard");
  133.       this.JDPSQLSelector1.targetDSN = this.JDPSelectDSN1;
  134.       if (this.moduleParameter.equals("SQLOnly")) {
  135.          this.SQLOnly = true;
  136.          this.JDPSQLSelector1.setSQLOnly(true);
  137.       }
  138.  
  139.    }
  140.  
  141.    public void setInteractionMgr(JDPInteractionMgr var1) {
  142.       this.JDPSQLSelector1.setInteractionMgr(var1);
  143.    }
  144.  
  145.    public void setClassHeader(JDPSourceItem var1) {
  146.       this.JDPSQLSelector1.setClassHeader(var1);
  147.    }
  148.  
  149.    public String getCompleteSource(String var1) {
  150.       return this.JDPSelectDSN1.jdbcdirect.getText().equals("No") ? this.getCompleteNonDirect(var1) : this.getCompleteDirect(var1);
  151.    }
  152.  
  153.    public void setLayoutMgr(JDPLayoutMgr var1) {
  154.       this.LayoutMgr = var1;
  155.    }
  156.  
  157.    public String getFunction() {
  158.       return this.JDPSQLSelector1.Choice1.getSelectedKey();
  159.    }
  160.  
  161.    public String getCompleteNonDirect(String var1) {
  162.       StringBuffer var2 = new StringBuffer();
  163.       var2.append(this.LayoutMgr.gSource.createJaggPrefs(this.JDPSelectDSN1, var1));
  164.       var2.append("\n");
  165.       var2.append(var1);
  166.       var2.append("Vector results = new Vector();\n");
  167.       var2.append(var1);
  168.       var2.append("String SQL = ");
  169.       var2.append(this.user.u.replace(this.JDPSQLSelector1.getCompleteSource(), "\n", "\n" + var1 + "\t\t"));
  170.       var2.append(";\n");
  171.       var2.append(var1);
  172.       var2.append("int returnVal = jaggSQL.execSQL(SQL, results);");
  173.       if (this.getFunction().equals("Select")) {
  174.          var2.append("\n\n");
  175.          var2.append(var1);
  176.          var2.append("StringTokenizer stok;\n");
  177.          var2.append(var1);
  178.          var2.append("for (int ix=0; ix<results.size(); ix++) {\n");
  179.          var2.append(var1);
  180.          var2.append("\tstok = new StringTokenizer((String)results.elementAt(ix),jaggSQL.getSEP());\n");
  181.          int[] var3 = this.JDPSQLSelector1.Select.selectColumns.getSelectedIndexes();
  182.  
  183.          for(int var4 = 0; var4 < var3.length; ++var4) {
  184.             var2.append(var1 + "\t");
  185.             String var5 = this.JDPSQLSelector1.Select.selectColumns.getItemKey(var3[var4]);
  186.             var5 = var5.substring(0, var5.indexOf(":"));
  187.             var2.append(var5);
  188.             var2.append(";\n");
  189.          }
  190.  
  191.          var2.append(var1);
  192.          var2.append("}");
  193.       }
  194.  
  195.       if (this.getFunction().equals("StoredProcedure")) {
  196.          var2.append("\n\n");
  197.          var2.append(var1);
  198.          var2.append("StringTokenizer stok;\n");
  199.          var2.append(var1);
  200.          var2.append("for (int ix=0; ix<results.size(); ix++) {\n");
  201.          var2.append(var1);
  202.          var2.append("\tstok = new StringTokenizer((String)results.elementAt(ix),jaggSQL.getSEP());\n");
  203.  
  204.          for(int var6 = 0; var6 < this.JDPSQLSelector1.StoredProcedure.returnedColumns.countItems(); ++var6) {
  205.             var2.append(var1 + "\t");
  206.             String var7 = this.JDPSQLSelector1.StoredProcedure.returnedColumns.getItemKey(var6);
  207.             var7 = var7.substring(0, var7.indexOf(":"));
  208.             var2.append(var7);
  209.             var2.append(";\n");
  210.          }
  211.  
  212.          var2.append(var1);
  213.          var2.append("}");
  214.       }
  215.  
  216.       return var2.toString();
  217.    }
  218.  
  219.    public String getCompleteDirect(String var1) {
  220.       StringBuffer var2 = new StringBuffer();
  221.       var2.append(var1);
  222.       var2.append("JDPJdbcDirect jdbcDirect = new JDPJdbcDirect();\n");
  223.       var2.append(var1);
  224.       var2.append("jdbcDirect.setJdbcDriver(\"" + this.JDPSelectDSN1.jdbcdriver.getText() + "\");\n");
  225.       var2.append(var1);
  226.       var2.append("jdbcDirect.setJdbcPrefix(\"" + this.JDPSelectDSN1.jdbcprefix.getText() + "\");\n");
  227.       var2.append(var1);
  228.       var2.append("jdbcDirect.setJdbcSuffix(\"" + this.JDPSelectDSN1.jdbcsuffix.getText() + "\");\n");
  229.       var2.append(var1);
  230.       var2.append("jdbcDirect.setUID(\"" + this.JDPSelectDSN1.userid.getText() + "\");\n");
  231.       var2.append(var1);
  232.       var2.append("jdbcDirect.setPWD(\"" + this.JDPSelectDSN1.password.getText() + "\");\n");
  233.       var2.append(var1);
  234.       var2.append("jdbcDirect.setCSTR(\"" + this.JDPSelectDSN1.connectstring.getText() + "\");\n");
  235.       var2.append(var1);
  236.       var2.append("jdbcDirect.setMaxRows(" + this.JDPSelectDSN1.maxRows.getText() + ");\n");
  237.       var2.append(var1);
  238.       var2.append("jdbcDirect.setTimeOut(" + this.JDPSelectDSN1.timeOut.getText() + ");\n");
  239.       var2.append(var1);
  240.       var2.append("Vector results = new Vector();\n");
  241.       var2.append(var1);
  242.       var2.append("int returnVal = -1;\n");
  243.       var2.append(var1);
  244.       var2.append("try {\n");
  245.       var2.append(var1 + "\t");
  246.       var2.append("java.sql.Connection con = jdbcDirect.connect();\n");
  247.       var2.append(var1 + "\t");
  248.       var2.append("con.setAutoCommit(false);\n");
  249.       var2.append(var1 + "\t");
  250.       var2.append("String SQL = ");
  251.       var2.append(this.user.u.replace(this.JDPSQLSelector1.getCompleteSource(), "\n", "\n" + var1 + "\t\t"));
  252.       var2.append(";\n");
  253.       var2.append(var1 + "\t");
  254.       var2.append("returnVal = jdbcDirect.execute(SQL, results);\n");
  255.       var2.append(var1 + "\t");
  256.       var2.append("con.commit();\n");
  257.       var2.append(var1);
  258.       var2.append("} catch (Exception e) {\n");
  259.       var2.append(var1);
  260.       var2.append("}\n");
  261.       if (this.getFunction().equals("Select")) {
  262.          var2.append("\n\n");
  263.          var2.append(var1);
  264.          var2.append("StringTokenizer stok;\n");
  265.          var2.append(var1);
  266.          var2.append("for (int ix=0; ix<results.size(); ix++) {\n");
  267.          var2.append(var1);
  268.          var2.append("\tstok = new StringTokenizer((String)results.elementAt(ix),jaggSQL.getSEP());\n");
  269.          int[] var3 = this.JDPSQLSelector1.Select.selectColumns.getSelectedIndexes();
  270.  
  271.          for(int var4 = 0; var4 < var3.length; ++var4) {
  272.             var2.append(var1 + "\t");
  273.             String var5 = this.JDPSQLSelector1.Select.selectColumns.getItemKey(var3[var4]);
  274.             var5 = var5.substring(0, var5.indexOf(":"));
  275.             var2.append(var5);
  276.             var2.append(";\n");
  277.          }
  278.  
  279.          var2.append(var1);
  280.          var2.append("}");
  281.       }
  282.  
  283.       if (this.getFunction().equals("StoredProcedure")) {
  284.          var2.append("\n\n");
  285.          var2.append(var1);
  286.          var2.append("StringTokenizer stok;\n");
  287.          var2.append(var1);
  288.          var2.append("for (int ix=0; ix<results.size(); ix++) {\n");
  289.          var2.append(var1);
  290.          var2.append("\tstok = new StringTokenizer((String)results.elementAt(ix),jaggSQL.getSEP());\n");
  291.  
  292.          for(int var6 = 0; var6 < this.JDPSQLSelector1.StoredProcedure.returnedColumns.countItems(); ++var6) {
  293.             var2.append(var1 + "\t");
  294.             String var7 = this.JDPSQLSelector1.StoredProcedure.returnedColumns.getItemKey(var6);
  295.             var7 = var7.substring(0, var7.indexOf(":"));
  296.             var2.append(var7);
  297.             var2.append(";\n");
  298.          }
  299.  
  300.          var2.append(var1);
  301.          var2.append("}");
  302.       }
  303.  
  304.       return var2.toString();
  305.    }
  306.  
  307.    public void runSQL(String var1) {
  308.       JDPTextGrid var2 = this.GridPanel1;
  309.       int var4 = 0;
  310.       Vector var5 = new Vector();
  311.       String var6 = this.jaggSQL.getSEP();
  312.       this.user.mainmsg.setStatusMsg(JDPLang.get("Message0"), 0);
  313.       this.jaggSQL.loadSettings(this.JDPSelectDSN1);
  314.       var4 = this.jaggSQL.execSQL(var1, var5);
  315.       this.sqlReturnValue.setText(Integer.toString(var4));
  316.       if (var4 == -1) {
  317.          this.user.u.setSqlMessage(this.jaggSQL, var1);
  318.          var2.currentText = new String[50][50];
  319.          var2.newTable();
  320.       } else {
  321.          this.TabPanel1.select(2);
  322.          int var8 = this.jaggSQL.getColumnCount();
  323.          var2.totalDataRows = this.jaggSQL.getRowCount();
  324.          int var9 = this.jaggSQL.getRowCount();
  325.          var2.currentText = new String[var8][var9];
  326.  
  327.          for(int var11 = 0; var11 < var9; ++var11) {
  328.             String var7 = (String)var5.elementAt(var11);
  329.             if (var7 != null && var7.trim().compareTo("") != 0) {
  330.                StringTokenizer var3 = new StringTokenizer(var7, var6);
  331.  
  332.                for(int var12 = 0; var12 < var8; ++var12) {
  333.                   String var10 = var3.nextToken().trim();
  334.                   var2.currentText[var12][var11] = var10;
  335.                }
  336.             }
  337.          }
  338.  
  339.          var2.newTable();
  340.          this.user.mainmsg.clearStatusMsg();
  341.       }
  342.    }
  343. }
  344.