Example #1
0
        private JDFResourceCmdParams createResourceParams(string strJobPartID, string strResourceID, JDFAttributeMap amParts, JDFAttributeMap amAttr)
        {
            JDFJMF jmf = JDFJMF.createJMF(EnumFamily.Command, JDFMessage.EnumType.Resource);

            JDFCommand cmd = jmf.getCommand(0);

            JDFResourceCmdParams @params = cmd.appendResourceCmdParams();

            const string strJobID      = "RefJob-1";
            const string strPartIDKeys = "SignatureName SheetName Side";

            @params.setJobID(strJobID);
            @params.setJobPartID(strJobPartID);
            @params.setResourceID(strResourceID);
            @params.setResourceName("NodeInfo");
            @params.setUpdateMethod(EnumUpdateMethod.Incremental);

            @params.setPartMap(amParts);

            JDFResource nodeInfo = @params.appendResource("NodeInfo");

            JDFResource resLeaf = nodeInfo.getCreatePartition(amParts, new VString(strPartIDKeys, null));

            resLeaf.setAttributes(amAttr);

            return(@params);
        }
Example #2
0
        public virtual void testGetMessageElement()
        {
            JDFDoc     d   = new JDFDoc("JMF");
            JDFJMF     jmf = d.getJMFRoot();
            JDFCommand c   = (JDFCommand)jmf.appendMessageElement(EnumFamily.Command, EnumType.Events);

            Assert.AreEqual(c, jmf.getMessageElement(EnumFamily.Command, EnumType.Events, 0));
            jmf.appendComment();

            JDFSignal s = (JDFSignal)jmf.appendMessageElement(EnumFamily.Signal, EnumType.Events);

            Assert.AreEqual(s, jmf.getMessageElement(EnumFamily.Signal, EnumType.Events, 0));
            Assert.AreEqual(s, jmf.getMessageElement(null, EnumType.Events, 1));
            Assert.AreEqual(s, jmf.getMessageElement(null, null, 1));

            JDFSignal s2 = (JDFSignal)jmf.appendMessageElement(EnumFamily.Signal, EnumType.Status);

            Assert.AreEqual(s2, jmf.getMessageElement(EnumFamily.Signal, EnumType.Status, 0));
            Assert.AreEqual(s2, jmf.getMessageElement(EnumFamily.Signal, null, 1));
            Assert.AreEqual(s2, jmf.getMessageElement(null, null, 2));
            Assert.AreEqual(s2, jmf.getMessageElement(null, null, -1));
            Assert.AreEqual(s, jmf.getMessageElement(null, null, -2));
            Assert.AreEqual(c, jmf.getMessageElement(null, null, -3));
            Assert.IsNull(jmf.getMessageElement(null, null, -4));
        }
Example #3
0
        public virtual void testGetResource()
        {
            JDFDoc          doc = new JDFDoc(ElementName.JMF);
            JDFJMF          jmf = doc.getJMFRoot();
            JDFCommand      c   = jmf.appendCommand(EnumType.PipePull);
            JDFPipeParams   pp  = c.appendPipeParams();
            JDFExposedMedia xm  = (JDFExposedMedia)pp.appendResource(ElementName.EXPOSEDMEDIA);

            Assert.AreEqual(EnumResourceClass.Handling, xm.getResourceClass());
            JDFMedia m = (JDFMedia)pp.appendResource(ElementName.MEDIA);

            Assert.AreEqual(EnumResourceClass.Consumable, m.getResourceClass());
            JDFRefElement rm = xm.refElement(m);

            Assert.AreEqual(m, rm.getTarget());
            Assert.AreEqual(xm, pp.getResource(ElementName.EXPOSEDMEDIA));
            Assert.AreEqual(xm, pp.getResource(null));
            Assert.AreEqual(m, pp.getResource(ElementName.MEDIA));
            try
            {
                Assert.IsNull(pp.getResource("MediaLink"));
                Assert.Fail();
            }
            catch (JDFException)
            {
                // nop
            }

            JDFResourceLink rl = pp.appendResourceLink(ElementName.EXPOSEDMEDIA, true);

            rl.setrRef(xm.getID());
            Assert.AreEqual(xm, pp.getResource(null));
            Assert.AreEqual(rl.getTarget(), pp.getResource(null));
        }
