Пример #1
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);
        }
Пример #2
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);
            }
        }
Пример #3
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");
        }
Пример #4
0
        public virtual void testAmountPalletteCompleteManifest()
        {
            JDFElement.setLongID(false);
            JDFDoc  d = new JDFDoc("JDF");
            JDFNode n = d.getJDFRoot();

            n.setType(EnumType.ProcessGroup);
            n.setTypes(new VString("Binding Stacking BoxPacking Palletizing", " "));
            JDFComponent    comp = (JDFComponent)n.addResource(ElementName.COMPONENT, null, EnumUsage.Output, null, null, null, null);
            JDFResourceLink rl   = n.getLink(comp, null);

            rl.setAmount(2, null);
            rl.setDescriptiveName("The link point to 2 pallets with a total comtent of 10000 brochures in 200 boxes");
            JDFComponent compBrochure = (JDFComponent)n.addResource(ElementName.COMPONENT, null, EnumUsage.Input, null, null, null, null);

            compBrochure.setResStatus(EnumResStatus.Available, true);
            compBrochure.setDescriptiveName("The individual Brochures");
            JDFResourceLink rlB = n.getLink(compBrochure, null);

            rlB.setAmount(10000, null);
            rlB.setActualAmount(9700, null);

            for (int i = 0; i < 2; i++)
            {
                // create a pallet partition - may also use the root
                JDFComponent compPallet = (JDFComponent)comp.addPartition(EnumPartIDKey.DeliveryUnit0, "Pallet" + i);
                compPallet.setProductID("Pallet_" + i);

                JDFBundle bundlePallet = compPallet.getCreateBundle();
                int       nBox         = i == 0 ? 100 : 94;
                bundlePallet.setDescriptiveName("Pallet Bundle describing " + nBox + " boxes with " + nBox * 50 + " Brochures Contents total");
                bundlePallet.setTotalAmount(nBox * 50);
                bundlePallet.setBundleType(EnumBundleType.Pallet);

                for (int j = 0; j < nBox; j++)
                {
                    JDFBundleItem biBoxes = bundlePallet.appendBundleItem();
                    JDFComponent  compBox = (JDFComponent)compPallet.addPartition(EnumPartIDKey.DeliveryUnit1, "Box_" + i + "_" + j);
                    compBox.setProductID("Box_" + i + "_" + j);
                    biBoxes.refElement(compBox);
                    biBoxes.setAmount(1);

                    JDFBundle bundleBox = compBox.appendBundle();
                    bundleBox.setDescriptiveName("Bundle describing box #" + j + " with 50 Brochures Contents per box");
                    bundleBox.setTotalAmount(50);
                    bundleBox.setBundleType(EnumBundleType.Box);

                    JDFBundleItem biBrochures = bundleBox.appendBundleItem();
                    biBrochures.refElement(compBrochure);
                    biBrochures.setAmount(50);
                }
            }

            d.write2File(sm_dirTestDataTemp + "MISFinAmountCompleteManifest.jdf", 2, false);
        }
Пример #5
0
        ///
        ///	 <summary> * apply the parameters in this to all appropriate resources in parentNode or one of parentNode's children
        ///	 *  </summary>
        ///	 * <param name="parentNode"> the node to search in TODO implement resource handling </param>
        ///
        public virtual void applyPipeToNode(JDFNode parentNode)
        {
            if (parentNode == null)
            {
                return;
            }
            VElement vNodes = parentNode.getvJDFNode(null, null, false);

            int size = vNodes.Count;

            for (int i = 0; i < size; i++)
            {
                JDFNode node = (JDFNode)vNodes[i];
                if (!matchesNode(node))
                {
                    continue;
                }
                JDFElement.EnumNodeStatus status = getStatus(); // TODO: set
                // Status
                node.setStatus(status);

                // final boolean isIncremental = (getUpdateMethod () ==
                // EnumUpdateMethod.Incremental);
                double          dAmount = -1.0;
                JDFResourceLink rl      = getResourceLink();

                if (rl != null)
                {
                    JDFResourceLink rlNode = node.getLink(0, rl.Name, new JDFAttributeMap(AttributeName.RREF, rl.getrRef()), null);
                    if (rlNode == null)
                    {
                        throw new JDFException("Applying pipeparams to inconsistent node: missing resourcelink: " + rl.Name);
                    }

                    VJDFAttributeMap vMap = rl.getPartMapVector();
                    if (vMap == null)
                    {
                        vMap = new VJDFAttributeMap();
                        vMap.Add(null);
                    }
                    for (int j = 0; j < vMap.Count; j++)
                    {
                        JDFAttributeMap map = vMap[j];
                        dAmount = rl.getActualAmount(map);
                        rlNode.setActualAmount(dAmount, map);
                    }
                }
            }
        }
