public virtual void testGetResource() { JDFDoc doc = new JDFDoc(ElementName.JMF); JDFJMF jmf = doc.getJMFRoot(); JDFCommand c = jmf.appendCommand(EnumType.PipePull); JDFPipeParams pp = c.appendPipeParams(); JDFExposedMedia xm = (JDFExposedMedia)pp.appendResource(ElementName.EXPOSEDMEDIA); Assert.AreEqual(EnumResourceClass.Handling, xm.getResourceClass()); JDFMedia m = (JDFMedia)pp.appendResource(ElementName.MEDIA); Assert.AreEqual(EnumResourceClass.Consumable, m.getResourceClass()); JDFRefElement rm = xm.refElement(m); Assert.AreEqual(m, rm.getTarget()); Assert.AreEqual(xm, pp.getResource(ElementName.EXPOSEDMEDIA)); Assert.AreEqual(xm, pp.getResource(null)); Assert.AreEqual(m, pp.getResource(ElementName.MEDIA)); try { Assert.IsNull(pp.getResource("MediaLink")); Assert.Fail(); } catch (JDFException) { // nop } JDFResourceLink rl = pp.appendResourceLink(ElementName.EXPOSEDMEDIA, true); rl.setrRef(xm.getID()); Assert.AreEqual(xm, pp.getResource(null)); Assert.AreEqual(rl.getTarget(), pp.getResource(null)); }
/// /// <summary> * get resource defined by <code>resName</code> /// * </summary> /// * <param name="resName"> name of the resource to get; if null get the resource that is linked by the reslink </param> /// * <returns> JDFResource: the element </returns> /// public virtual JDFResource getResource(string resName) { if (resName == null) { JDFResourceLink rl = getResourceLink(); if (rl != null) { return(rl.getTarget()); } VElement v = getChildElementVector(null, null, null, true, 0, false); for (int i = 0; i < v.Count; i++) { KElement e = v.item(i); if (e is JDFResource) { return((JDFResource)e); } } return(null); } JDFResource r = null; KElement e2 = getElement(resName, null, 0); if (e2 is JDFResource) { r = (JDFResource)e2; } else { throw new JDFException("JDFPipeParams.getResource tried to return a JDFElement instead of a JDFResource"); } return(r); }
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> * sets all relevant parameters of this to the values specified in resourceLink or its linked resource or JDF node /// * </summary> /// * <param name="resourceLink"> the resourceLink to extract the information from </param> /// * <param name="rqp"> parameters </param> /// public virtual void setLink(JDFResourceLink resourceLink, JDFResourceQuParams rqp) { if (resourceLink == null) { return; } JDFAmountPool ap = resourceLink.getAmountPool(); if (ap != null) { copyElement(ap, null); } else { if (resourceLink.hasAttribute(AttributeName.ACTUALAMOUNT)) { setActualAmount(resourceLink.getActualAmount(null)); } if (resourceLink.hasAttribute(AttributeName.AMOUNT)) { setAmount(resourceLink.getAmount(null)); } } setProcessUsage(resourceLink.getEnumProcessUsage()); JDFResource r = resourceLink.getTarget(); if (r == null && rqp != null) { rqp.setExact(false); } bool bExact = rqp == null ? false : rqp.getExact(); if (!bExact || r == null) // if we do not have a resource let's limp // along and provide as much as we have { setResourceName(resourceLink.getLinkedResourceName()); setAttribute(AttributeName.RESOURCEID, resourceLink.getrRef()); EnumUsage usage = resourceLink.getUsage(); if (usage != null) { setAttribute(AttributeName.USAGE, usage.getName()); } if (r != null && r.hasAttribute(AttributeName.PRODUCTID)) { setProductID(r.getProductID()); } } else { // create a copy of the resource in the original jdf JDFResource rr = (JDFResource)r.getParentNode_KElement().copyElement(r, null); rr.inlineRefElements(null, null, true); // move resource copy from the original node into this document moveElement(rr, null); } }
/// /// <summary> * sets all relevant parameters of <code>this</code> to the values specified in resourceLink or its linked resource /// * or JDF node /// * </summary> /// * <param name="resourceLink"> the resourceLink to extract the information from </param> /// public virtual void setLink(JDFResourceLink resourceLink) { if (resourceLink == null) { return; } JDFResource r = resourceLink.getTarget(); JDFNode parentJDF = resourceLink.getParentJDF(); setJDF(parentJDF); setProcessUsage(resourceLink.getEnumProcessUsage()); if (r.hasAttribute(AttributeName.PRODUCTID)) { setProductID(r.getProductID()); } setResourceID(r.getID()); setResourceName(r.LocalName); setUsage(resourceLink.getUsage()); setPartMapVector(resourceLink.getPartMapVector()); }
public virtual void testBugBuild058() { // get the JDF document root element JDFDoc jdfDoc = new JDFDoc(ElementName.JDF); JDFNode productNode = jdfDoc.getJDFRoot(); productNode.setType(JDFNode.EnumType.Product.getName(), false); // Add an intent resource JDFLayoutIntent layoutIntent = (JDFLayoutIntent)productNode.appendMatchingResource("LayoutIntent", JDFNode.EnumProcessUsage.AnyInput, null); // set the type attribute JDFResourceLink rli = productNode.getMatchingLink("LayoutIntent", JDFNode.EnumProcessUsage.AnyInput, 0); bool bValid = rli.isValid(KElement.EnumValidationLevel.Complete); Assert.IsTrue(bValid); JDFLayoutIntent layoutIntent2 = (JDFLayoutIntent)rli.getTarget(); bValid = bValid && (layoutIntent2.Equals(layoutIntent)); Assert.IsTrue(bValid); }
/// /// * <param name="icsLevel"> </param> /// protected internal virtual void initColorantControl() { JDFResourceLink ccLink = null; if (thePreviousNode != null) { ccLink = theNode.linkResource(thePreviousNode.getResource(ElementName.COLORANTCONTROL, EnumUsage.Input, 0), EnumUsage.Input, null); } if (ccLink == null && theParentNode != null) { ccLink = theNode.linkResource(theParentNode.getResource(ElementName.COLORANTCONTROL, EnumUsage.Input, 0), EnumUsage.Input, null); } JDFColorantControl cc = (JDFColorantControl)(ccLink == null ? (JDFColorantControl)theNode.getCreateResource(ElementName.COLORANTCONTROL, EnumUsage.Input, 0) : ccLink.getTarget()); cc.setResStatus(EnumResStatus.Available, false); JDFColorPool cp = (JDFColorPool)theNode.getJDFRoot().getChildByTagName(ElementName.COLORPOOL, null, 0, null, false, false); if (cp == null) { cp = (JDFColorPool)theNode.getCreateResource(ElementName.COLORPOOL, EnumUsage.Input, 0); if (theParentNode != null) { theParentNode.getCreateResourcePool().moveElement(cp, null); } } cc.refColorPool(cp); for (int i = 4; i < getNCols(); i++) { cc.getCreateColorantParams().appendSeparation(cols.stringAt(i)); } for (int i = 0; i < getNCols(); i++) { string name = cols.stringAt(i); JDFColor c = cp.getCreateColorWithName(name, null); if (i == 0) { c.setCMYK(new JDFCMYKColor(1, 0, 0, 0)); } if (i == 1) { c.setCMYK(new JDFCMYKColor(0, 1, 0, 0)); } if (i == 2) { c.setCMYK(new JDFCMYKColor(0, 0, 1, 0)); } if (i == 3) { c.setCMYK(new JDFCMYKColor(0, 0, 0, 1)); } } cc.setProcessColorModel("DeviceCMYK"); if (nCols[0] != nCols[1]) { for (int ii = 0; ii < 2; ii++) { JDFColorantControl ccP = (JDFColorantControl)cc.addPartition(EnumPartIDKey.Side, ii == 0 ? "Front" : "Back"); VString colsP = new VString(); for (int iii = 0; iii < nCols[ii]; iii++) { colsP.Add(cols.stringAt(iii)); } JDFSeparationList co = ccP.getCreateColorantOrder(); co.setSeparations(colsP); } } else { JDFSeparationList co = cc.getCreateColorantOrder(); co.setSeparations(cols); } }