Example #1
0
        public virtual void testSetPriority()
        {
            JDFQueueEntry qe = q.getQueueEntry("qe2");

            Assert.AreEqual(1, q.getQueueEntryPos("qe2"));
            q.setAutomated(true);
            int l = q.numEntries(null);

            qe.setPriority(99);
            Assert.AreEqual(l, q.numEntries(null));
            Assert.AreEqual(1, q.getQueueEntryPos("qe2"));

            qe.setPriority(0);
            Assert.AreEqual(l, q.numEntries(null));
            Assert.AreEqual(2, q.getQueueEntryPos("qe2"));
            q.removeChildren(ElementName.QUEUEENTRY, null, null);
            for (int i = 0; i < 1000; i++)
            {
                qe = q.appendQueueEntry();
                qe.setQueueEntryID("q" + i);
                qe.setPriority((i * 7) % 100);
                qe.setQueueEntryStatus((i % 3 != 0) ? EnumQueueEntryStatus.Waiting : EnumQueueEntryStatus.Running);
            }
            JDFQueueEntry qeLast = null;

            for (int i = 0; i < 1000; i++)
            {
                qe = q.getQueueEntry(i);
                Assert.IsTrue(qe.CompareTo(qeLast) >= 0, "queue is sorted: " + i);
                qeLast = qe;
            }
        }
Example #2
0
        public virtual void testGetQueueEntryMap()
        {
            Dictionary <string, JDFQueueEntry> map = (Dictionary <string, JDFQueueEntry>)q.getQueueEntryIDMap();

            Assert.AreEqual(map.Count, q.numEntries(null));
            Assert.AreEqual(map["qe2"], q.getQueueEntry("qe2"));
        }
Example #3
0
        public virtual void testMatch()
        {
            for (int i = 0; i < 100; i++)
            {
                JDFQueueEntry qe = theQueue.appendQueueEntry();
                qe.setQueueEntryID("q" + i);
            }

            filter.setMaxEntries(10);
            filter.match(theQueue);
            Assert.AreEqual(10, theQueue.numEntries(null));
            filter.setQueueEntryDetails(EnumQueueEntryDetails.None);
            filter.match(theQueue);
            Assert.AreEqual(0, theQueue.numEntries(null));
        }
Example #4
0
        public virtual void testCopyToResponse()
        {
            JDFResponse    r  = JDFJMF.createJMF(JDFMessage.EnumFamily.Response, EnumType.AbortQueueEntry).getResponse(0);
            JDFQueueFilter qf = (JDFQueueFilter) new JDFDoc(ElementName.QUEUEFILTER).getRoot();

            qf.setMaxEntries(3);
            JDFQueue q2 = q.copyToResponse(r, qf);

            Assert.AreEqual(r.getQueue(0), q2);
            Assert.AreEqual(3, q2.numEntries(null));
            Assert.AreNotEqual(q, q2);
            Assert.IsTrue(q.numEntries(null) > 3);
            q2 = q.copyToResponse(r, qf);
            Assert.AreEqual(r.getQueue(0), q2);
            Assert.IsNull(r.getElement("Queue", null, 1));
            Assert.AreEqual(3, q2.numEntries(null));
            Assert.AreNotEqual(q, q2);
            Assert.IsTrue(q.numEntries(null) > 3);
        }
        public virtual void testAddEntry()
        {
            JDFResponse resp = qsp.addEntry(theQueue, null);

            Assert.AreEqual(0, resp.getReturnCode());
            theQueue = resp.getQueue(0);
            Assert.AreEqual(theQueue.getQueueEntry(0).getQueueEntryStatus(), resp.getQueueEntry(0).getQueueEntryStatus());
            Assert.AreEqual(theQueue.getQueueEntry(0).getQueueEntryID(), resp.getQueueEntry(0).getQueueEntryID());
            Assert.AreNotEqual("", theQueue.getQueueEntry(0).getQueueEntryID());
            Assert.AreEqual(1, theQueue.numEntries(null));
            Assert.AreEqual(1, theQueue.numEntries(EnumQueueEntryStatus.Waiting));
            qsp.setHold(true);
            JDFJMF jmfNew = new JDFDoc("JMF").getJMFRoot();

            resp = qsp.addEntry(theQueue, jmfNew);
            Assert.AreEqual(jmfNew.getResponse(0), resp);
            Assert.AreEqual(2, theQueue.numEntries(null));
            Assert.AreEqual(1, theQueue.numEntries(EnumQueueEntryStatus.Waiting));
            Assert.AreEqual(1, theQueue.numEntries(EnumQueueEntryStatus.Held));
            Assert.AreNotEqual(theQueue.getQueueEntry(0).getQueueEntryID(), theQueue.getQueueEntry(1).getQueueEntryID());
        }
Example #6
0
        ///
        ///	 <summary> * modifies queue to match this filter by removing all non-matching entries
        ///	 *
        ///	 * make sure that this is a copy of any original queue as the incoming queue itself is not cloned
        ///	 *  </summary>
        ///	 * <param name="theQueue"> the queue to modify </param>
        ///
        public virtual void match(JDFQueue theQueue)
        {
            int maxEntries = hasAttribute(AttributeName.MAXENTRIES) ? getMaxEntries() : 999999;

            VElement v = theQueue.getQueueEntryVector();

            if (v != null)
            {
                int size = v.Count;
                theQueue.setQueueSize(size);

                for (int i = 0; i < size; i++)
                {
                    JDFQueueEntry qe = (JDFQueueEntry)v[i];
                    match(qe);
                }
            }

            for (int i = theQueue.numEntries(null) - 1; i >= maxEntries; i--)
            {
                theQueue.removeChild(ElementName.QUEUEENTRY, null, maxEntries);
            }
            // always zapp first - it is faster to find
        }