Пример #1
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 ...");
        }
Пример #2
0
        public virtual void testPlannedWasteICS()
        {
            JDFAmountPool ap   = rlOut.getCreateAmountPool();
            JDFAmountPool apIn = rlMediaIn.getCreateAmountPool();

            JDFComponent    cover = (JDFComponent)outComp.addPartition(EnumPartIDKey.SheetName, "Cover");
            JDFAttributeMap map   = cover.getPartMap();

            ap.appendXMLComment("Want 10000-10400 good cover sheets and allow for 500 waste cover sheets", null);
            map.put(EnumPartIDKey.Condition, "Good");
            rlOut.setAmount(10000, map);
            rlOut.setMaxAmount(10400, map);
            apIn.appendXMLComment("Amount[Good]: planned consumption for good production\n" + "MaxAmount[Good]: planned maximum consumption for good production\n" + "MaxAmount[Waste]: planned Media for waste", null);
            rlMediaIn.setAmount(10500, map);
            map.put(EnumPartIDKey.Condition, "Waste");
            rlMediaIn.setMaxAmount(500, map);

            ap.appendXMLComment("Want 20000 good first insert sheets and allow for 200 waste insert sheets", null);
            JDFComponent sheet1 = (JDFComponent)outComp.addPartition(EnumPartIDKey.SheetName, "Sheet1");

            map = sheet1.getPartMap();
            map.put(EnumPartIDKey.Condition, "Good");
            rlOut.setAmount(20000, map);
            rlOut.setMaxAmount(20800, map);
            rlMediaIn.setAmount(21000, map);
            map.put(EnumPartIDKey.Condition, "Waste");
            rlMediaIn.setMaxAmount(200, map);

            ap.appendXMLComment("Want 20000 good second insert sheets and allow for 100 waste insert sheets", null);
            JDFComponent sheet2 = (JDFComponent)outComp.addPartition(EnumPartIDKey.SheetName, "Sheet2");

            map = sheet2.getPartMap();
            map.put(EnumPartIDKey.Condition, "Good");
            rlOut.setAmount(20000, map);
            rlOut.setMaxAmount(20800, map);
            rlMediaIn.setAmount(20900, map);
            map.put(EnumPartIDKey.Condition, "Waste");
            rlMediaIn.setMaxAmount(100, map);

            d.write2File(sm_dirTestDataTemp + "plannedWasteICS.jdf", 2, true);

            //
            //		 * map=cover.getPartMap(); map.put(EnumPartIDKey.Condition, "Good");
            //		 * rl.getAmountPool().getPartAmount(map,0).appendXMLComment(
            //		 * "Actually produced covers: 10200\nWaste put on output stack:100");
            //		 * rlIn.getAmountPool().getPartAmount(map,0).appendXMLComment(
            //		 * "Total consumed sheets: 10400\nOf that: sheets wasted: 200");
            //		 * rl.setActualAmount(10200, map); rlIn.setActualAmount(10200, map);
            //		 * map.put(EnumPartIDKey.Condition, "Waste"); rl.setActualAmount(100,
            //		 * map); rlIn.setActualAmount(200, map);
            //		 *
            //		 * d.write2File(sm_dirTestDataTemp+"actualWasteICS.jdf", 2, true);
            //
        }
