home *** CD-ROM | disk | FTP | other *** search
/ CD Actual Thematic 7: Programming / CDAT7.iso / Share / Java / JDesignerPro / Jdp3_0.exe / data1.cab / Program_Files / JDPActiveUserMaint.class (.txt) < prev    next >
Encoding:
Java Class File  |  1999-04-09  |  15.6 KB  |  627 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.net.InetAddress;
  11. import java.util.Date;
  12. import java.util.StringTokenizer;
  13.  
  14. public class JDPActiveUserMaint extends JDPClassLayout {
  15.    JDPUser user;
  16.    JDPJagg jaggSQL;
  17.    JDPPopupMessage popuppanel;
  18.    JDPMaskEdit JDPMaskEditMain;
  19.    String moduleParameter;
  20.    Panel Main;
  21.    JDPPopupMenu PopupMenu1;
  22.    JDPChiselFramePanel ChiselPanel1;
  23.    Panel Panel1;
  24.    JDPButtons JDPButtons1;
  25.    JDPSplitPanel SplitPanel1;
  26.    JDPTextGrid GridPanel1;
  27.    TextArea jobLog;
  28.    JDPDialog Dialog1;
  29.    Panel Panel3;
  30.    JDPChiselFramePanel ChiselPanel2;
  31.    Panel Panel4;
  32.    TextArea TextArea1;
  33.    Panel Panel5;
  34.    JDPButtons JDPButtons2;
  35.    Thread thisThread;
  36.    JDPJagg jaggSQL1;
  37.    boolean firsttime = true;
  38.    long waitSeconds = 60L;
  39.    boolean jobLogShowing = true;
  40.    boolean loading = false;
  41.    String[][] data;
  42.    String[][] cxnData;
  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.PopupMenu1 = new JDPPopupMenu(var1.getJDPUser(), this.Main);
  55.       this.ChiselPanel1 = new JDPChiselFramePanel(var1, "Active Users Display");
  56.       this.Panel1 = new Panel();
  57.       String[] var4 = new String[]{"Refresh", "Hide Details"};
  58.       int[] var5 = new int[]{JDPButton.getIconValue("Undo"), JDPButton.getIconValue("Delete")};
  59.       this.JDPButtons1 = new JDPButtons(var1, var4, var5, JDPButtons.getAlignmentValue("Horizontal"));
  60.       this.SplitPanel1 = new JDPSplitPanel(var1);
  61.       this.GridPanel1 = new JDPTextGrid(var1);
  62.       this.jobLog = new TextArea("", 3, 20);
  63.       this.Dialog1 = new JDPDialog(var1, this);
  64.       this.Panel3 = new Panel();
  65.       this.ChiselPanel2 = new JDPChiselFramePanel(var1, "Enter message:");
  66.       this.Panel4 = new Panel();
  67.       this.TextArea1 = new TextArea("", 5, 50);
  68.       this.Panel5 = new Panel();
  69.       String[] var6 = new String[]{"Send/Reply", "Send Only", "Cancel"};
  70.       int[] var7 = new int[]{JDPButton.getIconValue("Go"), JDPButton.getIconValue("Go"), JDPButton.getIconValue("Delete")};
  71.       this.JDPButtons2 = new JDPButtons(var1, var6, var7, JDPButtons.getAlignmentValue("Horizontal"));
  72.       this.Main.setLayout(new BorderLayout());
  73.       ((Container)this).add("Center", this.Main);
  74.       this.Main.add("West", this.PopupMenu1);
  75.       this.Main.add("Center", this.ChiselPanel1);
  76.       this.ChiselPanel1.add("Center", this.Panel1);
  77.       this.Panel1.setLayout(new BorderLayout());
  78.       this.Panel1.add("South", this.JDPButtons1);
  79.       this.Panel1.add("Center", this.SplitPanel1);
  80.       this.SplitPanel1.add("Left", this.GridPanel1);
  81.       this.SplitPanel1.add("Left", this.jobLog);
  82.       this.Dialog1.add("Center", this.Panel3);
  83.       this.Panel3.setLayout(new BorderLayout());
  84.       this.Panel3.add("Center", this.ChiselPanel2);
  85.       this.ChiselPanel2.add("Center", this.Panel4);
  86.       this.Panel4.setLayout(new BorderLayout());
  87.       this.Panel4.add("Center", this.TextArea1);
  88.       this.Panel4.add("South", this.Panel5);
  89.       this.Panel5.setLayout(new BorderLayout());
  90.       this.Panel5.add("East", this.JDPButtons2);
  91.       this.SplitPanel1.setLeftPercentage(50.0F);
  92.       this.SplitPanel1.setTopPercentage(75.0F);
  93.       this.GridPanel1.setBackground(var1.u._cvtcolor("LightGray"));
  94.       this.popuppanel.addComponent(this.GridPanel1, "", "Click on a User, connection or the panel for Options. Hold down the Ctrl key to select multiple users.");
  95.       this.GridPanel1.setTableDimensions(10, 50);
  96.       this.GridPanel1.setColumnHeader(0, "User|     Request");
  97.       this.GridPanel1.setColumnHeader(1, "IP Address|Request Detail");
  98.       this.GridPanel1.setColumnHeader(3, "Last connection|");
  99.       this.GridPanel1.setColumnHeader(4, "Duration|");
  100.       this.GridPanel1.setColumnHeader(5, "Idle for|");
  101.       this.GridPanel1.setColumnHeader(6, "#Requests|Priority");
  102.       this.GridPanel1.setColumnHeader(7, "Bytes TX|");
  103.       this.GridPanel1.setColumnHeader(8, "Bytes RX|");
  104.       this.GridPanel1.setColumnHeader(9, "System|");
  105.       this.GridPanel1.setColumnWidth(0, 100);
  106.       this.GridPanel1.setColumnWidth(1, 100);
  107.       this.GridPanel1.setColumnWidth(3, 100);
  108.       this.GridPanel1.setColumnWidth(4, 60);
  109.       this.GridPanel1.setColumnWidth(5, 90);
  110.       this.GridPanel1.setColumnWidth(6, 70);
  111.       this.GridPanel1.setColumnWidth(7, 60);
  112.       this.GridPanel1.setColumnWidth(8, 60);
  113.       this.GridPanel1.setColumnWidth(9, 50);
  114.       this.GridPanel1.setColumnHeaderHeight(26);
  115.       this.GridPanel1.setColumnHeader(2, "Status|");
  116.       this.GridPanel1.setColumnWidth(2, 80);
  117.       this.jobLog.setBackground(var1.u._cvtcolor("LightGray"));
  118.       this.jobLog.setEditable(false);
  119.       this.Dialog1.setTitle("Send message to user(s)");
  120.       this.Dialog1.setResizable(true);
  121.       var1.gParm.addElement(this);
  122.       this.InitComponents();
  123.    }
  124.  
  125.    public boolean handleEvent(Event var1) {
  126.       switch (var1.id) {
  127.          case 503:
  128.          case 504:
  129.          case 505:
  130.             this.popuppanel.postEvent(var1);
  131.             return false;
  132.          case 701:
  133.             if (var1.target.equals(this.GridPanel1)) {
  134.                if (!this.PopupMenu1LoadMenu()) {
  135.                   return true;
  136.                }
  137.  
  138.                this.PopupMenu1.display(var1.x, var1.y);
  139.                return true;
  140.             }
  141.  
  142.             return false;
  143.          case 1001:
  144.             if (var1.target.equals(this.PopupMenu1)) {
  145.                this.PopupMenu1HandleSelection();
  146.                return true;
  147.             } else if (var1.target.equals(this.JDPButtons1.button[0])) {
  148.                this.LoadGridWithUserData();
  149.                if (this.jobLog.isVisible()) {
  150.                   this.showDetails(Integer.parseInt(this.GridPanel1.getRowKey(this.GridPanel1.getCurrentRow(), 1)));
  151.                }
  152.  
  153.                return true;
  154.             } else if (var1.target.equals(this.JDPButtons1.button[1])) {
  155.                this.setJobLogVisible(false);
  156.                return true;
  157.             } else if (var1.target.equals(this.JDPButtons2.button[0])) {
  158.                int var11 = 0;
  159.  
  160.                for(int var12 = 0; var12 < this.GridPanel1.getTableRows(); ++var12) {
  161.                   if (this.GridPanel1.getRowSelected(var12)) {
  162.                      String var13 = this.GridPanel1.getText(1, var12);
  163.                      if (var13.indexOf(".") > 0) {
  164.                         String var14 = "";
  165.  
  166.                         try {
  167.                            int var18 = InetAddress.getLocalHost().hashCode();
  168.                            var14 = (var18 >>> 24 & 255) + "." + (var18 >>> 16 & 255) + "." + (var18 >>> 8 & 255) + "." + (var18 & 255);
  169.                         } catch (Exception var10) {
  170.                         }
  171.  
  172.                         String var19 = this.user.cust.getFirstname().trim() + " " + this.user.cust.getLastname().trim();
  173.                         if (var19.equals(" ")) {
  174.                            var19 = this.user.cust.getUsername();
  175.                         }
  176.  
  177.                         String var20 = var19 + "|";
  178.                         var20 = var20 + var13 + "|";
  179.                         var20 = var20 + var14 + "|";
  180.                         var20 = var20 + this.TextArea1.getText() + " |";
  181.                         Event var24 = new Event(this, 1001, var20);
  182.                         this.user.mainmsg.setStatusMsg("Sending message to " + var13 + "...", 0);
  183.                         boolean var9 = this.jaggSQL.sendEventToClient(var13, "JDPSystemMessage", var24);
  184.                         if (var9) {
  185.                            this.user.mainmsg.clearStatusMsg();
  186.                         } else {
  187.                            ++var11;
  188.                            this.user.mainmsg.setStatusMsg("Failed to send message to " + var13, 10);
  189.                         }
  190.                      }
  191.                   }
  192.                }
  193.  
  194.                if (var11 == 0) {
  195.                   this.Dialog1.dispose();
  196.                }
  197.  
  198.                return true;
  199.             } else if (var1.target.equals(this.JDPButtons2.button[1])) {
  200.                int var2 = 0;
  201.  
  202.                for(int var3 = 0; var3 < this.GridPanel1.getTableRows(); ++var3) {
  203.                   if (this.GridPanel1.getRowSelected(var3)) {
  204.                      String var4 = this.GridPanel1.getText(1, var3);
  205.                      if (var4.indexOf(".") > 0) {
  206.                         String var5 = this.user.cust.getFirstname().trim() + " " + this.user.cust.getLastname().trim();
  207.                         if (var5.equals(" ")) {
  208.                            var5 = this.user.cust.getUsername();
  209.                         }
  210.  
  211.                         String var6 = var5 + "|";
  212.                         var6 = var6 + var4 + "|";
  213.                         var6 = var6 + " |";
  214.                         var6 = var6 + this.TextArea1.getText() + " |";
  215.                         Event var7 = new Event(this, 1001, var6);
  216.                         this.user.mainmsg.setStatusMsg("Sending message to " + var4 + "...", 0);
  217.                         boolean var8 = this.jaggSQL.sendEventToClient(var4, "JDPSystemMessage", var7);
  218.                         if (var8) {
  219.                            this.user.mainmsg.clearStatusMsg();
  220.                         } else {
  221.                            ++var2;
  222.                            this.user.mainmsg.setStatusMsg("Failed to send message to " + var4, 10);
  223.                         }
  224.                      }
  225.                   }
  226.                }
  227.  
  228.                if (var2 == 0) {
  229.                   this.Dialog1.dispose();
  230.                }
  231.  
  232.                return true;
  233.             } else {
  234.                if (var1.target.equals(this.JDPButtons2.button[2])) {
  235.                   this.Dialog1.dispose();
  236.                   return true;
  237.                }
  238.  
  239.                return false;
  240.             }
  241.          default:
  242.             return false;
  243.       }
  244.    }
  245.  
  246.    public void InitComponents() {
  247.       this.setJobLogVisible(false);
  248.       this.jaggSQL.loadSettings(this.user);
  249.       this.jaggSQL.setKeepConnectionOpen(false);
  250.       this.GridPanel1.setGridColor(Color.white);
  251.       this.LoadGridWithUserData();
  252.       this.thisThread = new Thread(this);
  253.       this.thisThread.start();
  254.       this.jaggSQL1 = new JDPJagg(this.user.jaggPath);
  255.       this.jaggSQL1.loadSettings(this.user);
  256.       Rectangle var1 = super.targetPanel.bounds();
  257.       if (var1.width - 765 > 170) {
  258.          this.GridPanel1.setColumnWidth(1, var1.width - 765);
  259.       }
  260.  
  261.    }
  262.  
  263.    public void ResetGridSize(int var1, int var2) {
  264.       this.GridPanel1.setTableDimensions(var1, var2);
  265.  
  266.       for(int var3 = 0; var3 < var2; ++var3) {
  267.          this.GridPanel1.setCellEnabled(0, var3, false);
  268.       }
  269.  
  270.       for(int var4 = 1; var4 < var1; ++var4) {
  271.          this.GridPanel1.setColumnEnabled(var4, false);
  272.       }
  273.  
  274.       for(int var5 = 0; var5 < var2; ++var5) {
  275.          this.GridPanel1.setRowHeader(var5, "");
  276.       }
  277.  
  278.       if (this.firsttime) {
  279.          Graphics var6 = super.targetPanel.getGraphics();
  280.          int var7 = 2 * this.user.u.StringHeight(var6) - 2;
  281.          if (var7 > 0) {
  282.             this.GridPanel1.setColumnHeaderHeight(var7);
  283.          }
  284.  
  285.          int var8 = this.user.u.StringWidth(this.user.mainmsg.message.getGraphics(), "O");
  286.          int var9 = this.user.u.StringWidth(var6, "O");
  287.          float var10 = (float)var9 / (float)var8;
  288.          if (var10 != 1.0F && var10 != 0.0F) {
  289.             for(int var11 = 0; var11 < var1; ++var11) {
  290.                this.GridPanel1.setColumnWidth(var11, (int)((float)this.GridPanel1.getColumnWidth(var11) * var10));
  291.             }
  292.          }
  293.  
  294.          if (var10 != 0.0F) {
  295.             this.firsttime = false;
  296.          }
  297.       }
  298.  
  299.    }
  300.  
  301.    public void run() {
  302.       while(true) {
  303.          try {
  304.             for(; this.waitSeconds > 0L; Thread.sleep(this.waitSeconds * 1000L)) {
  305.                if (((Component)this).isShowing()) {
  306.                   this.LoadGridWithUserData();
  307.                }
  308.             }
  309.  
  310.             Thread.sleep(600000L);
  311.          } catch (Exception var1) {
  312.          }
  313.       }
  314.    }
  315.  
  316.    public void setJobLogVisible(boolean var1) {
  317.       if (var1) {
  318.          if (!this.jobLogShowing) {
  319.             this.jobLogShowing = true;
  320.             this.jobLog.show();
  321.             this.SplitPanel1.layout();
  322.             this.SplitPanel1.paintAll(this.SplitPanel1.getGraphics());
  323.             this.JDPButtons1.button[1].show();
  324.             this.JDPButtons1.layout();
  325.             this.JDPButtons1.paintAll(this.JDPButtons1.getGraphics());
  326.          }
  327.       } else if (this.jobLogShowing) {
  328.          this.jobLogShowing = false;
  329.          this.jobLog.hide();
  330.          this.SplitPanel1.layout();
  331.          this.SplitPanel1.paintAll(this.SplitPanel1.getGraphics());
  332.          this.JDPButtons1.button[1].hide();
  333.          this.JDPButtons1.layout();
  334.          this.JDPButtons1.paintAll(this.JDPButtons1.getGraphics());
  335.       }
  336.    }
  337.  
  338.    public boolean LoadGridWithUserData() {
  339.       if (this.loading) {
  340.          return false;
  341.       } else {
  342.          this.loading = true;
  343.          String var1 = this.jaggSQL.getSEP();
  344.          this.jaggSQL.setKeepConnectionOpen(true);
  345.          this.user.mainmsg.setStatusMsg("Refreshing...", 0);
  346.          String var2 = (String)this.jaggSQL.invoke("JDPJaggUserMgr", "getUsers");
  347.          if (var2 == null) {
  348.             this.ResetGridSize(10, 10);
  349.             this.loading = false;
  350.             return false;
  351.          } else {
  352.             StringTokenizer var3 = new StringTokenizer(var2, var1);
  353.             int var4 = var3.countTokens() / 29;
  354.             this.data = new String[var4 + 1][29];
  355.             int var5 = 0;
  356.             int var6 = 0;
  357.  
  358.             while(var3.hasMoreTokens()) {
  359.                this.data[var5][var6] = var3.nextToken().trim();
  360.                ++var6;
  361.                if (var6 == 29) {
  362.                   var6 = 0;
  363.                   ++var5;
  364.                }
  365.             }
  366.  
  367.             String var7 = (String)this.jaggSQL.invoke("JDPJaggCxnMgr", "getConnections");
  368.             if (var7 == null) {
  369.                this.ResetGridSize(10, 10);
  370.                this.loading = false;
  371.                return false;
  372.             } else {
  373.                this.jaggSQL.setKeepConnectionOpen(false);
  374.                var3 = new StringTokenizer(var7, var1);
  375.                int var8 = var3.countTokens() / 20;
  376.                this.cxnData = new String[var8 + 1][20];
  377.                int var9 = 0;
  378.                var6 = 0;
  379.  
  380.                while(var3.hasMoreTokens()) {
  381.                   this.cxnData[var9][var6] = var3.nextToken().trim();
  382.                   ++var6;
  383.                   if (var6 == 20) {
  384.                      var6 = 0;
  385.                      ++var9;
  386.                   }
  387.                }
  388.  
  389.                int var10 = var5 + var9 + 4;
  390.                this.ResetGridSize(10, var10);
  391.                this.GridPanel1.setRowKeyArray(new String[var10][2]);
  392.                int var11 = 0;
  393.  
  394.                for(int var18 = 0; var18 < var5; ++var18) {
  395.                   this.GridPanel1.setCellFont(0, var11, this.user.boldFont);
  396.                   if (this.data[var18][0].equals("-2")) {
  397.                      this.GridPanel1.setText("JDPSystemMgr", 0, var11);
  398.                   } else if (this.data[var18][0].equals("-1")) {
  399.                      this.GridPanel1.setText("Logging in", 0, var11);
  400.                   } else if (this.data[var18][0].equals("0")) {
  401.                      this.GridPanel1.setText("Html Page", 0, var11);
  402.                   } else if ((this.data[var18][12] + this.data[var18][15]).equals("")) {
  403.                      this.GridPanel1.setText(this.data[var18][13], 0, var11);
  404.                   } else {
  405.                      this.GridPanel1.setText(this.data[var18][12] + " " + this.data[var18][15], 0, var11);
  406.                   }
  407.  
  408.                   this.GridPanel1.setText(this.data[var18][1], 1, var11);
  409.                   if (this.data[var18][10].equals("0")) {
  410.                      this.GridPanel1.setText("Active", 2, var11);
  411.                   } else if (this.data[var18][10].equals("1")) {
  412.                      this.GridPanel1.setText("Idle", 2, var11);
  413.                   } else if (this.data[var18][10].equals("2")) {
  414.                      this.GridPanel1.setText("Disconnected", 2, var11);
  415.                   }
  416.  
  417.                   if (!this.data[var18][4].equals("0")) {
  418.                      Date var12 = new Date(Long.valueOf(this.data[var18][4]));
  419.                      this.GridPanel1.setText(JDPDate.format(var12, JDPDate.defaultFormat + " hh:mm am"), 3, var11);
  420.                   } else {
  421.                      this.GridPanel1.setText("", 3, var11);
  422.                   }
  423.  
  424.                   this.GridPanel1.setText(this.convertTime(this.data[var18][5]), 4, var11);
  425.                   this.GridPanel1.setText(this.convertTime(this.data[var18][6]), 5, var11);
  426.                   this.GridPanel1.setText(this.data[var18][7], 6, var11);
  427.                   this.GridPanel1.setText(this.data[var18][8], 7, var11);
  428.                   this.GridPanel1.setText(this.data[var18][9], 8, var11);
  429.                   this.GridPanel1.setText(this.data[var18][3], 9, var11);
  430.  
  431.                   for(int var19 = 0; var19 < var9; ++var19) {
  432.                      if (this.data[var18][0].equals(this.cxnData[var19][7]) && this.data[var18][1].equals(this.cxnData[var19][13])) {
  433.                         ++var11;
  434.                         this.GridPanel1.setCellFont(0, var11, this.user.plainFont);
  435.                         this.GridPanel1.setText("     " + this.cxnData[var19][0], 0, var11);
  436.                         this.GridPanel1.setText(this.cxnData[var19][1], 1, var11);
  437.                         if (!this.cxnData[var19][12].equals("0")) {
  438.                            Date var13 = new Date(Long.valueOf(this.cxnData[var19][12]));
  439.                            long var14 = Long.valueOf(this.cxnData[var19][19]);
  440.                            this.GridPanel1.setText(JDPDate.format(var13, JDPDate.defaultFormat + " hh:mm am"), 3, var11);
  441.                            this.GridPanel1.setText(this.convertTime(Long.toString(var14 - var13.getTime())), 4, var11);
  442.                         } else {
  443.                            this.GridPanel1.setText("", 3, var11);
  444.                            this.GridPanel1.setText("", 4, var11);
  445.                         }
  446.  
  447.                         this.GridPanel1.setText(this.cxnData[var19][16], 6, var11);
  448.                         this.GridPanel1.setText(this.cxnData[var19][17].equals("Y") ? "Held" : "Active", 2, var11);
  449.                         this.GridPanel1.setRowKey(this.cxnData[var19][15], var11, 0);
  450.                         this.GridPanel1.setRowKey(Integer.toString(var19), var11, 1);
  451.                      }
  452.                   }
  453.  
  454.                   ++var11;
  455.                }
  456.  
  457.                this.user.mainmsg.clearStatusMsg();
  458.                this.user.JDesignerPro.gc();
  459.                this.loading = false;
  460.                return true;
  461.             }
  462.          }
  463.       }
  464.    }
  465.  
  466.    public String convertTime(String var1) {
  467.       long var2 = Long.valueOf(var1);
  468.       long var4 = var2 / 86400000L;
  469.       long var6 = (var2 - var4 * 24L * 3600000L) / 3600000L;
  470.       long var8 = (var2 - var4 * 24L * 3600000L - var6 * 3600000L) / 60000L;
  471.       long var10 = (var2 - var4 * 24L * 3600000L - var6 * 3600000L - var8 * 60000L) / 1000L;
  472.       String var12 = "";
  473.       if (var4 > 0L) {
  474.          var12 = var12 + Long.toString(var4) + "d ";
  475.       }
  476.  
  477.       if (var6 > 0L) {
  478.          var12 = var12 + Long.toString(var6) + "h ";
  479.       }
  480.  
  481.       var12 = var12 + Long.toString(var8) + "m " + Long.toString(var10) + "s";
  482.       return var12;
  483.    }
  484.  
  485.    public boolean PopupMenu1LoadMenu() {
  486.       String var1 = this.GridPanel1.getText(0, this.GridPanel1.getCurrentRow());
  487.       this.PopupMenu1.clear();
  488.       if (var1.equals("")) {
  489.          return false;
  490.       } else {
  491.          this.GridPanel1.setRowSelected(this.GridPanel1.getCurrentRow(), true);
  492.          if (!var1.startsWith("   ")) {
  493.             this.PopupMenu1.addEntry("Send message to...");
  494.             String[] var2 = new String[]{"Refresh Every", "10 Seconds"};
  495.             this.PopupMenu1.addEntry(var2);
  496.             var2[1] = "30 Seconds";
  497.             this.PopupMenu1.addEntry(var2);
  498.             var2[1] = "Minute";
  499.             this.PopupMenu1.addEntry(var2);
  500.             var2[1] = "5 Minutes";
  501.             this.PopupMenu1.addEntry(var2);
  502.             var2[1] = "10 Minutes";
  503.             this.PopupMenu1.addEntry(var2);
  504.             var2[1] = "30 Minutes";
  505.             this.PopupMenu1.addEntry(var2);
  506.             var2[1] = "Hour";
  507.             this.PopupMenu1.addEntry(var2);
  508.          } else {
  509.             if (this.GridPanel1.getText(2, this.GridPanel1.getCurrentRow()).equals("Active")) {
  510.                this.PopupMenu1.addEntry("Hold");
  511.             } else {
  512.                this.PopupMenu1.addEntry("Release");
  513.             }
  514.  
  515.             this.PopupMenu1.addEntry("Kill Request");
  516.             this.PopupMenu1.addEntry("");
  517.             this.PopupMenu1.addEntry("Display Details");
  518.             this.PopupMenu1.addEntry("");
  519.             String[] var4 = new String[]{"Set Priority", ""};
  520.  
  521.             for(int var3 = 10; var3 >= 1; --var3) {
  522.                var4[1] = Integer.toString(var3);
  523.                this.PopupMenu1.addEntry(var4);
  524.             }
  525.          }
  526.  
  527.          return true;
  528.       }
  529.    }
  530.  
  531.    public void PopupMenu1HandleSelection() {
  532.       String var1 = this.PopupMenu1.getSelectedMenu(0);
  533.       String var2 = "";
  534.       if (this.PopupMenu1.getCurrentMenuLvl() == 1) {
  535.          var2 = this.PopupMenu1.getSelectedMenu(1);
  536.       }
  537.  
  538.       if (var1.equals("Send message to...")) {
  539.          this.Dialog1.display();
  540.       }
  541.  
  542.       if (var1.equals("Refresh Every")) {
  543.          if (var2.equals("10 Seconds")) {
  544.             this.waitSeconds = 10L;
  545.          } else if (var2.equals("30 Seconds")) {
  546.             this.waitSeconds = 30L;
  547.          } else if (var2.equals("Minute")) {
  548.             this.waitSeconds = 60L;
  549.          } else if (var2.equals("5 Minutes")) {
  550.             this.waitSeconds = 300L;
  551.          } else if (var2.equals("10 Minutes")) {
  552.             this.waitSeconds = 600L;
  553.          } else if (var2.equals("30 Minutes")) {
  554.             this.waitSeconds = 1800L;
  555.          } else if (var2.equals("Hour")) {
  556.             this.waitSeconds = 3600L;
  557.          }
  558.  
  559.          this.thisThread.interrupt();
  560.       } else {
  561.          String var3 = this.GridPanel1.getText(0, this.GridPanel1.getCurrentRow());
  562.          if (var3.startsWith("   ")) {
  563.             this.GridPanel1.getText(1, this.GridPanel1.getCurrentRow());
  564.             String var4 = this.GridPanel1.getRowKey(this.GridPanel1.getCurrentRow(), 0);
  565.             if (var1.equals("Set Priority")) {
  566.                String[] var5 = new String[]{"long", "int"};
  567.                String[] var6 = new String[]{var4, var2};
  568.                String var7 = (String)this.jaggSQL1.invoke("JDPJaggCxnMgr", "setRequestPriority", var5, var6);
  569.                this.user.mainmsg.setStatusMsg(var7, 10);
  570.             }
  571.  
  572.             if (var1.equals("Hold")) {
  573.                String[] var8 = new String[]{"long", "boolean"};
  574.                String[] var11 = new String[]{var4, "true"};
  575.                String var14 = (String)this.jaggSQL1.invoke("JDPJaggCxnMgr", "setRequestHeld", var8, var11);
  576.                this.user.mainmsg.setStatusMsg(var14, 10);
  577.             }
  578.  
  579.             if (var1.equals("Release")) {
  580.                String[] var9 = new String[]{"long", "boolean"};
  581.                String[] var12 = new String[]{var4, "false"};
  582.                String var15 = (String)this.jaggSQL1.invoke("JDPJaggCxnMgr", "setRequestHeld", var9, var12);
  583.                this.user.mainmsg.setStatusMsg(var15, 10);
  584.             }
  585.  
  586.             if (var1.equals("Kill Request")) {
  587.                String[] var10 = new String[]{"long"};
  588.                String[] var13 = new String[]{var4};
  589.                String var16 = (String)this.jaggSQL1.invoke("JDPJaggCxnMgr", "killRequest", var10, var13);
  590.                this.user.mainmsg.setStatusMsg(var16, 10);
  591.             }
  592.  
  593.             if (var1.equals("Display Details")) {
  594.                this.setJobLogVisible(true);
  595.                this.showDetails(Integer.parseInt(this.GridPanel1.getRowKey(this.GridPanel1.getCurrentRow(), 1)));
  596.             }
  597.          }
  598.  
  599.          this.LoadGridWithUserData();
  600.       }
  601.    }
  602.  
  603.    public void showDetails(int var1) {
  604.       StringBuffer var2 = new StringBuffer();
  605.       var2.append("Request:\t\t");
  606.       var2.append(this.cxnData[var1][0] + "\n");
  607.       var2.append("Detail:\t\t");
  608.       var2.append(this.cxnData[var1][1] + "\n");
  609.       if (this.cxnData[var1][0].equals("SQL")) {
  610.          var2.append("JDBC Driver:\t");
  611.          var2.append(this.cxnData[var1][2] + "\n");
  612.          var2.append("JDBC Prefix:\t");
  613.          var2.append(this.cxnData[var1][3] + "\n");
  614.          var2.append("JDBC Suffix:\t");
  615.          var2.append(this.cxnData[var1][4] + "\n");
  616.          var2.append("JDBC UID:\t");
  617.          var2.append(this.cxnData[var1][5] + "\n");
  618.          var2.append("Timeout After:\t");
  619.          var2.append(this.cxnData[var1][9] + "\n");
  620.          var2.append("Max Rows:\t");
  621.          var2.append(this.cxnData[var1][10] + "\n");
  622.       }
  623.  
  624.       this.jobLog.setText(var2.toString());
  625.    }
  626. }
  627.