Exemplo n.º 1
0
        public virtual void testAddPhaseTime()
        {
            JDFDoc        doc = new JDFDoc("JDF");
            JDFNode       n   = doc.getJDFRoot();
            JDFAuditPool  ap  = n.getCreateAuditPool();
            JDFProcessRun pr  = ap.addProcessRun(EnumNodeStatus.Completed, null, null);
            JDFPhaseTime  pt0 = null;

            for (int i = 0; i < 10; i++)
            {
                JDFPhaseTime pt = ap.addPhaseTime(EnumNodeStatus.InProgress, null, null);
                if (i == 0)
                {
                    pt0 = pt;
                }

                JDFDate start = new JDFDate();
                start.TimeInMillis = start.TimeInMillis + i * 1000 * 1000;
                pt.setStart(start);
                JDFDate end = new JDFDate();
                end.TimeInMillis = end.TimeInMillis + 100 * 1000 + i * 1000 * 1000;
                pt.setEnd(end);
                Assert.AreEqual(100, pt.getDuration().Duration, 1.0);

                pr.addPhase(pt);
                Assert.AreEqual((i + 1) * 100, pr.getDuration().Duration, 1.0);
                if (pt0 != null)
                {
                    Assert.AreEqual(pr.getStart(), pt0.getStart());
                }
                Assert.AreEqual(pr.getEnd(), pt.getEnd());
            }
        }
Exemplo n.º 2
0
        public virtual void testModulesUpdate()
        {
            JDFAuditPool ap = n.getCreateAuditPool();

            ap.appendXMLComment("JDF 1.3 compatible auditing of module phases with updates", null);
            JDFPhaseTime   pt    = ap.addPhaseTime(EnumNodeStatus.Setup, null, null);
            JDFPhaseTime   pt2   = ap.addPhaseTime(EnumNodeStatus.InProgress, null, null);
            JDFPhaseTime   pt3   = ap.addPhaseTime(EnumNodeStatus.InProgress, null, null);
            JDFDate        date  = new JDFDate();
            JDFModulePhase mpRIP = pt.appendModulePhase();

            mpRIP.setModuleType("Imaging");
            JDFModulePhase mpJob = pt.appendModulePhase();

            mpJob.setModuleType("Manual");
            mpJob.setStatus(EnumNodeStatus.InProgress);
            JDFModulePhase mpPrint = pt.appendModulePhase();

            mpPrint.setModuleType("Printing");

            mpRIP.setStatus(EnumNodeStatus.InProgress);
            pt.setStart(date);
            mpRIP.setStart(date);
            date.addOffset(0, 5, 0, 0);
            pt.setEnd(date);

            pt2.copyElement(mpRIP, null);
            pt2.copyElement(mpJob, null);
            pt2.copyElement(mpPrint, null);
            mpPrint.setStatus(EnumNodeStatus.InProgress);
            pt2.setStart(date);
            mpPrint.setStart(date);
            date.addOffset(0, 30, 0, 0);
            mpRIP.setEnd(date);

            date.addOffset(0, 70, 0, 0);
            pt2.setEnd(date);
            mpPrint.setEnd(date);
            pt3.copyElement(mpRIP, null);
            pt3.copyElement(mpJob, null);
            pt3.copyElement(mpPrint, null);

            doc.write2File(sm_dirTestDataTemp + "DigiPrintModuleUpdate.jdf", 2, false);
        }
Exemplo n.º 3
0
        public virtual void testModuleIDs()
        {
            JDFDoc       doc = new JDFDoc("JDF");
            JDFNode      n   = doc.getJDFRoot();
            JDFAuditPool ap  = n.getCreateAuditPool();
            JDFPhaseTime pt  = ap.addPhaseTime(EnumNodeStatus.InProgress, null, null);

            pt.setModules(new VString("m1 m2", " "), new VString("RIP Press", " "));
            Assert.AreEqual(2, pt.numChildElements(ElementName.MODULEPHASE, null));
            Assert.AreEqual("m1", pt.getModulePhase(0).getModuleID());
            Assert.AreEqual("m2", pt.getModulePhase(1).getModuleID());
            Assert.AreEqual("Press", pt.getModulePhase(1).getModuleType());
            // Assert.IsTrue(pt.isValid(EnumValidationLevel.Complete));
        }
Exemplo n.º 4
0
        public virtual void testGetDuration()
        {
            JDFDoc       doc = new JDFDoc("JDF");
            JDFNode      n   = doc.getJDFRoot();
            JDFAuditPool ap  = n.getCreateAuditPool();
            JDFPhaseTime pt  = ap.addPhaseTime(EnumNodeStatus.InProgress, null, null);

            pt.setStart(new JDFDate());
            JDFDate end = new JDFDate();

            end.TimeInMillis = end.TimeInMillis + 100 * 1000;
            pt.setEnd(end);
            Assert.AreEqual(100.0, pt.getDuration().Duration, 1.0);
        }
