Example #1
0
        ///
        ///	 <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);
            }
        }
Example #2
0
        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"));
        }
Example #3
0
        //
        //	 * (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);
            }
        }
Example #4
0
        public virtual void sortQueue(int oldVal)
        {
            JDFQueue queue = (JDFQueue)getParentNode_KElement();

            queue.sortChildren();
        }