コード例 #1
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());
        }
コード例 #2
0
ファイル: JDFResourceInfo.cs プロジェクト: cip4/JDFLibNet
        ///
        ///	 <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);
            }
        }
コード例 #3
0
        ///
        ///	 <summary> * simulate makeReady of this node the internal node will be modified to reflect the makeready all required
        ///	 * resources should be available </summary>
        ///
        public virtual void makeReady()
        {
            if (bExpandGrayBox && EnumType.ProcessGroup.Equals(theNode.getEnumType()) && theNode.hasAttribute(AttributeName.TYPES))
            {
                theExpandedNode = theNode.addCombined(theNode.getTypes());
                VElement resLinks = theNode.getResourceLinks(null);
                if (resLinks != null)
                {
                    int size = resLinks.Count;
                    for (int i = 0; i < size; i++)
                    {
                        ((JDFResourceLink)resLinks[i]).removeAttribute(AttributeName.COMBINEDPROCESSINDEX);
                    }
                }

                initAuditPool(theExpandedNode);
                theExpandedNode.copyElement(theNode.getResourceLinkPool(), null);
            }
            else
            {
                theExpandedNode = theNode;
            }
            VElement nodeLinks = getNodeLinks();

            theStatusCounter.setActiveNode(theExpandedNode, null, nodeLinks);

            VElement vResLinks = theExpandedNode.getResourceLinks(null);

            if (vResLinks != null)
            {
                int siz = vResLinks.Count;
                for (int i = 0; i < siz; i++)
                {
                    JDFResourceLink rl = (JDFResourceLink)vResLinks[i];

                    if (EnumUsage.Input.Equals(rl.getUsage()))
                    {
                        VElement vRes = rl.getTargetVector(-1);
                        for (int j = 0; j < vRes.Count; j++)
                        {
                            VElement leaves = ((JDFResource)vRes[j]).getLeaves(false);
                            for (int k = 0; k < leaves.Count; k++)
                            {
                                JDFResource r = (JDFResource)leaves[k];
                                r.setResStatus(EnumResStatus.Available, true);
                            }
                        }
                    }
                }
            }
        }
コード例 #4
0
ファイル: JDFPipeParamsTest.cs プロジェクト: cip4/JDFLibNet
        public virtual void testAppendResourceLink()
        {
            JDFDoc          doc = new JDFDoc(ElementName.PIPEPARAMS);
            JDFPipeParams   pp  = (JDFPipeParams)doc.getRoot();
            JDFResourceLink rl  = pp.appendResourceLink("Dummy", true);

            Assert.AreEqual(EnumUsage.Input, rl.getUsage());
            try
            {
                rl = pp.appendResourceLink("Dummy2", true);
                Assert.Fail("max 1 rl");
            }
            catch (Exception)
            {
                // nop
            }
        }
コード例 #5
0
        ///
        ///	 * <param name="good"> </param>
        ///	 * <param name="waste"> </param>
        ///
        protected internal void runSinglePhase(int pgood, int pwaste, bool bOutAvail, bool bFirst)
        {
            VElement vResLinks = theExpandedNode.getResourceLinks(null);

            if (vResLinks != null)
            {
                int siz = vResLinks.Count;
                for (int i = 0; i < siz; i++)
                {
                    int             _good = pgood;
                    JDFResourceLink rl    = (JDFResourceLink)vResLinks[i];
                    // only consume input for first set of runs
                    if (!bFirst && EnumUsage.Input.Equals(rl.getUsage()))
                    {
                        _good = 0;
                    }
                    theStatusCounter.addPhase(rl.getrRef(), _good, pwaste, true);
                }
            }
        }
コード例 #6
0
        ///
        ///	 <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());
        }
コード例 #7
0
        public virtual void testLinkResourcePartition()
        {
            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);
            r = r.addPartition(EnumPartIDKey.SignatureName, "Sig1");
            r.addPartition(EnumPartIDKey.SheetName, "S1");
            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());
            VJDFAttributeMap v = new VJDFAttributeMap();

            v.Add(new JDFAttributeMap(EnumPartIDKey.SignatureName, "Sig1"));
            Assert.AreEqual(v, rl.getPartMapVector());
        }