Пример #3
0
        public virtual void testDirectProof()
        {
            n.setXMLComment("Example workflow with initioal warmup phase, one direct proof and 100 copies of 10 sheets each.\n" + "The direct proof is acceptable and included in the good output");
            digiParams.setDirectProofAmount(1);
            digiParams.setXMLComment("1 initial proof is requested");
            rlComp.setAmount(100, null);
            JDFAuditPool ap = n.getAuditPool();

            VElement vRL = new VElement();

            vRL.Add(rlComp);
            vRL.Add(rlMedia);

            StatusCounter stCounter = new StatusCounter(n, null, vRL);

            stCounter.setDeviceID("MyDevice");
            string mediaRef = rlMedia.getrRef();

            stCounter.setTrackWaste(mediaRef, true);
            string compRef = rlComp.getrRef();

            stCounter.setTrackWaste(compRef, false);

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

            stCounter.setPhase(EnumNodeStatus.InProgress, "Waste", EnumDeviceStatus.Running, null);
            ap.getLastPhase(null, null).setXMLComment("Phase where warm up waste is produced");
            stCounter.addPhase(mediaRef, 0, 2, true);
            stCounter.addPhase(compRef, 0, 20, true);

            stCounter.setPhase(EnumNodeStatus.InProgress, "Waste", EnumDeviceStatus.Running, null);

            stCounter.setPhase(EnumNodeStatus.InProgress, "Good", EnumDeviceStatus.Running, null);
            stCounter.addPhase(mediaRef, 1, 0, true);
            stCounter.addPhase(compRef, 10, 0, true);
            stCounter.setPhase(EnumNodeStatus.InProgress, "Good", EnumDeviceStatus.Running, null);
            ap.getLastPhase(null, null).setXMLComment("Phase where 1 proof is produced");

            stCounter.setPhase(EnumNodeStatus.Stopped, "WaitForApproval", EnumDeviceStatus.Stopped, null);
            ap.getLastPhase(null, null).setXMLComment("Phase where the proof is evaluated while the device is stopped");
            stCounter.setPhase(EnumNodeStatus.InProgress, "Good", EnumDeviceStatus.Running, null);

            stCounter.addPhase(mediaRef, 99, 0, true);
            stCounter.addPhase(compRef, 990, 0, true);
            stCounter.setPhase(EnumNodeStatus.InProgress, "Good", EnumDeviceStatus.Running, null);
            ap.getLastPhase(null, null).setXMLComment("Phase where the 100 copies are produced");

            stCounter.setPhase(EnumNodeStatus.Completed, "Idle", EnumDeviceStatus.Idle, null);
            stCounter.setResourceAudit(mediaRef, EnumReason.ProcessResult);
            doc.write2File(sm_dirTestDataTemp + "DigiPrintProof_final.jdf", 2, false);
        }
Пример #4
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);
        }
Пример #5
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);
            }
        }
Пример #6
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");
        }
Пример #7
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);
        }
Пример #8
0
        ///
        ///	 * <param name="icsLevel"> </param>
        ///
        protected internal virtual JDFComponent initOutputComponent()
        {
            if (thePreviousNode != null)
            {
                JDFResource parentOutComp = thePreviousNode.getResource(ElementName.COMPONENT, EnumUsage.Output, 0);
                if (parentOutComp != null)
                {
                    theNode.linkResource(parentOutComp, EnumUsage.Input, null);
                }
            }
            JDFComponent outComp = (JDFComponent)(theParentNode != null ? theParentNode.getResource(ElementName.COMPONENT, EnumUsage.Output, 0) : null);

            if (outComp == null)
            {
                outComp = (JDFComponent)theNode.getCreateResource(ElementName.COMPONENT, EnumUsage.Output, 0);
                outComp.setComponentType(EnumComponentType.FinalProduct, EnumComponentType.Sheet);
                outComp.setProductType("Unknown");
            }
            else
            {
                theNode.linkResource(outComp, EnumUsage.Output, null);
            }

            JDFResourceLink rl = theNode.getLink(outComp, EnumUsage.Output);

            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];
                        JDFResource     partComp = outComp.getCreatePartition(part, partIDKeys);
                        partComp.setDescriptiveName("Description for Component part# " + i);
                        JDFAttributeMap newMap = new JDFAttributeMap(part);
                        newMap.put(AttributeName.CONDITION, "Good");
                        rl.setAmount(good, newMap);
                    }
                }
            }
            else
            {
                outComp.setDescriptiveName("MIS-CP output Component");
            }
            // outComp.getCreateLayout();
            JDFMedia inMedia = (JDFMedia)theNode.getResource(ElementName.MEDIA, EnumUsage.Input, 0);

            if (inMedia != null)
            {
                outComp.setDimensions(inMedia.getDimension());
            }
            return(outComp);
        }
