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

  1. import java.util.Date;
  2. import java.util.Hashtable;
  3. import java.util.Vector;
  4.  
  5. public class JDPJobQueue {
  6.    JDPJobQueueMgr manager;
  7.    Hashtable info;
  8.    Vector queue;
  9.  
  10.    public JDPJobQueue(JDPJobQueueMgr var1, String var2) {
  11.       this.manager = var1;
  12.       this.info = new Hashtable();
  13.       this.queue = new Vector();
  14.       this.setJobQueueName(var2);
  15.       this.setQueueHeld(false);
  16.    }
  17.  
  18.    String getJobQueueName() {
  19.       return (String)this.info.get("JobQueueName");
  20.    }
  21.  
  22.    void setJobQueueName(String var1) {
  23.       this.info.put("JobQueueName", var1);
  24.    }
  25.  
  26.    String getJobQueueDesc() {
  27.       return (String)this.info.get("JobQueueDesc");
  28.    }
  29.  
  30.    void setJobQueueDesc(String var1) {
  31.       this.info.put("JobQueueDesc", var1);
  32.    }
  33.  
  34.    String getSubsystem() {
  35.       return (String)this.info.get("Subsystem");
  36.    }
  37.  
  38.    void setSubsystem(String var1) {
  39.       this.info.put("Subsystem", var1);
  40.    }
  41.  
  42.    boolean getQueueHeld() {
  43.       return (Boolean)this.info.get("QueueHeld");
  44.    }
  45.  
  46.    void setQueueHeld(boolean var1) {
  47.       this.info.put("QueueHeld", new Boolean(var1));
  48.       this.manager.reOrderQueue();
  49.    }
  50.  
  51.    void submitJob(JDPJob var1) {
  52.       var1.setJobQueue(this.getJobQueueName());
  53.       if (var1.getQueuedDate() == null) {
  54.          Date var2 = new Date();
  55.          long var3 = var2.getTime();
  56.          var2.setHours(0);
  57.          var2.setMinutes(0);
  58.          var2.setSeconds(0);
  59.          var3 -= var2.getTime();
  60.          var1.setQueuedDate(var2);
  61.          var1.setQueuedTime(var3);
  62.       }
  63.  
  64.       if (var1.getJobStatus() != 2 && var1.getJobStatus() != 3) {
  65.          var1.setJobStatus(2);
  66.       }
  67.  
  68.       this.queue.addElement(var1);
  69.       this.manager.reOrderQueue();
  70.    }
  71.  
  72.    void removeJob(JDPJob var1) {
  73.       var1.setJobQueue("");
  74.       if (var1.getJobStatus() != 2 && var1.getJobStatus() != 3) {
  75.          var1.setJobStatus(1);
  76.       }
  77.  
  78.       this.queue.removeElement(var1);
  79.       this.manager.reOrderQueue();
  80.    }
  81.  
  82.    public int getQueuedJobCount() {
  83.       return this.queue.size();
  84.    }
  85.  
  86.    boolean holdJob(int var1) {
  87.       JDPJob var2 = this.getJob(var1);
  88.       if (var2 != null && var2.setJobStatus(3)) {
  89.          this.manager.reOrderQueue();
  90.          return true;
  91.       } else {
  92.          return false;
  93.       }
  94.    }
  95.  
  96.    boolean releaseJob(int var1) {
  97.       JDPJob var2 = this.getJob(var1);
  98.       if (var2 != null && var2.setJobStatus(2)) {
  99.          this.manager.reOrderQueue();
  100.          return true;
  101.       } else {
  102.          return false;
  103.       }
  104.    }
  105.  
  106.    JDPJob getJob(int var1) {
  107.       for(int var2 = 0; var2 < this.queue.size(); ++var2) {
  108.          JDPJob var3 = (JDPJob)this.queue.elementAt(var2);
  109.          if (var3.getJobNumber() == var1) {
  110.             return var3;
  111.          }
  112.       }
  113.  
  114.       return null;
  115.    }
  116.  
  117.    JDPJob getNextJob() {
  118.       if (this.queue.size() == 0) {
  119.          return null;
  120.       } else {
  121.          JDPJob var1 = (JDPJob)this.queue.elementAt(0);
  122.          return var1.getJobStatus() == 2 ? var1 : null;
  123.       }
  124.    }
  125.  
  126.    boolean reOrderQueue() {
  127.       Vector var1 = new Vector();
  128.       boolean var2 = false;
  129.  
  130.       for(int var3 = 0; var3 < 2; ++var3) {
  131.          if (var3 == 1) {
  132.             var2 = true;
  133.          }
  134.  
  135.          for(int var4 = 10; var4 >= 1; --var4) {
  136.             for(int var5 = 0; var5 < this.queue.size(); ++var5) {
  137.                JDPJob var6 = (JDPJob)this.queue.elementAt(var5);
  138.                if (var6.getJobQueuePriority() == var4 && var1.indexOf(var6) < 0 && (var6.getJobStatus() == 2 && !var2 || var6.getJobStatus() == 3 && var2)) {
  139.                   var1.addElement(var6);
  140.                }
  141.             }
  142.          }
  143.       }
  144.  
  145.       this.queue = var1;
  146.       return true;
  147.    }
  148. }
  149.