Пример #6
0
        public void testUsageCounter()
        {
            JDFElement.setLongID(false);
            JDFDoc  doc  = new JDFDoc("JDF");
            JDFNode root = doc.getJDFRoot();

            root.setType(EnumType.DigitalPrinting);
            JDFUsageCounter uc = (JDFUsageCounter)root.appendMatchingResource(
                ElementName.USAGECOUNTER, EnumProcessUsage.AnyInput, null);

            Assert.IsTrue(uc.isValid(EnumValidationLevel.Incomplete));
            Assert.IsFalse(uc.isValid(EnumValidationLevel.Complete));
            uc.setCounterID("c1");
            uc.setScope(EnumScope.Job);
            uc.setCounterTypes(new VString(
                                   "NormalSize Black OneSided TwoSided Impressions", " "));
            Assert.IsTrue(uc.isValid(EnumValidationLevel.Complete));
            Assert.AreEqual(StringUtil.setvString(uc.getEnumCounterTypes()),
                            StringUtil.setvString(uc.getCounterTypes()));
            JDFResourceLink rl = root.getLink(uc, null);

            rl.setActualAmount(10, null);
            JDFAuditPool     ap = root.getCreateAuditPool();
            JDFResourceAudit ra = (JDFResourceAudit)ap.addAudit(
                EnumAuditType.ResourceAudit, null);

            ra.updateLink(rl);

            JDFUsageCounter uc2 = (JDFUsageCounter)root.appendMatchingResource(
                ElementName.USAGECOUNTER, EnumProcessUsage.AnyInput, null);

            uc2.setCounterID("c2");
            uc2.setScope(EnumScope.Job);
            uc2.setCounterTypes(new VString(
                                    "NormalSize Color OneSided TwoSided Impressions", " "));
            Assert.IsTrue(uc2.isValid(EnumValidationLevel.Complete));
            Assert.AreEqual(StringUtil.setvString(uc2.getEnumCounterTypes()),
                            StringUtil.setvString(uc2.getCounterTypes()));
            rl = root.getLink(uc2, null);
            rl.setActualAmount(20, null);
            ra = (JDFResourceAudit)ap.addAudit(EnumAuditType.ResourceAudit, null);
            ra.updateLink(rl);

            JDFUsageCounter uc3 = (JDFUsageCounter)root.appendMatchingResource(
                ElementName.USAGECOUNTER, EnumProcessUsage.AnyInput, null);

            uc3.setCounterID("c3");
            uc3.setScope(EnumScope.Job);
            uc3.setCounterTypes(new VString(
                                    "LargeSize Black OneSided TwoSided Impressions", " "));
            Assert.IsTrue(uc3.isValid(EnumValidationLevel.Complete));
            Assert.AreEqual(StringUtil.setvString(uc3.getEnumCounterTypes()),
                            StringUtil.setvString(uc3.getCounterTypes()));
            rl = root.getLink(uc3, null);
            rl.setActualAmount(30, null);
            ra = (JDFResourceAudit)ap.addAudit(EnumAuditType.ResourceAudit, null);
            ra.updateLink(rl);

            JDFUsageCounter uc4 = (JDFUsageCounter)root.appendMatchingResource(
                ElementName.USAGECOUNTER, EnumProcessUsage.AnyInput, null);

            uc4.setCounterID("c4");
            uc4.setScope(EnumScope.Job);
            uc4.setCounterTypes(new VString(
                                    "LargeSize Color OneSided TwoSided Impressions", " "));
            Assert.IsTrue(uc4.isValid(EnumValidationLevel.Complete));
            Assert.AreEqual(StringUtil.setvString(uc4.getEnumCounterTypes()),
                            StringUtil.setvString(uc4.getCounterTypes()));
            rl = root.getLink(uc4, null);
            rl.setActualAmount(40, null);
            ra = (JDFResourceAudit)ap.addAudit(EnumAuditType.ResourceAudit, null);
            ra.updateLink(rl);
            Assert.IsTrue(root.isValid(EnumValidationLevel.Incomplete));

            doc.write2File(sm_dirTestDataTemp + "UCList.jdf", 2, false);
        }