コード例 #1
0
ファイル: MimeUtilTest.cs プロジェクト: cip4/JDFLibNet
        public virtual void testBuildMimePackageDoc()
        {
            for (int i = 0; i < 2; i++)
            {
                JDFDoc doc = new JDFDoc("JDF");
                if (i == 1)
                {
                    doc.setOriginalFileName("JDF.jdf");
                }
                JDFNode n = doc.getJDFRoot();
                n.setType(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);
                rl.addPDF(StringUtil.uncToUrl(sm_dirTestData + "url1.pdf", false), 0, -1);
                rl.addPDF(StringUtil.uncToUrl(sm_dirTestData + "url2.pdf", false), 0, -1);
                AttachmentCollection m = MimeUtil.buildMimePackage(null, doc, true);

                string mimeFile = sm_dirTestDataTemp + "testMimePackageDoc" + (i == 0 ? "0" : "") + ".mjm";
                MimeUtil.writeToFile(m, mimeFile, null);

                AttachmentCollection mp = MimeUtil.GetMultiPart(mimeFile);
                Assert.AreEqual(4, mp.Count, "JDF, 2* rl, 1 icc");
            }
        }
コード例 #2
0
        public virtual void testLinkResource()
        {
            JDFDoc      d = new JDFDoc("JDF");
            JDFNode     n = d.getJDFRoot();
            JDFResource r = n.addResource("Component", null, null, null, null, null, null);

            Assert.IsTrue(r is JDFComponent);
            Assert.IsFalse(n.hasChildElement("ResourceLinkPool", null));
            JDFResourceLinkPool rlp = n.getCreateResourceLinkPool();

            JDFResourceLink rl = rlp.linkResource(r, EnumUsage.Input, EnumProcessUsage.BookBlock);

            Assert.IsNotNull(rl);
            Assert.AreEqual(EnumProcessUsage.BookBlock, rl.getEnumProcessUsage());
            Assert.AreEqual(EnumUsage.Input, rl.getUsage());
            rl = rlp.linkResource(r, EnumUsage.Input, EnumProcessUsage.BookBlock);
            Assert.IsNotNull(rl, "no two");

            rl = rlp.linkResource(r, EnumUsage.Input, EnumProcessUsage.Cover);
            Assert.IsNotNull(rl);
            Assert.AreEqual(EnumProcessUsage.Cover, rl.getEnumProcessUsage());
            Assert.AreEqual(EnumUsage.Input, rl.getUsage());

            rl = rlp.linkResource(r, EnumUsage.Output, EnumProcessUsage.Cover);
            Assert.IsNotNull(rl);
            Assert.AreEqual(EnumProcessUsage.Cover, rl.getEnumProcessUsage());
            Assert.AreEqual(EnumUsage.Output, rl.getUsage());

            JDFResource r2 = n.addResource("foo:bar", EnumResourceClass.Parameter, null, null, null, "www.foo.com", null);

            rl = rlp.linkResource(r2, EnumUsage.Input, null);
            Assert.IsNotNull(rl);
            Assert.AreEqual(EnumUsage.Input, rl.getUsage());
        }
コード例 #3
0
ファイル: MimeUtilTest.cs プロジェクト: cip4/JDFLibNet
        public virtual void testBuildMimePackageDocJMF()
        {
            JDFDoc docJMF = new JDFDoc("JMF");

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

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

            JDFDoc doc = new JDFDoc("JDF");

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

            n.setType(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);
            for (int i = 0; i < 100; i++)
            {
                rl.addPDF(StringUtil.uncToUrl(sm_dirTestData + "url?.pdf", false), 0, -1);
            }
            AttachmentCollection m = MimeUtil.buildMimePackage(docJMF, doc, true);

            MimeUtil.writeToFile(m, sm_dirTestDataTemp + "testMimePackageDoc.mjm", null);
        }
コード例 #4
0
        public virtual void testObjectTagsMetadata()
        {
            KElement tagMap = rl.appendElement(METADATA_MAP);

            tagMap.setXMLComment("This tagmap specifies The path for the NMTOKEN \"ObjectTag\"");
            tagMap.setAttribute("Name", "ObjectTags");
            tagMap.setAttribute(AttributeName.VALUEFORMAT, "%s");
            tagMap.setAttribute(AttributeName.CONTEXT, "Object");
            tagMap.setAttribute(AttributeName.DATATYPE, "NMTOKEN");
            tagMap.setAttribute(AttributeName.VALUETEMPLATE, "AnyName1");
            tagMap.addNameSpace("TIFFXMP", "http://ns.adobe.com/tiff/1.0");
            string[] ss = new string[] { "Acme", "Bcme", "Ccme" };
            for (int i = 0; i < ss.Length; i++)
            {
                string   s      = ss[i];
                KElement tagSet = tagMap.appendElement(EXPR);
                tagSet.setAttribute("Name", "AnyName1");
                tagSet.setAttribute("Value", s);

                JDFStringEvaluation eval = (JDFStringEvaluation)tagSet.appendElement(ElementName.STRINGEVALUATION);
                eval.setAttribute("Path", "TIFFXMP:Make");
                eval.setRegExp("(.*)" + s + "(.*)");
                eval.setXMLComment("Any acme camera is mapped to \"" + s + "\"");
            }
            JDFColorSpaceConversionParams csp = (JDFColorSpaceConversionParams)root.addResource(ElementName.COLORSPACECONVERSIONPARAMS, EnumUsage.Input);

            csp.setXMLComment("This ColorSpaceConversionParams treats Acme and Bcme cameras the same but differentiates for Ccme");
            JDFColorSpaceConversionOp op1 = csp.appendColorSpaceConversionOp();

            op1.setAttribute("ObjectTags", "Acme Bcme");
            JDFColorSpaceConversionOp op2 = csp.appendColorSpaceConversionOp();

            op2.setAttribute("ObjectTags", "Ccme");
            doc.write2File(sm_dirTestDataTemp + "objectTags.jdf", 2, false);
        }
