Exemple #1
0
        public virtual void testEnumerationState()
        {
            JDFDoc d = new JDFDoc("EnumerationState");
            JDFEnumerationState es = (JDFEnumerationState)d.getRoot();
            VString             v  = new VString();

            v.Add("foo");
            v.Add("bar");

            es.setAllowedValueList(v);
            Assert.IsTrue(es.fitsValue("foo", EnumFitsValue.Allowed));
            Assert.IsTrue(es.fitsValue("bar", EnumFitsValue.Allowed));
            Assert.IsFalse(es.fitsValue("fnarf", EnumFitsValue.Allowed));

            es.setListType(EnumListType.List);
            Assert.IsTrue(es.fitsValue("foo", EnumFitsValue.Allowed));
            Assert.IsTrue(es.fitsValue("foo bar", EnumFitsValue.Allowed));
            Assert.IsTrue(es.fitsValue("foo bar foo", EnumFitsValue.Allowed));
            Assert.IsFalse(es.fitsValue("foo bar fnarf", EnumFitsValue.Allowed));

            es.setListType(EnumListType.CompleteList);
            Assert.IsFalse(es.fitsValue("foo", EnumFitsValue.Allowed));
            Assert.IsTrue(es.fitsValue("foo bar", EnumFitsValue.Allowed));
            Assert.IsTrue(es.fitsValue("bar foo", EnumFitsValue.Allowed));
            Assert.IsFalse(es.fitsValue("foo bar foo", EnumFitsValue.Allowed));
            Assert.IsFalse(es.fitsValue("foo bar fnarf", EnumFitsValue.Allowed));

            // TODO implement more list types
            // es.setListType(EnumListType.OrderedList);
            // Assert.IsFalse(es.fitsValue("foo", EnumFitsValue.Allowed));
            // Assert.IsTrue(es.fitsValue("foo bar", EnumFitsValue.Allowed));
            // Assert.IsFalse(es.fitsValue("bar foo", EnumFitsValue.Allowed));
            // Assert.IsFalse(es.fitsValue("foo bar foo", EnumFitsValue.Allowed));
            // Assert.IsFalse(es.fitsValue("foo bar fnarf", EnumFitsValue.Allowed));
        }
Exemple #2
0
        public virtual void testTokenize()
        {
            string  s = "1 2\n3 \n4   5";
            VString v = new VString();

            v.Add("1");
            v.Add("2");
            v.Add("3");
            v.Add("4");
            v.Add("5");
            CollectionAssert.AreEqual(v, StringUtil.tokenize(s, " \n", false));
        }
Exemple #3
0
        ///
        ///	 <summary> * This function first, gets all required attributes and then compare them with the attributes present and returns a
        ///	 * Vector with the missing attributes
        ///	 *  </summary>
        ///	 * <param name="nMax"> maximum size of the returned Vector
        ///	 *  </param>
        ///	 * <returns> VString vector with the missing attribute names
        ///	 *
        ///	 * @default getMissingAttributes(9999999) </returns>
        ///
        public override VString getMissingAttributes(int nMax)
        {
            VString v = base.getMissingAttributes(nMax);

            if (nMax <= 0 || v.Count <= nMax)
            {
                if (!hasAttribute(AttributeName.MODULEINDEX) && !hasAttribute(AttributeName.MODULEID))
                {
                    v.Add(AttributeName.MODULEID);
                    v.Add(AttributeName.MODULEINDEX);
                }
            }
            return(v);
        }
Exemple #4
0
        ///
        ///	 <summary> * add an element 's' to the Range attribute
        ///	 *  </summary>
        ///	 * <param name="String"> s - the value to add </param>
        ///
        public virtual void addRange(string s)
        {
            VString v = getRange();

            v.Add(s);
            setRange(v);
        }
Exemple #5
0
        ///
        ///     <summary> *  </summary>
        ///
        protected internal virtual JDFColorIntent initColorIntent(JDFNode node, int front, int back, string coatings)
        {
            JDFColorIntent ci  = (JDFColorIntent)node.addResource(ElementName.COLORINTENT, EnumUsage.Input);
            VElement       vci = new VElement();

            nCols[0] = front;
            nCols[1] = back;
            if (front != back && back != 0)
            {
                vci.Add(ci.addPartition(EnumPartIDKey.Side, EnumSide.Front));
                vci.Add(ci.addPartition(EnumPartIDKey.Side, EnumSide.Back));
            }
            else
            {
                vci.Add(ci);
            }

            for (int i = 0; i < vci.Count; i++)
            {
                int     colors  = i == 0 ? front : back;
                VString newCols = new VString();
                for (int j = 0; j < colors; j++)
                {
                    newCols.Add(cols[j]);
                }
                JDFColorIntent cip = (JDFColorIntent)vci[i];
                cip.appendColorsUsed().setSeparations(newCols);
            }
            ci.setResStatus(EnumResStatus.Available, false);
            ci.preferredToActual();
            return(ci);
        }