Exemplo n.º 5
0
        public virtual void testModules()
        {
            JDFAuditPool ap = n.getCreateAuditPool();

            ap.appendXMLComment("JDF 1.3 compatible auditing of module phases - note that modulephase start and end times are set outside of the phasetime start and end times", null);
            JDFPhaseTime   pt     = ap.addPhaseTime(EnumNodeStatus.Setup, null, null);
            JDFPhaseTime   pt2    = ap.addPhaseTime(EnumNodeStatus.InProgress, null, null);
            JDFDate        date   = new JDFDate();
            JDFModulePhase mpRIP  = pt.appendModulePhase();
            JDFModulePhase mpRIP2 = pt2.appendModulePhase();

            mpRIP.setStatus(EnumNodeStatus.InProgress);
            mpRIP2.setStatus(EnumNodeStatus.InProgress);
            mpRIP2.setDescriptiveName("This ModulePhase is actually the same as the initial ModulePhase in the setup PhaseTime");
            mpRIP.setModuleType("Imaging");
            mpRIP2.setModuleType("Imaging");
            pt.setStart(date);
            mpRIP.setStart(date);
            mpRIP2.setStart(date);
            date.addOffset(0, 5, 0, 0);
            pt.setEnd(date);

            JDFModulePhase mpPrint = pt2.appendModulePhase();

            mpPrint.setStatus(EnumNodeStatus.InProgress);
            pt2.setStart(date);
            mpPrint.setStart(date);
            date.addOffset(0, 30, 0, 0);
            mpRIP.setEnd(date);
            mpRIP2.setEnd(date);

            date.addOffset(0, 70, 0, 0);
            pt2.setEnd(date);
            mpPrint.setEnd(date);
            mpPrint.setModuleType("Printer");
            doc.write2File(sm_dirTestDataTemp + "DigiPrintModule1.jdf", 2, false);
        }
Exemplo n.º 6
0
        public virtual void testGetLink()
        {
            JDFDoc          doc = new JDFDoc("JDF");
            JDFNode         n   = doc.getJDFRoot();
            JDFResource     r   = n.addResource("www.foo", EnumResourceClass.Parameter, EnumUsage.Input, null, null, "www.www.com", null);
            JDFResourceLink rl  = n.getLink(r, null);
            VElement        vRL = new VElement();

            vRL.Add(rl);

            JDFAuditPool ap = n.getCreateAuditPool();
            JDFPhaseTime pt = ap.addPhaseTime(EnumNodeStatus.InProgress, null, null);

            pt.appendComment().setText("foo");
            pt.setLinks(vRL);
            pt.setStart(new JDFDate());
            Assert.AreEqual(rl.ToString(), pt.getLink(0).ToString());
        }