Example #4
0
        public virtual void testSenderID()
        {
            JDFDoc     doc     = new JDFDoc(ElementName.JMF);
            JDFJMF     jmf     = doc.getJMFRoot();
            JDFCommand command = (JDFCommand)jmf.appendMessageElement(EnumFamily.Command,EnumType.UpdateJDF);

            Assert.AreEqual(command.getSenderID(),jmf.getSenderID());
            command.setSenderID("foo:bar");
            Assert.AreEqual("foo:bar",command.getSenderID());
        }
Example #5
0
        public virtual void testTheSenderID()
        {
            JDFJMF.setTheSenderID("sid");
            JDFDoc     doc = new JDFDoc(ElementName.JMF);
            JDFJMF     jmf = doc.getJMFRoot();
            JDFCommand c   = jmf.appendCommand();

            Assert.IsTrue(c.getID().IndexOf(".sid.") != -1);
            JDFJMF.setTheSenderID(null);
        }
Example #6
0
        public virtual void testInitMaxVersion()
        {
            JDFElement.setDefaultJDFVersion(EnumVersion.Version_1_2);
            JDFDoc doc = new JDFDoc(ElementName.JMF);
            JDFJMF jmf = doc.getJMFRoot();

            Assert.AreEqual(jmf.getMaxVersion(), jmf.getVersion(false));
            JDFCommand c = jmf.appendCommand();

            Assert.AreEqual(jmf.getMaxVersion(), c.getMaxVersion(true));
        }
Example #7
0
        public virtual void testInit()
        {
            JDFDoc doc = new JDFDoc(ElementName.JMF);
            JDFJMF jmf = doc.getJMFRoot();

            jmf.setSenderID("sid");
            JDFCommand c = jmf.appendCommand();

            Assert.IsTrue(c.getID().IndexOf(".sid.") != -1);
            Assert.IsTrue(jmf.ToString().IndexOf("xsi:type=") > 0);
            Assert.AreEqual(jmf.getMaxVersion(), jmf.getVersion(false));
            Assert.AreEqual(jmf.getMaxVersion(), c.getMaxVersion(true));
        }
Example #8
0
        public virtual void testReturnQueueEntry()
        {
            JDFDoc     doc = new JDFDoc(ElementName.JMF);
            JDFJMF     jmf = doc.getJMFRoot();
            JDFCommand c   = (JDFCommand)jmf.appendMessageElement(EnumFamily.Command, null);

            c.setType("ReturnQueueEntry");
            JDFReturnQueueEntryParams rqe = c.appendReturnQueueEntryParams();

            rqe.setURL("http://foo.jdf");
            rqe.setQueueEntryID("dummyID");
            Assert.IsTrue(rqe.isValid(EnumValidationLevel.Complete), "JDFReturnQueueEntryParams");
        }
Example #9
0
        public virtual void testGetMessageVector()
        {
            JDFDoc     doc     = new JDFDoc(ElementName.JMF);
            JDFJMF     jmf     = doc.getJMFRoot();
            JDFCommand command = (JDFCommand)jmf.appendMessageElement(EnumFamily.Command, EnumType.Status);

            Assert.AreEqual(command, jmf.getMessageVector(null, EnumType.Status)[0]);
            Assert.AreEqual(1, jmf.getMessageVector(null, EnumType.Status).Count);
            JDFSignal signal = (JDFSignal)jmf.appendMessageElement(EnumFamily.Signal, EnumType.Status);

            Assert.AreEqual(command, jmf.getMessageVector(null, EnumType.Status)[0]);
            Assert.AreEqual(signal, jmf.getMessageVector(null, EnumType.Status)[1]);
            Assert.AreEqual(2, jmf.getMessageVector(null, EnumType.Status).Count);
        }