Exemple #6
0
        private void initMyArgs(string[] argv, string strSwitchParameter, string strArgumentParameter, string strRequiredParameter)
        {
            string[] argvLocal = argv;

            if (argvLocal == null)
            {
                argvLocal = new string[0];
            }

            m_switchParameterString   = strSwitchParameter;
            m_argumentParameterString = strArgumentParameter;
            m_requiredParameterString = strRequiredParameter;

            m_argV     = new VString(argvLocal);
            m_onlyArgs = new VString();

            // cut of the "-" from the options, but don't remove it from file names
            for (int i = 0; i < argvLocal.Length; i++)
            {
                string tempString = argvLocal[i];
                if (tempString.StartsWith("-"))
                {
                    string whazzLeft = tempString.Substring(1);
                    while (whazzLeft.Length > 0)
                    {
                        string flag = whazzLeft.Substring(0, 1);
                        if (m_switchParameterString != null && m_switchParameterString.IndexOf(flag) >= 0)
                        {
                            m_flags.Add(flag);
                            whazzLeft = whazzLeft.Substring(1);
                        }
                        else if (m_argumentParameterString != null && m_argumentParameterString.IndexOf(flag) >= 0)
                        {
                            string wl2 = whazzLeft.Substring(1);
                            if (wl2.Length == 0 && argvLocal.Length > i + 1)
                            {
                                wl2 = argvLocal[i + 1];
                                i++;
                            }
                            m_Parameters.Add(flag, wl2);
                            whazzLeft = "";
                        }
                        else
                        {
                            // oops... don't know it; skip it
                            whazzLeft = whazzLeft.Substring(1);
                            if (!flag.Equals("-"))
                            {
                                Console.WriteLine("unknown flag:" + flag);
                            }
                        }
                    }
                }
                else
                {
                    m_onlyArgs.Add(tempString);
                }
            }
        }
Exemple #7
0
        ///
        ///	 <summary> * Gets the NamePath of this DevCap in form "
        ///	 * <code>DevCapsName/SubelemName1/SubelemName2/...</code>"<br>
        ///	 * If this DevCap is located in DevCapPool and not in a DevCaps, it
        ///	 * describes the reusable resource. In this case DevCap root will have the
        ///	 * attribute "Name" = value of DevCaps/@Name, but will have no info about
        ///	 * <code>DevCaps/@Context</code> or <code>DevCaps/@LinkUsage</code>.
        ///	 * <p>
        ///	 * default: getNamePath(false)
        ///	 *  </summary>
        ///	 * <param name="bRecurse">
        ///	 *            if true, returns "
        ///	 *            <code>DevCapsName/SubelemName1/SubelemName2/...</code>" </param>
        ///	 * <returns> String - NamePath of this DevCap </returns>
        ///
        public VString getNamePathVector()
        {
            string      result  = getDevCapsName();
            EnumContext cont    = getContext();
            VString     vResult = new VString();

            if (cont.Equals(EnumContext.JMF) && (ParentNode is JDFMessageService) && result.Length > 4)
            {
                JDFMessageService serv = (JDFMessageService)ParentNode;
                List <EnumFamily> vf   = serv.getFamilies();
                if (vf != null)
                {
                    int size = vf.Count;
                    for (int i = 0; i < size; i++)
                    {
                        vResult.Add("JMF/" + vf[i].getName() + "/" + result.Substring(4));
                    }
                }

                if (EnumJMFRole.Sender.Equals(serv.getJMFRole()))
                {
                    vResult.Add("JMF/Response/" + result.Substring(4));
                }
            }
            else
            {
                if (cont.Equals(EnumContext.Link))
                {
                    result = ElementName.JDF + "/" + ElementName.RESOURCELINKPOOL + "/" + result;
                }
                else if (cont.Equals(EnumContext.Resource))
                {
                    string nam = result;
                    result = ElementName.JDF + "/" + ElementName.RESOURCEPOOL + "/" + result;
                    for (int i = 0; i < 6; i++)
                    {
                        vResult.Add(result);
                        result = result + "/" + nam;
                    }
                }

                vResult.Add(result);
            }
            return(vResult);
        }
        //
        //	 * // FitsValue Methods
        //

        ///
        ///	 <summary> * fitsValue - tests, if the defined 'value' matches testlists, specified
        ///	 * for this Evaluation
        ///	 *  </summary>
        ///	 * <param name="String">
        ///	 *            value - value to test </param>
        ///	 * <returns> boolean - true, if 'value' matches testlists or if testlists are
        ///	 *         not specified </returns>
        ///
        public override bool fitsValue(string @value)
        {
            VString vs  = new VString(@value, JDFConstants.BLANK);
            int     siz = vs.Count;

            if (siz % 6 != 0)
            {
                return(false);
            }
            VString       matrixList = new VString();
            int           i          = 0;
            StringBuilder sb         = new StringBuilder(250);

            sb.Append(vs[i]);
            while ((i + 1) < siz)
            {
                do
                {
                    sb.Append(JDFConstants.BLANK);
                    i++;
                    sb.Append(vs[i]);
                } while ((i + 1) % 6 != 0);
                matrixList.Add(sb.ToString());
                if ((i + 1) < siz)
                {
                    i++;
                    sb = new StringBuilder(250);
                    sb.Append(vs[i]);
                }
            }

            if (!fitsListType(matrixList))
            {
                return(false);
            }

            for (int k = 0; k < matrixList.Count; k++)
            {
                string    str = matrixList[k];
                JDFMatrix matrix;
                try
                {
                    matrix = new JDFMatrix(str);
                }
                catch (FormatException)
                {
                    return(false);
                }
                if ((fitsRotateMod(matrix) && fitsShift(matrix) && fitsTransforms(matrix) && fitsValueElem(matrix)) == false)
                {
                    return(false);
                }
            }
            return(true);
        }