Exemplo n.º 7
0
        public virtual void testModules14()
        {
            VString v = new VString("orig fullList end", null);

            for (int i = 0; i < v.Count; i++)
            {
                reSetUp();
                string       testType = v.stringAt(i);
                JDFAuditPool ap       = n.getCreateAuditPool();
                ap.appendXMLComment("JDF 1.3 incompatible auditing of module phases the REQUIRED time attributes are not set in the ModulePhase elements\n" + "- note that phases may now arbitrarily overlap\n" + "The modulePhase elements now only specify which modules are involved, times are all defined by the phasetime proper", null);
                ap.appendXMLComment("The following phaseTime is executed by one module - the RIP,which executes two process steps (Interpreting and Rendering)", null);
                JDFPhaseTime ptRIP = ap.addPhaseTime(EnumNodeStatus.Setup, null, null);
                JDFDate      date  = new JDFDate();
                ptRIP.setStart(date);

                JDFDoc jmfDoc = new JDFDoc("JMF");
                JDFJMF jmf    = jmfDoc.getJMFRoot();
                jmf.setDescriptiveName("Initial phase when the RIP starts up");
                JDFSignal     signal = jmf.appendSignal(JDFMessage.EnumType.Status);
                JDFDeviceInfo di     = signal.appendDeviceInfo();

                JDFJobPhase jpRIP = di.appendJobPhase();
                di.setDeviceStatus(EnumDeviceStatus.Setup);
                jpRIP.setStartTime(date);
                jpRIP.setStatus(EnumNodeStatus.Setup);
                jpRIP.setJobID(n.getJobID(true));
                jpRIP.setJobPartID(n.getJobPartID(true));

                JDFModuleStatus msRIP = jpRIP.appendModuleStatus();
                msRIP.setCombinedProcessIndex(new JDFIntegerList("0 1"));
                msRIP.setModuleType("Imaging");
                msRIP.setModuleID("ID_Imaging");

                JDFModulePhase mpRIP = ptRIP.appendModulePhase();
                mpRIP.setCombinedProcessIndex(new JDFIntegerList("0 1"));
                mpRIP.setModuleType("Imaging");
                mpRIP.setModuleID("ID_Imaging");

                JDFModuleStatus msPrint = di.appendModuleStatus();
                msPrint.setCombinedProcessIndex(new JDFIntegerList("2"));
                msPrint.setModuleType("Printer");
                msPrint.setModuleID("ID_Printer");

                JDFModuleStatus msStitch = di.appendModuleStatus();
                msStitch.setCombinedProcessIndex(new JDFIntegerList("3"));
                msStitch.setModuleType("Stitcher");
                msStitch.setModuleID("ID_Stitcher");

                jmfDoc.write2File(sm_dirTestDataTemp + "moduleStatus" + testType + "0.jmf", 2, false);
                date.addOffset(0, 5, 0, 0);
                jmf.setTimeStamp(date);

                JDFJobPhase jpPrint = di.appendJobPhase();
                di.setDeviceStatus(EnumDeviceStatus.Running);
                jpPrint.setStatus(EnumNodeStatus.InProgress);
                jpPrint.setStartTime(date);
                jpPrint.setJobID(n.getJobID(true));
                jpPrint.setJobPartID(n.getJobPartID(true));

                msPrint = jpPrint.appendModuleStatus();
                msPrint.setCombinedProcessIndex(new JDFIntegerList("2"));
                msPrint.setModuleType("Printer");
                msPrint.setModuleID("ID_Printer");

                msStitch = jpPrint.appendModuleStatus();
                msStitch.setCombinedProcessIndex(new JDFIntegerList("3"));
                msStitch.setModuleType("Stitcher");
                msStitch.setModuleID("ID_Stitcher");

                di.removeChildren(ElementName.MODULESTATUS, null, null);
                jmf.setDescriptiveName("Phase when the Printer and Finisher start up; RIP is still RIPping");
                jmfDoc.write2File(sm_dirTestDataTemp + "moduleStatus" + testType + "1.jmf", 2, false);

                ap.appendXMLComment("The following phaseTime is executed by two modules - sticher and printer", null);
                JDFPhaseTime   ptPrint = ap.addPhaseTime(EnumNodeStatus.InProgress, null, null);
                JDFModulePhase mpPrint = ptPrint.appendModulePhase();
                mpPrint.setCombinedProcessIndex(new JDFIntegerList("2"));
                mpPrint.setModuleType("Printer");
                mpPrint.setModuleID("ID_Printer");
                ptPrint.setStart(date);

                JDFModulePhase mpStitch = ptPrint.appendModulePhase();
                mpStitch.setCombinedProcessIndex(new JDFIntegerList("3"));
                mpStitch.setModuleType("Stitcher");
                mpStitch.setModuleID("ID_Stitcher");
                date.addOffset(0, 30, 0, 0);
                ptRIP.setEnd(date);

                JDFDeviceInfo di2 = null;
                if (i < 2)
                {
                    JDFSignal signal2 = jmf.appendSignal(JDFMessage.EnumType.Status);
                    di2 = (JDFDeviceInfo)signal2.copyElement(di, null);
                    di2.removeChild(ElementName.JOBPHASE, null, 0);
                    if (i == 1)
                    {
                        JDFModuleStatus directMSRip = (JDFModuleStatus)di2.copyElement(msRIP, null);
                        directMSRip.setDeviceStatus(EnumDeviceStatus.Idle);
                    }
                }
                else
                {
                    jpRIP.setAttribute("EndTime", date.DateTimeISO);
                    jpRIP.setDescriptiveName("Added EndTime to explicitly close phase");
                }
                jmf.setTimeStamp(date);
                jmf.setDescriptiveName("Phase when the RIP has completed, Printer and Finisher are still RIPping");
                jmfDoc.write2File(sm_dirTestDataTemp + "moduleStatus" + testType + "2.jmf", 2, false);

                date.addOffset(0, 70, 0, 0);
                ptPrint.setEnd(date);
                jmf.setTimeStamp(date);

                if (i < 2)
                {
                    signal.deleteNode();
                    signal = jmf.appendSignal(JDFMessage.EnumType.Status);
                    di     = (JDFDeviceInfo)signal.copyElement(di2, null);
                    di.removeChild(ElementName.JOBPHASE, null, 0);
                    di.removeChild(ElementName.MODULESTATUS, null, 0);
                    di.setDeviceStatus(EnumDeviceStatus.Idle);
                    signal.appendXMLComment("Or should the complete list of modules also be specified here?", di);
                }
                else
                {
                    jpRIP.deleteNode();
                    jpPrint.setAttribute("EndTime", date.DateTimeISO);
                    jpPrint.setDescriptiveName("Added EndTime to explicitly close phase");
                }
                jmf.setDescriptiveName("Phase when the Printer and Finisher have completed");
                jmfDoc.write2File(sm_dirTestDataTemp + "moduleStatus" + testType + "3.jmf", 2, false);
                doc.write2File(sm_dirTestDataTemp + "DigiPrintModule.1.4" + testType + ".jdf", 2, false);
            }
        }