コード例 #5
0
ファイル: JDFResourcePoolTest.cs プロジェクト: cip4/JDFLibNet
        public virtual void testgetUnlinkedResources()
        {
            JDFDoc          d  = new JDFDoc("JDF");
            JDFNode         n  = d.getJDFRoot();
            JDFResource     r  = n.addResource("Component", null, null, null, null, null, null);
            JDFResourcePool rp = n.getResourcePool();

            Assert.IsTrue(r is JDFComponent);
            Assert.IsFalse(n.hasChildElement("ResourceLinkPool", null));
            JDFResourceLinkPool rlp = n.getCreateResourceLinkPool();

            Assert.AreEqual(r, rp.getUnlinkedResources()[0]);

            JDFResourceLink rl = rlp.linkResource(r, EnumUsage.Input, EnumProcessUsage.BookBlock);

            Assert.IsNotNull(rl);
            Assert.IsNull(rp.getUnlinkedResources());
            JDFResource rx = n.addResource("ExposedMedia", null, null, null, null, null, null);

            Assert.AreEqual(rx, rp.getUnlinkedResources()[0]);

            n.setVersion(EnumVersion.Version_1_2);
            JDFCustomerInfo ci = n.appendCustomerInfo();
            JDFContact      co = ci.appendContact();

            co = (JDFContact)co.makeRootResource(null, null, true);
            Assert.AreEqual(rx, rp.getUnlinkedResources()[0]);
            Assert.AreEqual(1, rp.getUnlinkedResources().Count);

            ci.deleteNode();
            Assert.AreEqual(co, rp.getUnlinkedResources()[1]);
            Assert.AreEqual(2, rp.getUnlinkedResources().Count);
        }
コード例 #6
0
        public virtual void testProcessUsage()
        {
            JDFDoc  d = new JDFDoc("JDF");
            JDFNode n = d.getJDFRoot();

            n.setType("fnarf", false);

            EnumFitsValue       testlists  = EnumFitsValue.Allowed;
            EnumValidationLevel level      = KElement.EnumValidationLevel.Complete;
            VElement            vExecNodes = devicecap.getExecutableJDF(n, testlists, level);

            Assert.IsNull(vExecNodes, "missing resources");

            JDFLayout lo = (JDFLayout)n.addResource(ElementName.LAYOUT, null, EnumUsage.Input, null, null, null, null);

            lo.appendContentObject().setCTM(new JDFMatrix("1 0 0 1 0 0"));
            lo.appendContentObject().setCTM(new JDFMatrix("1 0 0 1 10 20"));

            JDFRunList rlDoc = (JDFRunList)n.addResource(ElementName.RUNLIST, null, EnumUsage.Input, EnumProcessUsage.Document, null, null, null);

            vExecNodes = devicecap.getExecutableJDF(n, testlists, level);
            Assert.IsNotNull(vExecNodes, "no missing resources");

            n.addResource(ElementName.RUNLIST, null, EnumUsage.Input, EnumProcessUsage.Marks, null, null, null);
            vExecNodes = devicecap.getExecutableJDF(n, testlists, level);
            Assert.IsNotNull(vExecNodes, "no missing resources");

            JDFResourceLink rl = n.getLink(rlDoc, null);

            rl.setUsage(EnumUsage.Output);
            vExecNodes = devicecap.getExecutableJDF(n, testlists, level);
            Assert.IsNull(vExecNodes, "no required runlist doc");

            rl.setUsage(EnumUsage.Input);
            vExecNodes = devicecap.getExecutableJDF(n, testlists, level);
            Assert.IsNotNull(vExecNodes, "no required runlist doc");

            JDFDevCaps   dcsRLDoc = devicecap.getDevCapsByName("RunList", null, null, EnumProcessUsage.Document, 0);
            JDFNameState ns       = dcsRLDoc.getDevCap().appendNameState("RunTag");

            ns.setRequired(true);

            vExecNodes = devicecap.getExecutableJDF(n, testlists, level);
            Assert.IsNull(vExecNodes, "incomplete required runlist doc");

            ns.setRequired(false);
            vExecNodes = devicecap.getExecutableJDF(n, testlists, level);
            Assert.IsNotNull(vExecNodes, "incomplete required runlist doc");

            JDFDevCaps   dcsRLMarks = devicecap.getDevCapsByName("RunList", null, null, EnumProcessUsage.Marks, 0);
            JDFNameState nsMarks    = dcsRLMarks.getDevCap().appendNameState("PageNames");

            nsMarks.setRequired(true);

            vExecNodes = devicecap.getExecutableJDF(n, testlists, level);
            Assert.IsNull(vExecNodes, "incomplete required runlist marks");
        }