Exemple #9
0
        ///
        ///	 <summary> * get the keys as a Vector,
        ///	 *
        ///	 * @return </summary>
        ///
        public virtual VString getKeys()
        {
            IEnumerator <string> it = getKeyIterator();
            VString thisKeys        = new VString();

            while (it.MoveNext())
            {
                thisKeys.Add(it.Current);
            }
            return(thisKeys);
        }
Exemple #10
0
        public virtual void testReduceMap()
        {
            JDFAttributeMap m1 = new JDFAttributeMap("a1", "v1");

            m1.put("a2", "v2");
            JDFAttributeMap m2   = new JDFAttributeMap("a1", "v1");
            VString         keys = new VString();

            keys.Add("a1");
            m1.reduceMap(keys);
            Assert.AreEqual(m1, m2);
        }
Exemple #11
0
        protected internal virtual VString getMissingTerms(int iMin)
        {
            VElement v  = getTermVector(null);
            VString  v2 = null;

            if (v.Count < iMin)
            {
                v2 = new VString();
                v2.Add("Term");
            }
            return(v2);
        }
Exemple #12
0
        public virtual void testSetVString()
        {
            VString v = new VString();

            v.Add("1");
            v.Add("22");
            v.Add("333");
            v.Add("4444");
            string s = StringUtil.setvString(v);

            Assert.AreEqual("1 22 333 4444", s, "s");
            s = StringUtil.setvString(v, "", "", "");
            Assert.AreEqual("1223334444", s, "s");
            s = StringUtil.setvString(v, null, null, null);
            Assert.AreEqual("1223334444", s, "s");

            string[] a = new string[v.Count];
            a = v.ToArray();
            s = StringUtil.setvString(a, " ", null, null);
            Assert.AreEqual("1 22 333 4444", s, "s");
        }
Exemple #13
0
        ///
        ///	 <summary> * GetRange
        ///	 *  </summary>
        ///	 * <returns> Vector of strings in Range </returns>
        ///
        private VString getRangeOfferRange(string elementName)
        {
            VString  vL = new VString();
            VElement v  = getChildrenByTagName(elementName, null, null, true, true, 0);

            for (int i = 0; i < v.Count; i++)
            {
                KElement e = v[i];
                vL.Add(e.getText(0));
            }
            return(vL);
        }
