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

  1. import java.awt.BorderLayout;
  2. import java.awt.Container;
  3. import java.awt.Event;
  4. import java.awt.Label;
  5. import java.awt.Panel;
  6. import java.awt.TextArea;
  7. import java.util.Vector;
  8.  
  9. public class JDPSQLSelect extends JDPClassLayout {
  10.    JDPUser user;
  11.    JDPJagg jaggSQL;
  12.    JDPPopupMessage popuppanel;
  13.    JDPMaskEdit JDPMaskEditMain;
  14.    String moduleParameter;
  15.    Panel Main;
  16.    Panel Panel1;
  17.    TextArea completeSQL;
  18.    Label Label4;
  19.    Panel Panel6;
  20.    Panel Panel2;
  21.    Panel Panel8;
  22.    Label Label5;
  23.    JDPList selectFrom;
  24.    Panel Panel7;
  25.    Panel Panel4;
  26.    JDPList selectColumns;
  27.    Label Label2;
  28.    Panel Panel5;
  29.    Label Label3;
  30.    JDPComboBox placeInto;
  31.    Vector valueplaceInto;
  32.    Panel Panel9;
  33.    Panel Panel10;
  34.    Label Label6;
  35.    JDPList whereColumns;
  36.    Panel Panel11;
  37.    Label Label7;
  38.    JDPComboBox whereSettings;
  39.    Vector valuewhereSettings;
  40.    boolean SQLOnly = false;
  41.    String alphabet = "abcdefghijklmnopqrstuvwxyz";
  42.    String value;
  43.  
  44.    public void InitClass(JDPUser var1, Panel var2, String var3) {
  45.       this.user = var1;
  46.       this.moduleParameter = var3;
  47.       super.targetPanel = var2;
  48.       this.jaggSQL = new JDPJagg(var1.jaggPath);
  49.       ((Container)this).setLayout(new BorderLayout());
  50.       this.popuppanel = new JDPPopupMessage(var1, this);
  51.       ((Container)this).add(this.popuppanel);
  52.       this.JDPMaskEditMain = new JDPMaskEdit();
  53.       this.Main = new Panel();
  54.       this.Panel1 = new Panel();
  55.       this.completeSQL = new TextArea("", 3, 20);
  56.       this.Label4 = new Label("SQL", 0);
  57.       this.Panel6 = new Panel();
  58.       this.Panel2 = new Panel();
  59.       this.Panel8 = new Panel();
  60.       this.Label5 = new Label("Select From", 0);
  61.       this.selectFromMain();
  62.       this.Panel7 = new Panel();
  63.       this.Panel4 = new Panel();
  64.       this.selectColumnsMain();
  65.       this.Label2 = new Label("Columns", 0);
  66.       this.Panel5 = new Panel();
  67.       this.Label3 = new Label("Place Into", 0);
  68.       this.placeIntoMain();
  69.       this.Panel9 = new Panel();
  70.       this.Panel10 = new Panel();
  71.       this.Label6 = new Label("Where", 0);
  72.       this.whereColumnsMain();
  73.       this.Panel11 = new Panel();
  74.       this.Label7 = new Label("Equals", 0);
  75.       this.whereSettingsMain();
  76.       this.Main.setLayout(new BorderLayout());
  77.       ((Container)this).add("Center", this.Main);
  78.       this.Main.add("Center", this.Panel1);
  79.       this.Panel1.setLayout(new BorderLayout());
  80.       this.Panel1.add("Center", this.completeSQL);
  81.       this.Panel1.add("North", this.Label4);
  82.       this.Main.add("North", this.Panel6);
  83.       this.Panel6.setLayout(new JDPRowLayout());
  84.       this.Panel6.add("Left", this.Panel2);
  85.       this.Panel2.setLayout(new JDPLineLayout());
  86.       this.Panel2.add("Left", this.Panel8);
  87.       this.Panel8.setLayout(new BorderLayout());
  88.       this.Panel8.add("North", this.Label5);
  89.       this.Panel8.add("Center", this.selectFrom);
  90.       this.Panel6.add("Left", this.Panel7);
  91.       this.Panel7.setLayout(new JDPLineLayout());
  92.       this.Panel7.add("Left", this.Panel4);
  93.       this.Panel4.setLayout(new BorderLayout());
  94.       this.Panel4.add("Center", this.selectColumns);
  95.       this.Panel4.add("North", this.Label2);
  96.       this.Panel7.add("Left", this.Panel5);
  97.       this.Panel5.setLayout(new JDPRowLayout());
  98.       this.Panel5.add("Left", this.Label3);
  99.       this.Panel5.add("Left", this.placeInto);
  100.       this.Panel6.add("Left", this.Panel9);
  101.       this.Panel9.setLayout(new JDPLineLayout());
  102.       this.Panel9.add("Left", this.Panel10);
  103.       this.Panel10.setLayout(new BorderLayout());
  104.       this.Panel10.add("North", this.Label6);
  105.       this.Panel10.add("Center", this.whereColumns);
  106.       this.Panel9.add("Left", this.Panel11);
  107.       this.Panel11.setLayout(new JDPRowLayout());
  108.       this.Panel11.add("Left", this.Label7);
  109.       this.Panel11.add("Left", this.whereSettings);
  110.       this.selectFrom.setBackground(var1.u._cvtcolor("White"));
  111.       this.selectFrom.setMinHeight(60);
  112.       this.selectFrom.setMultipleSelections(true);
  113.       this.selectFrom.setSelectionsCheckboxes(true);
  114.       this.selectFrom.setMinWidth(285);
  115.       this.selectColumns.setBackground(var1.u._cvtcolor("White"));
  116.       this.selectColumns.setMinHeight(60);
  117.       this.selectColumns.setMultipleSelections(true);
  118.       this.selectColumns.setSelectionsCheckboxes(true);
  119.       this.placeInto.setMinimumWidth(140);
  120.       this.whereColumns.setBackground(var1.u._cvtcolor("White"));
  121.       this.whereColumns.setMinHeight(60);
  122.       this.whereColumns.setMultipleSelections(true);
  123.       this.whereColumns.setSelectionsCheckboxes(true);
  124.       this.whereSettings.setMinimumWidth(140);
  125.       this.InitComponents();
  126.       var1.gParm.addElement(this);
  127.    }
  128.  
  129.    public boolean handleEvent(Event var1) {
  130.       switch (var1.id) {
  131.          case 402:
  132.             if (var1.target.equals(this.placeInto)) {
  133.                String var15 = this.selectColumns.getSelectedKey();
  134.                String var20 = var15.substring(var15.indexOf(":"));
  135.                this.selectColumns.replaceItemKey(this.selectColumns.getSelectedIndex(), this.placeInto.getText() + var20);
  136.                this.constructSQL();
  137.                return true;
  138.             } else {
  139.                if (var1.target.equals(this.whereSettings)) {
  140.                   String var14 = this.whereColumns.getSelectedKey();
  141.                   String var19 = var14.substring(var14.indexOf(":"));
  142.                   this.whereColumns.replaceItemKey(this.whereColumns.getSelectedIndex(), this.whereSettings.getText() + var19);
  143.                   this.constructSQL();
  144.                   return true;
  145.                }
  146.  
  147.                return false;
  148.             }
  149.          case 503:
  150.          case 504:
  151.          case 505:
  152.             this.popuppanel.postEvent(var1);
  153.             return false;
  154.          case 701:
  155.             if (var1.target.equals(this.selectFrom)) {
  156.                Event var13 = new Event(this, 1001, "SelectFrom");
  157.                ((Container)this).deliverEvent(var13);
  158.                this.constructSQL();
  159.                return true;
  160.             } else if (var1.target.equals(this.selectColumns)) {
  161.                if (this.selectColumns.getSelectedIndex() >= 0) {
  162.                   String var10 = this.selectColumns.getSelectedKey();
  163.                   var10 = var10.substring(0, var10.indexOf(":"));
  164.                   this.placeInto.setText(var10);
  165.                } else {
  166.                   this.placeInto.setText("");
  167.                }
  168.  
  169.                this.constructSQL();
  170.                Event var12 = new Event(this, 701, "selectColumns");
  171.                ((Container)this).deliverEvent(var12);
  172.                return true;
  173.             } else {
  174.                if (var1.target.equals(this.whereColumns)) {
  175.                   if (this.whereColumns.getSelectedIndex() >= 0) {
  176.                      String var7 = this.whereColumns.getSelectedKey();
  177.                      var7 = var7.substring(0, var7.indexOf(":"));
  178.                      this.whereSettings.setText(var7);
  179.                   } else {
  180.                      this.whereSettings.setText("");
  181.                   }
  182.  
  183.                   this.constructSQL();
  184.                   Event var9 = new Event(this, 701, "whereColumns");
  185.                   ((Container)this).deliverEvent(var9);
  186.                   return true;
  187.                }
  188.  
  189.                return false;
  190.             }
  191.          case 702:
  192.             if (var1.target.equals(this.selectColumns)) {
  193.                this.constructSQL();
  194.                return true;
  195.             } else {
  196.                if (var1.target.equals(this.whereColumns)) {
  197.                   this.constructSQL();
  198.                   return true;
  199.                }
  200.  
  201.                return false;
  202.             }
  203.          case 1001:
  204.             if (var1.target.equals(this.selectColumns)) {
  205.                this.constructSQL();
  206.                return true;
  207.             } else if (var1.target.equals(this.placeInto)) {
  208.                String var6 = this.selectColumns.getSelectedKey();
  209.                String var18 = var6.substring(var6.indexOf(":"));
  210.                this.selectColumns.replaceItemKey(this.selectColumns.getSelectedIndex(), this.placeInto.getText() + var18);
  211.                this.constructSQL();
  212.                return true;
  213.             } else if (var1.target.equals(this.whereColumns)) {
  214.                this.constructSQL();
  215.                return true;
  216.             } else {
  217.                if (var1.target.equals(this.whereSettings)) {
  218.                   String var5 = this.whereColumns.getSelectedKey();
  219.                   String var17 = var5.substring(var5.indexOf(":"));
  220.                   this.whereColumns.replaceItemKey(this.whereColumns.getSelectedIndex(), this.whereSettings.getText() + var17);
  221.                   this.constructSQL();
  222.                   return true;
  223.                }
  224.  
  225.                return false;
  226.             }
  227.          case 1005:
  228.             if (var1.target.equals(this.placeInto)) {
  229.                String var4 = this.selectColumns.getSelectedKey();
  230.                String var16 = var4.substring(var4.indexOf(":"));
  231.                this.selectColumns.replaceItemKey(this.selectColumns.getSelectedIndex(), this.placeInto.getText() + var16);
  232.                this.constructSQL();
  233.                return true;
  234.             } else {
  235.                if (var1.target.equals(this.whereSettings)) {
  236.                   String var2 = this.whereColumns.getSelectedKey();
  237.                   String var3 = var2.substring(var2.indexOf(":"));
  238.                   this.whereColumns.replaceItemKey(this.whereColumns.getSelectedIndex(), this.whereSettings.getText() + var3);
  239.                   this.constructSQL();
  240.                   return true;
  241.                }
  242.  
  243.                return false;
  244.             }
  245.          default:
  246.             return false;
  247.       }
  248.    }
  249.  
  250.    public void InitComponents() {
  251.       this.jaggSQL.setKeepConnectionOpen(false);
  252.    }
  253.  
  254.    public void MainMethod() {
  255.    }
  256.  
  257.    public String constructSQL() {
  258.       String var1 = this.constructCompleteSQL(this.SQLOnly);
  259.       this.completeSQL.setText(var1);
  260.       return var1;
  261.    }
  262.  
  263.    public JDPList getWhereColumnsHandle() {
  264.       return this.whereColumns;
  265.    }
  266.  
  267.    public JDPComboBox getWhereSettingsHandle() {
  268.       return this.whereSettings;
  269.    }
  270.  
  271.    public JDPList getSelectFromHandle() {
  272.       return this.selectFrom;
  273.    }
  274.  
  275.    public JDPList getSelectColumnsHandle() {
  276.       return this.selectColumns;
  277.    }
  278.  
  279.    public JDPComboBox getPlaceIntoHandle() {
  280.       return this.placeInto;
  281.    }
  282.  
  283.    public void setSQLOnly(boolean var1) {
  284.       this.SQLOnly = var1;
  285.       if (var1) {
  286.          this.Panel5.hide();
  287.       } else {
  288.          this.Panel5.show();
  289.       }
  290.    }
  291.  
  292.    public String constructCompleteSQL(boolean var1) {
  293.       StringBuffer var2 = new StringBuffer();
  294.       if (this.selectFrom.getSelectedIndexes().length == 0) {
  295.          return "";
  296.       } else {
  297.          String var3 = "\"";
  298.          String var4 = "+";
  299.          if (var1) {
  300.             var3 = "";
  301.             var4 = "";
  302.          }
  303.  
  304.          if (this.selectColumns.getSelectedIndexes().length > 0) {
  305.             var2.append(var3 + "SELECT ");
  306.             int[] var5 = this.selectColumns.getSelectedIndexes();
  307.  
  308.             for(int var6 = 0; var6 < var5.length; ++var6) {
  309.                if (var6 > 0) {
  310.                   var2.append(", " + var3 + " " + var4 + "\n\t" + var3);
  311.                }
  312.  
  313.                var2.append(this.selectColumns.getItem(var5[var6]));
  314.             }
  315.  
  316.             var2.append(" " + var3 + " " + var4 + "\n" + var3 + "FROM ");
  317.             String[] var7 = this.selectFrom.getSelectedItems();
  318.  
  319.             for(int var8 = 0; var8 < var7.length; ++var8) {
  320.                if (var8 > 0) {
  321.                   var2.append(", ");
  322.                }
  323.  
  324.                if (var7.length == 1) {
  325.                   var2.append(var7[var8]);
  326.                } else {
  327.                   var2.append(var7[var8] + " " + this.alphabet.substring(var8, var8 + 1));
  328.                }
  329.             }
  330.  
  331.             var2.append(" " + var3);
  332.             if (this.whereColumns.getSelectedIndexes().length > 0) {
  333.                String var9 = " " + var4 + "\n" + var3 + "WHERE ";
  334.                int[] var10 = this.whereColumns.getSelectedIndexes();
  335.  
  336.                for(int var11 = 0; var11 < var10.length; ++var11) {
  337.                   var2.append(var9);
  338.                   var9 = " " + var4 + "\n" + var3 + "AND ";
  339.                   var2.append(this.whereColumns.getItem(var10[var11]));
  340.                   var2.append(" = ");
  341.                   this.value = this.whereColumns.getItemKey(var10[var11]);
  342.                   this.value = this.value.substring(0, this.value.indexOf(":"));
  343.                   var2.append(this.value);
  344.                   var2.append(" " + var3);
  345.                }
  346.             }
  347.          }
  348.  
  349.          return var2.toString();
  350.       }
  351.    }
  352.  
  353.    public String getSQL() {
  354.       return this.SQLOnly ? this.completeSQL.getText() : this.constructCompleteSQL(true);
  355.    }
  356.  
  357.    public void clear() {
  358.       this.selectFrom.clear();
  359.       this.selectColumns.clear();
  360.       this.placeInto.clear();
  361.       this.placeInto.setText("");
  362.       this.whereColumns.clear();
  363.       this.whereSettings.clear();
  364.       this.whereSettings.setText("");
  365.       this.completeSQL.setText("");
  366.    }
  367.  
  368.    public void selectFromMain() {
  369.       if (this.selectFrom == null) {
  370.          this.selectFrom = new JDPList(this.user);
  371.       }
  372.  
  373.    }
  374.  
  375.    public void selectColumnsMain() {
  376.       if (this.selectColumns == null) {
  377.          this.selectColumns = new JDPList(this.user);
  378.       }
  379.  
  380.    }
  381.  
  382.    public void placeIntoMain() {
  383.       if (this.placeInto == null) {
  384.          this.placeInto = new JDPComboBox(this.user);
  385.       }
  386.  
  387.    }
  388.  
  389.    public void whereColumnsMain() {
  390.       if (this.whereColumns == null) {
  391.          this.whereColumns = new JDPList(this.user);
  392.       }
  393.  
  394.    }
  395.  
  396.    public void whereSettingsMain() {
  397.       if (this.whereSettings == null) {
  398.          this.whereSettings = new JDPComboBox(this.user);
  399.       }
  400.  
  401.    }
  402. }
  403.