Пример #9
0
        public virtual void testPlannedWaste()
        {
            JDFElement.setLongID(false);
            d = new JDFDoc("JDF");
            n = d.getJDFRoot();
            n.setType(EnumType.ConventionalPrinting);
            outComp = (JDFComponent)n.addResource(ElementName.COMPONENT, null, EnumUsage.Output, null, null, null, null);
            rlOut   = n.getLink(outComp, null);
            JDFAmountPool ap = rlOut.getCreateAmountPool();

            JDFComponent    cover = (JDFComponent)outComp.addPartition(EnumPartIDKey.SheetName, "Cover");
            JDFAttributeMap map   = cover.getPartMap();

            ap.appendXMLComment("Want 10000-10500 good cover sheets and allow for 500 waste cover sheets", null);
            map.put(EnumPartIDKey.Condition, "Good");
            rlOut.setAmount(10000, map);
            rlOut.setMaxAmount(10500, map);
            map.put(EnumPartIDKey.Condition, "Waste");
            rlOut.setMaxAmount(500, map);

            ap.appendXMLComment("Want 20000 good first insert sheets and allow for 200 waste insert sheets", null);
            JDFComponent sheet1 = (JDFComponent)outComp.addPartition(EnumPartIDKey.SheetName, "Sheet1");

            map = sheet1.getPartMap();
            map.put(EnumPartIDKey.Condition, "Good");
            rlOut.setAmount(20000, map);
            map.put(EnumPartIDKey.Condition, "Waste");
            rlOut.setMaxAmount(200, map);

            ap.appendXMLComment("Want 20000 good second insert sheets and allow for 200 waste insert sheets", null);
            JDFComponent sheet2 = (JDFComponent)outComp.addPartition(EnumPartIDKey.SheetName, "Sheet2");

            map = sheet2.getPartMap();
            map.put(EnumPartIDKey.Condition, "Good");
            rlOut.setAmount(20000, map);
            map.put(EnumPartIDKey.Condition, "Waste");
            rlOut.setMaxAmount(100, map);

            d.write2File(sm_dirTestDataTemp + "plannedWaste.jdf", 2, true);
        }
Пример #10
0
        public virtual void testAmount()
        {
            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");

            // create a pallet partition - may also use the root
            JDFComponent compPallet = (JDFComponent)comp.addPartition(EnumPartIDKey.DeliveryUnit0, "Pallet");

            JDFComponent compBox      = (JDFComponent)compPallet.addPartition(EnumPartIDKey.DeliveryUnit1, "Box");
            JDFBundle    bundlePallet = compPallet.appendBundle();

            bundlePallet.setDescriptiveName("Bundle describing 100 boxes with 5000 Brochures Contents total");
            bundlePallet.setTotalAmount(5000);
            bundlePallet.setBundleType(EnumBundleType.Pallet);
            JDFBundleItem biBoxes = bundlePallet.appendBundleItem();

            biBoxes.refElement(compBox);
            biBoxes.setAmount(100);

            JDFComponent compBrochure = (JDFComponent)compBox.addPartition(EnumPartIDKey.DeliveryUnit2, "Brochure");
            JDFBundle    bundleBox    = compBox.appendBundle();

            bundleBox.setDescriptiveName("Bundle describing 1 boxes with 50 Brochures Contents per box");
            bundleBox.setTotalAmount(50);
            bundleBox.setBundleType(EnumBundleType.Box);

            JDFBundleItem biBrochures = bundleBox.appendBundleItem();

            biBrochures.refElement(compBrochure);
            biBrochures.setAmount(50);

            JDFBundle bundleBrochure = compBrochure.appendBundle();

            bundleBrochure.setDescriptiveName("Dummy Bundle to inhibit inheritence of the box Bundle");
            d.write2File(sm_dirTestDataTemp + "MISFinAmount.jdf", 2, false);
        }