Exemple #14
0
        public virtual void testNameState()
        {
            JDFDoc       d  = new JDFDoc("NameState");
            JDFNameState ns = (JDFNameState)d.getRoot();
            VString      nl = new VString();

            nl.Add("anna~berta");
            ns.setAllowedValueList(nl);
            ns.setListType(EnumListType.RangeList);
            Assert.IsTrue(ns.fitsValue("anna~berta", EnumFitsValue.Allowed));
            Assert.IsFalse(ns.fitsValue("hans~otto", EnumFitsValue.Allowed));
            nl.Add("anna~berta hans~otto");
            ns.setAllowedValueList(nl);
            Assert.IsTrue(ns.fitsValue("anna~berta", EnumFitsValue.Allowed));
            Assert.IsTrue(ns.fitsValue("hans~otto", EnumFitsValue.Allowed));
            ns.setAllowedValueList(null);
            ns.setAllowedRegExp("*");
            Assert.IsTrue(ns.fitsValue("hans~otto", EnumFitsValue.Allowed));
            ns.setAllowedRegExp("[ab].*");
            Assert.IsTrue(ns.fitsValue("al", EnumFitsValue.Allowed));
            Assert.IsFalse(ns.fitsValue("cl", EnumFitsValue.Allowed));
        }
Exemple #15
0
        public virtual void testTokenizeDelim()
        {
            string  s = "http://aa/b?c";
            VString v = new VString();

            v.Add("http:");
            v.Add("/");
            v.Add("/");
            v.Add("aa");
            v.Add("/");
            v.Add("b");
            v.Add("?");
            v.Add("c");
            CollectionAssert.AreEqual(v, StringUtil.tokenize(s, "/?", true));
        }
Exemple #16
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 vs = base.getInvalidAttributes(level, bIgnorePrivate, nMax);

            if (nMax > 0 && vs.Count > nMax)
            {
                return(vs);
            }
            if (!EnumValidationLevel.RecursiveComplete.Equals(level) && !EnumValidationLevel.RecursiveIncomplete.Equals(level))
            {
                return(vs);
            }
            if (vs.Contains(AttributeName.DEVCAPREF))
            {
                return(vs);
            }

            if (hasAttribute(AttributeName.DEVCAPREF))
            {
                JDFDevCapPool devCapPool = getDevCapPool();
                if (devCapPool == null)
                {
                    vs.Add(AttributeName.DEVCAPREF);
                    return(vs);
                }
                VString idRefs = getDevCapRef();
                for (int i = 0; i < idRefs.Count; i++)
                {
                    JDFDevCap devCap = devCapPool.getDevCap(idRefs.stringAt(i));
                    if (devCap == null)
                    {
                        vs.Add(AttributeName.DEVCAPREF);
                        return(vs);
                    }
                }
            }
            return(vs);
        }
Exemple #17
0
        ///
        ///	 <summary> * set actual values to the preset defined in preferred
        ///	 *  </summary>
        ///	 * <param name="String">
        ///	 *            key the key of the span resource to modify, if null do all </param>
        ///	 * <returns> number of elements modified </returns>
        ///
        public virtual int preferredToActual(string key)
        {
            int nDone = 0;

            if (!isLeaf())
            {
                VElement leaves = getLeaves(false);
                for (int i = 0; i < leaves.Count; i++)
                {
                    JDFIntentResource ri = (JDFIntentResource)leaves[i];
                    nDone += ri.preferredToActual(key);
                }
                return(nDone);
            }
            VString vKeys = new VString();

            if (KElement.isWildCard(key))
            {
                VElement v = getChildrenByTagName(null, null, new JDFAttributeMap(AttributeName.DATATYPE, (string)null), true, true, 0);
                for (int i = 0; i < v.Count; i++)
                {
                    vKeys.Add(v[i].Name);
                }
            }
            else
            {
                vKeys.Add(key);
            }
            for (int i = 0; i < vKeys.Count; i++)
            {
                JDFSpanBase @base = (JDFSpanBase)getElement(vKeys[i], JDFConstants.EMPTYSTRING, 0);
                if (@base.preferredToActual())
                {
                    nDone++;
                }
            }
            return(nDone);
        }
Exemple #18
0
        ///
        ///	 <summary> * get the missing elements as a vector
        ///	 *  </summary>
        ///	 * <param name="int"> nMax maximum value of missing elements to return
        ///	 *  </param>
        ///	 * <returns> Vector vector with nMax missing elements
        ///	 *
        ///	 *         default: getMissingElements(99999999) </returns>
        ///
        public override VString getMissingElements(int nMax)
        {
            VString v = base.getMissingElements(nMax);

            if (v.Count > nMax)
            {
                return(v);
            }
            if (getRasterFileLocation() == null)
            {
                v.Add("FileSpec[@ResourceUsage=\"RasterFileLocation\"]");
            }
            return(v);
        }
