Beispiel #1
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> 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);
        }
Beispiel #2
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> 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);
        }
Beispiel #3
0
        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"));
        }
Beispiel #4
0
        ///
        ///	 <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);
        }
Beispiel #5
0
        ///
        ///	 * <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);
                    }
                }
            }
        }
Beispiel #6
0
        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");
        }
Beispiel #7
0
        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)));
        }
Beispiel #8
0
        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);
        }
Beispiel #9
0
        ///
        ///	 <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);
        }
Beispiel #10
0
        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);
        }
Beispiel #11
0
        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");
        }
Beispiel #12
0
        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 ...");
        }
Beispiel #13
0
        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);
            }
        }
Beispiel #14
0
        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");
        }
Beispiel #15
0
        ///
        ///	 <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);
        }
Beispiel #16
0
        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");
        }
Beispiel #17
0
        ///
        ///	 <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);
        }
Beispiel #18
0
        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");
        }
Beispiel #19
0
        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);
        }
Beispiel #20
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");
        }
Beispiel #21
0
        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);
        }
Beispiel #22
0
        ///
        ///	 * <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);
        }
Beispiel #23
0
        ///
        ///	 <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);
                        }
                    }
                }
            }
        }
Beispiel #24
0
        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);
        }
Beispiel #25
0
        //
        //	 * (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);
        }
Beispiel #26
0
            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;
                    }
                }
            }
Beispiel #27
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);
        }
Beispiel #28
0
        ///
        ///	 <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();
                }
            }
        }
Beispiel #29
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");
            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);
        }
Beispiel #30
0
        ///
        ///	 * <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);
        }