Example #10
0
        public virtual void testApplyResourceCmdNodeInfo()
        {
            JDFDoc doc = new JDFDoc(ElementName.JMF);
            JDFJMF jmf = doc.getJMFRoot();

            JDFCommand c = jmf.appendCommand();

            jmf.setSenderID("DeviceSenderID");

            c.setType(EnumType.Resource);
            JDFResourceCmdParams rqp = c.appendResourceCmdParams();

            rqp.setJobID("JobID");
            rqp.setJobPartID("JobPartID");
            rqp.setResourceName(ElementName.NODEINFO);
            rqp.setUsage(EnumUsage.Input);
            JDFNodeInfo niRQP = (JDFNodeInfo)rqp.appendElement(ElementName.NODEINFO);

            JDFAttributeMap sheetMap = new JDFAttributeMap("SheetName", "S1");

            rqp.setPartMap(sheetMap);
            JDFNodeInfo niRQPS1 = (JDFNodeInfo)niRQP.getCreatePartition(sheetMap, null);

            niRQPS1.setNodeStatus(EnumNodeStatus.Aborted);
            JDFDoc  docJDF = new JDFDoc(ElementName.JDF);
            JDFNode jdf    = docJDF.getJDFRoot();

            jdf.setType(org.cip4.jdflib.node.JDFNode.EnumType.ConventionalPrinting);
            jdf.setStatus(EnumNodeStatus.Waiting);
            jdf.setJobID("JobID");
            jdf.setJobPartID("JobPartID");

            Assert.AreEqual(EnumNodeStatus.Waiting, jdf.getPartStatus(null));
            Assert.AreEqual(EnumNodeStatus.Waiting, jdf.getStatus());
            rqp.applyResourceCommand(jdf);
            Assert.AreEqual(EnumNodeStatus.Part, jdf.getStatus());
            Assert.AreEqual(EnumNodeStatus.Waiting, jdf.getNodeInfo().getNodeStatus());
            Assert.AreEqual(EnumNodeStatus.Aborted, jdf.getPartStatus(sheetMap));

            sheetMap = new JDFAttributeMap("SheetName", "S2");
            rqp.setPartMap(sheetMap);
            niRQPS1.setAttributes(sheetMap);
            niRQPS1.setNodeStatus(EnumNodeStatus.Completed);

            rqp.applyResourceCommand(jdf);
            Assert.AreEqual(EnumNodeStatus.Part, jdf.getStatus());
            Assert.AreEqual(EnumNodeStatus.Waiting, jdf.getNodeInfo().getNodeStatus());
            Assert.AreEqual(EnumNodeStatus.Completed, jdf.getPartStatus(sheetMap));
        }
Example #11
0
        public virtual void testgetSubmissionParams()
        {
            JDFDoc doc = new JDFDoc(ElementName.JMF);
            JDFJMF jmf = doc.getJMFRoot();

            Assert.IsNull(jmf.getSubmissionURL());
            JDFCommand c = jmf.appendCommand(EnumType.ResubmitQueueEntry);

            Assert.IsNull(jmf.getSubmissionURL());
            JDFResubmissionParams rsp = c.appendResubmissionParams();

            Assert.IsNull(jmf.getSubmissionURL());
            rsp.setURL("url");
            Assert.AreEqual("url", jmf.getSubmissionURL());
        }