Exemple #19
0
        public virtual void testProcessAllFiles()
        {
            JDFValidator checkJDF = new JDFValidator();

            checkJDF.setPrint(false);
            checkJDF.bQuiet = true;
            checkJDF.level  = EnumValidationLevel.Complete;
            VString files = new VString();

            files.Add(sm_dirTestData + "job.jdf");
            checkJDF.allFiles = files;
            XMLDoc schemaValidationResult = checkJDF.processAllFiles();

            Assert.IsNotNull(schemaValidationResult.getRoot().getXPathElement("TestFile/SchemaValidationOutput"));
            Assert.IsNotNull(schemaValidationResult.getRoot().getXPathElement("TestFile/CheckJDFOutput"));
        }
Exemple #20
0
        public VString getNamePathVector()
        {
            VString           vResult  = new VString();
            List <EnumFamily> families = getFamilies();

            if (families != null)
            {
                int siz = families.Count;
                for (int i = 0; i < siz; i++)
                {
                    vResult.Add(families[i].getName());
                }
            }

            return(vResult);
        }
Exemple #21
0
        public void testFitsValue()
        {
            JDFParser p       = new JDFParser();
            string    strNode = "<NameState Name=\"BitDepth\" DefaultValue=\"1\" AllowedValueList=\"a b c d\"/>";

            JDFDoc       jdfDoc = p.parseString(strNode);
            JDFNameState state  = (JDFNameState)jdfDoc.getRoot();

            VString list = new VString("a b c", null);

            state.setListType(EnumListType.RangeList);
            Assert.IsFalse(state.fitsValue(list.ToString(), EnumFitsValue.Allowed), "ListType=RangeList");

            VString list2 = new VString();

            list2.Add("d"); // 1~-2
        }
Exemple #22
0
        //
        //	 * // FitsValue Methods
        //

        ///
        ///	 <summary> * fitsValue - checks whether <code>value</code> matches the Allowed test
        ///	 * lists or Present test lists specified for this State
        ///	 *  </summary>
        ///	 * <param name="value">
        ///	 *            value to test </param>
        ///	 * <param name="testlists">
        ///	 *            the test lists the value has to match. In this State the test
        ///	 *            lists are RotateMod, Shift, Transforms and ValueElem.<br>
        ///	 *            Choose one of two values: FitsValue_Allowed or
        ///	 *            FitsValue_Present. (Defaults to Allowed)
        ///	 *  </param>
        ///	 * <returns> boolean - true, if the value matches all test lists or if Allowed
        ///	 *         test lists are not specified </returns>
        ///
        public override bool fitsValue(string @value, EnumFitsValue testlists)
        {
            VString vs  = new VString(@value, JDFConstants.BLANK);
            int     siz = vs.Count;

            if (siz % 6 != 0)
            {
                return(false);
            }
            List <JDFMatrix> matrixList = new List <JDFMatrix>();

            for (int i = 0; i < siz; i += 6)
            {
                VString v = new VString();
                v.Capacity = 6;
                for (int j = 0; j < 6; j++)
                {
                    v.Add(vs.stringAt(i + j));
                }

                try
                {
                    JDFMatrix m = new JDFMatrix(StringUtil.setvString(vs, " ", null, null));
                    matrixList.Add(m);
                }
                catch (FormatException)
                {
                    return(false);
                }
            }

            if (fitsListType(matrixList))
            {
                for (int k = 0; k < matrixList.Count; k++)
                {
                    JDFMatrix matrix = matrixList[k];
                    if (!fitsRotateMod(matrix, testlists) || !fitsShift(matrix, testlists) || !fitsTransforms(matrix, testlists) || !fitsValueElem(matrix, testlists))
                    {
                        return(false);
                    }
                }
                return(true);
            }
            return(false);
        }
Exemple #23
0
        public virtual void testGetMinAvailability()
        {
            JDFDoc        d  = new JDFDoc(ElementName.MODULEPOOL);
            JDFModulePool mp = (JDFModulePool)d.getRoot();

            for (int i = 0; i < 4; i++)
            {
                JDFModuleCap mc = mp.appendModuleCap();
                mc.setID("I" + i);
                mc.setAvailability(EnumAvailability.getEnum(i));
            }
            VString s = new VString();

            for (int i = 3; i >= 0; i--)
            {
                s.Add("I" + i);
                Assert.AreEqual(EnumAvailability.getEnum(i), mp.getMinAvailability(s));
            }
        }