Пример #11
0
        public override void setUp()
        {
            d       = creatXMDoc();
            n       = d.getJDFRoot();
            xpMedia = (JDFExposedMedia)n.getMatchingResource("ExposedMedia", null, null, 0);
            JDFResourceLink rlxp = n.getLink(xpMedia, null);

            rlxp.setAmount(100, null);
            sc       = new StatusCounter(n, null, null);
            deviceID = "Status-counter-TestDevice";
            sc.setDeviceID(deviceID);
            resID = xpMedia.getID();
            sc.setFirstRefID(resID);
            sc.addPhase(resID, 200, 0, true);
            employee = (JDFEmployee) new JDFDoc("Employee").getRoot();
            employee.setPersonalID("P1");
            base.setUp();
        }
Пример #12
0
        ///
        ///	 <summary> * initialize deliveryintent and also output component
        ///	 *  </summary>
        ///	 * <param name="amount"> </param>
        ///
        protected internal virtual JDFDeliveryIntent initDeliveryIntent(int amount)
        {
            JDFDeliveryIntent di = (JDFDeliveryIntent)theNode.addResource(ElementName.DELIVERYINTENT, EnumUsage.Input);
            JDFDate           d  = new JDFDate();

            d.addOffset(0, 0, 0, 7);
            di.appendRequired().setPreferred(d);
            if (amount > 0)
            {
                JDFComponent      outComp = (JDFComponent)theNode.getCreateResource(ElementName.COMPONENT, EnumUsage.Output, 0);
                JDFDropItemIntent dit     = di.appendDropIntent().appendDropItemIntent();
                dit.refElement(outComp);
                dit.setAmount(amount);
                JDFResourceLink rl = theNode.getLink(outComp, null);
                rl.setAmount(amount, null);
            }

            di.setResStatus(EnumResStatus.Available, false);
            di.preferredToActual();
            return(di);
        }
