/// /// <summary> * Get the linked resources matching some conditions /// * </summary> /// * <param name="mResAtt"> map of Resource attributes to search for </param> /// * <param name="bFollowRefs"> true if internal references shall be followed /// * </param> /// * <returns> VResource - vector with all elements matching the conditions /// * /// * default: GetLinkedResources(new JDFAttributeMap(), false) </returns> /// public virtual VElement getLinkedResources(JDFAttributeMap mResAtt, bool bFollowRefs) { VElement v = getChildElementVector(null, null, null, true, 0, false); VElement vL = new VElement(); for (int i = 0; i < v.Count; i++) { if ((v[i]) is JDFRefElement) { JDFRefElement l = (JDFRefElement)v[i]; JDFResource r = l.getTarget(); r = r == null ? null : r.getResourceRoot(); if (r != null && r.includesAttributes(mResAtt, true)) { vL.Add(r); if (bFollowRefs) { vL.appendUnique(r.getvHRefRes(bFollowRefs, true)); } } } } return(vL); }
/// /// <summary> * Get the linked resources matching some conditions /// * </summary> /// * <param name="mResAtt"> map of Resource attributes to search for </param> /// * <param name="bFollowRefs"> true if internal references shall be followed </param> /// * <returns> vResource: vector with all elements matching the conditions default: GetLinkedResources(new /// * JDFAttributeMap(), false) </returns> /// public virtual VElement getLinkedResources(JDFAttributeMap mResAtt, bool bFollowRefs) { VElement vChild = getChildElementVector(null, null, null, true, 0, false); VElement vElem = new VElement(); for (int i = 0; i < vChild.Count; i++) { if (!(vChild[i] is JDFRefElement)) { continue; } JDFRefElement l = (JDFRefElement)vChild[i]; JDFResource r = l.getTarget(); r = r == null ? null : r.getResourceRoot(); if (r != null && r.includesAttributes(mResAtt, true)) { vElem.Add(r); // vElem.push_back(r); if (bFollowRefs) { vElem.appendUnique(r.getvHRefRes(bFollowRefs, true)); } } } return(vElem); }
public virtual void testInlineRefelement() { JDFDoc d = JDFTestCaseBase.creatXMDoc(); JDFNode n = d.getJDFRoot(); JDFExposedMedia xm = (JDFExposedMedia)n.getMatchingResource("ExposedMedia", JDFNode.EnumProcessUsage.AnyInput, null, 0); JDFAttributeMap mPart = new JDFAttributeMap("SignatureName", "Sig1"); mPart.put("SignatureName", "S12234"); mPart.put("SheetName", "S12"); mPart.put("Side", "Front"); JDFExposedMedia xmPart = (JDFExposedMedia)xm.getCreatePartition(mPart, null); JDFMedia m = xm.getMedia(); m = (JDFMedia)m.makeRootResource(null, null, true); m.setGrainDirection(EnumGrainDirection.XDirection); xmPart.refElement(m); Assert.AreEqual(xmPart.getMedia(), m); mPart.put("Side", "Back"); xmPart = (JDFExposedMedia)xm.getCreatePartition(mPart, null); JDFMedia medPart = (JDFMedia)m.getCreatePartition(mPart, xm.getPartIDKeys()); xmPart.refElement(medPart); Assert.AreEqual(xmPart.getMedia(), medPart); JDFRefElement re = (JDFRefElement)xmPart.getElement("MediaRef"); JDFMedia inlineMedia = (JDFMedia)re.inlineRef(); Assert.IsNull(xmPart.getElement_KElement("MediaRef", null, 0)); Assert.AreEqual(EnumGrainDirection.XDirection, inlineMedia.getGrainDirection()); Assert.AreEqual(xmPart.getMedia(), inlineMedia); Assert.IsFalse(inlineMedia.hasAttribute("ID")); }
/// /// <summary> * } getAudits - get all audits with attributes and partMap /// * </summary> /// * <param name="typ"> type of the audit to take </param> /// * <param name="mAttributes"> attribute map to filter the audits </param> /// * <param name="vParts"> the partmap vector - note that not all audits legally have parts </param> /// * <returns> VElement - all elements, that matches the filter /// * /// * default: getAudits(null, null, null) </returns> /// public virtual VElement getAudits(JDFAudit.EnumAuditType typ, JDFAttributeMap mAttributes, VJDFAttributeMap vParts) { VJDFAttributeMap vPartsLocal = vParts; string strAuditType = null; if (typ != null) { strAuditType = typ.getName(); } VElement vElem = getPoolChildrenGeneric(strAuditType, mAttributes, null); if (vPartsLocal != null && vPartsLocal.Count == 0) { vPartsLocal = null; } for (int i = vElem.Count - 1; i >= 0; i--) { // remove known comments - this would be aught in the next check but // we avoid the exception if (!(vElem[i] is JDFAudit)) { vElem.RemoveAt(i); continue; // look at next element } JDFAudit audit = (JDFAudit)vElem[i]; if (vPartsLocal != null && !vPartsLocal.Equals(audit.getPartMapVector())) { vElem.RemoveAt(i); continue; // look at next element } } return(vElem); }
/// /// * <param name="icsLevel"> </param> /// protected internal virtual void initPreviewSep() { if (theParentNode != null) { theNode.ensureLink(theParentNode.getResource(ElementName.PREVIEW, EnumUsage.Output, 0), EnumUsage.Output, null); } JDFPreview pv = (JDFPreview)theNode.getCreateResource(ElementName.PREVIEW, EnumUsage.Output, 0); pv.setResStatus(EnumResStatus.Incomplete, false); pv.setPreviewUsage(EnumPreviewUsage.Separation); pv.setPartUsage(EnumPartUsage.Explicit); pv.setPreviewFileType(EnumPreviewFileType.PNG); if (vParts != null) { for (int i = 0; i < vParts.Count; i++) { JDFAttributeMap part = vParts[i]; JDFPreview pvp = (JDFPreview)pv.getCreatePartition(part, partIDKeys); int ncols = "Front".Equals(part.get("Side")) ? nCols[0] : nCols[1]; for (int j = 0; j < ncols; j++) { pvp.getCreatePartition(EnumPartIDKey.Separation, cols.stringAt(j), partIDKeys); pvp.setResStatus(EnumResStatus.Incomplete, false); } } } }
public virtual void testGetAmountPoolSumDouble() { JDFNode d = new JDFDoc("JDF").getJDFRoot(); JDFResource m = d.addResource("Media", EnumUsage.Input); m.addPartition(EnumPartIDKey.SignatureName, "1"); JDFResourceLink rl = d.getLink(m, EnumUsage.Input); JDFAttributeMap map = new JDFAttributeMap("SignatureName", "1"); map.put("Condition", "Good"); rl.setActualAmount(12, map); VJDFAttributeMap vMap = new VJDFAttributeMap(); vMap.Add(new JDFAttributeMap("SignatureName", "1")); JDFAttributeMap sig1 = new JDFAttributeMap("SignatureName", "2"); vMap.Add(sig1); rl.getAmountPool().getPartAmount(map).setPartMapVector(vMap); map.put("Condition", "Waste"); rl.setActualAmount(14, map); Assert.AreEqual(26.0, rl.getAmountPoolSumDouble(AttributeName.ACTUALAMOUNT, null), 0.1); Assert.AreEqual(26.0, rl.getAmountPoolSumDouble(AttributeName.ACTUALAMOUNT, vMap), 0.1); sig1.put("SheetName", "S1"); Assert.AreEqual(26.0, rl.getAmountPoolSumDouble(AttributeName.ACTUALAMOUNT, vMap), 0.1, " also when more granular"); sig1 = new JDFAttributeMap(sig1); sig1.put("SheetName", "S2"); vMap.Add(sig1); Assert.AreEqual(26.0, rl.getAmountPoolSumDouble(AttributeName.ACTUALAMOUNT, vMap), 0.1, " also when more granular"); }
public virtual void testGetTargetVectorNullPart() { JDFDoc d = JDFTestCaseBase.creatXMDoc(); JDFNode n = d.getJDFRoot(); JDFResourceLink rl = n.getMatchingLink("ExposedMedia", EnumProcessUsage.Plate, 0); rl.appendPart(); VElement v = rl.getTargetVector(0); Assert.AreEqual(1, v.Count, "The target vector is the node with two leaves"); JDFResource linkRoot = rl.getLinkRoot(); Assert.AreEqual(linkRoot, v[0], "The target vector is the node with two leaves"); linkRoot.setPartUsage(EnumPartUsage.Implicit); v = rl.getTargetVector(0); Assert.AreEqual(1, v.Count, "The target vector is the node with two leaves"); Assert.AreEqual(linkRoot, v[0], "The target vector is the node with two leaves"); linkRoot.setPartUsage(EnumPartUsage.Explicit); JDFAttributeMap mPart = new JDFAttributeMap("SignatureName", "Sig1"); mPart.put("SheetName", "S1"); rl.setPartMap(mPart); rl.appendPart(); v = rl.getTargetVector(0); Assert.AreEqual(2, v.Count, "The target vector is the node with two leaves"); Assert.IsTrue(v.Contains(linkRoot)); Assert.IsTrue(v.Contains(linkRoot.getPartition(mPart, null))); linkRoot.setPartUsage(EnumPartUsage.Implicit); v = rl.getTargetVector(0); Assert.IsTrue(v.Contains(linkRoot)); Assert.IsTrue(v.Contains(linkRoot.getPartition(mPart, null))); }
public virtual void testFrontBackIdentical() { JDFElement.setLongID(false); setup(null, 2); JDFAttributeMap mapS1F = new JDFAttributeMap(); mapS1F.put("SheetName", "Sheet2"); mapS1F.put("Side", "Front"); JDFAttributeMap mapS0F = new JDFAttributeMap(); mapS0F.put("SheetName", "Sheet1"); mapS0F.put("Side", "Front"); VJDFAttributeMap vMap = new VJDFAttributeMap(); vMap.Add(mapS0F); vMap.Add(mapS1F); node.getNodeInfo().setIdentical(vMap); node.getResource("ExposedMedia", null, 0).setIdentical(vMap); bgt.write2File(sm_dirTestDataTemp + "FrontBackIdentSetup.jdf", 2); run2Seps("Sheet1", EnumSide.Front, null, null, 550, 100, "press0", EnumNodeStatus.Stopped, false); bgt.write2File(sm_dirTestDataTemp + "FrontBackIdent_Front0.jdf", 2); run2Seps("Sheet2", EnumSide.Back, null, null, 550, 100, "press1", EnumNodeStatus.Completed, false); bgt.write2File(sm_dirTestDataTemp + "FrontBackIdent_Back1.jdf", 2); run2Seps("Sheet2", EnumSide.Front, null, null, 1000, 150, "press0", EnumNodeStatus.Completed, false); bgt.write2File(sm_dirTestDataTemp + "FrontBackIdent_Front1.jdf", 2); run2Seps("Sheet1", EnumSide.Back, null, null, 1000, 150, "press1", EnumNodeStatus.Completed, false); bgt.write2File(sm_dirTestDataTemp + "FrontBackIdent_Back0.jdf", 2); }
/// /// <summary> * simulate running 2 separations on one press /// * </summary> /// * <param name="bLast"> /// * TODO </param> /// //JAVA TO VB & C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes: //ORIGINAL LINE: private void run2Seps(String sheet, EnumSide side, String sep1, String sep2, @SuppressWarnings("unused") int good, @SuppressWarnings("unused") int waste, @SuppressWarnings("unused") String deviceID, @SuppressWarnings("unused") EnumNodeStatus endStatus, boolean bLast) private void run2Seps(string sheet, EnumSide side, string sep1, string sep2, int good, int waste, string deviceID, EnumNodeStatus endStatus, bool bLast) { string jmfFile = sm_dirTestDataTemp + "NColorStatus"; JDFAttributeMap[] map = new JDFAttributeMap[sep1 == null ? 1 : 2]; map[0] = new JDFAttributeMap(EnumPartIDKey.SheetName, sheet); map[0].put(EnumPartIDKey.Side, side); map[0].put(EnumPartIDKey.SignatureName, "Sig1"); jmfFile += sheet + "_" + side.getName(); bool bFirst = !doneSheets.Contains(sheet); if (bFirst) { doneSheets.Add(sheet); } if (sep1 != null) { map[1] = new JDFAttributeMap(map[0]); map[0].put(EnumPartIDKey.Separation, sep1); map[1].put(EnumPartIDKey.Separation, sep2); jmfFile += "_" + sep1 + "_" + sep2; } VJDFAttributeMap vMap = new VJDFAttributeMap(map); bgt.makeReady(); bgt.execute(vMap, bLast, bFirst); JDFDoc jmfStatus = bgt.getStatusCounter().getDocJMFPhaseTime(); jmfStatus.write2File(jmfFile + "_status.jmf", 2, false); JDFDoc jmfRes = bgt.getStatusCounter().getDocJMFResource(); jmfRes.write2File(jmfFile + "_resource.jmf", 2, false); }
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); }
public virtual void testGetAmountMap() { JDFAttributeMap map = new JDFAttributeMap("Separation", "Black"); JDFAttributeMap map2 = new JDFAttributeMap("Separation", "Cyan"); VJDFAttributeMap vMap = new VJDFAttributeMap(); vMap.Add(new JDFAttributeMap(map)); vMap.Add(new JDFAttributeMap(map2)); for (int i = 0; i < 10; i++) { vMap.put("SignatureName", "Sig" + i); for (int j = 0; j < 100; j++) { vMap.put("SheetName", "Sheet" + j); ap.appendPartAmount(vMap).setAmount(j, null); } } AmountMap am = ap.getAmountMap(new VString("Separation", null)); Assert.AreEqual(2, am.Count); Assert.AreEqual(50 * 99 * 10.0, am.getAmountDouble(map, "Amount"), 0.0); am = ap.getAmountMap(new VString("SheetName Separation", null)); Assert.AreEqual(200, am.Count); Assert.AreEqual(-1.0, am.getAmountDouble(map, "Amount"), 0.0); map.put("SheetName", "Sheet12"); Assert.AreEqual(10 * 12.0, am.getAmountDouble(map, "Amount"), 0.0, "10 signatures * 12"); }
public virtual void testGetMatchingPartAmountVector() { JDFDoc d = JDFTestCaseBase.creatXMDoc(); JDFNode n = d.getJDFRoot(); JDFResourceLink xmLink = n.getLink(0, ElementName.EXPOSEDMEDIA, null, null); JDFAttributeMap mPart = new JDFAttributeMap("SignatureName", "Sig1"); mPart.put("SheetName", "S1"); mPart.put("Side", "Front"); mPart.put("Separation", "Black"); mPart.put("Condition", "Good"); xmLink.setAmount(2, mPart); mPart.put("Condition", "Waste"); xmLink.setAmount(1, mPart); JDFAmountPool aplocal = xmLink.getAmountPool(); Assert.IsNotNull(aplocal); mPart.Remove("Condition"); VElement v = aplocal.getMatchingPartAmountVector(mPart); Assert.AreEqual(2, v.Count); mPart.put("Side", "Moebius"); v = aplocal.getMatchingPartAmountVector(mPart); Assert.IsNull(v, "there certainly is no moebius side ..."); }
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 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"); }
/// /// <summary> * Append JDFPartAmount element /// * </summary> /// * <param name="mPart"> JDFAttributeMap to append </param> /// public virtual JDFPartAmount appendPartAmount(JDFAttributeMap mPart) { JDFPartAmount p = base.appendPartAmount(); p.setPartMap(mPart); return(p); }
public virtual void testMISCPGrayBox41Poster() { VJDFAttributeMap vMap = new VJDFAttributeMap(); JDFAttributeMap map = new JDFAttributeMap(); map.put(EnumPartIDKey.SignatureName, "Sig1"); map.put(EnumPartIDKey.SheetName, "Sheet1"); map.put(EnumPartIDKey.Side, "Front"); vMap.Add(new JDFAttributeMap(map)); map.put(EnumPartIDKey.Side, "Back"); vMap.Add(new JDFAttributeMap(map)); MISCPGoldenTicket cpGoldenTicket = new MISCPGoldenTicket(1, null, 2, 2, true, vMap); cpGoldenTicket.nCols[0] = 4; cpGoldenTicket.nCols[1] = 1; cpGoldenTicket.workStyle = EnumWorkStyle.WorkAndTurn; cpGoldenTicket.assign(null); cpGoldenTicket.good = 1000; cpGoldenTicket.waste = 90; cpGoldenTicket.partsAtOnce = 1; cpGoldenTicket.partsForAvailable = 2; JDFNode n = cpGoldenTicket.getNode(); JDFDevice dev = (JDFDevice)n.getResource("Device", EnumUsage.Input, 0); dev.removeAttribute(AttributeName.DEVICEID); dev.getCreatePartition(map, null).setAttribute("DeviceID", "BackSidePress"); map.put(EnumPartIDKey.Side, "Front"); dev.getCreatePartition(map, null).setAttribute("DeviceID", "FrontSidePress"); write3GTFiles(this, cpGoldenTicket, "MISCPS_4_1Poster"); }
/// /// <summary> * Get a vector of PartAmounts which are supersets of the filter defined by mPart<br> /// * i.e. mPart is a submap of all returned elements /// * </summary> /// * <param name="mPart"> filter vector for the part to set the status /// * </param> /// * <returns> VElement - the vector of PartAmount elements that fit, null if nothing matches </returns> /// public virtual VElement getMatchingPartAmountVector(JDFAttributeMap mPart) { VElement vPartAmount = getChildElementVector(ElementName.PARTAMOUNT, null, null, true, 0, false); int size = vPartAmount.Count; if (size == 0) { return(null); } VElement vPA = new VElement(); for (int i = 0; i < size; i++) { JDFPartAmount ps = (JDFPartAmount)vPartAmount[i]; VJDFAttributeMap mm = ps.getPartMapVector(); for (int j = 0; j < mm.Count; j++) { JDFAttributeMap m = mm[j]; if (m.subMap(mPart)) { vPA.Add(ps); break; } } } return(vPA.Count == 0 ? null : vPA); }
public virtual void testMISCPProductGrayBoxBrochure() { VJDFAttributeMap vMap = new VJDFAttributeMap(); for (int i = 0; i < 5; i++) { string sheetName = i == 0 ? "Cover" : "Body" + i; JDFAttributeMap map = new JDFAttributeMap(); map.put(EnumPartIDKey.SignatureName, "Sig1"); map.put(EnumPartIDKey.SheetName, sheetName); map.put(EnumPartIDKey.Side, "Front"); vMap.Add(new JDFAttributeMap(map)); map.put(EnumPartIDKey.Side, "Back"); vMap.Add(new JDFAttributeMap(map)); } MISCPGoldenTicket cpGoldenTicket = new MISCPGoldenTicket(1, null, 2, 2, true, vMap); cpGoldenTicket.nCols[0] = cpGoldenTicket.nCols[1] = 6; cpGoldenTicket.workStyle = EnumWorkStyle.WorkAndTurn; ProductGoldenTicket pgt = new ProductGoldenTicket(0, EnumVersion.Version_1_3, 0, 0); pgt.assign(null); pgt.createHDCity(); JDFNode node = pgt.getNode(); JDFNode nodeCP = node.addJDFNode(EnumType.ProcessGroup); cpGoldenTicket.assign(nodeCP); cpGoldenTicket.good = 1000; cpGoldenTicket.waste = 90; cpGoldenTicket.partsAtOnce = 2; BaseGoldenTicketTest.write3GTFiles(this, cpGoldenTicket, "MISCPS_ProductGrayBox"); }
public virtual void testPartAmountVirtual() { JDFDoc d = new JDFDoc(ElementName.JDF); JDFNode n = d.getJDFRoot(); n.setVersion(JDFElement.EnumVersion.Version_1_3); n.setType("ConventionalPrinting", true); JDFComponent comp = (JDFComponent)n.appendMatchingResource(ElementName.COMPONENT, EnumProcessUsage.AnyOutput, null); JDFResourceLink cpLink = n.getLink(comp, null); JDFAttributeMap mapBad = new JDFAttributeMap("Condition", "Waste"); cpLink.setActualAmount(42, mapBad); Assert.AreEqual(42.0, cpLink.getActualAmount(mapBad), 0); Assert.IsTrue(n.isValid(EnumValidationLevel.Incomplete), "allow part amounts to non-existing partitions"); cpLink.removeChild(ElementName.AMOUNTPOOL, null, 0); comp.addPartition(EnumPartIDKey.SheetName, "Sheet1"); mapBad.put(EnumPartIDKey.SheetName.getName(), "Sheet1"); cpLink.setActualAmount(42, mapBad); Assert.AreEqual(42.0, cpLink.getActualAmount(mapBad), 0); Assert.IsTrue(n.isValid(EnumValidationLevel.Incomplete), "allow partamounts to non-existing partitions"); mapBad.put(EnumPartIDKey.SheetName.getName(), "Sheet2"); Assert.AreEqual(0.0, cpLink.getActualAmount(mapBad), 0); JDFAttributeMap m2 = new JDFAttributeMap("Condition", "Waste"); Assert.AreEqual(42.0, cpLink.getActualAmount(m2), 0); m2.put("SheetName", "Sheet1"); Assert.AreEqual(42.0, cpLink.getActualAmount(m2), 0); m2.put("Side", "Front"); Assert.AreEqual(0.0, cpLink.getActualAmount(m2), 0); }
public virtual void testIdenticalInk() { VString v = new VString("Cyan,Magenta,Yellow,Black,Text", ","); VString vAct = new VString("Cyan,Magenta,Yellow,Black,Text", ","); VString vInk = new VString("Cyan,Magenta,Yellow,Black,Black", ","); VString vInkProd = new VString("MIS-Ink-4711,MIS-Ink-4712,MIS-Ink-4713,MIS-Ink-4714,MIS-Ink-4714", ","); VJDFAttributeMap vMap = new VJDFAttributeMap(); JDFAttributeMap map = new JDFAttributeMap(); map.put(EnumPartIDKey.SignatureName, "Sig1"); map.put(EnumPartIDKey.SheetName, "Sheet1"); map.put(EnumPartIDKey.Side, "Front"); vMap.Add(new JDFAttributeMap(map)); JDFNode n = new JDFDoc("JDF").getJDFRoot(); MISCPGoldenTicket cpGoldenTicket = new MISCPGoldenTicket(1, null, 2, 1, true, vMap); cpGoldenTicket.cols = v; cpGoldenTicket.colsActual = vAct; cpGoldenTicket.inks = vInk; cpGoldenTicket.inkProductIDs = vInkProd; // n.setType(JDFNode.EnumType.ConventionalPrinting); cpGoldenTicket.assign(n); cpGoldenTicket.good = 3000; cpGoldenTicket.waste = 200; write3GTFiles(this, cpGoldenTicket, "sameInk"); }
public virtual void testLayerRunListComplex() { JDFElement.setLongID(false); setUpDoc(); setupRunList(1); setupLayout(true); n.setPartStatus(new JDFAttributeMap(EnumPartIDKey.PartVersion, "De"), EnumNodeStatus.Completed, null); JDFResourceLink rl = n.getLink(rlIn, null); rl.setPartition(EnumPartIDKey.PartVersion, "De Euro"); d.write2File(sm_dirTestDataTemp + "LayerListDeEuro.jdf", 2, false); VJDFAttributeMap vMap = new VJDFAttributeMap(); JDFAttributeMap map = new JDFAttributeMap(); map.put(EnumPartIDKey.PartVersion, "De"); map.put(EnumPartIDKey.LayerIDs, "1"); vMap.Add(map); map = new JDFAttributeMap(); map.put(EnumPartIDKey.PartVersion, "Euro"); map.put(EnumPartIDKey.LayerIDs, "2"); vMap.Add(map); rl.setPartMapVector(vMap); rl.setDescriptiveName("Only DE + Euro, no bkg partversion is selected"); d.write2File(sm_dirTestDataTemp + "LayerListDeEuro_BKG.jdf", 2, false); }
/// /// * <param name="icsLevel"> </param> /// protected internal override JDFMedia initPaperMedia() { JDFMedia m = base.initPaperMedia(); JDFResourceLink rl = theNode.getLink(m, null); if (rl == null) { rl = theNode.linkResource(m, EnumUsage.Input, null); } if (vParts != null) { VJDFAttributeMap reducedMap = getReducedMap(new VString("Side Separation", " ")); if (reducedMap != null) { int size = reducedMap.Count; for (int i = 0; i < size; i++) { JDFAttributeMap part = reducedMap[i]; JDFAttributeMap newMap = new JDFAttributeMap(part); newMap.put(AttributeName.CONDITION, "Good"); rl.setAmount(good, newMap); rl.setMaxAmount(good + waste, newMap); newMap.put(AttributeName.CONDITION, "Waste"); rl.setMaxAmount(waste, newMap); } } } return(m); }
/// /// <summary> * </summary> /// private void executeLayout() { JDFLayout lo = (JDFLayout)theExpandedNode.getResource(ElementName.LAYOUT, EnumUsage.Output, 0); if (lo != null && vParts != null) { VJDFAttributeMap reducedMap = getReducedMap(new VString("Separation PartVersion", " ")); lo.setResStatus(EnumResStatus.Available, true); if (reducedMap != null) { int size = reducedMap.Count; for (int i = 0; i < size; i++) { JDFAttributeMap part = reducedMap[i]; if (bSingleSided == true && "Back".Equals(part.get("Side"))) { continue; } JDFLayout partLO = (JDFLayout)lo.getCreatePartition(part, partIDKeys); for (int j = 0; j < 4; j++) { JDFContentObject co = partLO.appendContentObject(); co.setCTM(new JDFMatrix(1 + 10 * j, 2 + 20 * j, 3 + 30 * j, 4 + 40 * j, 5 + 50 * j, 6 + 0 * j)); co.setOrd(j + i * 4); } } } } }
protected internal override JDFDevice initDevice(JDFNode reuseNode) { if (misICSLevel < 2) { return(null); } base.initDevice(reuseNode); JDFDevice dev = (JDFDevice)theNode.getCreateResource(ElementName.DEVICE, EnumUsage.Input, 0); VJDFAttributeMap reducedMap = getReducedMap(new VString("Side Separation", " ")); if (reducedMap != null) { if (devID != null && splitSheets) { int size = reducedMap.Count; for (int i = 0; i < size; i++) { JDFAttributeMap part = reducedMap[i]; JDFDevice devPart = (JDFDevice)dev.getCreatePartition(part, partIDKeys); devPart.setResStatus(EnumResStatus.Available, false); devPart.setDeviceID(devID); } } } return(dev); }
// // * (non-Javadoc) // * // * @see org.cip4.jdflib.core.JDFElement#getInvalidAttributes(org.cip4.jdflib. core.KElement.EnumValidationLevel, // * boolean, int) // public override VString getInvalidAttributes(EnumValidationLevel level, bool bIgnorePrivate, int nMax) { VString v = base.getInvalidAttributes(level, bIgnorePrivate, nMax); JDFResourceLink rl = (JDFResourceLink)getDeepParentChild(ElementName.RESOURCELINKPOOL); if (rl != null) { JDFAttributeMap rlMap = rl.getAttributeMap(); if (rlMap != null) { JDFAttributeMap map = getAttributeMap(); if (map != null) { IEnumerator <string> it = map.getKeyIterator(); while (it.MoveNext()) { string s = it.Current; if (rlMap.ContainsKey(s)) { v.Add(s); } } } } } return(v); }
internal LinkAmount(StatusUtil pEnclosingInstance, JDFResourceLink _rl) { enclosingInstance = pEnclosingInstance; JDFNode dump = new JDFDoc("JDF").getJDFRoot(); dump.appendResourceLinkPool().copyElement(_rl, null); dump.appendResourcePool().copyElement(_rl.getTarget(), null); rl = (JDFResourceLink)dump.getResourceLinkPool().getElement(_rl.Name, null, 0); JDFAttributeMap map = (enclosingInstance.m_vPartMap == null || enclosingInstance.m_vPartMap.Count == 0) ? null : enclosingInstance.m_vPartMap[0]; startAmount = rl.getAmount(map); if (startAmount == -1) { map = new JDFAttributeMap(map); map.put(EnumPartIDKey.Condition, "Good"); startAmount = rl.getAmount(map); if (startAmount == -1) { startAmount = 0; } map.put(EnumPartIDKey.Condition, "Waste"); startWaste = rl.getAmount(map); if (startWaste == -1) { startWaste = 0; } } }
/// /// <summary> * Get the linked resources matching some conditions /// * </summary> /// * <param name="mResAtt"> map of Resource attributes to search for </param> /// * <param name="bFollowRefs"> true if internal references shall be followed </param> /// * <returns> vector with all elements matching the conditions default: GetLinkedResources(new JDFAttributeMap(), /// * false) </returns> /// public virtual VElement getLinkedResources(JDFAttributeMap mResAtt, bool bFollowRefs) { VElement vChild = getChildElementVector(null, null, null, true, 99999, false); VElement vElem = new VElement(); for (int i = 0; i < vChild.Count; i++) { JDFResource r = null; object elem = vChild[i]; if ((elem is JDFRefElement)) { JDFRefElement l = (JDFRefElement)elem; r = l.getLinkRoot(null); } else if (elem is JDFResource) { r = (JDFResource)elem; } if (r != null && r.includesAttributes(mResAtt, true)) { vElem.Add(r); // vElem.push_back(r); if (bFollowRefs) { vElem.appendUnique(r.getvHRefRes(bFollowRefs, true)); } } } return(vElem); }
/// /// <summary> * remove all partAmounts that are not specified in keepList /// * </summary> /// * <param name="keepList"> partAmounts to keep </param> /// public virtual void reducePartAmounts(VJDFAttributeMap keepList) { if (keepList == null) { return; } VElement v = getChildElementVector(ElementName.PARTAMOUNT, null, null, true, -1, true); for (int i = 0; i < v.Count; i++) { JDFPartAmount pa = (JDFPartAmount)v[i]; JDFAttributeMap map = pa.getPartMap(); bool ciao = true; for (int j = 0; j < keepList.Count; j++) { if (map.subMap(keepList[j])) { ciao = false; break; } } if (ciao) { pa.deleteNode(); } } }
public virtual void testGetTarget() { JDFDoc d = JDFTestCaseBase.creatXMDoc(); JDFNode n = d.getJDFRoot(); JDFExposedMedia xm = (JDFExposedMedia)n.getMatchingResource("ExposedMedia", JDFNode.EnumProcessUsage.AnyInput, null, 0); JDFAttributeMap mPart = new JDFAttributeMap("SignatureName", "Sig1"); mPart.put("SignatureName", "S12234"); mPart.put("SheetName", "S12"); mPart.put("Side", "Front"); JDFExposedMedia xmPart = (JDFExposedMedia)xm.getCreatePartition(mPart, null); JDFMedia m = xm.getMedia(); m = (JDFMedia)m.makeRootResource(null, null, true); xmPart.refElement(m); Assert.AreEqual(xmPart.getMedia(), m); mPart.put("Side", "Back"); xmPart = (JDFExposedMedia)xm.getCreatePartition(mPart, null); JDFMedia medPart = (JDFMedia)m.getCreatePartition(mPart, xm.getPartIDKeys()); xmPart.refElement(medPart); Assert.AreEqual(xmPart.getMedia(), medPart); JDFRefElement re = (JDFRefElement)xmPart.getElement("MediaRef"); Assert.AreEqual(re.getPartMap(), mPart); }
/// /// * <param name="xm"> /// * @return </param> /// protected internal virtual JDFMedia initPlateMedia() { if (theParentNode != null) { theNode.ensureLink(theParentNode.getResource(ElementName.MEDIA, EnumUsage.Input, 0), EnumUsage.Input, null); } JDFMedia m = (JDFMedia)theNode.getCreateResource(ElementName.MEDIA, EnumUsage.Input, 0); if (EnumMediaType.Paper.Equals(m.getMediaType())) { m = (JDFMedia)theNode.getCreateResource(ElementName.MEDIA, EnumUsage.Input, 1); } m.setResStatus(EnumResStatus.Available, false); m.makeRootResource(null, theNode.getJDFRoot(), true); theNode.getJDFRoot().getCreateResourcePool().moveElement(m, null); m.setDescriptiveName("the plates to use"); m.setMediaType(EnumMediaType.Plate); m.setPartUsage(EnumPartUsage.Implicit); if (bPartitionedPlateMedia && vParts != null) { VJDFAttributeMap vSheets = getReducedMap(new VString("Side Separation PartVersion", null)); for (int i = 0; i < vSheets.Count; i++) { JDFAttributeMap part = new JDFAttributeMap(vSheets[i]); // JDFResource mm= m.getCreatePartition(part, partIDKeys); } } else { m.setDimensionCM(new JDFXYPair(70, 102)); } return(m); }