Exemple #24
0
        ///
        ///	 <summary> * GetResIds - returns a set of all IDs of the resources that are in this pool
        ///	 *  </summary>
        ///	 * <returns> Vector - all IDs of the pool childs </returns>
        ///
        public virtual VString getResIds()
        {
            VString setID = new VString();

            VElement nl = getPoolChildren(null, null, null);

            int l = nl.Count;

            for (int i = 0; i < l; i++)
            {
                string s = ((JDFResource)nl[i]).getAttribute(AttributeName.ID);
                if (s.Equals(JDFConstants.EMPTYSTRING))
                {
                    continue;
                }
                setID.Add(s);
            }
            return(setID);
        }
Exemple #25
0
        public virtual void testPreflightReport()
        {
            testPreflightProfile();
            JDFPreflightReport prp = (JDFPreflightReport)n.appendMatchingResource(ElementName.PREFLIGHTREPORT, EnumProcessUsage.AnyOutput, null);

            prp.refElement(preparms);
            prp.refElement(inRun);
            prp.refElement(prrp);

            JDFAttributeMap prMap   = new JDFAttributeMap();
            VString         groupBy = new VString();

            prMap.put("CompressionTypes", "JPEG");
            prMap.put("PageNumber", "2");
            groupBy.Add("PageNumber");
            JDFPRItem pi = prp.setPR(aPool.getAction(0), 2, prMap, groupBy);

            Assert.IsNotNull(pi);
            Assert.AreEqual(1, pi.getOccurrences());
            prMap.put("CompressionTypes", "JPEG2000");
            JDFPRItem pi2 = prp.setPR(aPool.getAction(0), 2, prMap, groupBy);

            Assert.IsNotNull(pi2);
            Assert.AreEqual(2, pi2.getOccurrences());
            Assert.AreEqual(pi, pi2);
            prMap.put("PageNumber", "3");
            JDFPRItem pi3 = prp.setPR(aPool.getAction(0), 3, prMap, groupBy);

            Assert.IsNotNull(pi3);
            Assert.AreEqual(3, pi3.getOccurrences());
            Assert.AreEqual(pi3, pi);
            Assert.AreEqual(new JDFIntegerRangeList("2 ~ 3"), pi.getPageSet());
            JDFPRItem pi4 = prp.setPR(aPool.getAction(1), 3, null, null);

            Assert.AreEqual(1, pi4.getOccurrences());
            Assert.AreNotEqual(pi, pi4);
            Assert.AreEqual(new JDFIntegerRangeList("3"), pi4.getPageSet());

            Assert.AreEqual(2, prp.numChildElements(ElementName.PRITEM, null));
            n.getOwnerDocument_KElement().write2File(sm_dirTestDataTemp + "PreflightReport.jdf", 2, false);
        }
Exemple #26
0
        ///
        ///	 <summary> * get list of missing elements
        ///	 *  </summary>
        ///	 * <param name="nMax">
        ///	 *            maximum size of the returned vector </param>
        ///
        public override VString getMissingElements(int nMax)
        {
            VString vs = getTheElementInfo().requiredElements();

            vs = getMissingElementVector(vs, nMax);
            VElement v2 = getChildElementVector_KElement(null, null, null, true, 0);
            int      n  = 0;

            for (int i = 0; i < v2.Count; i++)
            {
                if (v2[i] is JDFRefElement)
                {
                    n++;
                }
            }
            if (n == 0)
            {
                vs.Add("RefElement");
            }

            return(vs);
        }
Exemple #27
0
        ///
        ///	 <summary> * isValid - validates the given String
        ///	 *  </summary>
        ///	 * <param name="s"> the given string
        ///	 *  </param>
        ///	 * <exception cref="FormatException"> - if the String has not a valid format </exception>
        ///
        protected internal virtual void isValid(string s)
        {
            VString vs = new VString();

            //StringTokenizer sToken = new StringTokenizer(s, "~");
            SupportClass.Tokenizer sToken = new SupportClass.Tokenizer(s, "~");

            while (sToken.HasMoreTokens())
            {
                string str = sToken.NextToken();
                vs.Add(str.Trim());
            }

            Left = vs[0];

            if (vs.Count == 2)
            {
                Right = vs[1];
            }
            else
            {
                Right = vs[0];
            }
        }
