/// /// <summary> * sets the QueueEntry/@Status if the queue is automated, also resorts the queue to reflect the new Status and sets /// * the Queue/@Status based on the maximum number of concurrently running jobs also sets StartTime and EndTime /// * appropriately if the queue is automated /// * </summary> /// * <param name="value"> the queuentry status to set /// * </param> /// * <seealso cref= org.cip4.jdflib.auto.JDFAutoQueueEntry#setQueueEntryStatus(org.cip4.jdflib.auto.JDFAutoQueueEntry.EnumQueueEntryStatus) </seealso> /// public override void setQueueEntryStatus(EnumQueueEntryStatus @value) { EnumQueueEntryStatus oldVal = getQueueEntryStatus(); if (isAutomated() && !ContainerUtil.Equals(oldVal, @value)) { JDFQueue queue = (JDFQueue)getParentNode_KElement(); lock (queue) { base.setQueueEntryStatus(@value); if (isCompleted()) { if (!hasAttribute(AttributeName.ENDTIME)) { base.setEndTime(new JDFDate()); } queue.cleanup(); } if (EnumQueueEntryStatus.Running.Equals(@value)) { if (!hasAttribute(AttributeName.STARTTIME)) { base.setStartTime(new JDFDate()); } removeAttribute(AttributeName.ENDTIME); } queue.sortChildren(); queue.setStatusFromEntries(); } } else if (!ContainerUtil.Equals(oldVal, @value)) // non automated { base.setQueueEntryStatus(@value); } }
public virtual void testSortQueue() { q.setAutomated(true); JDFQueue q2 = (JDFQueue) new JDFDoc("Queue").getRoot(); JDFQueueEntry qe = q2.appendQueueEntry(); qe.setQueueEntryID("qeNew"); qe.setQueueEntryStatus(EnumQueueEntryStatus.Waiting); qe.setPriority(42); // JDFQueueEntry qe2=(JDFQueueEntry) q.moveElement(qe, null); q.sortChildren(); Assert.AreEqual(2, q.getQueueEntryPos("qeNew")); }
// // * (non-Javadoc) // * // * @see org.cip4.jdflib.auto.JDFAutoQueueEntry#setPriority(int) // public override void setPriority(int @value) { int oldVal = hasAttribute(AttributeName.PRIORITY) ? getPriority() : -1; if (isAutomated() && @value != oldVal) { JDFQueue queue = (JDFQueue)getParentNode_KElement(); lock (queue) { base.setPriority(@value); queue.sortChildren(); } } else if (@value != oldVal) // non automated { base.setPriority(@value); } }
public virtual void sortQueue(int oldVal) { JDFQueue queue = (JDFQueue)getParentNode_KElement(); queue.sortChildren(); }