Пример #13
0
        public virtual void testAmount()
        {
            rlComp.setAmount(20, null);
            rlComp.setDescriptiveName("The link points to 20 planned and 20 good + 2 Waste brochures");

            JDFMiscConsumable mc = (JDFMiscConsumable)n.appendMatchingResource(ElementName.MISCCONSUMABLE, EnumProcessUsage.AnyInput, null);

            mc.setResStatus(EnumResStatus.Available, false);
            mc.setConsumableType("FooBar");
            mc.setUnit("Fnarfs");
            mc.setDescriptiveName("FooBars are always measured in Fnarfs");
            JDFResourceLink rlmc = n.getLink(mc, null);

            rlmc.setAmount(42, null);
            rlmc.setDescriptiveName("The link points to 42 actual FooBars");

            JDFUsageCounter uc = (JDFUsageCounter)n.appendMatchingResource(ElementName.USAGECOUNTER, EnumProcessUsage.AnyInput, null);

            uc.setResStatus(EnumResStatus.Available, false);
            uc.setCounterTypes(new VString("Click", " "));
            JDFResourceLink rlu = n.getLink(uc, null);

            rlu.setAmount(200, null);
            rlu.setDescriptiveName("The link points to 200 actual clicks");

            rlMedia.setAmount(100, null);
            rlMedia.setDescriptiveName("The link points to 100 actual sheets");

            Thread.Sleep(1000);
            comp.setResStatus(EnumResStatus.Available, true);

            VElement vRL = new VElement();

            vRL.Add(rlComp);
            vRL.Add(rlu);
            vRL.Add(rlMedia);
            vRL.Add(rlmc);
            StatusUtil stUtil = new StatusUtil(n, null, vRL);

            stUtil.setDeviceID("MyDevice");
            stUtil.setTrackWaste(rlMedia, true);
            stUtil.setTrackWaste(rlComp, true);
            stUtil.setCopyResInResInfo(rlu, true);

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

            AmountBag[] bags = new AmountBag[vRL.Count];
            bags[0] = new AmountBag(rlComp.getrRef());
            bags[1] = new AmountBag(rlu.getrRef());
            bags[2] = new AmountBag(rlMedia.getrRef());
            bags[3] = new AmountBag(rlmc.getrRef());
            stUtil.setPhase(EnumNodeStatus.InProgress, "Waste", EnumDeviceStatus.Running, null, bags);
            JDFDoc docStatusJMF = stUtil.getDocJMFPhaseTime();

            docStatusJMF.write2File(sm_dirTestDataTemp + "DigiPrintAmountStatus0.jmf", 2, false);
            JDFDoc docResJMF = stUtil.getDocJMFResource();

            docResJMF.write2File(sm_dirTestDataTemp + "DigiPrintAmountResource0.jmf", 2, false);

            bags[0].addPhase(0, 2, true);
            bags[1].addPhase(0, 20, true);
            bags[2].addPhase(0, 10, true);
            bags[3].addPhase(0, 0, true);
            stUtil.setPhase(EnumNodeStatus.InProgress, "Waste", EnumDeviceStatus.Running, null, bags);
            docStatusJMF = stUtil.getDocJMFPhaseTime();
            docStatusJMF.write2File(sm_dirTestDataTemp + "DigiPrintAmountStatus1.jmf", 2, false);
            docResJMF = stUtil.getDocJMFResource();
            docResJMF.write2File(sm_dirTestDataTemp + "DigiPrintAmountResource1.jmf", 2, false);

            bags[0].addPhase(15, 0, true);
            bags[1].addPhase(150, 0, true);
            bags[2].addPhase(75, 0, true);
            bags[3].addPhase(32, 0, true);
            stUtil.setPhase(EnumNodeStatus.InProgress, "Good", EnumDeviceStatus.Running, null, bags);
            docStatusJMF = stUtil.getDocJMFPhaseTime();
            docStatusJMF.write2File(sm_dirTestDataTemp + "DigiPrintAmountStatus2.jmf", 2, false);
            docResJMF = stUtil.getDocJMFResource();
            docResJMF.write2File(sm_dirTestDataTemp + "DigiPrintAmountResource2.jmf", 2, false);

            bags[0].addPhase(5, 0, false);
            bags[1].addPhase(50, 0, false);
            bags[2].addPhase(25, 0, false);
            bags[3].addPhase(11, 0, false);
            stUtil.setPhase(EnumNodeStatus.InProgress, "Good", EnumDeviceStatus.Running, null, bags);
            docStatusJMF = stUtil.getDocJMFPhaseTime();
            docStatusJMF.write2File(sm_dirTestDataTemp + "DigiPrintAmountStatus3.jmf", 2, false);
            docResJMF = stUtil.getDocJMFResource();
            docResJMF.write2File(sm_dirTestDataTemp + "DigiPrintAmountResource3.jmf", 2, false);

            bags[0].addPhase(0, 0, true);
            bags[1].addPhase(0, 0, true);
            bags[2].addPhase(0, 0, true);
            bags[3].addPhase(0, 0, true);
            stUtil.setPhase(EnumNodeStatus.Completed, "Idle", EnumDeviceStatus.Idle, null, bags);
            docStatusJMF = stUtil.getDocJMFPhaseTime();
            docStatusJMF.write2File(sm_dirTestDataTemp + "DigiPrintAmountStatus4.jmf", 2, false);
            docResJMF = stUtil.getDocJMFResource();
            docResJMF.write2File(sm_dirTestDataTemp + "DigiPrintAmountResource4.jmf", 2, false);

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