home *** CD-ROM | disk | FTP | other *** search
- import java.awt.BorderLayout;
- import java.awt.Color;
- import java.awt.Component;
- import java.awt.Container;
- import java.awt.Event;
- import java.awt.Graphics;
- import java.awt.Panel;
- import java.util.Date;
- import java.util.StringTokenizer;
- import java.util.Vector;
-
- public class JDPJobQueueMaint extends JDPClassLayout {
- JDPUser user;
- JDPJagg jaggSQL;
- JDPPopupMessage popuppanel;
- JDPMaskEdit JDPMaskEditMain;
- String moduleParameter;
- Panel Main;
- JDPPopupMenu PopupMenu1;
- JDPChiselFramePanel ChiselPanel1;
- Panel Panel1;
- JDPButtons JDPButtons1;
- Panel Panel2;
- JDPTextGrid GridPanel1;
- JDPMessageDialog MessageBox1;
- Thread thisThread;
- JDPJagg jaggSQL1;
- boolean firsttime = true;
- long waitSeconds = 60L;
- boolean loading = false;
- Vector jobQueues;
- Vector subsystems;
- boolean creatingNewJobQueue = false;
-
- public void InitClass(JDPUser var1, Panel var2, String var3) {
- this.user = var1;
- this.moduleParameter = var3;
- super.targetPanel = var2;
- this.jaggSQL = new JDPJagg(var1.jaggPath);
- ((Container)this).setLayout(new BorderLayout());
- this.popuppanel = new JDPPopupMessage(var1, this);
- ((Container)this).add(this.popuppanel);
- this.JDPMaskEditMain = new JDPMaskEdit();
- this.Main = new Panel();
- this.PopupMenu1 = new JDPPopupMenu(var1.getJDPUser(), this.Main);
- this.ChiselPanel1 = new JDPChiselFramePanel(var1, "Job Queues Display");
- this.Panel1 = new Panel();
- String[] var4 = new String[]{"Refresh"};
- int[] var5 = new int[]{JDPButton.getIconValue("Undo")};
- this.JDPButtons1 = new JDPButtons(var1, var4, var5, JDPButtons.getAlignmentValue("Horizontal"));
- this.Panel2 = new Panel();
- this.GridPanel1 = new JDPTextGrid(var1);
- this.MessageBox1 = new JDPMessageDialog(var1, this);
- this.Main.setLayout(new BorderLayout());
- ((Container)this).add("Center", this.Main);
- this.Main.add("West", this.PopupMenu1);
- this.Main.add("Center", this.ChiselPanel1);
- this.ChiselPanel1.add("Center", this.Panel1);
- this.Panel1.setLayout(new BorderLayout());
- this.Panel1.add("South", this.JDPButtons1);
- this.Panel1.add("Center", this.Panel2);
- this.Panel2.setLayout(new BorderLayout());
- this.Panel2.add("Center", this.GridPanel1);
- this.popuppanel.addComponent(this.GridPanel1, "", "Click on a Job Queue, Job or the panel for Options.");
- this.GridPanel1.setTableDimensions(8, 50);
- this.GridPanel1.setColumnHeader(0, "Job Queue| Job Name");
- this.GridPanel1.setColumnHeader(1, " |Job Number");
- this.GridPanel1.setColumnHeader(2, "Status|");
- this.GridPanel1.setColumnHeader(3, "Subsystem|Owner");
- this.GridPanel1.setColumnHeader(4, " |Priority");
- this.GridPanel1.setColumnHeader(5, " |Type");
- this.GridPanel1.setColumnHeader(6, " |Queued");
- this.GridPanel1.setColumnHeader(7, " |System");
- this.GridPanel1.setColumnHeader(7, " |System");
- this.GridPanel1.setColumnWidth(0, 135);
- this.GridPanel1.setColumnWidth(1, 80);
- this.GridPanel1.setColumnWidth(2, 50);
- this.GridPanel1.setColumnWidth(3, 80);
- this.GridPanel1.setColumnWidth(4, 45);
- this.GridPanel1.setColumnWidth(5, 80);
- this.GridPanel1.setColumnWidth(6, 105);
- this.GridPanel1.setColumnWidth(7, 80);
- this.GridPanel1.setColumnWidth(7, 80);
- this.GridPanel1.setColumnHeaderHeight(24);
- this.MessageBox1.setTitle("Confirm");
- this.MessageBox1.setButtonCount(2);
- this.MessageBox1.setButtonIcon(0, 8);
- this.MessageBox1.setButtonIcon(1, 6);
- this.MessageBox1.setButtonText(0, "Delete");
- this.MessageBox1.setButtonText(1, "Cancel");
- var1.gParm.addElement(this);
- this.InitComponents();
- }
-
- public boolean handleEvent(Event var1) {
- switch (var1.id) {
- case 503:
- case 504:
- case 505:
- this.popuppanel.postEvent(var1);
- return false;
- case 701:
- if (var1.target.equals(this.GridPanel1)) {
- if (!this.PopupMenu1LoadMenu()) {
- return true;
- }
-
- this.PopupMenu1.display(var1.x, var1.y);
- return true;
- }
-
- return false;
- case 1001:
- if (var1.target.equals(this.PopupMenu1)) {
- this.PopupMenu1HandleSelection();
- return true;
- } else {
- if (var1.target.equals(this.JDPButtons1.button[0])) {
- this.LoadGridWithJobQueueData();
- return true;
- }
-
- return false;
- }
- case 1005:
- if (var1.target.equals(this.GridPanel1)) {
- if (this.creatingNewJobQueue && this.GridPanel1.getCurrentColumn() != 0) {
- if (!this.GridPanel1.getText(0, this.GridPanel1.getCurrentRow()).equals("")) {
- this.GridPanel1CreateNewJobQueue();
- } else {
- this.creatingNewJobQueue = false;
- }
-
- return true;
- }
-
- if (this.creatingNewJobQueue) {
- this.GridPanel1.setCursorInThisCell(0, this.GridPanel1.getCurrentRow());
- this.GridPanel1.requestFocus();
- return true;
- }
-
- return true;
- }
-
- return false;
- default:
- return false;
- }
- }
-
- public void InitComponents() {
- this.jaggSQL.loadSettings(this.user);
- this.GridPanel1.setGridColor(Color.white);
- this.LoadGridWithJobQueueData();
- this.thisThread = new Thread(this);
- this.thisThread.start();
- this.jaggSQL1 = new JDPJagg(this.user.jaggPath);
- this.jaggSQL1.loadSettings(this.user);
- }
-
- public void ResetGridSize(int var1, int var2) {
- this.GridPanel1.setTableDimensions(var1, var2);
-
- for(int var3 = 0; var3 < var2; ++var3) {
- this.GridPanel1.setCellEnabled(0, var3, false);
- }
-
- for(int var4 = 1; var4 < var1; ++var4) {
- this.GridPanel1.setColumnEnabled(var4, false);
- }
-
- for(int var5 = 0; var5 < var2; ++var5) {
- this.GridPanel1.setRowHeader(var5, "");
- }
-
- if (this.firsttime) {
- Graphics var6 = super.targetPanel.getGraphics();
- int var7 = 2 * this.user.u.StringHeight(var6) - 2;
- if (var7 > 0) {
- this.GridPanel1.setColumnHeaderHeight(var7);
- }
-
- int var8 = this.user.u.StringWidth(this.user.mainmsg.message.getGraphics(), "O");
- int var9 = this.user.u.StringWidth(var6, "O");
- float var10 = (float)var9 / (float)var8;
- if (var10 != 1.0F && var10 != 0.0F) {
- for(int var11 = 0; var11 < var1; ++var11) {
- this.GridPanel1.setColumnWidth(var11, (int)((float)this.GridPanel1.getColumnWidth(var11) * var10));
- }
- }
-
- if (var10 != 0.0F) {
- this.firsttime = false;
- }
- }
-
- }
-
- public void run() {
- while(true) {
- try {
- while(this.waitSeconds > 0L) {
- Thread.sleep(this.waitSeconds * 1000L);
- if (((Component)this).isShowing()) {
- this.LoadGridWithJobQueueData();
- }
- }
-
- Thread.sleep(600000L);
- } catch (Exception var1) {
- }
- }
- }
-
- public boolean LoadGridWithJobQueueData() {
- if (this.loading) {
- return false;
- } else {
- this.loading = true;
- String var1 = this.jaggSQL.getSEP();
- this.jaggSQL.loadSettings(this.user);
- this.creatingNewJobQueue = false;
- this.jobQueues = new Vector();
- if (this.user.mainmsg.getStatusMsg().equals("")) {
- this.user.mainmsg.setStatusMsg("Refreshing...", 0);
- }
-
- this.jaggSQL.setKeepConnectionOpen(true);
- String var2 = (String)this.jaggSQL.invoke("JDPJobQueueMgr", "getJobQueues");
- if (var2 == null) {
- this.ResetGridSize(8, 10);
- this.user.mainmsg.setStatusMsg("No queues exist.", 5);
- this.loading = false;
- return false;
- } else {
- StringTokenizer var3 = new StringTokenizer(var2, var1);
- int var4 = var3.countTokens() / 4;
- String[] var5 = new String[var4];
- String[] var6 = new String[var4];
- boolean[] var7 = new boolean[var4];
- String[] var8 = new String[var4];
-
- for(int var9 = 0; var3.hasMoreTokens(); ++var9) {
- var5[var9] = var3.nextToken().trim();
- this.jobQueues.addElement(var5[var9]);
- var6[var9] = var3.nextToken().trim();
- var7[var9] = var3.nextToken().trim().equals("Y");
- var8[var9] = var3.nextToken().trim();
- }
-
- String var10 = (String)this.jaggSQL.invoke("JDPJobQueueMgr", "getQueuedJobs");
- var3 = new StringTokenizer(var10, var1);
- int var11 = var3.countTokens() / 9;
- String[] var12 = new String[var11];
- String[] var13 = new String[var11];
- String[] var14 = new String[var11];
- int[] var15 = new int[var11];
- String[] var16 = new String[var11];
- String[] var17 = new String[var11];
- Date[] var18 = new Date[var11];
- int[] var19 = new int[var11];
- int[] var20 = new int[var11];
-
- for(int var30 = 0; var3.hasMoreTokens(); ++var30) {
- var12[var30] = var3.nextToken().trim();
- var13[var30] = var3.nextToken().trim();
- var14[var30] = var3.nextToken().trim();
- var15[var30] = Integer.parseInt(var3.nextToken().trim());
- var16[var30] = var3.nextToken().trim();
- var17[var30] = var3.nextToken().trim();
- var18[var30] = new Date(Long.valueOf(var3.nextToken().trim()));
- var19[var30] = Integer.parseInt(var3.nextToken().trim());
- var20[var30] = Integer.parseInt(var3.nextToken().trim());
- }
-
- int var21 = var5.length * 2 + var12.length + 2;
- this.ResetGridSize(8, var21);
- int var22 = 0;
-
- for(int var23 = 0; var23 < var5.length; ++var23) {
- this.GridPanel1.setCellFont(0, var22, this.user.boldFont);
- this.GridPanel1.setText(var5[var23], 0, var22);
- this.GridPanel1.setText(var7[var23] ? "Held" : "Active", 2, var22);
- this.GridPanel1.setCellFont(3, var22, this.user.boldFont);
- this.GridPanel1.setText(var8[var23], 3, var22);
-
- for(int var24 = 0; var24 < var12.length; ++var24) {
- if (var13[var24].equals(var5[var23])) {
- ++var22;
- this.GridPanel1.setCellFont(0, var22, this.user.plainFont);
- this.GridPanel1.setText(" " + var12[var24], 0, var22);
- this.GridPanel1.setText(Integer.toString(var15[var24]), 1, var22);
- this.GridPanel1.setText(var19[var24] == 2 ? "Queued" : "Held", 2, var22);
- this.GridPanel1.setCellFont(3, var22, this.user.plainFont);
- this.GridPanel1.setText(var16[var24], 3, var22);
- this.GridPanel1.setText(Integer.toString(var20[var24]), 4, var22);
- this.GridPanel1.setText(var17[var24], 5, var22);
- String var25 = JDPDate.format(var18[var24]);
- int var26 = var18[var24].getHours();
- String var27 = "AM";
- if (var26 > 11) {
- var27 = "PM";
- }
-
- if (var26 > 12) {
- var26 -= 12;
- }
-
- if (var26 == 0) {
- var26 = 12;
- }
-
- var25 = var25 + " " + Integer.toString(var26);
- String var28 = Integer.toString(var18[var24].getMinutes());
- if (var28.length() == 1) {
- var28 = "0" + var28;
- }
-
- var25 = var25 + ":" + var28 + " " + var27;
- this.GridPanel1.setText(var25, 6, var22);
- this.GridPanel1.setText(var14[var24], 7, var22);
- }
- }
-
- var22 += 2;
- }
-
- this.LoadSubsystemsList();
- this.jaggSQL.setKeepConnectionOpen(false);
- if (this.user.mainmsg.getStatusMsg().equals("Refreshing...")) {
- this.user.mainmsg.clearStatusMsg();
- }
-
- this.user.JDesignerPro.gc();
- this.loading = false;
- return true;
- }
- }
- }
-
- public void LoadSubsystemsList() {
- String var1 = this.jaggSQL.getSEP();
- this.subsystems = new Vector();
- String var2 = (String)this.jaggSQL.invoke("JDPSubsystemMgr", "getSubsystems");
- StringTokenizer var3 = new StringTokenizer(var2, var1);
- var3.countTokens();
-
- while(var3.hasMoreTokens()) {
- this.subsystems.addElement(var3.nextToken().trim());
- var3.nextToken();
- var3.nextToken();
- var3.nextToken();
- var3.nextToken();
- }
-
- }
-
- public void MainMethod() {
- }
-
- public void locateAndLoadJob(int var1) {
- String var2 = Integer.toString(var1);
-
- for(int var3 = 0; var3 < this.GridPanel1.getTableRows(); ++var3) {
- if (this.GridPanel1.getText(1, var3) != null && this.GridPanel1.getText(1, var3).equals(var2)) {
- this.GridPanel1.resetSelections();
- this.GridPanel1.setRowSelected(var3, true);
- }
- }
-
- }
-
- public boolean PopupMenu1LoadMenu() {
- String var1 = this.GridPanel1.getText(0, this.GridPanel1.getCurrentRow());
- this.PopupMenu1.clear();
- if (var1.equals("")) {
- return false;
- } else {
- this.GridPanel1.setRowSelected(this.GridPanel1.getCurrentRow(), true);
- if (!var1.startsWith(" ")) {
- if (this.GridPanel1.getText(2, this.GridPanel1.getCurrentRow()).equals("Active")) {
- this.PopupMenu1.addEntry("Hold");
- } else {
- this.PopupMenu1.addEntry("Release");
- }
-
- this.PopupMenu1.addEntry("");
- String[] var2 = new String[]{"Refresh Every", "10 Seconds"};
- this.PopupMenu1.addEntry(var2);
- var2[1] = "30 Seconds";
- this.PopupMenu1.addEntry(var2);
- var2[1] = "Minute";
- this.PopupMenu1.addEntry(var2);
- var2[1] = "5 Minutes";
- this.PopupMenu1.addEntry(var2);
- var2[1] = "10 Minutes";
- this.PopupMenu1.addEntry(var2);
- var2[1] = "30 Minutes";
- this.PopupMenu1.addEntry(var2);
- var2[1] = "Hour";
- this.PopupMenu1.addEntry(var2);
- var2[0] = "Set Subsystem";
-
- for(int var3 = 0; var3 < this.subsystems.size(); ++var3) {
- var2[1] = (String)this.subsystems.elementAt(var3);
- this.PopupMenu1.addEntry(var2);
- }
-
- this.PopupMenu1.addEntry("");
- this.PopupMenu1.addEntry("Create New...");
- if (!var1.equals("QSYSTEM") && !var1.equals("QIMMED") && !var1.equals("QBATCH")) {
- this.PopupMenu1.addEntry("Delete");
- }
- } else {
- if (this.GridPanel1.getText(2, this.GridPanel1.getCurrentRow()).equals("Queued")) {
- this.PopupMenu1.addEntry("Hold");
- } else {
- this.PopupMenu1.addEntry("Release");
- }
-
- this.PopupMenu1.addEntry("Remove");
- this.PopupMenu1.addEntry("");
- String[] var5 = new String[]{"Change Job Queue to", ""};
-
- for(int var6 = 0; var6 < this.jobQueues.size(); ++var6) {
- var5[1] = (String)this.jobQueues.elementAt(var6);
- this.PopupMenu1.addEntry(var5);
- }
-
- var5[0] = "Set Priority";
-
- for(int var4 = 10; var4 >= 1; --var4) {
- var5[1] = Integer.toString(var4);
- this.PopupMenu1.addEntry(var5);
- }
- }
-
- return true;
- }
- }
-
- public void PopupMenu1HandleSelection() {
- String var1 = null;
- String var2 = this.PopupMenu1.getSelectedMenu(0);
- String var3 = "";
- if (this.PopupMenu1.getCurrentMenuLvl() == 1) {
- var3 = this.PopupMenu1.getSelectedMenu(1);
- }
-
- if (var2.equals("Refresh Every")) {
- if (var3.equals("10 Seconds")) {
- this.waitSeconds = 10L;
- } else if (var3.equals("30 Seconds")) {
- this.waitSeconds = 30L;
- } else if (var3.equals("Minute")) {
- this.waitSeconds = 60L;
- } else if (var3.equals("5 Minutes")) {
- this.waitSeconds = 300L;
- } else if (var3.equals("10 Minutes")) {
- this.waitSeconds = 600L;
- } else if (var3.equals("30 Minutes")) {
- this.waitSeconds = 1800L;
- } else if (var3.equals("Hour")) {
- this.waitSeconds = 3600L;
- }
-
- this.thisThread.interrupt();
- } else {
- String var4 = this.GridPanel1.getText(0, this.GridPanel1.getCurrentRow());
- if (!var4.startsWith(" ")) {
- if (var2.equals("Set Subsystem")) {
- String[] var5 = new String[]{"java.lang.String", "java.lang.String"};
- String[] var6 = new String[]{var4, var3};
- var1 = (String)this.jaggSQL1.invoke("JDPSubsystemMgr", "setJobQueueSubsystem", var5, var6);
- }
-
- if (var2.equals("Hold")) {
- String[] var9 = new String[]{"java.lang.String", "boolean"};
- String[] var15 = new String[]{var4, "true"};
- var1 = (String)this.jaggSQL1.invoke("JDPSubsystemMgr", "setJobQueueHeld", var9, var15);
- }
-
- if (var2.equals("Release")) {
- String[] var10 = new String[]{"java.lang.String", "boolean"};
- String[] var16 = new String[]{var4, "false"};
- var1 = (String)this.jaggSQL1.invoke("JDPSubsystemMgr", "setJobQueueHeld", var10, var16);
- }
-
- if (var2.equals("Delete")) {
- this.MessageBox1.setMessage("Confirm removal of Job Queue " + var4 + ".");
- this.MessageBox1.display();
- if (this.MessageBox1.getPressedButton() == 0) {
- this.user.mainmsg.setStatusMsg("Removing Job Queue...", 0);
- String[] var11 = new String[]{"java.lang.String"};
- String[] var17 = new String[]{var4};
- var1 = (String)this.jaggSQL1.invoke("JDPSubsystemMgr", "removeJobQueue", var11, var17);
- }
- }
-
- if (var2.equals("Create New...")) {
- this.creatingNewJobQueue = true;
- int var12 = 0;
- this.GridPanel1.resetSelections();
-
- while(var12 < this.GridPanel1.getTableRows() && (!this.GridPanel1.getText(0, var12).equals("") || !this.GridPanel1.getText(0, var12 + 1).equals(""))) {
- ++var12;
- }
-
- ++var12;
- this.GridPanel1.setCellEnabled(0, var12, true);
- this.GridPanel1.setCursorInThisCell(0, var12);
- this.GridPanel1.setCellFont(0, var12, this.user.boldFont);
- this.GridPanel1.requestFocus();
- this.user.mainmsg.setStatusMsg("Enter the name of the new Job Queue.", 10);
- return;
- }
- } else {
- String var14 = "java.lang.String";
- String var18 = this.GridPanel1.getText(1, this.GridPanel1.getCurrentRow());
- if (var2.equals("Change Job Queue to")) {
- String[] var7 = new String[]{"int", var14, var14};
- String[] var8 = new String[]{var18, var3, this.user.cust.getUsername()};
- var1 = (String)this.jaggSQL1.invoke("JDPSubsystemMgr", "setJobJobQueue", var7, var8);
- }
-
- if (var2.equals("Set Priority")) {
- String[] var19 = new String[]{"int", "int", var14};
- String[] var23 = new String[]{var18, var3, this.user.cust.getUsername()};
- var1 = (String)this.jaggSQL1.invoke("JDPSubsystemMgr", "setJobQueuePriority", var19, var23);
- }
-
- if (var2.equals("Hold")) {
- String[] var20 = new String[]{"int", "boolean", var14};
- String[] var24 = new String[]{var18, "true", this.user.cust.getUsername()};
- var1 = (String)this.jaggSQL1.invoke("JDPSubsystemMgr", "setJobHeld", var20, var24);
- }
-
- if (var2.equals("Release")) {
- String[] var21 = new String[]{"int", "boolean", var14};
- String[] var25 = new String[]{var18, "false", this.user.cust.getUsername()};
- var1 = (String)this.jaggSQL1.invoke("JDPSubsystemMgr", "setJobHeld", var21, var25);
- }
-
- if (var2.equals("Remove")) {
- this.user.mainmsg.setStatusMsg("Removing Job from Job Queue...", 0);
- String[] var22 = new String[]{"int", var14};
- String[] var26 = new String[]{var18, this.user.cust.getUsername()};
- var1 = (String)this.jaggSQL1.invoke("JDPSubsystemMgr", "removeJob", var22, var26);
- }
- }
-
- if (var1 != null) {
- this.user.mainmsg.setStatusMsg(var1, 15);
- } else {
- this.user.mainmsg.clearStatusMsg();
- }
-
- this.LoadGridWithJobQueueData();
- }
- }
-
- public void GridPanel1CreateNewJobQueue() {
- String var1 = null;
-
- for(int var2 = 0; var2 < this.GridPanel1.getTableRows(); ++var2) {
- if (this.GridPanel1.getCellEnabled(0, var2)) {
- var1 = this.GridPanel1.getText(0, var2).toUpperCase().trim();
- if (var1.length() == 0) {
- var1 = null;
- } else {
- var1 = this.user.u.replace(var1, "'", "''");
- }
- }
- }
-
- if (var1 != null) {
- this.user.mainmsg.setStatusMsg("Creating new job queue...", 0);
- String[] var3 = new String[]{"java.lang.String"};
- String[] var4 = new String[]{var1};
- String var5 = (String)this.jaggSQL1.invoke("JDPSubsystemMgr", "createJobQueue", var3, var4);
- if (var5 != null) {
- this.user.mainmsg.setStatusMsg(var5, 10);
- } else {
- this.user.mainmsg.clearStatusMsg();
- }
- }
-
- this.LoadGridWithJobQueueData();
- }
- }
-