コード例 #7
0
ファイル: MISFinTest.cs プロジェクト: cip4/JDFLibNet
        public virtual void testAmountPalletteCompleteManifest()
        {
            JDFElement.setLongID(false);
            JDFDoc  d = new JDFDoc("JDF");
            JDFNode n = d.getJDFRoot();

            n.setType(EnumType.ProcessGroup);
            n.setTypes(new VString("Binding Stacking BoxPacking Palletizing", " "));
            JDFComponent    comp = (JDFComponent)n.addResource(ElementName.COMPONENT, null, EnumUsage.Output, null, null, null, null);
            JDFResourceLink rl   = n.getLink(comp, null);

            rl.setAmount(2, null);
            rl.setDescriptiveName("The link point to 2 pallets with a total comtent of 10000 brochures in 200 boxes");
            JDFComponent compBrochure = (JDFComponent)n.addResource(ElementName.COMPONENT, null, EnumUsage.Input, null, null, null, null);

            compBrochure.setResStatus(EnumResStatus.Available, true);
            compBrochure.setDescriptiveName("The individual Brochures");
            JDFResourceLink rlB = n.getLink(compBrochure, null);

            rlB.setAmount(10000, null);
            rlB.setActualAmount(9700, null);

            for (int i = 0; i < 2; i++)
            {
                // create a pallet partition - may also use the root
                JDFComponent compPallet = (JDFComponent)comp.addPartition(EnumPartIDKey.DeliveryUnit0, "Pallet" + i);
                compPallet.setProductID("Pallet_" + i);

                JDFBundle bundlePallet = compPallet.getCreateBundle();
                int       nBox         = i == 0 ? 100 : 94;
                bundlePallet.setDescriptiveName("Pallet Bundle describing " + nBox + " boxes with " + nBox * 50 + " Brochures Contents total");
                bundlePallet.setTotalAmount(nBox * 50);
                bundlePallet.setBundleType(EnumBundleType.Pallet);

                for (int j = 0; j < nBox; j++)
                {
                    JDFBundleItem biBoxes = bundlePallet.appendBundleItem();
                    JDFComponent  compBox = (JDFComponent)compPallet.addPartition(EnumPartIDKey.DeliveryUnit1, "Box_" + i + "_" + j);
                    compBox.setProductID("Box_" + i + "_" + j);
                    biBoxes.refElement(compBox);
                    biBoxes.setAmount(1);

                    JDFBundle bundleBox = compBox.appendBundle();
                    bundleBox.setDescriptiveName("Bundle describing box #" + j + " with 50 Brochures Contents per box");
                    bundleBox.setTotalAmount(50);
                    bundleBox.setBundleType(EnumBundleType.Box);

                    JDFBundleItem biBrochures = bundleBox.appendBundleItem();
                    biBrochures.refElement(compBrochure);
                    biBrochures.setAmount(50);
                }
            }

            d.write2File(sm_dirTestDataTemp + "MISFinAmountCompleteManifest.jdf", 2, false);
        }
コード例 #8
0
ファイル: JDFAutoResourceTest.cs プロジェクト: cip4/JDFLibNet
        public virtual void testBinderySignature()
        {
            JDFDoc      d  = new JDFDoc(ElementName.JDF);
            JDFNode     n  = d.getJDFRoot();
            JDFResource bs = n.addResource(ElementName.BINDERYSIGNATURE, null, null, null, null, null, null);

            Assert.AreEqual(EnumResourceClass.Parameter, bs.getResourceClass(), "bs class");
            bs = n.addResource(ElementName.BINDERYSIGNATURE, JDFResource.EnumResourceClass.Parameter, null, null, n, null, null);
            Assert.AreEqual(EnumResourceClass.Parameter, bs.getResourceClass(), "bs class old style");
            Assert.IsTrue(bs.validClass());
        }
コード例 #9
0
ファイル: FixVersionTest.cs プロジェクト: cip4/JDFLibNet
        public virtual void testResourceStatus()
        {
            JDFMedia m = (JDFMedia)n.addResource("Media", null, EnumUsage.Input, null, null, null, null);

            m.setResStatus(EnumResStatus.Available, true);
            Assert.AreEqual(EnumResStatus.Available, m.getResStatus(true));
            Assert.IsTrue(m.fixVersion(EnumVersion.Version_1_1));
            Assert.AreEqual(EnumResStatus.Available, m.getResStatus(true));
            Assert.IsTrue(m.fixVersion(EnumVersion.Version_1_3));
            Assert.AreEqual(EnumResStatus.Available, m.getResStatus(true));
        }
コード例 #10
0
        public override void setUp()
        {
            // TODO Auto-generated method stub
            base.setUp();
            JDFDoc  doc = new JDFDoc("JDF");
            JDFNode n   = doc.getJDFRoot();

            n.setType(EnumType.Imposition);
            cl = (JDFContentList)n.addResource(ElementName.CONTENTLIST, null);
            pl = (JDFPageList)n.addResource(ElementName.PAGELIST, null);
        }
