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

  1. import java.awt.BorderLayout;
  2. import java.awt.Button;
  3. import java.awt.Choice;
  4. import java.awt.Color;
  5. import java.awt.Component;
  6. import java.awt.Container;
  7. import java.awt.Event;
  8. import java.awt.List;
  9. import java.awt.Panel;
  10. import java.awt.TextField;
  11. import java.util.StringTokenizer;
  12. import java.util.Vector;
  13.  
  14. public class JDPTemplDtlMaint extends Panel {
  15.    JDPUser user;
  16.    JDPWhereClause jdpWhereClause;
  17.    JDPSearchResults searchResults;
  18.    JDPTextGrid tableContents;
  19.    JDPTemplateMaint target;
  20.    JDPJagg jaggSQL;
  21.    String[] psortChoice;
  22.    String[] pdisplayChoice;
  23.    int itemIndex;
  24.    boolean insertRequested;
  25.    boolean deleteRequested;
  26.    String pfromWhereClause;
  27.    String[][] rowKey;
  28.    int keyCount;
  29.    int prevColumnCount;
  30.    int columnCount = 5;
  31.    String currentType = "D";
  32.    String templdsn;
  33.    String templcstr;
  34.    String templtbls;
  35.    String templjoin;
  36.    int totalRows;
  37.    String prevtempltbls;
  38.    TextField c_templname;
  39.    TextField c_templdesc;
  40.    Vector[] pullDownListV;
  41.    List[] pullDownList;
  42.  
  43.    void loadChoices() {
  44.    }
  45.  
  46.    void newSearch() {
  47.       String var1 = this.pfromWhereClause;
  48.       if (this.jdpWhereClause != null) {
  49.          var1 = var1 + " AND " + this.jdpWhereClause.whereClause;
  50.       }
  51.  
  52.       this.searchResults.setFromWhereClause(var1);
  53.       this.searchResults.clearList();
  54.       this.searchResults.loadList();
  55.    }
  56.  
  57.    void clearFields() {
  58.       this.c_templname.setText("");
  59.       this.c_templdesc.setText("");
  60.       this.loadEmptyGrid();
  61.    }
  62.  
  63.    void loadEmptyGrid() {
  64.       this.tableContents.currentText = new String[this.columnCount][50];
  65.       this.tableContents.cellChanged = null;
  66.       this.tableContents.rowChanged = null;
  67.       this.tableContents.columnSelected = null;
  68.       this.rowKey = new String[50][this.keyCount];
  69.       this.tableContents.newTable();
  70.       this.totalRows = 0;
  71.    }
  72.  
  73.    void setGridSettings() {
  74.       this.columnCount = 7;
  75.       if (this.currentType.equals("E")) {
  76.          this.columnCount = 5;
  77.       }
  78.  
  79.       this.tableContents.columnHeader = new String[this.columnCount];
  80.       this.tableContents.columnHeaderStyle = new int[this.columnCount];
  81.       this.tableContents.columnStyle = new int[this.columnCount];
  82.       this.tableContents.columnHeaderColor = new Color[this.columnCount];
  83.       this.tableContents.columnColor = new Color[this.columnCount];
  84.       this.tableContents.columnBGColor = new Color[this.columnCount];
  85.       this.tableContents.columnProtected = new boolean[this.columnCount];
  86.       this.tableContents.columnWidth = new int[this.columnCount];
  87.       this.tableContents.rightJustify = new boolean[this.columnCount];
  88.       this.tableContents.rowHeader = null;
  89.       this.tableContents.columnHeight = null;
  90.       this.tableContents.isPullDownCol = new boolean[this.columnCount];
  91.       this.tableContents.pullDownList = new List[this.columnCount][1];
  92.  
  93.       for(int var1 = 0; var1 < this.columnCount; ++var1) {
  94.          this.tableContents.columnHeaderStyle[var1] = 1;
  95.          this.tableContents.columnStyle[var1] = 0;
  96.          this.tableContents.columnHeaderColor[var1] = Color.black;
  97.          this.tableContents.columnColor[var1] = Color.black;
  98.          this.tableContents.columnBGColor[var1] = Color.white;
  99.          this.tableContents.columnStyle[var1] = 0;
  100.       }
  101.  
  102.       this.tableContents.columnHeader[0] = "Column Name";
  103.       this.tableContents.columnHeader[1] = "Data Type";
  104.       this.tableContents.columnHeader[2] = "Size";
  105.       this.tableContents.columnHeader[3] = "Dec";
  106.       this.pullDownListV = new Vector[this.columnCount];
  107.       this.pullDownList = new List[this.columnCount];
  108.       this.tableContents.isPullDownCol[1] = true;
  109.       this.tableContents.pullDownList[1][0] = new List();
  110.       JDPUtils.loadODBCList(this.tableContents.pullDownList[1][0]);
  111.       this.tableContents.columnProtected[1] = true;
  112.       this.tableContents.isPullDownCol[4] = true;
  113.       this.pullDownList[4] = new List();
  114.       if (this.columnCount == 7) {
  115.          this.pullDownList[5] = new List();
  116.          this.pullDownList[5].addItem("No");
  117.          this.pullDownList[5].addItem("Yes");
  118.          this.pullDownListV[5] = new Vector();
  119.          this.pullDownListV[5].addElement("N");
  120.          this.pullDownListV[5].addElement("Y");
  121.          this.tableContents.isPullDownCol[5] = true;
  122.          this.pullDownList[6] = new List();
  123.          this.pullDownList[6].addItem("No");
  124.          this.pullDownList[6].addItem("Yes");
  125.          this.pullDownListV[6] = new Vector();
  126.          this.pullDownListV[6].addElement("N");
  127.          this.pullDownListV[6].addElement("Y");
  128.       }
  129.  
  130.       this.tableContents.columnWidth[0] = 83;
  131.       this.tableContents.columnWidth[1] = 58;
  132.       this.tableContents.columnWidth[2] = 36;
  133.       this.tableContents.columnWidth[3] = 36;
  134.       this.tableContents.rightJustify[2] = true;
  135.       this.tableContents.rightJustify[3] = true;
  136.       if (this.currentType.equals("E")) {
  137.          this.tableContents.columnHeader[4] = "Column SQL";
  138.          this.tableContents.columnProtected[4] = false;
  139.          this.tableContents.pullDownList[4][0] = this.pullDownList[4];
  140.          this.tableContents.columnWidth[4] = 92;
  141.       } else {
  142.          this.tableContents.columnHeader[4] = "Key";
  143.          this.tableContents.columnProtected[4] = true;
  144.          this.tableContents.pullDownList[4][0] = this.pullDownList[5];
  145.          this.tableContents.columnWidth[4] = 36;
  146.          this.tableContents.columnHeader[5] = "Nulls";
  147.          this.tableContents.columnWidth[5] = 36;
  148.          this.tableContents.columnProtected[5] = true;
  149.          this.tableContents.pullDownList[5][0] = this.pullDownList[6];
  150.          this.tableContents.columnHeader[6] = "Default";
  151.          this.tableContents.columnWidth[6] = 100;
  152.       }
  153.    }
  154.  
  155.    void retrieveHandle() {
  156.       for(int var1 = 0; var1 < this.user.gParm.size(); ++var1) {
  157.       }
  158.  
  159.    }
  160.  
  161.    void loadData(String[] var1) {
  162.       int var3 = 0;
  163.       Vector var4 = new Vector();
  164.       String var5 = this.jaggSQL.getSEP();
  165.       String[] var7;
  166.       if (var1 != null) {
  167.          var7 = var1;
  168.       } else {
  169.          if ((this.itemIndex = this.target.target.tree.getSelectedIndex()) < 0) {
  170.             this.clearFields();
  171.             return;
  172.          }
  173.  
  174.          var7 = this.target.target.tree.getSelectedBranch();
  175.       }
  176.  
  177.       String var8 = "SELECT c.templname," + "c.templdesc," + "c.templtype, " + "c.templdsn, " + "c.templcstr, " + "c.templtbls, " + "c.templjoin " + " FROM JDPTmpGrp b,JDPTmpTable c,JDPTmpType d" + " WHERE b.JDPSystem = c.JDPSystem AND b.JDPSystem = d.JDPSystem AND c.templtype = d.templtype AND c.groupname = b.groupname AND c.JDPSystem='" + this.user.JDPSystem + "'" + " AND b.groupdesc='" + var7[2] + "' AND c.templname='" + var7[3] + "'";
  178.       this.user.mainmsg.setStatusMsg("Accessing database...", 0);
  179.       this.jaggSQL.loadSettings(this.user);
  180.       var3 = this.jaggSQL.execSQL(var8, var4);
  181.       if (var3 == -1) {
  182.          this.user.u.setSqlMessage(this.jaggSQL, var8);
  183.       } else if (var3 >= 1) {
  184.          String var6 = (String)var4.elementAt(0);
  185.          if (var6 != null && var6.trim().compareTo("") != 0) {
  186.             StringTokenizer var2 = new StringTokenizer(var6);
  187.             this.c_templname.setText(var2.nextToken(var5).trim());
  188.             this.c_templdesc.setText(var2.nextToken(var5).trim());
  189.             this.currentType = var2.nextToken(var5).trim();
  190.             this.templdsn = var2.nextToken(var5).trim();
  191.             this.templcstr = var2.nextToken(var5).trim();
  192.             this.templtbls = var2.nextToken(var5).trim();
  193.             this.templjoin = var2.nextToken(var5).trim();
  194.             this.columnCount = 7;
  195.             if (this.currentType.equals("E")) {
  196.                this.columnCount = 5;
  197.             }
  198.  
  199.             if (this.columnCount != this.prevColumnCount) {
  200.                this.prevColumnCount = this.columnCount;
  201.                this.setGridSettings();
  202.             }
  203.  
  204.             if (this.currentType.equals("E")) {
  205.                this.loadColumns();
  206.             }
  207.          }
  208.  
  209.          this.loadGrid(var1);
  210.          this.user.mainmsg.clearStatusMsg();
  211.       } else {
  212.          this.user.mainmsg.setStatusMsg("Requested entry does not exist.", 10);
  213.          this.clearFields();
  214.       }
  215.    }
  216.  
  217.    boolean saveData(int var1) {
  218.       int var2 = 0;
  219.       Vector var3 = new Vector();
  220.       this.jaggSQL.getSEP();
  221.       String var4 = "";
  222.       String var5 = Integer.toString(JDPUtils.getODBCValue(this.tableContents.currentText[1][var1]));
  223.       String var6;
  224.       String var7;
  225.       String var8;
  226.       String var9;
  227.       if (this.currentType.equals("E")) {
  228.          var6 = this.tableContents.currentText[4][var1];
  229.          var7 = "";
  230.          var8 = "";
  231.          var9 = "";
  232.       } else {
  233.          var7 = this.tableContents.currentText[4][var1];
  234.          var8 = this.tableContents.currentText[5][var1];
  235.          var9 = this.tableContents.currentText[6][var1];
  236.          var6 = "";
  237.       }
  238.  
  239.       String[] var10 = this.target.target.tree.getSelectedBranch();
  240.       if (this.insertRequested) {
  241.          var4 = "INSERT INTO JDPTmpDetail (JDPSystem, " + "templtype, " + "groupname, " + "templname, " + "seqno, " + "columnname, " + "columntype, " + "columnsize, " + "columnprec, " + "columnsql, " + "columnkey, " + "columnnull, " + "columndft) VALUES('" + this.user.JDPSystem + "', " + "'" + var10[1].substring(0, 1) + "', " + "'" + (String)this.target.valuea_groupname.elementAt(this.target.a_groupname.getSelectedIndex()) + "', " + "'" + this.target.a_templname.getText() + "', " + "" + Integer.toString(this.totalRows++) + ", " + "'" + this.user.u.replace(this.tableContents.currentText[0][var1], " ", "") + "', " + "" + var5 + ", " + "" + JDPUtils.tonum(this.tableContents.currentText[2][var1]) + ", " + "" + JDPUtils.tonum(this.tableContents.currentText[3][var1]) + ", " + "'" + var6 + "', " + "'" + var7 + "', " + "'" + var8 + "', " + "'" + var9 + "')";
  242.       } else if (this.deleteRequested) {
  243.          var4 = "DELETE FROM JDPTmpDetail" + " WHERE JDPSystem='" + this.rowKey[var1][0] + "'" + " AND templtype='" + var10[1].substring(0, 1) + "'" + " AND groupname='" + (String)this.target.valuea_groupname.elementAt(this.target.a_groupname.getSelectedIndex()) + "'" + " AND templname='" + this.target.a_templname.getText() + "'" + " AND seqno=" + this.rowKey[var1][2];
  244.       } else {
  245.          var4 = "UPDATE JDPTmpDetail SET columnname = '" + this.tableContents.currentText[0][var1] + "', " + "columntype = " + var5 + ", " + "columnsize = " + JDPUtils.tonum(this.tableContents.currentText[2][var1]) + ", " + "columnprec = " + JDPUtils.tonum(this.tableContents.currentText[3][var1]) + ", " + "columnsql = '" + var6 + "', " + "columnkey = '" + var7 + "', " + "columnnull = '" + var8 + "', " + "columndft = '" + var9 + "'" + " WHERE JDPSystem='" + this.user.JDPSystem + "'" + " AND templtype='" + var10[1].substring(0, 1) + "'" + " AND groupname='" + (String)this.target.valuea_groupname.elementAt(this.target.a_groupname.getSelectedIndex()) + "'" + " AND templname='" + this.target.a_templname.getText() + "'" + " AND seqno=" + this.rowKey[var1][2];
  246.       }
  247.  
  248.       this.jaggSQL.loadSettings(this.user);
  249.       var2 = this.jaggSQL.execSQL(var4, var3);
  250.       if (this.user.DEBUG) {
  251.          System.out.println("saveData CNT: " + Integer.toString(var2));
  252.       }
  253.  
  254.       if (var2 == -1) {
  255.          System.out.println("saveData SQL: " + var4);
  256.          this.user.u.setSqlMessage(this.jaggSQL, var4);
  257.          return false;
  258.       } else {
  259.          if (var2 == 1) {
  260.             if (this.insertRequested) {
  261.                this.user.mainmsg.setStatusMsg("Record successfully added.", 3);
  262.             } else if (this.deleteRequested) {
  263.                var4 = "UPDATE JDPTmpDetail" + " SET seqno = seqno-1" + " WHERE JDPSystem='" + this.user.JDPSystem + "'" + " AND templtype='" + var10[1].substring(0, 1) + "'" + " AND groupname='" + var10[2] + "'" + " AND templname='" + var10[3] + "'" + " AND seqno>" + this.rowKey[var1][2];
  264.                this.jaggSQL.execSQL(var4, var3);
  265.  
  266.                for(int var11 = var1; var11 < this.rowKey.length; ++var11) {
  267.                   int var12 = Integer.parseInt(this.rowKey[var11][2]);
  268.                   --var12;
  269.                   this.rowKey[var11][2] = Integer.toString(var12);
  270.                }
  271.  
  272.                this.user.mainmsg.setStatusMsg("Record successfully removed.", 3);
  273.             } else {
  274.                this.user.mainmsg.setStatusMsg("Record successfully updated.", 3);
  275.             }
  276.          } else {
  277.             this.user.u.setSqlMessage(this.jaggSQL, var4);
  278.          }
  279.  
  280.          return true;
  281.       }
  282.    }
  283.  
  284.    public JDPTemplDtlMaint(JDPUser var1, String var2, JDPTemplateMaint var3) {
  285.       this.user = var1;
  286.       this.target = var3;
  287.       this.jaggSQL = new JDPJagg(var1.jaggPath);
  288.       this.jaggSQL.loadSettings(var1);
  289.       ((Container)this).setLayout(new BorderLayout());
  290.       ((Component)this).setFont(var1.plainFont);
  291.       this.pfromWhereClause = "FROM JDPTmpGrp b,JDPTmpTable c,JDPTmpType d WHERE b.JDPSystem = c.JDPSystem AND b.JDPSystem = d.JDPSystem AND c.templtype = d.templtype AND c.groupname = b.groupname AND (1=1)";
  292.       this.psortChoice = new String[1];
  293.       this.psortChoice[0] = "d.typedesc";
  294.       this.pdisplayChoice = this.psortChoice;
  295.       this.c_templname = new TextField("", 22);
  296.       this.c_templdesc = new TextField("", 40);
  297.       this.loadChoices();
  298.       this.tableContents = new JDPTextGrid(var1);
  299.       ((Container)this).add("Center", this.tableContents);
  300.       var1.gParm.addElement(this);
  301.       this.setGridSettings();
  302.       this.loadEmptyGrid();
  303.    }
  304.  
  305.    void checkRows() {
  306.       int var1 = 0;
  307.       int var2 = 0;
  308.       int var3 = 0;
  309.       int var4 = 1;
  310.       int var5 = 1;
  311.  
  312.       for(int var6 = 0; var6 < this.tableContents.rowChanged.length; ++var6) {
  313.          if (this.tableContents.rowChanged[var6]) {
  314.             if (var6 >= this.totalRows) {
  315.                ++var2;
  316.             } else if (this.tableContents.currentText[0][var6].trim().equals("")) {
  317.                ++var3;
  318.             } else {
  319.                ++var1;
  320.             }
  321.          }
  322.       }
  323.  
  324.       for(int var7 = 0; var7 < this.tableContents.rowChanged.length; ++var7) {
  325.          if (this.tableContents.rowChanged[var7]) {
  326.             this.deleteRequested = false;
  327.             this.insertRequested = false;
  328.             if (var7 >= this.totalRows) {
  329.                this.insertRequested = true;
  330.                this.user.mainmsg.setStatusMsg("Inserting row " + Integer.toString(var5++) + " of " + Integer.toString(var2) + "...", 0);
  331.             } else if (this.tableContents.currentText[0][var7].trim().equals("")) {
  332.                this.deleteRequested = true;
  333.                this.user.mainmsg.setStatusMsg("Deleting row " + Integer.toString(var5++) + " of " + Integer.toString(var3) + "...", 0);
  334.             } else {
  335.                this.user.mainmsg.setStatusMsg("Updating row " + Integer.toString(var4++) + " of " + Integer.toString(var1) + "...", 0);
  336.             }
  337.  
  338.             this.saveData(var7);
  339.             this.tableContents.rowChanged[var7] = false;
  340.          }
  341.       }
  342.  
  343.       if (var3 > 0) {
  344.          this.loadGrid((String[])null);
  345.       }
  346.  
  347.    }
  348.  
  349.    void loadColumns() {
  350.       if (this.prevtempltbls == null || !this.templtbls.equals(this.prevtempltbls)) {
  351.          this.prevtempltbls = this.templtbls;
  352.          int var2 = 0;
  353.          int var4 = 0;
  354.          String var6 = "";
  355.          String var7 = this.jaggSQL.getSEP();
  356.          String var8 = "abcdefghijklmnopqrstuvwxyz";
  357.          int var9 = 0;
  358.          if (this.templcstr.length() != 0) {
  359.             this.pullDownList[4].clear();
  360.             this.user.mainmsg.setStatusMsg("Loading Column definitions, please wait...", 0);
  361.             this.jaggSQL.setDSN(this.templdsn);
  362.             this.jaggSQL.setCSTR(this.templcstr);
  363.             this.jaggSQL.setFCTN("SQLColumns");
  364.  
  365.             for(StringTokenizer var10 = new StringTokenizer(this.templtbls, ";"); var10.hasMoreElements(); ++var9) {
  366.                String var11 = var10.nextToken().trim();
  367.                int var12 = var11.indexOf(".");
  368.                if (var12 >= 0) {
  369.                   var11 = var11.substring(var12 + 1);
  370.                }
  371.  
  372.                String var13 = ";;" + var11 + ";;";
  373.                this.jaggSQL.setFCTNP(var13);
  374.                Vector var3 = new Vector();
  375.                var2 = this.jaggSQL.execSQL(var6, var3);
  376.                if (var2 == -1) {
  377.                   this.user.u.setSqlMessage(this.jaggSQL, var6);
  378.                   return;
  379.                }
  380.  
  381.                String var14 = var8.substring(var9, var9 + 1);
  382.                var4 = this.jaggSQL.getRowCount();
  383.                this.jaggSQL.getColumnCount();
  384.  
  385.                for(int var15 = 0; var15 < var4; ++var15) {
  386.                   String var5 = (String)var3.elementAt(var15);
  387.                   if (var5 != null && var5.trim().compareTo("") != 0) {
  388.                      StringTokenizer var1 = new StringTokenizer(var5, var7);
  389.                      if (var1.countTokens() >= 12) {
  390.                         var1.nextToken().trim();
  391.                         var1.nextToken().trim();
  392.                         var1.nextToken().trim();
  393.                         this.pullDownList[4].addItem(var14 + "." + var1.nextToken().trim());
  394.                      }
  395.                   }
  396.                }
  397.             }
  398.  
  399.             this.user.mainmsg.clearStatusMsg();
  400.          }
  401.       }
  402.    }
  403.  
  404.    boolean checkFields() {
  405.       return true;
  406.    }
  407.  
  408.    public boolean handleEvent(Event var1) {
  409.       switch (var1.id) {
  410.          case 202:
  411.             if (var1.target instanceof JDPTabSelectTopPanel) {
  412.                return false;
  413.             }
  414.  
  415.             return false;
  416.          case 401:
  417.             if (var1.key == 9) {
  418.                if (var1.modifiers != 1) {
  419.                   if (var1.target.equals(this.c_templname)) {
  420.                      this.user.u.cursor(this.c_templdesc);
  421.                      return true;
  422.                   }
  423.  
  424.                   if (var1.target.equals(this.c_templdesc)) {
  425.                      this.user.u.cursor(this.c_templname);
  426.                      return true;
  427.                   }
  428.                } else {
  429.                   if (var1.target.equals(this.c_templdesc)) {
  430.                      this.user.u.cursor(this.c_templname);
  431.                      return true;
  432.                   }
  433.  
  434.                   if (var1.target.equals(this.c_templname)) {
  435.                      this.user.u.cursor(this.c_templdesc);
  436.                      return true;
  437.                   }
  438.                }
  439.  
  440.                return true;
  441.             }
  442.  
  443.             return false;
  444.          case 1001:
  445.             if (var1.target.equals(this.searchResults.resultList)) {
  446.                this.loadData((String[])null);
  447.                return true;
  448.             } else if (var1.target instanceof JDPTreePicker && var1.target.equals(this.searchResults.tree)) {
  449.                this.loadData((String[])null);
  450.                return true;
  451.             } else if (var1.target instanceof Button) {
  452.                String var4 = (String)var1.arg;
  453.                if (var4.trim().compareTo("Apply") == 0) {
  454.                   if (this.checkFields()) {
  455.                      this.checkRows();
  456.                   }
  457.  
  458.                   return true;
  459.                } else if (var4.trim().compareTo("Reset") == 0) {
  460.                   this.loadData((String[])null);
  461.                   return true;
  462.                } else if (var4.trim().compareTo("Remove") == 0) {
  463.                   this.insertRequested = false;
  464.                   this.deleteRequested = true;
  465.                   this.checkRows();
  466.                   return true;
  467.                } else {
  468.                   if (var4.trim().compareTo("Search") == 0) {
  469.                      this.insertRequested = false;
  470.                      this.newSearch();
  471.                      return true;
  472.                   }
  473.  
  474.                   return true;
  475.                }
  476.             } else if (var1.target instanceof Choice) {
  477.                return true;
  478.             } else {
  479.                if (var1.target instanceof TextField) {
  480.                   if (this.jdpWhereClause != null && var1.target.equals(this.jdpWhereClause.matchConstant)) {
  481.                      this.insertRequested = false;
  482.                      this.deleteRequested = false;
  483.                      this.newSearch();
  484.                      return true;
  485.                   }
  486.  
  487.                   this.checkFields();
  488.                   return true;
  489.                }
  490.  
  491.                return false;
  492.             }
  493.          case 1005:
  494.             if (!(var1.target instanceof JDPTextGrid)) {
  495.                return false;
  496.             } else {
  497.                int var2 = this.tableContents.getPrevRow();
  498.                if (this.tableContents.currentText[0][var2] != null && !this.tableContents.currentText[0][var2].equals("")) {
  499.                   if (this.tableContents.getPrevColumn() != 1 && this.tableContents.currentText[1][var2].equals("")) {
  500.                      this.tableContents.currentText[1][var2] = "Char";
  501.                      if (this.tableContents.currentText[2][var2].equals("")) {
  502.                         this.tableContents.currentText[2][var2] = "10";
  503.                      }
  504.  
  505.                      this.tableContents.currentText[3][var2] = "";
  506.                      this.tableContents.fieldProtected[3][var2] = true;
  507.                      this.tableContents.repaint();
  508.                   }
  509.  
  510.                   if (this.tableContents.getPrevColumn() == 1) {
  511.                      this.tableContents.nothingChanged = false;
  512.                      int var3 = JDPUtils.getODBCValue(this.tableContents.currentText[1][var2]);
  513.                      if (JDPUtils.isOdbcChar(var3) && !JDPUtils.isOdbcMemo(var3)) {
  514.                         if (this.tableContents.currentText[2][var2].equals("")) {
  515.                            this.tableContents.currentText[2][var2] = "10";
  516.                         }
  517.  
  518.                         this.tableContents.currentText[3][var2] = "";
  519.                         this.tableContents.fieldProtected[3][var2] = true;
  520.                         this.tableContents.repaint();
  521.                      } else if (!JDPUtils.isOdbcMemo(var3) && !JDPUtils.isOdbcInt(var3) && !JDPUtils.isOdbcDate(var3) && !JDPUtils.isOdbcBinary(var3)) {
  522.                         if (this.tableContents.currentText[2][var2].equals("")) {
  523.                            this.tableContents.currentText[2][var2] = "10";
  524.                         }
  525.  
  526.                         if (this.tableContents.currentText[3][var2].equals("")) {
  527.                            this.tableContents.currentText[3][var2] = "2";
  528.                         }
  529.  
  530.                         this.tableContents.fieldProtected[2][var2] = false;
  531.                         this.tableContents.fieldProtected[3][var2] = false;
  532.                         this.tableContents.repaint();
  533.                      } else {
  534.                         this.tableContents.currentText[2][var2] = "";
  535.                         this.tableContents.fieldProtected[2][var2] = true;
  536.                         this.tableContents.currentText[3][var2] = "";
  537.                         this.tableContents.fieldProtected[3][var2] = true;
  538.                         this.tableContents.repaint();
  539.                      }
  540.                   }
  541.  
  542.                   return true;
  543.                }
  544.  
  545.                return true;
  546.             }
  547.          default:
  548.             return false;
  549.       }
  550.    }
  551.  
  552.    void loadGrid(String[] var1) {
  553.       int var3 = 0;
  554.       Vector var4 = new Vector();
  555.       String var5 = this.jaggSQL.getSEP();
  556.       int var6 = 0;
  557.       new Vector();
  558.       new Vector();
  559.       String[] var8;
  560.       if (var1 != null) {
  561.          var8 = var1;
  562.       } else {
  563.          var8 = this.target.target.tree.getSelectedBranch();
  564.       }
  565.  
  566.       String var9;
  567.       if (this.currentType.equals("E")) {
  568.          this.tableContents.columnHeader[4] = "Column SQL";
  569.          this.tableContents.columnProtected[4] = false;
  570.          this.tableContents.pullDownList[4][0] = this.pullDownList[4];
  571.          this.tableContents.columnWidth[4] = 92;
  572.          var9 = "SELECT a.JDPSystem, " + "a.templname, " + "a.seqno, " + "a.columnname, " + "a.columntype, " + "a.columnsize, " + "a.columnprec, " + "a.columnsql FROM JDPTmpDetail a,JDPTmpGrp b,JDPTmpTable c,JDPTmpType d WHERE (1=1)  AND b.JDPSystem = c.JDPSystem AND b.JDPSystem = d.JDPSystem AND a.templname = c.templname AND c.templtype = d.templtype AND a.groupname = b.groupname AND c.groupname = b.groupname " + " AND a.JDPSystem='" + this.user.JDPSystem + "'" + " AND b.groupdesc='" + var8[2] + "' AND c.templname='" + var8[3] + "'" + " ORDER BY a.JDPSystem, a.templname, a.seqno";
  573.       } else {
  574.          this.tableContents.columnHeader[4] = "Key";
  575.          this.tableContents.columnProtected[4] = true;
  576.          this.tableContents.pullDownList[4][0] = this.pullDownList[5];
  577.          this.tableContents.columnWidth[4] = 36;
  578.          this.tableContents.columnHeader[5] = "Nulls";
  579.          this.tableContents.columnWidth[5] = 36;
  580.          this.tableContents.columnProtected[5] = true;
  581.          this.tableContents.pullDownList[5][0] = this.pullDownList[6];
  582.          this.tableContents.columnHeader[6] = "Default";
  583.          this.tableContents.columnWidth[6] = 100;
  584.          var9 = "SELECT a.JDPSystem, " + "a.templname, " + "a.seqno, " + "a.columnname, " + "a.columntype, " + "a.columnsize, " + "a.columnprec, " + "a.columnkey, " + "a.columnnull, " + "a.columndft FROM JDPTmpDetail a,JDPTmpGrp b,JDPTmpTable c,JDPTmpType d WHERE (1=1)  AND b.JDPSystem = c.JDPSystem AND b.JDPSystem = d.JDPSystem AND a.templname = c.templname AND c.templtype = d.templtype AND a.groupname = b.groupname AND c.groupname = b.groupname " + " AND a.JDPSystem='" + this.user.JDPSystem + "'" + " AND b.groupdesc='" + var8[2] + "' AND c.templname='" + var8[3] + "'" + " ORDER BY a.JDPSystem, a.templname, a.seqno";
  585.       }
  586.  
  587.       this.user.mainmsg.setStatusMsg("Accessing database...", 0);
  588.       this.jaggSQL.loadSettings(this.user);
  589.       var3 = this.jaggSQL.execSQL(var9, var4);
  590.       if (var3 == -1) {
  591.          this.user.u.setSqlMessage(this.jaggSQL, var9);
  592.       } else {
  593.          this.totalRows = this.jaggSQL.getRowCount();
  594.          var6 = this.jaggSQL.getRowCount() + 20;
  595.          this.tableContents.currentText = new String[this.columnCount][var6];
  596.          this.tableContents.fieldProtected = new boolean[this.columnCount][var6];
  597.          this.tableContents.cellChanged = null;
  598.          this.tableContents.rowChanged = null;
  599.          this.tableContents.columnSelected = null;
  600.          this.keyCount = 3;
  601.          this.rowKey = new String[var6][this.keyCount];
  602.  
  603.          for(int var10 = 0; var10 < var6 - 20; ++var10) {
  604.             String var7 = (String)var4.elementAt(var10);
  605.             if (var7 != null && var7.trim().compareTo("") != 0) {
  606.                StringTokenizer var2 = new StringTokenizer(var7);
  607.  
  608.                for(int var11 = 0; var11 < this.keyCount; ++var11) {
  609.                   this.rowKey[var10][var11] = var2.nextToken(var5).trim();
  610.                }
  611.  
  612.                for(int var15 = 0; var15 < this.columnCount; ++var15) {
  613.                   this.tableContents.currentText[var15][var10] = var2.nextToken(var5).trim();
  614.                   if (var15 == 1) {
  615.                      this.user.u.listSelect(this.tableContents.pullDownList[var15][0], JDPUtils.getODBCValue(Integer.parseInt(this.tableContents.currentText[var15][var10])));
  616.                      this.tableContents.currentText[var15][var10] = this.tableContents.pullDownList[var15][0].getSelectedItem();
  617.                   }
  618.  
  619.                   if (this.currentType.equals("D") && var15 == 4) {
  620.                      this.tableContents.pullDownList[var15][0].select(this.pullDownListV[5].indexOf(this.tableContents.currentText[var15][var10]));
  621.                      this.tableContents.currentText[var15][var10] = this.tableContents.pullDownList[var15][0].getSelectedItem();
  622.                   }
  623.  
  624.                   if (this.currentType.equals("D") && var15 == 5) {
  625.                      this.tableContents.pullDownList[var15][0].select(this.pullDownListV[6].indexOf(this.tableContents.currentText[var15][var10]));
  626.                      this.tableContents.currentText[var15][var10] = this.tableContents.pullDownList[var15][0].getSelectedItem();
  627.                   }
  628.                }
  629.  
  630.                int var16 = JDPUtils.getODBCValue(this.tableContents.currentText[1][var10]);
  631.                if (JDPUtils.isOdbcChar(var16) && !JDPUtils.isOdbcMemo(var16)) {
  632.                   if (this.tableContents.currentText[2][var10].equals("")) {
  633.                      this.tableContents.currentText[2][var10] = "10";
  634.                   }
  635.  
  636.                   this.tableContents.currentText[3][var10] = "";
  637.                   this.tableContents.fieldProtected[3][var10] = true;
  638.                   this.tableContents.repaint();
  639.                } else if (!JDPUtils.isOdbcMemo(var16) && !JDPUtils.isOdbcInt(var16) && !JDPUtils.isOdbcDate(var16) && !JDPUtils.isOdbcBinary(var16)) {
  640.                   if (this.tableContents.currentText[2][var10].equals("")) {
  641.                      this.tableContents.currentText[2][var10] = "10";
  642.                   }
  643.  
  644.                   if (this.tableContents.currentText[3][var10].equals("")) {
  645.                      this.tableContents.currentText[3][var10] = "2";
  646.                   }
  647.  
  648.                   this.tableContents.fieldProtected[2][var10] = false;
  649.                   this.tableContents.fieldProtected[3][var10] = false;
  650.                   this.tableContents.repaint();
  651.                } else {
  652.                   this.tableContents.currentText[2][var10] = "";
  653.                   this.tableContents.fieldProtected[2][var10] = true;
  654.                   this.tableContents.currentText[3][var10] = "";
  655.                   this.tableContents.fieldProtected[3][var10] = true;
  656.                   this.tableContents.repaint();
  657.                }
  658.  
  659.                if (this.currentType.equals("D") && (this.tableContents.currentText[5][var10] == null || this.tableContents.currentText[5][var10].equals(""))) {
  660.                   this.tableContents.currentText[5][var10] = "No";
  661.                }
  662.             }
  663.          }
  664.  
  665.          for(int var14 = var6 - 20; var14 < var6; ++var14) {
  666.             for(int var17 = 0; var17 < this.keyCount; ++var17) {
  667.                this.rowKey[var14][var17] = this.rowKey[0][var17];
  668.             }
  669.          }
  670.  
  671.          this.tableContents.newTable();
  672.          this.user.mainmsg.clearStatusMsg();
  673.       }
  674.    }
  675. }
  676.