Example #12
0
        ///
        ///	 <summary> * add a queueentry to a queue based on the parameters of this you can get the new queueentry by {@link}
        ///	 * getQueueEntry(0) on the response
        ///	 *  </summary>
        ///	 * <param name="theQueue"> the queue to submit to, note that the queue IS modified by this call </param>
        ///	 * <param name="responseIn"> the jmf that serves as a container for the new response
        ///	 *  </param>
        ///	 * <returns> the response jmf to the submission message </returns>
        ///
        public virtual JDFResponse addEntry(JDFQueue theQueue, JDFJMF responseIn)
        {
            JDFCommand  command = (JDFCommand)getParentNode_KElement();
            JDFJMF      jmf     = command.createResponse();
            JDFResponse resp    = jmf.getResponse(0);

            if (responseIn != null)
            {
                resp = (JDFResponse)responseIn.copyElement(resp, null);
            }
            if (theQueue == null)
            {
                resp.setErrorText("No Queue specified");
                resp.setReturnCode(2);
                return(resp);
            }

            if (!theQueue.canAccept())
            {
                resp.setReturnCode(112);
                resp.copyElement(theQueue, null);
                return(resp);
            }
            JDFQueueEntry qe = theQueue.createQueueEntry(getHold());

            string[] copyAtts = new string[] { AttributeName.GANGNAME, AttributeName.GANGPOLICY };

            for (int i = 0; i < copyAtts.Length; i++)
            {
                if (hasAttribute(copyAtts[i]))
                {
                    qe.copyAttribute(copyAtts[i], this, null, null, null);
                }
            }

            // TODO more attributes e.g prev. next...
            if (hasAttribute(AttributeName.PRIORITY))
            {
                qe.setPriority(getPriority()); // calls the automated function,
            }
            // therfore not in the list above

            resp.copyElement(theQueue, null);
            resp.copyElement(qe, null);

            return(resp);
        }
Example #13
0
        public virtual void testResourceCommandPartIDKeys()
        {
            JDFDoc jdfDoc    = JDFDoc.parseFile(sm_dirTestData + "ResourceCmd.jdf");
            JDFDoc jdfDocJMF = JDFDoc.parseFile(sm_dirTestData + "ResourceCmd.jmf");
            JDFJMF jmf       = jdfDocJMF.getJMFRoot();

            for (int i = 0; true; i++)
            {
                JDFCommand cmd = (JDFCommand)jmf.getMessageElement(JDFMessage.EnumFamily.Command, JDFMessage.EnumType.Resource, i);
                if (cmd == null)
                {
                    break;
                }
                JDFResourceCmdParams @params = cmd.getResourceCmdParams(0);
                @params.applyResourceCommand(jdfDoc.getJDFRoot());
            }
        }
Example #14
0
        public virtual void testCreateResponse()
        {
            JDFDoc     doc     = new JDFDoc(ElementName.JMF);
            JDFJMF     jmf     = doc.getJMFRoot();
            JDFCommand command = (JDFCommand)jmf.appendMessageElement(EnumFamily.Command,EnumType.UpdateJDF);

            Assert.AreEqual("CommandUpdateJDF",command.getXSIType());
            command.setType("foo:bar");
            Assert.IsNull(command.getXSIType());
            Assert.AreEqual("foo:bar",command.getType());
            JDFJMF      resp     = command.createResponse();
            JDFResponse response = resp.getResponse(0);

            Assert.AreEqual(resp.getMessageElement(null,null,0),response);
            Assert.AreEqual("foo:bar",response.getType());
            Assert.AreEqual(command.getID(),response.getrefID());
        }
Example #15
0
        ///
        ///	 <summary> * get the @URL of this message if it is either a submitQueueEntry, a returnQueuentry or a resubmitqueueentry
        ///	 *
        ///	 * @return </summary>
        ///
        public virtual string getSubmissionURL()
        {
            JDFCommand cSubmit = (JDFCommand)getMessageElement(EnumFamily.Command, EnumType.SubmitQueueEntry, 0);

            if (cSubmit != null)
            {
                JDFQueueSubmissionParams qsp = cSubmit.getQueueSubmissionParams(0);
                return(qsp == null ? null : isWildCard(qsp.getURL()) ? null : qsp.getURL());
            }
            cSubmit = (JDFCommand)getMessageElement(EnumFamily.Command, EnumType.ResubmitQueueEntry, 0);
            if (cSubmit != null)
            {
                JDFResubmissionParams rsp = cSubmit.getResubmissionParams(0);
                return(rsp == null ? null : isWildCard(rsp.getURL()) ? null : rsp.getURL());
            }
            cSubmit = (JDFCommand)getMessageElement(EnumFamily.Command, EnumType.ReturnQueueEntry, 0);
            if (cSubmit != null)
            {
                JDFReturnQueueEntryParams rsp = cSubmit.getReturnQueueEntryParams(0);
                return(rsp == null ? null : isWildCard(rsp.getURL()) ? null : rsp.getURL());
            }
            return(null);
        }
