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"); } }
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()); }
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); }
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); }
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); }
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"); }
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); }
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()); }
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)); }
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); }
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); }
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()); }
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); }
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); }
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"); }
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 "); }
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)); }
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()); }
public override void setUp() { base.setUp(); doc = new JDFDoc("JDF"); root = doc.getJDFRoot(); c = (JDFComponent)root.addResource(ElementName.COMPONENT, EnumUsage.Input); }
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)); }
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); } }
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); }
/// /// <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); }
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"); }
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); }
public override void setUp() { JDFElement.setLongID(false); base.setUp(); doc = new JDFDoc("JDF"); root = doc.getJDFRoot(); rl = (JDFRunList)root.addResource(ElementName.RUNLIST, EnumUsage.Input); }
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()); }
/// /// <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); }
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)); }
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); }