コード例 #11
0
        public virtual void testGeneratedObject()
        {
            n = doc.getJDFRoot();
            JDFLayout  lo  = (JDFLayout)n.addResource("Layout", null, EnumUsage.Input, null, null, null, null);
            JDFRunList rlo = (JDFRunList)n.addResource("RunList", null, EnumUsage.Output, null, null, null, null);

            rlo.setFileURL("output.pdf");

            lo.appendXMLComment("This is a simple horizontal slug line\nAnchor specifies which of the 9 coordinates is the 0 point for the coordinate system specified in the CTM\nThis slugline describes error and endtime in the lower left corner of the scb", null);
            JDFMarkObject mark = lo.appendMarkObject();

            mark.setCTM(new JDFMatrix("1 0 0 1 0 0"));
            JDFJobField jf = mark.appendJobField();

            jf.setShowList(new VString("Error EndTime", " "));

            lo.appendXMLComment("This is a simple vertical slug line\nAnchor specifies which of the 9 coordinates is the 0 point for the coordinate system specified in the CTM\nThis slugline describes the operator name along the right side of the sheet text from top to bottom\nthe slug line (top right of the slug cs) is anchored in the bottom right of the sheet.\nNote that the coordinates in the ctm are guess work. the real coordinates are left as an exercise for the reader;-)", null);
            mark = lo.appendMarkObject();
            mark.setCTM(new JDFMatrix("0 1 -1 0 555 444"));
            jf = mark.appendJobField();
            jf.setShowList(new VString("Operator", " "));
            JDFDeviceMark dm = jf.appendDeviceMark();

            dm.setAttribute("Anchor", "TopRight");
            dm.setFont("Arial");
            dm.setFontSize(10);

            lo.appendXMLComment("This is a formatted vertical slug line\nAnchor specifies which of the 9 coordinates is the 0 point for the coordinate system specified in the CTM\nThis slugline describes a formatted line along the left side of the sheet text from top to bottom\nthe slug line (top left) is anchored in the bottom left of the sheet.\nThe text is defined in @Format with the sequence in ShowList defining the 5 placeholders marked by %s or %i\nAn example instance would be: \"This Cyan plate of Sheet1 was proudly produced by Joe Cool! Resolution: 600 x 600\"\nNote that the coordinates in the ctm are guess work. the real coordinates are left as an exercise for the reader;-)", null);
            mark = lo.appendMarkObject();
            mark.setCTM(new JDFMatrix("0 1 -1 0 0 0"));
            jf = mark.appendJobField();
            jf.setShowList(new VString("Separation SheetName Operator ResolutionX ResolutionY", " "));
            jf.setAttribute("Format", "This %s plate of %s was proudly produced by %s!\nResolution: %i x %i");
            dm = jf.appendDeviceMark();
            dm.setAttribute("Anchor", "TopLeft");
            dm.setFont("Arial");
            dm.setFontSize(10);

            lo.appendXMLComment("This is a positioned registermark\nthe center of the mark is translated by 666 999\n the JobField is empty and serves aa a Marker that no external Content is requested", null);
            mark = lo.appendMarkObject();
            mark.setCTM(new JDFMatrix("1 0 0 1 666 999"));
            jf = mark.appendJobField();
            mark.appendXMLComment("The coordinate system origin is defined by the anchor in the center, i.e. 0 0\n the separartions are excluding black", null);
            JDFRegisterMark rm = mark.appendRegisterMark();

            rm.setMarkType("Arc Cross");
            rm.setMarkUsage(EnumMarkUsage.Color);
            rm.setCenter(new JDFXYPair("0 0"));
            rm.setSeparations(new VString("Cyan Magent Yellow", " "));
            dm = jf.appendDeviceMark();
            dm.setAttribute("Anchor", "Center");

            doc.write2File(sm_dirTestDataTemp + "generatedObject.jdf", 2, false);
        }
コード例 #12
0
ファイル: JDFFilespecTest.cs プロジェクト: cip4/JDFLibNet
        public virtual void testSetAbsoluteURL()
        {
            JDFDoc      doc = new JDFDoc("JDF");
            JDFNode     n   = doc.getJDFRoot();
            JDFFileSpec fs  = (JDFFileSpec)n.addResource("FileSpec", null, EnumUsage.Input, null, null, null, null);
            JDFFileSpec fs2 = (JDFFileSpec)n.addResource("FileSpec", null, EnumUsage.Input, null, null, null, null);

            fs.setAbsoluteFileURL(new FileInfo("C:\\ist blöd\\fnord is €"), false);
            fs2.setAbsoluteFileURL(new FileInfo("C:\\ist blöd\\fnord is €"), true);
            Assert.AreEqual("file:///C:/ist%20blöd/fnord%20is%20€", fs.getURL());
            Assert.AreEqual("file:///C:/ist%20bl%c3%b6d/fnord%20is%20%e2%82%ac", fs2.getURL());
        }
コード例 #13
0
ファイル: AmountTest.cs プロジェクト: cip4/JDFLibNet
        public override void setUp()
        {
            base.setUp();
            JDFElement.setLongID(false);
            d = new JDFDoc("JDF");

            n = d.getJDFRoot();
            n.appendXMLComment("Example to illustrate JDF 1.3 Base and MIS compatible amount handling", null);
            n.setType(EnumType.ConventionalPrinting);
            outComp   = (JDFComponent)n.addResource(ElementName.COMPONENT, null, EnumUsage.Output, null, null, null, null);
            inMedia   = (JDFMedia)n.addResource(ElementName.MEDIA, null, EnumUsage.Input, null, null, null, null);
            rlOut     = n.getLink(outComp, null);
            rlMediaIn = n.getLink(inMedia, null);
        }
コード例 #14
0
ファイル: AutomatedLayoutTest.cs プロジェクト: cip4/JDFLibNet
        public virtual void testAutomatedStripping()
        {
            n.setType(EnumType.Stripping);
            stripParams = (JDFStrippingParams)n.addResource(ElementName.STRIPPINGPARAMS, null, EnumUsage.Input, null, null, null, null);
            stripParams.getParentNode_KElement().appendXMLComment("Simple automated StrippingParams with exactly one sheet class\n", stripParams);
            JDFStrippingParams stripSheet = (JDFStrippingParams)stripParams.addPartition(EnumPartIDKey.SheetName, "Sheets");

            stripSheet.setAttribute(AttributeName.AUTOMATED, true, null);
            const string format = "Sheet%02i";

            stripSheet.setAttribute("NameFormat", format);
            stripSheet.setAttribute("NameTemplate", "SheetNum");
            stripSheet.appendBinderySignature().setNumberUp(new JDFXYPair(2, 2));
            doc.write2File(sm_dirTestDataTemp + "AutomatedStripping.jdf", 2, false);
        }