Example #16
0
        public virtual void testUpdateJDF()
        {
            JDFDoc                doc     = new JDFDoc(ElementName.JMF);
            JDFJMF                jmf     = doc.getJMFRoot();
            JDFCommand            command = (JDFCommand)jmf.appendMessageElement(EnumFamily.Command,EnumType.UpdateJDF);
            JDFUpdateJDFCmdParams ujn     = command.appendUpdateJDFCmdParams();

            Assert.IsNotNull(ujn);
            JDFUpdateJDFCmdParams ujn2 = command.getUpdateJDFCmdParams();

            Assert.AreEqual(ujn,ujn2);
            ujn2 = command.getCreateUpdateJDFCmdParams();
            Assert.AreEqual(ujn,ujn2);
            try
            {
                command.appendUpdateJDFCmdParams();
                Assert.Fail("oops");
            }
            catch (JDFException)
            {
                // nop
            }
        }
        public virtual void testGetMimeURL()
        {
            JDFDoc d1 = new JDFDoc("JMF");

            d1.setOriginalFileName("JMF.jmf");
            JDFJMF     jmf = d1.getJMFRoot();
            JDFCommand com = (JDFCommand)jmf.appendMessageElement(JDFMessage.EnumFamily.Command, JDFMessage.EnumType.SubmitQueueEntry);

            com.appendQueueSubmissionParams().setURL("cid:TheJDF");

            JDFDoc doc = new JDFDoc("JDF");

            doc.setOriginalFileName("JDF.jdf");
            JDFNode n = doc.getJDFRoot();

            n.setType(JDFNode.EnumType.ColorSpaceConversion);
            JDFColorSpaceConversionParams cscp = (JDFColorSpaceConversionParams)n.addResource(ElementName.COLORSPACECONVERSIONPARAMS, null, EnumUsage.Input, null, null, null, null);
            JDFFileSpec fs0 = cscp.appendFinalTargetDevice();

            fs0.setURL(StringUtil.uncToUrl(sm_dirTestData + "test.icc", true));
            JDFRunList rl = (JDFRunList)n.addResource(ElementName.RUNLIST, null, EnumUsage.Input, null, null, null, null);

            rl.addPDF(StringUtil.uncToUrl(sm_dirTestData + "url1.pdf", false), 0, -1);
            System.Net.Mail.AttachmentCollection m = MimeUtil.buildMimePackage(d1, doc, true);

            JDFDoc[] d2 = MimeUtil.GetJMFSubmission(m);
            Assert.IsNotNull(d2);
            JDFQueueSubmissionParams queueSubmissionParams = d2[0].getJMFRoot().getCommand(0).getQueueSubmissionParams(0);

            Assert.AreEqual("cid:JDF.jdf", queueSubmissionParams.getURL());
            Assert.AreEqual(JDFNode.EnumType.ColorSpaceConversion, d2[1].getJDFRoot().getEnumType());
            JDFDoc d3 = queueSubmissionParams.getURLDoc();

            Assert.IsNotNull(d3);
            Assert.AreEqual(JDFNode.EnumType.ColorSpaceConversion, d3.getJDFRoot().getEnumType());
        }
