Ejemplo n.º 1
0
        public virtual void testGetTargetVectorSparse()
        {
            JDFNode         n    = new JDFDoc("JDF").getJDFRoot();
            JDFExposedMedia xm   = (JDFExposedMedia)n.getCreateResource("ExposedMedia", EnumUsage.Input, 0);
            JDFExposedMedia xmb  = (JDFExposedMedia)xm.addPartition(EnumPartIDKey.Separation, "Black");
            JDFExposedMedia xmbe = (JDFExposedMedia)xmb.addPartition(EnumPartIDKey.PartVersion, "EN");
            JDFExposedMedia xmbd = (JDFExposedMedia)xmb.addPartition(EnumPartIDKey.PartVersion, "DE");
            JDFExposedMedia xmc  = (JDFExposedMedia)xm.addPartition(EnumPartIDKey.Separation, "Cyan");

            xm.setPartUsage(EnumPartUsage.Sparse);
            JDFResourceLink rl = n.getLink(xm, null);

            rl.setPartMap(new JDFAttributeMap("PartVersion", "DE"));
            VElement v = rl.getTargetVector(-1);

            Assert.AreEqual(2, v.Count, "DE/Black + Cyan");
            Assert.AreEqual(xmbd, v[0]);
            Assert.AreEqual(xmc, v[1]);
            rl.setPartMap(new JDFAttributeMap("PartVersion", "EN"));
            v = rl.getTargetVector(-1);
            Assert.AreEqual(2, v.Count);
            Assert.AreEqual(xmbe, v[0]);
            Assert.AreEqual(xmc, v[1]);
            rl.setPartMap(new JDFAttributeMap("PartVersion", "FR"));
            v = rl.getTargetVector(-1);
            Assert.AreEqual(1, v.Count);
            Assert.AreEqual(xmc, v[0]);
            xm.setPartUsage(EnumPartUsage.Implicit);
            v = rl.getTargetVector(-1);
            Assert.AreEqual(2, v.Count);
            // TODO should be xmb?
            Assert.AreEqual(xm, v[0]);
            Assert.AreEqual(xmc, v[1]);
        }
Ejemplo n.º 2
0
        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");

            JDFAttributeMap mPart2 = new JDFAttributeMap("SignatureName", "Sig1");

            mPart2.put("SignatureName", "Sig1");
            mPart2.put("SheetName", "S1");
            mPart2.put("Side", "Front");
            JDFExposedMedia xmPart = (JDFExposedMedia)xm.getPartition(mPart2, null);

            Assert.IsNotNull(xmPart);

            JDFResourceLink rl = n.getMatchingLink("ExposedMedia", EnumProcessUsage.Plate, 0);

            rl.setPartMap(mPart);
            Assert.IsNull(rl.getTarget());
            Assert.AreEqual(0, rl.getTargetVector(0).Count);

            xm.setPartUsage(EnumPartUsage.Explicit);
            Assert.IsNull(rl.getTarget());
            Assert.AreEqual(0, rl.getTargetVector(0).Count);

            xm.setPartUsage(EnumPartUsage.Implicit);
            Assert.AreEqual(xm, rl.getTarget());
            Assert.AreEqual(1, rl.getTargetVector(0).Count);

            xm.setPartUsage(EnumPartUsage.Sparse);
            Assert.AreEqual(null, rl.getTarget());
            Assert.AreEqual(0, rl.getTargetVector(0).Count);

            rl.setPartMap(mPart2);
            xm.removeAttribute("PartUsage");
            Assert.AreEqual(xmPart, rl.getTarget());
            Assert.AreEqual(1, rl.getTargetVector(0).Count);

            xm.setPartUsage(EnumPartUsage.Explicit);
            Assert.AreEqual(xmPart, rl.getTarget());
            Assert.AreEqual(1, rl.getTargetVector(0).Count);

            xm.setPartUsage(EnumPartUsage.Implicit);
            Assert.AreEqual(xmPart, rl.getTarget());
            Assert.AreEqual(1, rl.getTargetVector(0).Count);

            xm.setPartUsage(EnumPartUsage.Sparse);
            Assert.AreEqual(xmPart, rl.getTarget());
            Assert.AreEqual(1, rl.getTargetVector(0).Count);

            mPart2.put("PartVersion", "Fnarf");
            rl.setPartMap(mPart2);
            xm.removeAttribute("PartUsage");
            Assert.AreEqual(null, rl.getTarget());
            Assert.AreEqual(0, rl.getTargetVector(0).Count);

            xm.setPartUsage(EnumPartUsage.Explicit);
            Assert.AreEqual(null, rl.getTarget());
            Assert.AreEqual(0, rl.getTargetVector(0).Count);

            xm.setPartUsage(EnumPartUsage.Implicit);
            Assert.AreEqual(xmPart, rl.getTarget());
            Assert.AreEqual(1, rl.getTargetVector(0).Count);

            xm.setPartUsage(EnumPartUsage.Sparse);
            Assert.AreEqual(xmPart, rl.getTarget());
            Assert.AreEqual(1, rl.getTargetVector(0).Count);
        }
