home *** CD-ROM | disk | FTP | other *** search
/ CD Actual Thematic 7: Programming / CDAT7.iso / Share / Java / JDesignerPro / Jdp3_0.exe / data1.cab / Program_Files / JDPSubsystemMaint.class (.txt) < prev    next >
Encoding:
Java Class File  |  1999-04-09  |  15.5 KB  |  707 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.TextArea;
  9. import java.util.Date;
  10. import java.util.StringTokenizer;
  11.  
  12. public class JDPSubsystemMaint extends JDPClassLayout {
  13.    JDPUser user;
  14.    JDPJagg jaggSQL;
  15.    JDPPopupMessage popuppanel;
  16.    JDPMaskEdit JDPMaskEditMain;
  17.    String moduleParameter;
  18.    Panel Main;
  19.    JDPPopupMenu PopupMenu1;
  20.    JDPChiselFramePanel ChiselPanel1;
  21.    Panel Panel1;
  22.    JDPButtons JDPButtons1;
  23.    JDPSplitPanel SplitPanel1;
  24.    JDPTextGrid GridPanel1;
  25.    TextArea jobLog;
  26.    JDPMessageDialog MessageBox1;
  27.    Thread thisThread;
  28.    JDPJagg jaggSQL1;
  29.    boolean loading = false;
  30.    boolean firsttime = true;
  31.    long waitSeconds = 60L;
  32.    boolean jobLogShowing = true;
  33.    boolean creatingNewSubsystem = false;
  34.  
  35.    public void InitClass(JDPUser var1, Panel var2, String var3) {
  36.       this.user = var1;
  37.       this.moduleParameter = var3;
  38.       super.targetPanel = var2;
  39.       this.jaggSQL = new JDPJagg(var1.jaggPath);
  40.       ((Container)this).setLayout(new BorderLayout());
  41.       this.popuppanel = new JDPPopupMessage(var1, this);
  42.       ((Container)this).add(this.popuppanel);
  43.       this.JDPMaskEditMain = new JDPMaskEdit();
  44.       this.Main = new Panel();
  45.       this.PopupMenu1 = new JDPPopupMenu(var1.getJDPUser(), this.Main);
  46.       this.ChiselPanel1 = new JDPChiselFramePanel(var1, "Active Jobs Display");
  47.       this.Panel1 = new Panel();
  48.       String[] var4 = new String[]{"Refresh", "Hide Job Log"};
  49.       int[] var5 = new int[]{JDPButton.getIconValue("Undo"), JDPButton.getIconValue("Delete")};
  50.       this.JDPButtons1 = new JDPButtons(var1, var4, var5, JDPButtons.getAlignmentValue("Horizontal"));
  51.       this.SplitPanel1 = new JDPSplitPanel(var1);
  52.       this.GridPanel1 = new JDPTextGrid(var1);
  53.       this.jobLog = new TextArea("", 3, 20);
  54.       this.MessageBox1 = new JDPMessageDialog(var1, this);
  55.       this.Main.setLayout(new BorderLayout());
  56.       ((Container)this).add("Center", this.Main);
  57.       this.Main.add("West", this.PopupMenu1);
  58.       this.Main.add("Center", this.ChiselPanel1);
  59.       this.ChiselPanel1.add("Center", this.Panel1);
  60.       this.Panel1.setLayout(new BorderLayout());
  61.       this.Panel1.add("South", this.JDPButtons1);
  62.       this.Panel1.add("Center", this.SplitPanel1);
  63.       this.SplitPanel1.add("Left", this.GridPanel1);
  64.       this.SplitPanel1.add("Left", this.jobLog);
  65.       this.SplitPanel1.setLeftPercentage(50.0F);
  66.       this.SplitPanel1.setTopPercentage(75.0F);
  67.       this.GridPanel1.setBackground(var1.u._cvtcolor("LightGray"));
  68.       this.popuppanel.addComponent(this.GridPanel1, "", "Click on a Subsystem, Job or the panel for Options.");
  69.       this.GridPanel1.setTableDimensions(9, 50);
  70.       this.GridPanel1.setColumnHeader(0, "Subsystem|     Job Name");
  71.       this.GridPanel1.setColumnHeader(1, " |Job Number");
  72.       this.GridPanel1.setColumnHeader(2, "Status|");
  73.       this.GridPanel1.setColumnHeader(3, "Max Jobs|Owner");
  74.       this.GridPanel1.setColumnHeader(4, "Priority|");
  75.       this.GridPanel1.setColumnHeader(5, " |Type");
  76.       this.GridPanel1.setColumnHeader(6, " |Started");
  77.       this.GridPanel1.setColumnHeader(7, " |Elapsed");
  78.       this.GridPanel1.setColumnHeader(8, " |System");
  79.       this.GridPanel1.setColumnWidth(0, 135);
  80.       this.GridPanel1.setColumnWidth(1, 80);
  81.       this.GridPanel1.setColumnWidth(2, 50);
  82.       this.GridPanel1.setColumnWidth(3, 102);
  83.       this.GridPanel1.setColumnWidth(4, 45);
  84.       this.GridPanel1.setColumnWidth(5, 80);
  85.       this.GridPanel1.setColumnWidth(6, 105);
  86.       this.GridPanel1.setColumnWidth(7, 90);
  87.       this.GridPanel1.setColumnWidth(8, 50);
  88.       this.GridPanel1.setColumnHeaderHeight(24);
  89.       this.jobLog.setBackground(var1.u._cvtcolor("LightGray"));
  90.       this.jobLog.setEditable(false);
  91.       this.MessageBox1.setTitle("Confirm");
  92.       this.MessageBox1.setButtonCount(2);
  93.       this.MessageBox1.setButtonIcon(0, 8);
  94.       this.MessageBox1.setButtonIcon(1, 6);
  95.       this.MessageBox1.setButtonText(0, "Delete");
  96.       this.MessageBox1.setButtonText(1, "Cancel");
  97.       var1.gParm.addElement(this);
  98.       this.InitComponents();
  99.    }
  100.  
  101.    public boolean handleEvent(Event var1) {
  102.       switch (var1.id) {
  103.          case 503:
  104.          case 504:
  105.          case 505:
  106.             this.popuppanel.postEvent(var1);
  107.             return false;
  108.          case 701:
  109.             if (var1.target.equals(this.GridPanel1)) {
  110.                if (!this.PopupMenu1LoadMenu()) {
  111.                   return true;
  112.                }
  113.  
  114.                this.PopupMenu1.display(var1.x, var1.y);
  115.                return true;
  116.             }
  117.  
  118.             return false;
  119.          case 1001:
  120.             if (var1.target.equals(this.PopupMenu1)) {
  121.                this.PopupMenu1HandleSelection();
  122.                return true;
  123.             } else if (var1.target.equals(this.JDPButtons1.button[0])) {
  124.                this.LoadGridWithSubsystemData();
  125.                this.refreshJobLog();
  126.                return true;
  127.             } else {
  128.                if (var1.target.equals(this.JDPButtons1.button[1])) {
  129.                   this.setJobLogVisible(false);
  130.                   return true;
  131.                }
  132.  
  133.                return false;
  134.             }
  135.          case 1005:
  136.             if (var1.target.equals(this.GridPanel1)) {
  137.                if (this.creatingNewSubsystem && this.GridPanel1.getCurrentColumn() != 0) {
  138.                   if (!this.GridPanel1.getText(0, this.GridPanel1.getCurrentRow()).equals("")) {
  139.                      this.GridPanel1CreateNewSubsystem();
  140.                   } else {
  141.                      this.creatingNewSubsystem = false;
  142.                   }
  143.  
  144.                   return true;
  145.                }
  146.  
  147.                if (this.creatingNewSubsystem) {
  148.                   this.GridPanel1.setCursorInThisCell(0, this.GridPanel1.getCurrentRow());
  149.                   this.GridPanel1.requestFocus();
  150.                   return true;
  151.                }
  152.  
  153.                return true;
  154.             }
  155.  
  156.             return false;
  157.          default:
  158.             return false;
  159.       }
  160.    }
  161.  
  162.    public void InitComponents() {
  163.       this.setJobLogVisible(false);
  164.       this.jaggSQL.setKeepConnectionOpen(false);
  165.       this.GridPanel1.setGridColor(Color.white);
  166.       this.LoadGridWithSubsystemData();
  167.       this.thisThread = new Thread(this);
  168.       this.thisThread.start();
  169.       this.jaggSQL1 = new JDPJagg(this.user.jaggPath);
  170.       this.jaggSQL1.loadSettings(this.user);
  171.    }
  172.  
  173.    public boolean LoadGridWithSubsystemData() {
  174.       if (this.loading) {
  175.          return false;
  176.       } else {
  177.          this.loading = true;
  178.          String var1 = this.jaggSQL.getSEP();
  179.          this.jaggSQL.loadSettings(this.user);
  180.          this.creatingNewSubsystem = false;
  181.          if (this.user.mainmsg.getStatusMsg().equals("")) {
  182.             this.user.mainmsg.setStatusMsg("Refreshing...", 0);
  183.          }
  184.  
  185.          this.jaggSQL.setKeepConnectionOpen(true);
  186.          String var2 = (String)this.jaggSQL.invoke("JDPSubsystemMgr", "getSubsystems");
  187.          if (var2 == null) {
  188.             this.ResetGridSize(9, 10);
  189.             this.user.mainmsg.setStatusMsg("Enterprise Server has not yet started.", 10);
  190.             this.loading = false;
  191.             return false;
  192.          } else {
  193.             StringTokenizer var3 = new StringTokenizer(var2, var1);
  194.             int var4 = var3.countTokens() / 5;
  195.             String[] var5 = new String[var4];
  196.             String[] var6 = new String[var4];
  197.             int[] var7 = new int[var4];
  198.             boolean[] var8 = new boolean[var4];
  199.             int[] var9 = new int[var4];
  200.  
  201.             for(int var10 = 0; var3.hasMoreTokens(); ++var10) {
  202.                var5[var10] = var3.nextToken().trim();
  203.                var6[var10] = var3.nextToken().trim();
  204.                var7[var10] = Integer.parseInt(var3.nextToken().trim());
  205.                var8[var10] = var3.nextToken().trim().equals("Y");
  206.                var9[var10] = Integer.parseInt(var3.nextToken().trim());
  207.             }
  208.  
  209.             String var11 = (String)this.jaggSQL.invoke("JDPSubsystemMgr", "getActiveJobs");
  210.             this.jaggSQL.setKeepConnectionOpen(false);
  211.             int var12 = 0;
  212.             String[] var13 = new String[var12];
  213.             String[] var14 = new String[var12];
  214.             String[] var15 = new String[var12];
  215.             int[] var16 = new int[var12];
  216.             String[] var17 = new String[var12];
  217.             String[] var18 = new String[var12];
  218.             Date[] var19 = new Date[var12];
  219.             int[] var20 = new int[var12];
  220.             int[] var21 = new int[var12];
  221.             long[] var22 = new long[var12];
  222.             if (var11 != null) {
  223.                var3 = new StringTokenizer(var11, var1);
  224.                var12 = var3.countTokens() / 10;
  225.                var13 = new String[var12];
  226.                var14 = new String[var12];
  227.                var15 = new String[var12];
  228.                var16 = new int[var12];
  229.                var17 = new String[var12];
  230.                var18 = new String[var12];
  231.                var19 = new Date[var12];
  232.                var20 = new int[var12];
  233.                var21 = new int[var12];
  234.                var22 = new long[var12];
  235.  
  236.                for(int var43 = 0; var3.hasMoreTokens(); ++var43) {
  237.                   var13[var43] = var3.nextToken().trim();
  238.                   var14[var43] = var3.nextToken().trim();
  239.                   var15[var43] = var3.nextToken().trim();
  240.                   var16[var43] = Integer.parseInt(var3.nextToken().trim());
  241.                   var17[var43] = var3.nextToken().trim();
  242.                   var18[var43] = var3.nextToken().trim();
  243.                   var19[var43] = new Date(Long.valueOf(var3.nextToken().trim()));
  244.                   var20[var43] = Integer.parseInt(var3.nextToken().trim());
  245.                   var21[var43] = Integer.parseInt(var3.nextToken().trim());
  246.                   var22[var43] = Long.valueOf(var3.nextToken().trim());
  247.                }
  248.             }
  249.  
  250.             int var23 = var5.length * 2 + var13.length + 2;
  251.             this.ResetGridSize(9, var23);
  252.             int var24 = 0;
  253.  
  254.             for(int var25 = 0; var25 < var5.length; ++var25) {
  255.                this.GridPanel1.setCellFont(0, var24, this.user.boldFont);
  256.                this.GridPanel1.setText(var5[var25], 0, var24);
  257.                this.GridPanel1.setText(var8[var25] ? "Held" : "Active", 2, var24);
  258.                this.GridPanel1.setCellFont(3, var24, this.user.boldFont);
  259.                this.GridPanel1.setText(var7[var25] > 0 ? Integer.toString(var7[var25]) : "*NOMAX", 3, var24);
  260.                this.GridPanel1.setText(Integer.toString(var9[var25]), 4, var24);
  261.  
  262.                for(int var26 = 0; var26 < var13.length; ++var26) {
  263.                   if (var14[var26].equals(var5[var25])) {
  264.                      ++var24;
  265.                      this.GridPanel1.setCellFont(0, var24, this.user.plainFont);
  266.                      this.GridPanel1.setText("     " + var13[var26], 0, var24);
  267.                      this.GridPanel1.setText(Integer.toString(var16[var26]), 1, var24);
  268.                      this.GridPanel1.setText(var20[var26] == 4 ? "Active" : "Held", 2, var24);
  269.                      this.GridPanel1.setText(var17[var26], 3, var24);
  270.                      this.GridPanel1.setText(Integer.toString(var21[var26]), 4, var24);
  271.                      this.GridPanel1.setText(var18[var26], 5, var24);
  272.                      String var27 = JDPDate.format(var19[var26]);
  273.                      int var28 = var19[var26].getHours();
  274.                      String var29 = "AM";
  275.                      if (var28 > 11) {
  276.                         var29 = "PM";
  277.                      }
  278.  
  279.                      if (var28 > 12) {
  280.                         var28 -= 12;
  281.                      }
  282.  
  283.                      if (var28 == 0) {
  284.                         var28 = 12;
  285.                      }
  286.  
  287.                      var27 = var27 + " " + Integer.toString(var28);
  288.                      String var30 = Integer.toString(var19[var26].getMinutes());
  289.                      if (var30.length() == 1) {
  290.                         var30 = "0" + var30;
  291.                      }
  292.  
  293.                      var27 = var27 + ":" + var30 + " " + var29;
  294.                      this.GridPanel1.setText(var27, 6, var24);
  295.                      long var31 = var22[var26] - var19[var26].getTime();
  296.                      long var33 = var31 / 86400000L;
  297.                      long var35 = (var31 - var33 * 24L * 3600000L) / 3600000L;
  298.                      long var37 = (var31 - var33 * 24L * 3600000L - var35 * 3600000L) / 60000L;
  299.                      long var39 = (var31 - var33 * 24L * 3600000L - var35 * 3600000L - var37 * 60000L) / 1000L;
  300.                      String var41 = "";
  301.                      if (var33 > 0L) {
  302.                         var41 = var41 + Long.toString(var33) + "d ";
  303.                      }
  304.  
  305.                      if (var35 > 0L) {
  306.                         var41 = var41 + Long.toString(var35) + "h ";
  307.                      }
  308.  
  309.                      var41 = var41 + Long.toString(var37) + "m " + Long.toString(var39) + "s";
  310.                      this.GridPanel1.setText(var41, 7, var24);
  311.                      this.GridPanel1.setText(var15[var26], 8, var24);
  312.                   }
  313.                }
  314.  
  315.                var24 += 2;
  316.             }
  317.  
  318.             if (this.user.mainmsg.getStatusMsg().equals("Refreshing...")) {
  319.                this.user.mainmsg.clearStatusMsg();
  320.             }
  321.  
  322.             this.user.JDesignerPro.gc();
  323.             this.loading = false;
  324.             return true;
  325.          }
  326.       }
  327.    }
  328.  
  329.    public void ResetGridSize(int var1, int var2) {
  330.       this.GridPanel1.setTableDimensions(var1, var2);
  331.       this.GridPanel1.setGridColor(Color.white);
  332.  
  333.       for(int var3 = 0; var3 < var2; ++var3) {
  334.          this.GridPanel1.setCellEnabled(0, var3, false);
  335.       }
  336.  
  337.       for(int var4 = 1; var4 < var1; ++var4) {
  338.          this.GridPanel1.setColumnEnabled(var4, false);
  339.       }
  340.  
  341.       for(int var5 = 0; var5 < var2; ++var5) {
  342.          this.GridPanel1.setRowHeader(var5, "");
  343.       }
  344.  
  345.       if (this.firsttime) {
  346.          Graphics var6 = super.targetPanel.getGraphics();
  347.          int var7 = 2 * this.user.u.StringHeight(var6) - 2;
  348.          if (var7 > 0) {
  349.             this.GridPanel1.setColumnHeaderHeight(var7);
  350.          }
  351.  
  352.          int var8 = this.user.u.StringWidth(this.user.mainmsg.message.getGraphics(), "O");
  353.          int var9 = this.user.u.StringWidth(var6, "O");
  354.          float var10 = (float)var9 / (float)var8;
  355.          if (var10 != 1.0F && var10 != 0.0F) {
  356.             for(int var11 = 0; var11 < var1; ++var11) {
  357.                this.GridPanel1.setColumnWidth(var11, (int)((float)this.GridPanel1.getColumnWidth(var11) * var10));
  358.             }
  359.          }
  360.  
  361.          if (var10 != 0.0F) {
  362.             this.firsttime = false;
  363.          }
  364.       }
  365.  
  366.    }
  367.  
  368.    public void run() {
  369.       while(true) {
  370.          try {
  371.             for(; this.waitSeconds > 0L; Thread.sleep(this.waitSeconds * 1000L)) {
  372.                if (((Component)this).isShowing() && this.LoadGridWithSubsystemData()) {
  373.                   this.refreshJobLog();
  374.                }
  375.             }
  376.  
  377.             Thread.sleep(600000L);
  378.          } catch (Exception var1) {
  379.          }
  380.       }
  381.    }
  382.  
  383.    public void setJobLogVisible(boolean var1) {
  384.       if (var1) {
  385.          if (!this.jobLogShowing) {
  386.             this.jobLog.show();
  387.             this.SplitPanel1.layout();
  388.             this.SplitPanel1.paintAll(this.SplitPanel1.getGraphics());
  389.             this.jobLogShowing = true;
  390.             this.JDPButtons1.button[1].show();
  391.             this.JDPButtons1.layout();
  392.             this.JDPButtons1.paintAll(this.JDPButtons1.getGraphics());
  393.          }
  394.       } else if (this.jobLogShowing) {
  395.          this.jobLog.hide();
  396.          this.SplitPanel1.layout();
  397.          this.SplitPanel1.paintAll(this.SplitPanel1.getGraphics());
  398.          this.jobLogShowing = false;
  399.          this.JDPButtons1.button[1].hide();
  400.          this.JDPButtons1.layout();
  401.          this.JDPButtons1.paintAll(this.JDPButtons1.getGraphics());
  402.       }
  403.    }
  404.  
  405.    public void MainMethod() {
  406.    }
  407.  
  408.    public void refreshJobLog() {
  409.       if (this.jobLog.isVisible()) {
  410.          String var1 = this.GridPanel1.getText(1, this.GridPanel1.getCurrentRow());
  411.  
  412.          try {
  413.             Integer.parseInt(var1);
  414.             String[] var2 = new String[]{"int"};
  415.             String[] var3 = new String[]{var1};
  416.             this.user.mainmsg.setStatusMsg("Refreshing Job Log...", 0);
  417.             String var4 = (String)this.jaggSQL1.invoke("JDPSubsystemMgr", "getJobLog", var2, var3);
  418.             this.jobLog.setText("");
  419.             if (var4 != null) {
  420.                this.jobLog.setText(var4);
  421.             }
  422.  
  423.             this.user.mainmsg.clearStatusMsg();
  424.          } catch (Exception var5) {
  425.          }
  426.       }
  427.    }
  428.  
  429.    public void locateAndLoadJob(int var1) {
  430.       String var2 = Integer.toString(var1);
  431.  
  432.       for(int var3 = 0; var3 < this.GridPanel1.getTableRows(); ++var3) {
  433.          if (this.GridPanel1.getText(1, var3) != null && this.GridPanel1.getText(1, var3).equals(var2)) {
  434.             this.GridPanel1.resetSelections();
  435.             this.GridPanel1.setRowSelected(var3, true);
  436.             return;
  437.          }
  438.       }
  439.  
  440.    }
  441.  
  442.    public boolean PopupMenu1LoadMenu() {
  443.       String var1 = this.GridPanel1.getText(0, this.GridPanel1.getCurrentRow());
  444.       this.PopupMenu1.clear();
  445.       if (var1.equals("")) {
  446.          return false;
  447.       } else {
  448.          this.GridPanel1.setRowSelected(this.GridPanel1.getCurrentRow(), true);
  449.          if (!var1.startsWith("   ")) {
  450.             if (this.GridPanel1.getText(2, this.GridPanel1.getCurrentRow()).equals("Active")) {
  451.                this.PopupMenu1.addEntry("Hold");
  452.             } else {
  453.                this.PopupMenu1.addEntry("Release");
  454.             }
  455.  
  456.             this.PopupMenu1.addEntry("");
  457.             if (var1.equals("SSYSTEM")) {
  458.                String[] var2 = new String[]{"Start", "JDPScheduler"};
  459.                this.PopupMenu1.addEntry(var2);
  460.                var2[1] = "JDPNotificationMgr";
  461.                this.PopupMenu1.addEntry(var2);
  462.             }
  463.  
  464.             String[] var4 = new String[]{"Refresh Every", "10 Seconds"};
  465.             this.PopupMenu1.addEntry(var4);
  466.             var4[1] = "30 Seconds";
  467.             this.PopupMenu1.addEntry(var4);
  468.             var4[1] = "Minute";
  469.             this.PopupMenu1.addEntry(var4);
  470.             var4[1] = "5 Minutes";
  471.             this.PopupMenu1.addEntry(var4);
  472.             var4[1] = "10 Minutes";
  473.             this.PopupMenu1.addEntry(var4);
  474.             var4[1] = "30 Minutes";
  475.             this.PopupMenu1.addEntry(var4);
  476.             var4[1] = "Hour";
  477.             this.PopupMenu1.addEntry(var4);
  478.             this.PopupMenu1.addEntry("");
  479.             var4[0] = "Set Maximum Jobs";
  480.             var4[1] = "*NOMAX";
  481.             this.PopupMenu1.addEntry(var4);
  482.             var4[1] = "1";
  483.             this.PopupMenu1.addEntry(var4);
  484.             var4[1] = "2";
  485.             this.PopupMenu1.addEntry(var4);
  486.             var4[1] = "3";
  487.             this.PopupMenu1.addEntry(var4);
  488.             var4[1] = "4";
  489.             this.PopupMenu1.addEntry(var4);
  490.             var4[1] = "5";
  491.             this.PopupMenu1.addEntry(var4);
  492.             var4[1] = "10";
  493.             this.PopupMenu1.addEntry(var4);
  494.             var4[1] = "20";
  495.             this.PopupMenu1.addEntry(var4);
  496.             var4[1] = "50";
  497.             this.PopupMenu1.addEntry(var4);
  498.             var4[0] = "Set Priority";
  499.  
  500.             for(int var3 = 10; var3 >= 1; --var3) {
  501.                var4[1] = Integer.toString(var3);
  502.                this.PopupMenu1.addEntry(var4);
  503.             }
  504.  
  505.             this.PopupMenu1.addEntry("");
  506.             this.PopupMenu1.addEntry("Create New...");
  507.             if (!var1.equals("SSYSTEM") && !var1.equals("SIMMED") && !var1.equals("SBATCH")) {
  508.                this.PopupMenu1.addEntry("Delete");
  509.             }
  510.          } else {
  511.             if (var1.indexOf("JDPSubsystemMgr") < 0 && var1.indexOf("JaggServer") < 0) {
  512.                if (this.GridPanel1.getText(2, this.GridPanel1.getCurrentRow()).equals("Active")) {
  513.                   this.PopupMenu1.addEntry("Hold");
  514.                } else {
  515.                   this.PopupMenu1.addEntry("Release");
  516.                }
  517.  
  518.                this.PopupMenu1.addEntry("Kill");
  519.                this.PopupMenu1.addEntry("");
  520.             }
  521.  
  522.             this.PopupMenu1.addEntry("Display Job Log");
  523.             this.PopupMenu1.addEntry("");
  524.             String[] var5 = new String[]{"Set Priority", ""};
  525.  
  526.             for(int var6 = 10; var6 >= 1; --var6) {
  527.                var5[1] = Integer.toString(var6);
  528.                this.PopupMenu1.addEntry(var5);
  529.             }
  530.          }
  531.  
  532.          return true;
  533.       }
  534.    }
  535.  
  536.    public void PopupMenu1HandleSelection() {
  537.       String var1 = null;
  538.       String var2 = this.PopupMenu1.getSelectedMenu(0);
  539.       String var3 = "";
  540.       if (this.PopupMenu1.getCurrentMenuLvl() == 1) {
  541.          var3 = this.PopupMenu1.getSelectedMenu(1);
  542.       }
  543.  
  544.       String var4 = "java.lang.String";
  545.       if (var2.equals("Refresh Every")) {
  546.          if (var3.equals("10 Seconds")) {
  547.             this.waitSeconds = 10L;
  548.          } else if (var3.equals("30 Seconds")) {
  549.             this.waitSeconds = 30L;
  550.          } else if (var3.equals("Minute")) {
  551.             this.waitSeconds = 60L;
  552.          } else if (var3.equals("5 Minutes")) {
  553.             this.waitSeconds = 300L;
  554.          } else if (var3.equals("10 Minutes")) {
  555.             this.waitSeconds = 600L;
  556.          } else if (var3.equals("30 Minutes")) {
  557.             this.waitSeconds = 1800L;
  558.          } else if (var3.equals("Hour")) {
  559.             this.waitSeconds = 3600L;
  560.          }
  561.  
  562.          this.thisThread.interrupt();
  563.       } else {
  564.          String var5 = this.GridPanel1.getText(0, this.GridPanel1.getCurrentRow());
  565.          if (!var5.startsWith("   ")) {
  566.             if (var2.equals("Start")) {
  567.                this.user.mainmsg.setStatusMsg("Attempting to start " + var3 + "...", 0);
  568.                String[] var6 = new String[]{var4, var4};
  569.                String[] var7 = new String[]{var5, var3};
  570.                var1 = (String)this.jaggSQL1.invoke("JDPSubsystemMgr", "startSystemJob", var6, var7);
  571.             }
  572.  
  573.             if (var2.equals("Set Maximum Jobs")) {
  574.                String[] var10 = new String[]{var4, "int"};
  575.                if (var3.equals("*NOMAX")) {
  576.                   var3 = "0";
  577.                }
  578.  
  579.                String[] var18 = new String[]{var5, var3};
  580.                var1 = (String)this.jaggSQL1.invoke("JDPSubsystemMgr", "setMaxJobs", var10, var18);
  581.             }
  582.  
  583.             if (var2.equals("Set Priority")) {
  584.                String[] var11 = new String[]{var4, "int"};
  585.                String[] var19 = new String[]{var5, var3};
  586.                var1 = (String)this.jaggSQL1.invoke("JDPSubsystemMgr", "setSubsystemPriority", var11, var19);
  587.             }
  588.  
  589.             if (var2.equals("Hold")) {
  590.                String[] var12 = new String[]{var4, "boolean"};
  591.                String[] var20 = new String[]{var5, "true"};
  592.                var1 = (String)this.jaggSQL1.invoke("JDPSubsystemMgr", "setSubsystemHeld", var12, var20);
  593.             }
  594.  
  595.             if (var2.equals("Release")) {
  596.                String[] var13 = new String[]{var4, "boolean"};
  597.                String[] var21 = new String[]{var5, "false"};
  598.                var1 = (String)this.jaggSQL1.invoke("JDPSubsystemMgr", "setSubsystemHeld", var13, var21);
  599.             }
  600.  
  601.             if (var2.equals("Delete")) {
  602.                this.MessageBox1.setMessage("Confirm removal of subsystem " + var5 + ".");
  603.                this.MessageBox1.display();
  604.                if (this.MessageBox1.getPressedButton() == 0) {
  605.                   this.user.mainmsg.setStatusMsg("Removing subsystem...", 0);
  606.                   String[] var14 = new String[]{var4};
  607.                   String[] var22 = new String[]{var5};
  608.                   var1 = (String)this.jaggSQL1.invoke("JDPSubsystemMgr", "removeSubsystem", var14, var22);
  609.                }
  610.             }
  611.  
  612.             if (var2.equals("Create New...")) {
  613.                this.creatingNewSubsystem = true;
  614.                int var15 = 0;
  615.                this.GridPanel1.resetSelections();
  616.  
  617.                while(var15 < this.GridPanel1.getTableRows() && (!this.GridPanel1.getText(0, var15).equals("") || !this.GridPanel1.getText(0, var15 + 1).equals(""))) {
  618.                   ++var15;
  619.                }
  620.  
  621.                ++var15;
  622.                this.user.mainmsg.setStatusMsg("Enter the name of the new Subsystem.", 10);
  623.                this.GridPanel1.setCellFont(0, var15, this.user.boldFont);
  624.                this.GridPanel1.setCellEnabled(0, var15, true);
  625.                this.GridPanel1.setCursorInThisCell(0, var15);
  626.                this.GridPanel1.requestFocus();
  627.                return;
  628.             }
  629.          } else {
  630.             String var17 = this.GridPanel1.getText(1, this.GridPanel1.getCurrentRow());
  631.             if (var2.equals("Set Priority")) {
  632.                String[] var23 = new String[]{"int", "int", var4};
  633.                String[] var8 = new String[]{var17, var3, this.user.cust.getUsername()};
  634.                var1 = (String)this.jaggSQL1.invoke("JDPSubsystemMgr", "setJobPriority", var23, var8);
  635.             }
  636.  
  637.             if (var2.equals("Hold")) {
  638.                String[] var24 = new String[]{"int", "boolean", var4};
  639.                String[] var28 = new String[]{var17, "true", this.user.cust.getUsername()};
  640.                var1 = (String)this.jaggSQL1.invoke("JDPSubsystemMgr", "setJobHeld", var24, var28);
  641.             }
  642.  
  643.             if (var2.equals("Release")) {
  644.                String[] var25 = new String[]{"int", "boolean", var4};
  645.                String[] var29 = new String[]{var17, "false", this.user.cust.getUsername()};
  646.                var1 = (String)this.jaggSQL1.invoke("JDPSubsystemMgr", "setJobHeld", var25, var29);
  647.             }
  648.  
  649.             if (var2.equals("Kill")) {
  650.                String[] var26 = new String[]{"int", var4};
  651.                String[] var30 = new String[]{var17, this.user.cust.getUsername()};
  652.                var1 = (String)this.jaggSQL1.invoke("JDPSubsystemMgr", "killJob", var26, var30);
  653.             }
  654.  
  655.             if (var2.equals("Display Job Log")) {
  656.                this.jobLog.setText("");
  657.                String[] var27 = new String[]{"int"};
  658.                String[] var31 = new String[]{var17};
  659.                String var9 = (String)this.jaggSQL1.invoke("JDPSubsystemMgr", "getJobLog", var27, var31);
  660.                if (var9 != null) {
  661.                   this.jobLog.setText(var9);
  662.                }
  663.  
  664.                this.setJobLogVisible(true);
  665.             }
  666.          }
  667.  
  668.          if (var1 != null) {
  669.             this.user.mainmsg.setStatusMsg(var1, 15);
  670.          } else {
  671.             this.user.mainmsg.clearStatusMsg();
  672.          }
  673.  
  674.          this.LoadGridWithSubsystemData();
  675.       }
  676.    }
  677.  
  678.    public void GridPanel1CreateNewSubsystem() {
  679.       String var1 = null;
  680.  
  681.       for(int var2 = 0; var2 < this.GridPanel1.getTableRows(); ++var2) {
  682.          if (this.GridPanel1.getCellEnabled(0, var2)) {
  683.             var1 = this.GridPanel1.getText(0, var2).toUpperCase().trim();
  684.             if (var1.length() == 0) {
  685.                var1 = null;
  686.             } else {
  687.                var1 = this.user.u.replace(var1, "'", "''");
  688.             }
  689.          }
  690.       }
  691.  
  692.       if (var1 != null) {
  693.          this.user.mainmsg.setStatusMsg("Creating new subsystem...", 0);
  694.          String[] var3 = new String[]{"java.lang.String"};
  695.          String[] var4 = new String[]{var1};
  696.          String var5 = (String)this.jaggSQL1.invoke("JDPSubsystemMgr", "createSubsystem", var3, var4);
  697.          if (var5 != null) {
  698.             this.user.mainmsg.setStatusMsg(var5, 10);
  699.          } else {
  700.             this.user.mainmsg.clearStatusMsg();
  701.          }
  702.       }
  703.  
  704.       this.LoadGridWithSubsystemData();
  705.    }
  706. }
  707.