Exemple #28
0
        public void testFitsValue_MatrixState()
        {
            JDFDoc  jdfDoc = new JDFDoc(ElementName.JDF);
            JDFNode root   = jdfDoc.getJDFRoot();

            JDFMatrix matrix1 = new JDFMatrix("1 0 0 1 3.14 21631.3");
            JDFMatrix matrix2 = new JDFMatrix("0 1 1 0 2 21000");

            List <ValuedEnum> transforms = new List <ValuedEnum>();

            transforms.Add(EnumOrientation.Rotate0);
            transforms.Add(EnumOrientation.Rotate270);
            transforms.Add(EnumOrientation.Flip0);
            JDFRectangle shift = new JDFRectangle("2 4 20000 23000");

            string value1 = "1 0 0 1 3.14 21631.3";

            JDFMatrixState k = (JDFMatrixState)root.appendElement("MatrixState");

            k.appendValue();
            // k.setValueValueUsage(0, EnumFitsValue.Allowed);
            k.setValueAllowedValue(0, matrix2);

            k.appendValue();
            // k.setValueValueUsage(1, EnumFitsValue.Present);
            k.setValueAllowedValue(1, matrix1);

            k.setAllowedTransforms(transforms);
            k.setAllowedShift(shift);
            k.setAllowedRotateMod(15);

            EnumListType lt = EnumListType.UniqueList;

            // JDFAbstractState.EnumListType lt = EnumListType.ListType.Unknown;
            // JDFAbstractState.EnumListType lt = EnumListType.ListType.List;
            k.setListType(lt);
            // EnumListType listType = k.getListType();

            Assert.IsTrue(k.fitsValue(value1, EnumFitsValue.Allowed), "Matrix OK");

            string @value = "1 2 3 4 5 6 7 8 9 10 11 12 3 4 5 6 7 8";

            VString vs  = new VString(@value, JDFConstants.BLANK);
            int     siz = vs.Count;

            Assert.AreEqual(0, siz % 6, "It is not a Matrix");
            VString       matrixList = new VString();
            int           i          = 0;
            StringBuilder sb         = new StringBuilder(250);

            sb.Append(vs[i]);
            while ((i + 1) < siz)
            {
                do
                {
                    sb.Append(JDFConstants.BLANK);
                    i++;
                    sb.Append(vs[i]);
                } while ((i + 1) % 6 != 0);
                matrixList.Add(sb.ToString());
                if ((i + 1) < siz)
                {
                    i++;
                    sb = new StringBuilder(250);
                    sb.Append(vs[i]);
                }
            }
            for (int z = 0; z < matrixList.Count; z++)
            {
                JDFMatrix matrix3 = new JDFMatrix(matrixList.stringAt(z));
                //matrix3.A;
            }
        }
Exemple #29
0
        ///
        ///	 * <param name="n"> </param>
        ///	 * <param name="rlOut"> </param>
        ///
        private void setupLayout(bool complex)
        {
            JDFLayout    lo         = (JDFLayout)n.appendMatchingResource("Layout", EnumProcessUsage.AnyInput, null);
            JDFLayerList ll         = lo.appendLayerList();
            const string layerNames = "BackGround Language";

            VString layers = new VString(layerNames, " ");

            if (complex)
            {
                layers.Add("Currency");
            }

            for (int i = 0; i < layers.Count; i++)
            {
                ll.appendLayerDetails().setName(layers.stringAt(i));
            }

            JDFRunList rlOutDe = (JDFRunList)rlOut.addPartition(EnumPartIDKey.PartVersion, "De");

            rlOutDe.setResStatus(EnumResStatus.Available, true);
            JDFRunList rlOutEn = (JDFRunList)rlOut.addPartition(EnumPartIDKey.PartVersion, "Fr");

            rlOutEn.setResStatus(EnumResStatus.Unavailable, true);
            if (complex)
            {
                JDFRunList rlOutSwiss = (JDFRunList)rlOut.addPartition(EnumPartIDKey.PartVersion, "Ch");
                rlOutSwiss.setResStatus(EnumResStatus.Unavailable, true);
            }

            for (int i = 0; i < 2; i++)
            {
                string     sheetName = "Sheet" + i;
                JDFLayout  lSheet    = (JDFLayout)lo.addPartition(EnumPartIDKey.SheetName, sheetName);
                JDFRunList rlSheet   = (JDFRunList)rlOutDe.addPartition(EnumPartIDKey.SheetName, sheetName);
                for (int j = 0; j < 2; j++)
                {
                    string     side   = j == 0 ? "Front" : "Back";
                    JDFLayout  lSide  = (JDFLayout)lSheet.addPartition(EnumPartIDKey.Side, side);
                    JDFRunList rlSide = (JDFRunList)rlSheet.addPartition(EnumPartIDKey.Side, side);
                    rlSide.setFileURL("file://out/De/" + sheetName + "_" + side + ".tif");
                    for (int k = 0; k < 4; k++)
                    {
                        JDFContentObject poBkg = lSide.appendContentObject();
                        int ord = i * 8 + j * 4 + k;
                        poBkg.setOrd(ord);
                        poBkg.setOrdID(ord);

                        JDFMatrix matrix = new JDFMatrix(1.0, 0.0, 0.0, 1.0, 0.0, 0.0);
                        matrix.shift((k % 2) * 200, (k / 2) * 300);
                        poBkg.setCTM(matrix);
                        poBkg.setLayerID(0);

                        JDFContentObject poLang = lSide.appendContentObject();
                        poLang.setOrd(ord + 16);
                        poLang.setOrdID(ord);
                        poLang.setCTM(matrix);
                        poLang.setLayerID(1);

                        if (complex)
                        {
                            JDFContentObject pOCurr = lSide.appendContentObject();
                            pOCurr.setOrd(ord + 32);
                            pOCurr.setOrdID(ord);
                            pOCurr.setCTM(matrix);
                            pOCurr.setLayerID(2);
                        }
                    }
                }
            }
        }