コード例 #15
0
ファイル: JDFAmountPoolTest.cs プロジェクト: cip4/JDFLibNet
        public virtual void testReducePartAmounts()
        {
            JDFDoc  d = new JDFDoc("JDF");
            JDFNode n = d.getJDFRoot();

            n.setType(EnumType.ConventionalPrinting);
            JDFComponent    comp = (JDFComponent)n.addResource("Component", null, EnumUsage.Output, null, null, null, null);
            JDFAttributeMap map  = new JDFAttributeMap(EnumPartIDKey.SignatureName, "Sig1");
            JDFResourceLink rl   = n.getLink(comp, null);

            for (int i = 0; i < 5; i++)
            {
                map.put(EnumPartIDKey.SheetName, "Sheet" + i);
                comp.getCreatePartition(map, new VString("SignatureName SheetName", " "));
                rl.setAmount(500 + i, map);
                JDFAttributeMap map2 = new JDFAttributeMap(map);
                map2.put("Condition", "Good");
                rl.setActualAmount(500 + i, map2);
                map2.put("Condition", "Waste");
                rl.setActualAmount(50 + i, map2);
            }
            VJDFAttributeMap v       = new VJDFAttributeMap();
            JDFAttributeMap  testMap = new JDFAttributeMap(EnumPartIDKey.Condition, "Good");

            v.Add(testMap);
            JDFAmountPool aplocal = rl.getAmountPool();

            Assert.AreEqual(15, aplocal.numChildElements(ElementName.PARTAMOUNT, null), "15 pa entries");
            aplocal.reducePartAmounts(v);
            Assert.AreEqual(5, aplocal.numChildElements(ElementName.PARTAMOUNT, null), "5 pa entries");
            testMap.put("SheetName", "Sheet3");
            aplocal.reducePartAmounts(v);
            Assert.AreEqual(1, aplocal.numChildElements(ElementName.PARTAMOUNT, null), "1 pa entries");
        }
コード例 #16
0
        public virtual void testIsPresentPartition()
        {
            JDFAction act = devicecap.appendActionPool().appendActionTest(EnumTerm.IsPresentEvaluation, true);
            JDFTest   tst = act.getTest();

            tst.setContext("//Component");
            JDFIsPresentEvaluation ipe = (JDFIsPresentEvaluation)tst.getTerm();

            ipe.setRefTarget(ptState);
            Assert.AreEqual(ptState.getID(), ipe.getrRef());

            JDFDoc  doc  = new JDFDoc("JDF");
            JDFNode node = doc.getJDFRoot();

            node.setType("fnarf", false);
            JDFComponent comp = (JDFComponent)node.addResource("Component", null, EnumUsage.Input, null, null, null, null);

            comp.setProductType("Cover");

            XMLDoc   rep     = new XMLDoc("root", null);
            KElement eRep    = rep.getRoot();
            bool     fitsJDF = tst.fitsJDF(comp, eRep);

            Assert.IsTrue(fitsJDF);
            comp    = (JDFComponent)comp.addPartition(EnumPartIDKey.SheetName, "s1");
            fitsJDF = tst.fitsJDF(comp, eRep);
            Assert.IsTrue(fitsJDF, "also partition leaves ");
        }
コード例 #17
0
        public virtual void testValidCombinedProcessIndex()
        {
            JDFDoc  d = new JDFDoc(ElementName.JDF);
            JDFNode n = d.getJDFRoot();

            n.setType(EnumType.Strapping);
            JDFResource     rBar = n.addResource("Bar", EnumResourceClass.Parameter, EnumUsage.Input, null, null, null, null);
            JDFResourceLink rl   = n.getLink(rBar, null);

            Assert.IsTrue(rl.validCombinedProcessIndex());
            rl.setCombinedProcessIndex(null);
            Assert.IsTrue(rl.validCombinedProcessIndex());
            JDFIntegerList il = new JDFIntegerList();

            rl.setCombinedProcessIndex(il);
            Assert.IsTrue(rl.validCombinedProcessIndex());
            il.Add(0);
            rl.setCombinedProcessIndex(il);
            Assert.IsFalse(rl.validCombinedProcessIndex());
            n.setCombined(new VString("Approval ImageSetting", " "));
            Assert.IsTrue(rl.validCombinedProcessIndex());
            il.Add(1);
            rl.setCombinedProcessIndex(il);
            Assert.IsTrue(rl.validCombinedProcessIndex());
            il.Add(1);
            rl.setCombinedProcessIndex(il);
            Assert.IsTrue(rl.validCombinedProcessIndex());
            Assert.IsTrue(n.isValid(EnumValidationLevel.Incomplete));
            il.Add(2);
            rl.setCombinedProcessIndex(il);
            Assert.IsFalse(rl.validCombinedProcessIndex());
            Assert.IsFalse(n.isValid(EnumValidationLevel.Incomplete));
            Assert.IsTrue(rl.getInvalidAttributes(EnumValidationLevel.Incomplete, true, -1).Contains(AttributeName.COMBINEDPROCESSINDEX));
        }
