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

  1. import java.awt.BorderLayout;
  2. import java.awt.Color;
  3. import java.awt.Component;
  4. import java.awt.Container;
  5. import java.awt.Event;
  6. import java.awt.Graphics;
  7. import java.awt.Panel;
  8. import java.awt.Rectangle;
  9. import java.awt.TextArea;
  10. import java.util.Date;
  11. import java.util.StringTokenizer;
  12.  
  13. public class JDPActiveJdbcMaint extends JDPClassLayout {
  14.    JDPUser user;
  15.    JDPJagg jaggSQL;
  16.    JDPPopupMessage popuppanel;
  17.    JDPMaskEdit JDPMaskEditMain;
  18.    String moduleParameter;
  19.    Panel Main;
  20.    JDPPopupMenu PopupMenu1;
  21.    JDPChiselFramePanel ChiselPanel1;
  22.    Panel Panel1;
  23.    JDPButtons JDPButtons1;
  24.    JDPSplitPanel SplitPanel1;
  25.    JDPTextGrid GridPanel1;
  26.    TextArea jobLog;
  27.    JDPMessageDialog MessageBox1;
  28.    Thread thisThread;
  29.    JDPJagg jaggSQL1;
  30.    boolean firsttime = true;
  31.    long waitSeconds = 60L;
  32.    boolean jobLogShowing = true;
  33.    boolean loading = false;
  34.    String[][] data;
  35.    String[][] cxnData;
  36.  
  37.    public void InitClass(JDPUser var1, Panel var2, String var3) {
  38.       this.user = var1;
  39.       this.moduleParameter = var3;
  40.       super.targetPanel = var2;
  41.       this.jaggSQL = new JDPJagg(var1.jaggPath);
  42.       ((Container)this).setLayout(new BorderLayout());
  43.       this.popuppanel = new JDPPopupMessage(var1, this);
  44.       ((Container)this).add(this.popuppanel);
  45.       this.JDPMaskEditMain = new JDPMaskEdit();
  46.       this.Main = new Panel();
  47.       this.PopupMenu1 = new JDPPopupMenu(var1.getJDPUser(), this.Main);
  48.       this.ChiselPanel1 = new JDPChiselFramePanel(var1, "Active Users Display");
  49.       this.Panel1 = new Panel();
  50.       String[] var4 = new String[]{"Refresh", "Hide Details"};
  51.       int[] var5 = new int[]{JDPButton.getIconValue("Undo"), JDPButton.getIconValue("Delete")};
  52.       this.JDPButtons1 = new JDPButtons(var1, var4, var5, JDPButtons.getAlignmentValue("Horizontal"));
  53.       this.SplitPanel1 = new JDPSplitPanel(var1);
  54.       this.GridPanel1 = new JDPTextGrid(var1);
  55.       this.jobLog = new TextArea("", 3, 20);
  56.       this.MessageBox1 = new JDPMessageDialog(var1, this);
  57.       this.Main.setLayout(new BorderLayout());
  58.       ((Container)this).add("Center", this.Main);
  59.       this.Main.add("West", this.PopupMenu1);
  60.       this.Main.add("Center", this.ChiselPanel1);
  61.       this.ChiselPanel1.add("Center", this.Panel1);
  62.       this.Panel1.setLayout(new BorderLayout());
  63.       this.Panel1.add("South", this.JDPButtons1);
  64.       this.Panel1.add("Center", this.SplitPanel1);
  65.       this.SplitPanel1.add("Left", this.GridPanel1);
  66.       this.SplitPanel1.add("Left", this.jobLog);
  67.       this.SplitPanel1.setLeftPercentage(50.0F);
  68.       this.SplitPanel1.setTopPercentage(75.0F);
  69.       this.GridPanel1.setBackground(var1.u._cvtcolor("LightGray"));
  70.       this.popuppanel.addComponent(this.GridPanel1, "", "Click on a connection or request for Options.");
  71.       this.GridPanel1.setTableDimensions(7, 50);
  72.       this.GridPanel1.setColumnHeader(0, "Data Source|     Request");
  73.       this.GridPanel1.setColumnHeader(1, "Connection|Request Detail");
  74.       this.GridPanel1.setColumnHeader(2, "Last connection|");
  75.       this.GridPanel1.setColumnHeader(3, " |Duration");
  76.       this.GridPanel1.setColumnHeader(4, "Idle for|");
  77.       this.GridPanel1.setColumnHeader(5, "#Requests|Priority");
  78.       this.GridPanel1.setColumnHeader(6, "Status|");
  79.       this.GridPanel1.setColumnHeader(6, "Status|");
  80.       this.GridPanel1.setColumnHeader(6, "Status|");
  81.       this.GridPanel1.setColumnWidth(0, 120);
  82.       this.GridPanel1.setColumnWidth(1, 170);
  83.       this.GridPanel1.setColumnWidth(2, 100);
  84.       this.GridPanel1.setColumnWidth(3, 60);
  85.       this.GridPanel1.setColumnWidth(4, 70);
  86.       this.GridPanel1.setColumnWidth(5, 70);
  87.       this.GridPanel1.setColumnWidth(6, 60);
  88.       this.GridPanel1.setColumnWidth(6, 60);
  89.       this.GridPanel1.setColumnWidth(6, 60);
  90.       this.GridPanel1.setColumnHeaderHeight(26);
  91.       this.jobLog.setBackground(var1.u._cvtcolor("LightGray"));
  92.       this.jobLog.setEditable(false);
  93.       this.MessageBox1.setTitle("Confirm");
  94.       this.MessageBox1.setButtonCount(2);
  95.       this.MessageBox1.setButtonIcon(0, 8);
  96.       this.MessageBox1.setButtonIcon(1, 6);
  97.       this.MessageBox1.setButtonText(0, "Delete");
  98.       this.MessageBox1.setButtonText(1, "Cancel");
  99.       var1.gParm.addElement(this);
  100.       this.InitComponents();
  101.    }
  102.  
  103.    public boolean handleEvent(Event var1) {
  104.       switch (var1.id) {
  105.          case 503:
  106.          case 504:
  107.          case 505:
  108.             this.popuppanel.postEvent(var1);
  109.             return false;
  110.          case 701:
  111.             if (var1.target.equals(this.GridPanel1)) {
  112.                if (!this.PopupMenu1LoadMenu()) {
  113.                   return true;
  114.                }
  115.  
  116.                this.PopupMenu1.display(var1.x, var1.y);
  117.                return true;
  118.             }
  119.  
  120.             return false;
  121.          case 1001:
  122.             if (var1.target.equals(this.PopupMenu1)) {
  123.                this.PopupMenu1HandleSelection();
  124.                return true;
  125.             } else if (var1.target.equals(this.JDPButtons1.button[0])) {
  126.                this.LoadGridWithJdbcData();
  127.                return true;
  128.             } else {
  129.                if (var1.target.equals(this.JDPButtons1.button[1])) {
  130.                   this.setJobLogVisible(false);
  131.                   return true;
  132.                }
  133.  
  134.                return false;
  135.             }
  136.          default:
  137.             return false;
  138.       }
  139.    }
  140.  
  141.    public void InitComponents() {
  142.       this.setJobLogVisible(false);
  143.       this.jaggSQL.loadSettings(this.user);
  144.       this.jaggSQL.setKeepConnectionOpen(false);
  145.       this.GridPanel1.setGridColor(Color.white);
  146.       this.LoadGridWithJdbcData();
  147.       this.thisThread = new Thread(this);
  148.       this.thisThread.start();
  149.       this.jaggSQL1 = new JDPJagg(this.user.jaggPath);
  150.       this.jaggSQL1.loadSettings(this.user);
  151.       Rectangle var1 = super.targetPanel.bounds();
  152.       if (var1.width - 585 > 170) {
  153.          this.GridPanel1.setColumnWidth(1, var1.width - 585);
  154.       }
  155.  
  156.    }
  157.  
  158.    public void ResetGridSize(int var1, int var2) {
  159.       this.GridPanel1.setTableDimensions(var1, var2);
  160.  
  161.       for(int var3 = 0; var3 < var2; ++var3) {
  162.          this.GridPanel1.setCellEnabled(0, var3, false);
  163.       }
  164.  
  165.       for(int var4 = 1; var4 < var1; ++var4) {
  166.          this.GridPanel1.setColumnEnabled(var4, false);
  167.       }
  168.  
  169.       for(int var5 = 0; var5 < var2; ++var5) {
  170.          this.GridPanel1.setRowHeader(var5, "");
  171.       }
  172.  
  173.       if (this.firsttime) {
  174.          Graphics var6 = super.targetPanel.getGraphics();
  175.          int var7 = 2 * this.user.u.StringHeight(var6) - 2;
  176.          if (var7 > 0) {
  177.             this.GridPanel1.setColumnHeaderHeight(var7);
  178.          }
  179.  
  180.          int var8 = this.user.u.StringWidth(this.user.mainmsg.message.getGraphics(), "O");
  181.          int var9 = this.user.u.StringWidth(var6, "O");
  182.          float var10 = (float)var9 / (float)var8;
  183.          if (var10 != 1.0F && var10 != 0.0F) {
  184.             for(int var11 = 0; var11 < var1; ++var11) {
  185.                this.GridPanel1.setColumnWidth(var11, (int)((float)this.GridPanel1.getColumnWidth(var11) * var10));
  186.             }
  187.          }
  188.  
  189.          if (var10 != 0.0F) {
  190.             this.firsttime = false;
  191.          }
  192.       }
  193.  
  194.    }
  195.  
  196.    public void run() {
  197.       while(true) {
  198.          try {
  199.             for(; this.waitSeconds > 0L; Thread.sleep(this.waitSeconds * 1000L)) {
  200.                if (((Component)this).isShowing()) {
  201.                   this.LoadGridWithJdbcData();
  202.                }
  203.             }
  204.  
  205.             Thread.sleep(600000L);
  206.          } catch (Exception var1) {
  207.          }
  208.       }
  209.    }
  210.  
  211.    public void setJobLogVisible(boolean var1) {
  212.       if (var1) {
  213.          if (!this.jobLogShowing) {
  214.             this.jobLog.show();
  215.             this.SplitPanel1.layout();
  216.             this.SplitPanel1.paintAll(this.SplitPanel1.getGraphics());
  217.             this.jobLogShowing = true;
  218.             this.JDPButtons1.button[1].show();
  219.             this.JDPButtons1.layout();
  220.             this.JDPButtons1.paintAll(this.JDPButtons1.getGraphics());
  221.          }
  222.       } else if (this.jobLogShowing) {
  223.          this.jobLog.hide();
  224.          this.SplitPanel1.layout();
  225.          this.SplitPanel1.paintAll(this.SplitPanel1.getGraphics());
  226.          this.jobLogShowing = false;
  227.          this.JDPButtons1.button[1].hide();
  228.          this.JDPButtons1.layout();
  229.          this.JDPButtons1.paintAll(this.JDPButtons1.getGraphics());
  230.       }
  231.    }
  232.  
  233.    public String convertTime(String var1) {
  234.       long var2 = Long.valueOf(var1);
  235.       long var4 = var2 / 86400000L;
  236.       long var6 = var2 / 3600000L;
  237.       long var8 = (var2 - var6 * 3600000L) / 60000L;
  238.       long var10 = (var2 - var6 * 3600000L - var8 * 60000L) / 1000L;
  239.       String var12 = "";
  240.       if (var4 > 0L) {
  241.          var12 = var12 + Long.toString(var4) + "d ";
  242.       }
  243.  
  244.       if (var6 > 0L) {
  245.          var12 = var12 + Long.toString(var6) + "h ";
  246.       }
  247.  
  248.       var12 = var12 + Long.toString(var8) + "m " + Long.toString(var10) + "s";
  249.       return var12;
  250.    }
  251.  
  252.    public boolean LoadGridWithJdbcData() {
  253.       if (this.loading) {
  254.          return false;
  255.       } else {
  256.          this.loading = true;
  257.          String var1 = this.jaggSQL.getSEP();
  258.          this.jaggSQL.setKeepConnectionOpen(true);
  259.          this.user.mainmsg.setStatusMsg("Refreshing...", 0);
  260.          String var2 = (String)this.jaggSQL.invoke("JDPJaggCxnMgr", "getJdbcConnections");
  261.          if (var2 == null) {
  262.             this.ResetGridSize(7, 10);
  263.             this.loading = false;
  264.             return false;
  265.          } else {
  266.             StringTokenizer var3 = new StringTokenizer(var2, var1);
  267.             int var4 = var3.countTokens() / 7;
  268.             this.data = new String[var4 + 1][7];
  269.             int var5 = 0;
  270.             int var6 = 0;
  271.  
  272.             while(var3.hasMoreTokens()) {
  273.                this.data[var5][var6] = var3.nextToken().trim();
  274.                ++var6;
  275.                if (var6 == 7) {
  276.                   var6 = 0;
  277.                   ++var5;
  278.                }
  279.             }
  280.  
  281.             String var7 = (String)this.jaggSQL.invoke("JDPJaggCxnMgr", "getConnections");
  282.             if (var7 == null) {
  283.                this.ResetGridSize(7, 10);
  284.                this.loading = false;
  285.                return false;
  286.             } else {
  287.                this.jaggSQL.setKeepConnectionOpen(false);
  288.                var3 = new StringTokenizer(var7, var1);
  289.                int var8 = var3.countTokens() / 20;
  290.                this.cxnData = new String[var8 + 1][20];
  291.                int var9 = 0;
  292.                var6 = 0;
  293.  
  294.                while(var3.hasMoreTokens()) {
  295.                   this.cxnData[var9][var6] = var3.nextToken().trim();
  296.                   ++var6;
  297.                   if (var6 == 20) {
  298.                      var6 = 0;
  299.                      ++var9;
  300.                   }
  301.                }
  302.  
  303.                int var10 = var5 * 2 + var9 + 2;
  304.                this.ResetGridSize(7, var10);
  305.                this.GridPanel1.setRowKeyArray(new String[var10][2]);
  306.                int var11 = 0;
  307.  
  308.                for(int var21 = 0; var21 < var5; ++var21) {
  309.                   this.GridPanel1.setCellFont(0, var11, this.user.boldFont);
  310.                   String var12 = "";
  311.                   int var13 = this.data[var21][0].indexOf("DSN=");
  312.                   if (var13 >= 0) {
  313.                      var12 = this.data[var21][0].substring(var13 + 4);
  314.                      var12 = var12.substring(0, var12.indexOf(";"));
  315.                   }
  316.  
  317.                   this.GridPanel1.setText(var12, 0, var11);
  318.                   this.GridPanel1.setText(this.data[var21][3], 1, var11);
  319.                   this.GridPanel1.setText(this.data[var21][1], 6, var11);
  320.                   Date var14 = null;
  321.                   long var15 = Long.valueOf(this.data[var21][6]);
  322.                   if (!this.data[var21][2].equals("0")) {
  323.                      var14 = new Date(Long.valueOf(this.data[var21][2]) * 1000L);
  324.                      this.GridPanel1.setText(JDPDate.format(var14, JDPDate.defaultFormat + " hh:mm am"), 2, var11);
  325.                   }
  326.  
  327.                   if (var14 != null && this.data[var21][1].equals("Inactive")) {
  328.                      this.GridPanel1.setText(this.convertTime(Long.toString(var15 - var14.getTime())), 4, var11);
  329.                   }
  330.  
  331.                   this.GridPanel1.setText(this.data[var21][4], 5, var11);
  332.                   this.GridPanel1.setRowKey(this.data[var21][5], var11, 0);
  333.  
  334.                   for(int var17 = 0; var17 < var9; ++var17) {
  335.                      if (this.data[var21][5].equals(this.cxnData[var17][18])) {
  336.                         ++var11;
  337.                         this.GridPanel1.setCellFont(0, var11, this.user.plainFont);
  338.                         this.GridPanel1.setText("     " + this.cxnData[var17][0], 0, var11);
  339.                         this.GridPanel1.setText(this.cxnData[var17][1], 1, var11);
  340.                         if (!this.cxnData[var17][12].equals("0")) {
  341.                            Date var18 = new Date(Long.valueOf(this.cxnData[var17][12]));
  342.                            var15 = Long.valueOf(this.cxnData[var17][19]);
  343.                            this.GridPanel1.setText(JDPDate.format(var18, JDPDate.defaultFormat + " hh:mm am"), 2, var11);
  344.                            this.GridPanel1.setText(this.convertTime(Long.toString(var15 - var18.getTime())), 3, var11);
  345.                         } else {
  346.                            this.GridPanel1.setText("", 2, var11);
  347.                            this.GridPanel1.setText("", 3, var11);
  348.                         }
  349.  
  350.                         this.GridPanel1.setText(this.cxnData[var17][16], 5, var11);
  351.                         this.GridPanel1.setText(this.cxnData[var17][17].equals("Y") ? "Held" : "Active", 6, var11);
  352.                         this.GridPanel1.setRowKey(this.cxnData[var17][15], var11, 0);
  353.                         this.GridPanel1.setRowKey(Integer.toString(var17), var11, 1);
  354.                      }
  355.                   }
  356.  
  357.                   var11 += 2;
  358.                }
  359.  
  360.                this.user.mainmsg.clearStatusMsg();
  361.                this.user.JDesignerPro.gc();
  362.                this.loading = false;
  363.                return true;
  364.             }
  365.          }
  366.       }
  367.    }
  368.  
  369.    public boolean PopupMenu1LoadMenu() {
  370.       String var1 = this.GridPanel1.getText(0, this.GridPanel1.getCurrentRow());
  371.       this.PopupMenu1.clear();
  372.       if (var1.equals("")) {
  373.          return false;
  374.       } else {
  375.          this.GridPanel1.setRowSelected(this.GridPanel1.getCurrentRow(), true);
  376.          if (!var1.startsWith("   ")) {
  377.             if (this.GridPanel1.getText(6, this.GridPanel1.getCurrentRow()).equals("Inactive")) {
  378.                this.PopupMenu1.addEntry("Close Connection");
  379.             }
  380.  
  381.             String[] var2 = new String[]{"Refresh Every", "10 Seconds"};
  382.             this.PopupMenu1.addEntry(var2);
  383.             var2[1] = "30 Seconds";
  384.             this.PopupMenu1.addEntry(var2);
  385.             var2[1] = "Minute";
  386.             this.PopupMenu1.addEntry(var2);
  387.             var2[1] = "5 Minutes";
  388.             this.PopupMenu1.addEntry(var2);
  389.             var2[1] = "10 Minutes";
  390.             this.PopupMenu1.addEntry(var2);
  391.             var2[1] = "30 Minutes";
  392.             this.PopupMenu1.addEntry(var2);
  393.             var2[1] = "Hour";
  394.             this.PopupMenu1.addEntry(var2);
  395.          } else {
  396.             if (this.GridPanel1.getText(6, this.GridPanel1.getCurrentRow()).equals("Active")) {
  397.                this.PopupMenu1.addEntry("Hold");
  398.             } else {
  399.                this.PopupMenu1.addEntry("Release");
  400.             }
  401.  
  402.             this.PopupMenu1.addEntry("Kill Request");
  403.             this.PopupMenu1.addEntry("");
  404.             this.PopupMenu1.addEntry("Display Details");
  405.             this.PopupMenu1.addEntry("");
  406.             String[] var4 = new String[]{"Set Priority", ""};
  407.  
  408.             for(int var3 = 10; var3 >= 1; --var3) {
  409.                var4[1] = Integer.toString(var3);
  410.                this.PopupMenu1.addEntry(var4);
  411.             }
  412.          }
  413.  
  414.          return true;
  415.       }
  416.    }
  417.  
  418.    public void PopupMenu1HandleSelection() {
  419.       String var1 = this.PopupMenu1.getSelectedMenu(0);
  420.       String var2 = "";
  421.       if (this.PopupMenu1.getCurrentMenuLvl() == 1) {
  422.          var2 = this.PopupMenu1.getSelectedMenu(1);
  423.       }
  424.  
  425.       if (var1.equals("Refresh Every")) {
  426.          if (var2.equals("10 Seconds")) {
  427.             this.waitSeconds = 10L;
  428.          } else if (var2.equals("30 Seconds")) {
  429.             this.waitSeconds = 30L;
  430.          } else if (var2.equals("Minute")) {
  431.             this.waitSeconds = 60L;
  432.          } else if (var2.equals("5 Minutes")) {
  433.             this.waitSeconds = 300L;
  434.          } else if (var2.equals("10 Minutes")) {
  435.             this.waitSeconds = 600L;
  436.          } else if (var2.equals("30 Minutes")) {
  437.             this.waitSeconds = 1800L;
  438.          } else if (var2.equals("Hour")) {
  439.             this.waitSeconds = 3600L;
  440.          }
  441.  
  442.          this.thisThread.interrupt();
  443.       } else {
  444.          String var3 = this.GridPanel1.getText(0, this.GridPanel1.getCurrentRow());
  445.          if (!var3.startsWith("   ")) {
  446.             if (var1.equals("Close Connection")) {
  447.                String[] var4 = new String[]{"long"};
  448.                String[] var5 = new String[]{this.GridPanel1.getRowKey(this.GridPanel1.getCurrentRow(), 0)};
  449.                String var6 = (String)this.jaggSQL1.invoke("JDPJaggCxnMgr", "closeConnection", var4, var5);
  450.                this.user.mainmsg.setStatusMsg(var6, 10);
  451.             }
  452.          } else {
  453.             this.GridPanel1.getText(1, this.GridPanel1.getCurrentRow());
  454.             String var8 = this.GridPanel1.getRowKey(this.GridPanel1.getCurrentRow(), 0);
  455.             if (var1.equals("Set Priority")) {
  456.                String[] var9 = new String[]{"long", "int"};
  457.                String[] var13 = new String[]{var8, var2};
  458.                String var7 = (String)this.jaggSQL1.invoke("JDPJaggCxnMgr", "setRequestPriority", var9, var13);
  459.                this.user.mainmsg.setStatusMsg(var7, 10);
  460.             }
  461.  
  462.             if (var1.equals("Hold")) {
  463.                String[] var10 = new String[]{"long", "boolean"};
  464.                String[] var14 = new String[]{var8, "true"};
  465.                String var17 = (String)this.jaggSQL1.invoke("JDPJaggCxnMgr", "setRequestHeld", var10, var14);
  466.                this.user.mainmsg.setStatusMsg(var17, 10);
  467.             }
  468.  
  469.             if (var1.equals("Release")) {
  470.                String[] var11 = new String[]{"long", "boolean"};
  471.                String[] var15 = new String[]{var8, "false"};
  472.                String var18 = (String)this.jaggSQL1.invoke("JDPJaggCxnMgr", "setRequestHeld", var11, var15);
  473.                this.user.mainmsg.setStatusMsg(var18, 10);
  474.             }
  475.  
  476.             if (var1.equals("Kill Request")) {
  477.                String[] var12 = new String[]{"long"};
  478.                String[] var16 = new String[]{var8};
  479.                String var19 = (String)this.jaggSQL1.invoke("JDPJaggCxnMgr", "killRequest", var12, var16);
  480.                this.user.mainmsg.setStatusMsg(var19, 10);
  481.             }
  482.  
  483.             if (var1.equals("Display Details")) {
  484.                this.setJobLogVisible(true);
  485.                this.showDetails(Integer.parseInt(this.GridPanel1.getRowKey(this.GridPanel1.getCurrentRow(), 1)));
  486.             }
  487.          }
  488.  
  489.          this.LoadGridWithJdbcData();
  490.       }
  491.    }
  492.  
  493.    public void showDetails(int var1) {
  494.       StringBuffer var2 = new StringBuffer();
  495.       var2.append("Request:\t\t");
  496.       var2.append(this.cxnData[var1][0] + "\n");
  497.       var2.append("Detail:\t\t");
  498.       var2.append(this.cxnData[var1][1] + "\n");
  499.       if (this.cxnData[var1][0].equals("SQL")) {
  500.          var2.append("JDBC Driver:\t");
  501.          var2.append(this.cxnData[var1][2] + "\n");
  502.          var2.append("JDBC Prefix:\t");
  503.          var2.append(this.cxnData[var1][3] + "\n");
  504.          var2.append("JDBC Suffix:\t");
  505.          var2.append(this.cxnData[var1][4] + "\n");
  506.          var2.append("JDBC UID:\t");
  507.          var2.append(this.cxnData[var1][5] + "\n");
  508.          var2.append("Timeout After:\t");
  509.          var2.append(this.cxnData[var1][9] + "\n");
  510.          var2.append("Max Rows:\t");
  511.          var2.append(this.cxnData[var1][10] + "\n");
  512.       }
  513.  
  514.       this.jobLog.setText(var2.toString());
  515.    }
  516. }
  517.