Exemple #30
0
        public virtual VString copyResource(JDFResource r, JDFResource.EnumSpawnStatus copyStatus, VJDFAttributeMap vParts, string spawnID)
        {
            VString ss = getResIds();
            VString v  = new VString();

            // r is not yet here copy r
            if (!ss.Contains(r.getID()))
            {
                JDFResource rNew = null;
                // if spawning, fix stati and locks
                if (copyStatus == JDFResource.EnumSpawnStatus.SpawnedRO)
                {
                    // copy the complete resource as RO - no need to reduce
                    // partitions
                    r.appendSpawnIDs(spawnID);
                    rNew = (JDFResource)copyElement(r, null);
                    rNew.setLocked(true);
                    r.setSpawnStatus(copyStatus);
                }
                else if (copyStatus == JDFResource.EnumSpawnStatus.SpawnedRW)
                {
                    if (vParts.Count == 0)
                    { // just copy the whole thing - no parts specified
                        r.appendSpawnIDs(spawnID);
                        rNew = (JDFResource)copyElement(r, null);
                        r.setSpawnStatus(copyStatus);
                    }
                    else
                    {
                        rNew = (JDFResource)copyElement(r, null);
                        rNew.reducePartitions(vParts);
                        // reduce any unneeded leaves
                        // loop over all part maps to get best matching resource
                        for (int i = 0; i < vParts.Count; i++)
                        {
                            JDFResource pLeaf    = r.getPartition(vParts[i], null);
                            JDFResource pNewLeaf = rNew.getPartition(vParts[i], null);
                            if (pLeaf != null)
                            {
                                pLeaf.setSpawnStatus(copyStatus);
                                pLeaf.appendSpawnIDs(spawnID);
                            }
                            if (pNewLeaf != null)
                            {
                                pNewLeaf.appendSpawnIDs(spawnID);
                            }
                        }
                    }
                }

                if (rNew != null)
                {
                    v.Add(rNew.getID());
                }
            }

            VString vs = r.getHRefs(null, false, true);

            // add recursively copied resources
            for (int i = 0; i < vs.Count; i++)
            {
                string id = vs[i];
                // the referenced resource is in this pool - continue
                if (ss.Contains(id))
                {
                    continue;
                }

                // the referenced resource has already been merged in - continue
                if (v.Contains(id))
                {
                    continue;
                }

                JDFResource next = (JDFResource)getDocRoot().getTarget(id, AttributeName.ID);
                if (next == null)
                {
                    // 071101 RP added r is by definition in the original document
                    // which also contains the rrefs elements
                    next = (JDFResource)r.getDocRoot().getTarget(id, AttributeName.ID);
                    // and now all those interlinked resources
                    VString vv = copyResource(next, copyStatus, vParts, spawnID);
                    v.AddRange(vv);
                }
            }

            return(v);
        }