コード例 #18
0
        public virtual void testSetTarget()
        {
            JDFDoc  d = new JDFDoc(ElementName.JDF);
            JDFNode n = d.getJDFRoot();

            n.setVersion(JDFElement.EnumVersion.Version_1_3);
            n.setType("ConventionalPrinting", true);
            JDFExposedMedia  xm    = (JDFExposedMedia)n.addResource(ElementName.EXPOSEDMEDIA, null, EnumUsage.Input, null, null, null, null);
            JDFExposedMedia  xm1   = (JDFExposedMedia)xm.addPartition(JDFResource.EnumPartIDKey.SignatureName, "Sig1");
            VJDFAttributeMap vSig1 = new VJDFAttributeMap();

            vSig1.Add(xm1.getPartMap());
            // want a lower leaf partition
            xm1.addPartition(JDFResource.EnumPartIDKey.SheetName, "Sheet1");
            JDFMedia        m  = xm.appendMedia();
            JDFResourceLink rl = n.linkResource(xm, EnumUsage.Input, null);

            try
            {
                rl.setTarget(m);
                Assert.Fail("no link to subelem");
            }
            catch (JDFException)
            {
                // nop
            }
            rl.setTarget(xm1);
            Assert.AreEqual(vSig1, rl.getPartMapVector());
        }
コード例 #19
0
ファイル: JDFComponentTest.cs プロジェクト: cip4/JDFLibNet
 public override void setUp()
 {
     base.setUp();
     doc  = new JDFDoc("JDF");
     root = doc.getJDFRoot();
     c    = (JDFComponent)root.addResource(ElementName.COMPONENT, EnumUsage.Input);
 }
コード例 #20
0
ファイル: JDFTestTest.cs プロジェクト: cip4/JDFLibNet
        public virtual void testFitsContext()
        {
            JDFDoc  d = new JDFDoc(ElementName.TEST);
            JDFTest t = (JDFTest)d.getRoot();

            t.init();
            t.setContext("//JDF");
            JDFDoc  jdf  = new JDFDoc(ElementName.JDF);
            JDFNode node = jdf.getJDFRoot();

            node.setType(EnumType.ProcessGroup);
            JDFNode     node2 = node.addJDFNode("foobar");
            JDFResource r2    = node.addResource("res", EnumResourceClass.Parameter, EnumUsage.Input, null, null, null, null);

            Assert.IsTrue(t.fitsContext(node));
            Assert.IsTrue(t.fitsContext(node2));
            t.setContext("JDF");
            Assert.IsTrue(t.fitsContext(node));
            Assert.IsTrue(t.fitsContext(node2));
            t.setContext("/JDF");
            Assert.IsTrue(t.fitsContext(node));
            Assert.IsFalse(t.fitsContext(node2));
            t.setContext("res");
            Assert.IsTrue(t.fitsContext(r2));
            t.setContext("/res");
            Assert.IsFalse(t.fitsContext(r2));
        }
コード例 #21
0
ファイル: JDFAmountPoolTest.cs プロジェクト: cip4/JDFLibNet
        public virtual void testVirtualAmounts()
        {
            JDFDoc  d = new JDFDoc("JDF");
            JDFNode n = d.getJDFRoot();

            n.setType(EnumType.ConventionalPrinting);
            JDFComponent    comp = (JDFComponent)n.addResource("Component", null, EnumUsage.Output, null, null, null, null);
            JDFAttributeMap map  = new JDFAttributeMap(EnumPartIDKey.SignatureName, "Sig1");
            JDFResourceLink rl   = n.getLink(comp, null);

            for (int i = 0; i < 5; i++)
            {
                map.put(EnumPartIDKey.SheetName, "Sheet" + i);
                comp.getCreatePartition(map, new VString("SignatureName SheetName", " "));
                rl.setAmount(500 + i, map);
                JDFAttributeMap map2 = new JDFAttributeMap(map);
                map2.put("Condition", "Good");
                rl.setActualAmount(500 + i, map2);
                map2.put("Condition", "Waste");
                rl.setActualAmount(50 + i, map2);

                map2.put("Condition", "Good");
                Assert.AreEqual(500 + i, rl.getActualAmount(map2), 0.01);
                map2.put("Condition", "Waste");
                Assert.AreEqual(50 + i, rl.getActualAmount(map2), 0.01);
            }
        }
コード例 #22
0
ファイル: JDFAmountPoolTest.cs プロジェクト: cip4/JDFLibNet
        public virtual void testGetPartAmountMulti()
        {
            JDFDoc  d = new JDFDoc("JDF");
            JDFNode n = d.getJDFRoot();

            n.setType(EnumType.ConventionalPrinting);
            JDFComponent    comp   = (JDFComponent)n.addResource("Component", null, EnumUsage.Output, null, null, null, null);
            JDFAttributeMap map    = new JDFAttributeMap(EnumPartIDKey.SignatureName, "Sig1");
            JDFAttributeMap mapSig = new JDFAttributeMap(map);
            JDFAttributeMap map2   = new JDFAttributeMap(EnumPartIDKey.SignatureName, "Sig1");
            JDFResourceLink rl     = n.getLink(comp, null);

            map.put(EnumPartIDKey.SheetName, "Sheet");
            comp.getCreatePartition(map, new VString("SignatureName SheetName", " "));
            map.put(EnumPartIDKey.Side, "Front");
            map2.put(EnumPartIDKey.Side, "Back");
            VJDFAttributeMap vMap = new VJDFAttributeMap();

            vMap.Add(map);
            vMap.Add(map2);
            JDFAmountPool aplocal = rl.appendAmountPool();
            JDFPartAmount pa      = aplocal.appendPartAmount(vMap);

            Assert.AreEqual(pa.numChildElements_JDFElement(ElementName.PART, null), 2);
            rl.setActualAmount(42, map);
            rl.setActualAmount(21, map2);
            Assert.AreEqual(2, pa.numChildElements_JDFElement(ElementName.PART, null));
            Assert.AreEqual(42.0, rl.getActualAmount(map), 0.0);
            Assert.AreEqual(42.0 + 21.0, rl.getActualAmount(mapSig), 0.0);
            Assert.AreEqual(aplocal.getPartAmount(vMap), pa);
        }