Example #18
0
        public virtual void testApplyResourceCmd()
        {
            JDFDoc doc = new JDFDoc(ElementName.JMF);
            JDFJMF jmf = doc.getJMFRoot();

            JDFCommand c = jmf.appendCommand();

            jmf.setSenderID("DeviceSenderID");

            c.setType(EnumType.Resource);
            JDFResourceCmdParams rqp = c.appendResourceCmdParams();

            rqp.setJobID("JobID");
            rqp.setJobPartID("JobPartID");
            rqp.setResourceName("Media");
            JDFMedia mediaRQP = (JDFMedia)rqp.appendElement("Media");

            mediaRQP.setDimension(new JDFXYPair(20, 30));

            JDFDoc  docJDF = new JDFDoc(ElementName.JDF);
            JDFNode jdf    = docJDF.getJDFRoot();

            jdf.setType(org.cip4.jdflib.node.JDFNode.EnumType.ConventionalPrinting);
            JDFMedia mediaJDF = (JDFMedia)jdf.addResource("Media", null, EnumUsage.Input, null, null, null, null);

            mediaJDF.setDimension(new JDFXYPair(40, 60));
            rqp.setJobID(jdf.getJobID(true));
            rqp.setJobPartID(jdf.getJobPartID(true));

            rqp.applyResourceCommand(jdf);
            JDFMedia m2 = (JDFMedia)jdf.getMatchingResource("Media", EnumProcessUsage.AnyInput, null, 0);

            Assert.AreEqual(new JDFXYPair(20, 30), m2.getDimension());

            JDFAttributeMap sheetMap = new JDFAttributeMap("SheetName", "S1");

            rqp.setPartMap(sheetMap);
            mediaRQP.setDimension(new JDFXYPair(200, 300));

            JDFMedia m2Sheet = (JDFMedia)m2.addPartition(EnumPartIDKey.SheetName, "S1");

            rqp.applyResourceCommand(jdf);
            Assert.AreEqual(new JDFXYPair(20, 30), m2.getDimension(), "retained root dimension");
            Assert.AreEqual(new JDFXYPair(200, 300), m2Sheet.getDimension(), "overwrote leaf root dimension");

            sheetMap.put(EnumPartIDKey.SheetName, "S2");
            rqp.setPartMap(sheetMap);
            mediaRQP.setDimension(new JDFXYPair(300, 400));

            rqp.applyResourceCommand(jdf);
            JDFMedia m2Sheet2 = (JDFMedia)m2.getPartition(sheetMap, null);

            Assert.IsNotNull(m2Sheet2);
            Assert.AreEqual(new JDFXYPair(20, 30), m2.getDimension(), "retained root dimension");
            Assert.AreEqual(new JDFXYPair(300, 400), m2Sheet2.getDimension(), "overwrote leaf root dimension");

            JDFMedia mPartRQP = (JDFMedia)mediaRQP.addPartition(EnumPartIDKey.SheetName, "S3");

            sheetMap.put(EnumPartIDKey.SheetName, "S3");
            rqp.setPartMap(sheetMap);
            mPartRQP.setDimension(new JDFXYPair(400, 600));

            rqp.applyResourceCommand(jdf);
            JDFMedia m2Sheet3 = (JDFMedia)m2.getPartition(sheetMap, null);

            Assert.AreEqual(new JDFXYPair(20, 30), m2.getDimension(), "retained root dimension");
            Assert.AreEqual(new JDFXYPair(400, 600), m2Sheet3.getDimension(), "overwrote leaf root dimension");
            Assert.IsFalse(m2Sheet3.hasAttribute_KElement("ID", null, false));

            mPartRQP.setAttribute(AttributeName.DIMENSION, "");
            mediaRQP.removeAttribute(AttributeName.DIMENSION);
            rqp.applyResourceCommand(jdf);
            JDFMedia m2Sheet4 = (JDFMedia)m2.getPartition(sheetMap, null);

            Assert.AreEqual(new JDFXYPair(20, 30), m2.getDimension(), "retained root dimension");
            Assert.IsFalse(m2Sheet4.hasAttribute_KElement(AttributeName.DIMENSION, null, false), "removed leaf dimension");
        }