Exemplo n.º 8
0
        public virtual void testStatusEquals()
        {
            // test if the auto classes implement the correct status

            // compare EnumNodeStatus
            JDFAuditPool myAuditPool = null;

            JDFDoc jdfDoc = new JDFDoc(ElementName.JDF);

            JDFNode jdfRoot = (JDFNode)jdfDoc.getRoot();

            Assert.IsTrue(jdfRoot != null, "No Root found");
            if (jdfRoot == null)
            {
                return; // soothe findbugs ;)
            }
            JDFAncestor ancestor = jdfRoot.appendAncestorPool().appendAncestor();

            ancestor.setStatus(EnumNodeStatus.Completed);

            myAuditPool = jdfRoot.getCreateAuditPool();
            JDFPhaseTime phaseTime = myAuditPool.addPhaseTime(JDFElement.EnumNodeStatus.Completed, null, null);
            JDFSpawned   spawned   = myAuditPool.addSpawned(jdfRoot, null, null, null, null);

            spawned.setStatus(JDFElement.EnumNodeStatus.Completed);

            Assert.AreEqual(spawned.getStatus(), phaseTime.getStatus());
            Assert.AreEqual(spawned.getStatus(), ancestor.getStatus());

            JDFDoc jmfDoc = new JDFDoc(ElementName.JMF);

            JDFJMF jmfRoot = jmfDoc.getJMFRoot();

            Assert.IsTrue(jmfRoot != null, "No Root found");
            if (jmfRoot == null)
            {
                return; // soothe findbugs ;)
            }
            JDFAcknowledge acknowledge = jmfRoot.appendAcknowledge();

            acknowledge.setType("PipePush"); // Type is required and its existance
            // is validated for messages
            JDFJobPhase jobPhase = acknowledge.appendJobPhase();

            jobPhase.setStatus(EnumNodeStatus.Completed);

            JDFMessage message = jmfRoot.appendMessageElement(EnumFamily.Command, null);

            message.setType("PipePush"); // Type is required and its existance is
            // validated for messages
            JDFPipeParams pipeParams = message.appendPipeParams();

            pipeParams.setStatus(EnumNodeStatus.Completed);

            Assert.AreEqual(jobPhase.getStatus(), pipeParams.getStatus());
            Assert.AreEqual(spawned.getStatus(), pipeParams.getStatus());

            // compare EnumResStatus
            JDFDoc      responseDoc  = new JDFDoc(ElementName.RESPONSE);
            JDFResponse responseRoot = (JDFResponse)responseDoc.getRoot();

            Assert.IsTrue(responseRoot != null, "No Root found");
            if (responseRoot == null)
            {
                return; // soothe findbugs ;)
            }
            responseRoot.setType(ElementName.RESOURCE);
            JDFResourceInfo resInfo = responseRoot.appendResourceInfo();

            resInfo.setResStatus(EnumResStatus.Available);

            JDFDoc     commandDoc  = new JDFDoc(ElementName.COMMAND);
            JDFCommand commandRoot = (JDFCommand)commandDoc.getRoot();

            Assert.IsTrue(commandRoot != null, "No Root found");
            if (commandRoot == null)
            {
                return; // soothe findbugs ;)
            }
            commandRoot.setType(ElementName.RESOURCE);
            JDFResourceCmdParams resCmdParams = commandRoot.appendResourceCmdParams();

            resCmdParams.setResStatus(EnumResStatus.Available);

            Assert.AreEqual(resInfo.getStatus(), resCmdParams.getStatus());

            // check EnumQueueStatus
            JDFDoc   queueDoc  = new JDFDoc(ElementName.QUEUE);
            JDFQueue queueRoot = (JDFQueue)queueDoc.getRoot();

            Assert.IsTrue(queueRoot != null, "No Root found");
            if (queueRoot == null)
            {
                return; // soothe findbugs ;)
            }
            queueRoot.setQueueStatus(EnumQueueStatus.Running);

            // check EnumQueueEntryStatus
            JDFQueueEntry queueEntry = queueRoot.appendQueueEntry();

            queueEntry.setQueueEntryStatus(EnumQueueEntryStatus.Running);
        }