コード例 #23
0
        ///
        ///     <summary> *  </summary>
        ///
        protected internal virtual JDFColorIntent initColorIntent(JDFNode node, int front, int back, string coatings)
        {
            JDFColorIntent ci  = (JDFColorIntent)node.addResource(ElementName.COLORINTENT, EnumUsage.Input);
            VElement       vci = new VElement();

            nCols[0] = front;
            nCols[1] = back;
            if (front != back && back != 0)
            {
                vci.Add(ci.addPartition(EnumPartIDKey.Side, EnumSide.Front));
                vci.Add(ci.addPartition(EnumPartIDKey.Side, EnumSide.Back));
            }
            else
            {
                vci.Add(ci);
            }

            for (int i = 0; i < vci.Count; i++)
            {
                int     colors  = i == 0 ? front : back;
                VString newCols = new VString();
                for (int j = 0; j < colors; j++)
                {
                    newCols.Add(cols[j]);
                }
                JDFColorIntent cip = (JDFColorIntent)vci[i];
                cip.appendColorsUsed().setSeparations(newCols);
            }
            ci.setResStatus(EnumResStatus.Available, false);
            ci.preferredToActual();
            return(ci);
        }
コード例 #24
0
ファイル: JDFAutoResourceTest.cs プロジェクト: cip4/JDFLibNet
        public virtual void testRunList()
        {
            JDFDoc         d   = new JDFDoc(ElementName.JDF);
            JDFNode        r   = d.getJDFRoot();
            JDFRunList     rl  = (JDFRunList)r.addResource("RunList", null, EnumUsage.Input, null, null, null, null);
            JDFInsertSheet is1 = rl.appendInsertSheet();

            is1.setSheetType(EnumSheetType.SeparatorSheet);
            is1.setSheetUsage(EnumSheetUsage.Slip);
            JDFInsertSheet is2 = rl.appendInsertSheet();

            is2.setSheetType(EnumSheetType.SeparatorSheet);
            is2.setSheetUsage(EnumSheetUsage.Slip);
            Assert.AreNotEqual(is2, is1, "two insert sheets");

            rl.appendLayoutElement(); // 1
            Assert.IsTrue(rl.isValid(EnumValidationLevel.Complete), "runlist valid");
            bool b1 = false;

            try
            {
                rl.appendLayoutElement();
            }
            catch (JDFException)
            {
                b1 = true;
            }
            Assert.IsTrue(b1, "only one layoutelement possible");
        }
コード例 #25
0
ファイル: WebTest.cs プロジェクト: cip4/JDFLibNet
        public virtual void testWebGrowthCompensation()
        {
            JDFElement.setLongID(false);
            doc = new JDFDoc("JDF");
            JDFNode         n    = doc.getJDFRoot();
            JDFResourcePool rp   = n.getCreateResourcePool();
            JDFResource     lo   = n.addResource("Layout", EnumResourceClass.Parameter, EnumUsage.Input, null, null, null, null);
            JDFLayout       losh = (JDFLayout)lo.addPartition(EnumPartIDKey.SheetName, "Sheet1");
            JDFLayout       lofr = (JDFLayout)losh.addPartition(EnumPartIDKey.Side, EnumSide.Front.getName());

            rp.appendXMLComment("LayoutShift SHOULD be partitioned: at least Side and Separation will make sense", null);

            JDFResource los = n.addResource("LayoutShift", EnumResourceClass.Parameter, EnumUsage.Input, null, null, null, null);

            los.appendXMLComment("Note that the interpolation algorithm between positions is implementation dependent", null);
            los = los.addPartition(EnumPartIDKey.Side, "Front");
            VString vSep = new VString("Cyan Magenta Yellow Black", " ");

            for (int i = 0; i < 16; i++)
            {
                int x               = 720 * (i % 4);
                int y               = 1000 * (i / 4);
                int ord             = i % 8;
                JDFContentObject co = lofr.appendContentObject();
                co.setOrd(ord);
                co.setOrdID(i);
                co.setCTM(new JDFMatrix(1, 0, 0, 1, x, y));
                JDFMarkObject mo = lofr.appendMarkObject();
                mo.setOrd(ord);
                mo.setOrdID(i + 100);
                mo.setCTM(new JDFMatrix(1, 0, 0, 1, x + 700, y + 900));
            }
            for (int j = 0; j < vSep.Count; j++)
            {
                KElement sepShift = los.addPartition(EnumPartIDKey.Separation, vSep.stringAt(j));
                for (int i = 0; i < 16; i += 2)
                {
                    int      x           = 720 * (i % 4);
                    int      y           = 1000 * (i / 4);
                    KElement shiftObject = sepShift.appendElement("ShiftPoint");

                    shiftObject.setAttribute("Position", new JDFXYPair(x + 360, y + 500).ToString());
                    shiftObject.setAttribute("CTM", new JDFMatrix(1, 0, 0, 1, j + i / 4, j + i % 4).ToString());
                }
            }
            doc.write2File(sm_dirTestDataTemp + "WebgrowthPartition.jdf", 2, false);
        }