Ejemplo n.º 3
0
        ///
        ///	 * <param name="icsLevel"> </param>
        ///
        protected internal virtual void initPlateXM(EnumUsage usage)
        {
            JDFResourceLink rl = null;

            if (thePreviousNode != null) // either input (for cp, or output for
            // plateset)
            {
                rl = theNode.linkResource(thePreviousNode.getResource(ElementName.EXPOSEDMEDIA, null, 0), usage, null);
            }

            if (rl == null && theParentNode != null)
            {
                rl = theNode.ensureLink(theParentNode.getResource(ElementName.EXPOSEDMEDIA, null, 0), usage, null);
            }

            JDFExposedMedia xm = (JDFExposedMedia)theNode.getCreateResource(ElementName.EXPOSEDMEDIA, usage, 0);

            xm.setPartUsage(EnumPartUsage.Explicit);
            rl = theNode.getLink(xm, null);

            JDFMedia m = ((JDFExposedMedia)xm.getLeaves(false)[0]).getMedia();

            if (m == null)
            {
                m = initPlateMedia();
            }
            else
            {
                m = (JDFMedia)m.getResourceRoot();
                if (theParentNode != null)
                {
                    theNode.ensureLink(theParentNode.getResource("Media", EnumUsage.Input, 0), EnumUsage.Input, null);
                }
            }
            xm.setResStatus(EnumResStatus.Unavailable, false);
            if (!bPartitionedPlateMedia && xm.getMedia() == null)
            {
                xm.refElement(m);
            }
            if (EnumUsage.Input.Equals(usage))
            {
                rl.setProcessUsage(EnumProcessUsage.Plate);
                JDFResourceLink link = theNode.getLink(m, null);
                if (link != null)
                {
                    link.deleteNode();
                }
            }

            if (vParts != null)
            {
                for (int i = 0; i < vParts.Count; i++)
                {
                    JDFAttributeMap part  = new JDFAttributeMap(vParts[i]);
                    JDFResource     xmp   = xm.getCreatePartition(part, partIDKeys);
                    int             ncols = "Front".Equals(part.get("Side")) ? nCols[0] : nCols[1];

                    for (int j = 0; j < ncols; j++)
                    {
                        part.put(EnumPartIDKey.Separation, cols.stringAt(j));
                        xmp.getCreatePartition(part, partIDKeys);
                    }
                }
                if (bPartitionedPlateMedia)
                {
                    VJDFAttributeMap vSheets = getReducedMap(new VString("Side Separation PartVersion", null));
                    for (int i = 0; i < vSheets.Count; i++)
                    {
                        JDFAttributeMap part = new JDFAttributeMap(vSheets[i]);
                        JDFExposedMedia xmp  = (JDFExposedMedia)xm.getCreatePartition(part, partIDKeys);
                        if (xmp.getMedia() == null)
                        {
                            xmp.refMedia((JDFMedia)m.getCreatePartition(part, null));
                        }
                    }
                }
            }
        }