コード例 #26
0
 public override void setUp()
 {
     JDFElement.setLongID(false);
     base.setUp();
     doc  = new JDFDoc("JDF");
     root = doc.getJDFRoot();
     rl   = (JDFRunList)root.addResource(ElementName.RUNLIST, EnumUsage.Input);
 }
コード例 #27
0
ファイル: MimeUtilTest.cs プロジェクト: cip4/JDFLibNet
        public virtual void testGetJMFSubmission()
        {
            JDFDoc d1 = new JDFDoc("JMF");

            d1.setOriginalFileName("JMF.jmf");
            JDFJMF jmf = d1.getJMFRoot();

            jmf.setDeviceID("gr?n?");
            JDFCommand com = (JDFCommand)jmf.appendMessageElement(JDFMessage.EnumFamily.Command, JDFMessage.EnumType.SubmitQueueEntry);

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

            JDFDoc doc = new JDFDoc("JDF");

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

            n.setType(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);
            for (int i = 0; i < 100; i++)
            {
                rl.addPDF("gr?n?" + i + ".pdf", 0, -1);
            }
            AttachmentCollection m = MimeUtil.buildMimePackage(d1, doc, true);

            JDFDoc[] d2 = MimeUtil.GetJMFSubmission(m);
            Assert.IsNotNull(d2);
            Assert.AreEqual("cid:JDF.jdf", d2[0].getJMFRoot().getCommand(0).getQueueSubmissionParams(0).getURL());
            Assert.AreEqual(EnumType.ColorSpaceConversion, d2[1].getJDFRoot().getEnumType());

            // now serialize to file and reread - should still work
            MimeUtil.writeToFile(m, sm_dirTestDataTemp + "test2.mjm", null);
            AttachmentCollection m2 = MimeUtil.GetMultiPart(sm_dirTestDataTemp + "test2.mjm");

            Assert.IsNotNull(m2);
            d2 = MimeUtil.GetJMFSubmission(m);
            Assert.IsNotNull(d2);
            Assert.AreEqual("cid:JDF.jdf", d2[0].getJMFRoot().getCommand(0).getQueueSubmissionParams(0).getURL());
            Assert.AreEqual(EnumType.ColorSpaceConversion, d2[1].getJDFRoot().getEnumType());
        }
コード例 #28
0
        ///
        ///     <summary> *  </summary>
        ///
        protected internal virtual JDFFoldingIntent initFoldingIntent(JDFNode node, string foldCatalog)
        {
            JDFFoldingIntent fi = (JDFFoldingIntent)node.addResource(ElementName.FOLDINGINTENT, EnumUsage.Input);

            fi.appendFoldingCatalog().setPreferred(foldCatalog);
            fi.setResStatus(EnumResStatus.Available, false);
            fi.preferredToActual();
            return(fi);
        }
コード例 #29
0
ファイル: MimeUtilTest.cs プロジェクト: cip4/JDFLibNet
        public virtual void testWritePerformance()
        {
            long   start  = JDFDate.ToMillisecs(DateTime.Now);
            string big    = sm_dirTestData + "big.pdf";
            string bigger = sm_dirTestDataTemp + "bigger.pdf";
            JDFDoc docJMF = new JDFDoc("JMF");

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

            com.appendQueueSubmissionParams().setURL("TheJDF");
            FileInfo fBigger = new FileInfo(bigger);

            SupportClass.FileSupport.CreateNewFile(fBigger);
            FileStream fis = new FileStream(big, FileMode.Open);
            FileStream fos = new FileStream(bigger, FileMode.Create);

            byte[] b = new byte[10000];
            while (true)
            {
                int i = fis.Read(b, 0, 10000);
                if (i <= 0)
                {
                    break;
                }
                for (int j = 0; j < 3; j++)
                {
                    fos.Write(b, 0, i);
                }
            }
            fis.Close();
            fos.Flush();
            fos.Close();

            JDFDoc doc = new JDFDoc("JDF");

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

            n.setType(EnumType.Interpreting);
            JDFRunList rl = (JDFRunList)n.addResource(ElementName.RUNLIST, EnumUsage.Input);

            rl.addPDF(StringUtil.uncToUrl(bigger, false), 0, -1);
            long setup = JDFDate.ToMillisecs(DateTime.Now);

            Console.WriteLine("Setup time: " + (setup - start));
            AttachmentCollection m = MimeUtil.buildMimePackage(null, doc, true);
            long build             = JDFDate.ToMillisecs(DateTime.Now);

            Console.WriteLine("Build time: " + (build - setup));
            Assert.IsNotNull(MimeUtil.writeToFile(m, sm_dirTestDataTemp + "performance.mjm", null));
            long write = JDFDate.ToMillisecs(DateTime.Now);

            Console.WriteLine("Write time: " + (write - build));
        }
コード例 #30
0
        public override void setUp()
        {
            // TODO Auto-generated method stub
            base.setUp();
            JDFDoc  doc = new JDFDoc("JDF");
            JDFNode n   = doc.getJDFRoot();

            n.setType(EnumType.ColorSpaceConversion);
            cp = (JDFColorPool)n.addResource(ElementName.COLORPOOL, null);
        }