コード例 #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> 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);
        }
コード例 #2
0
ファイル: JDFSourceResource.cs プロジェクト: cip4/JDFLibNet
        ///
        ///	 <summary> * gets the link of the linked route
        ///	 *
        ///	 * @return </summary>
        ///
        public virtual JDFResource getLinkRoot()
        {
            JDFRefElement refElement = getRefElement();
            JDFResource   r          = null;

            if (refElement != null)
            {
                r = refElement.getLinkRoot(null);
            }
            return(r);
        }
コード例 #3
0
        ///
        ///	 <summary> * version fixing routine for JDF
        ///	 *
        ///	 * uses heuristics to modify this element and its children to be compatible
        ///	 * with a given version in general, it will be able to move from low to high
        ///	 * versions but potentially fail when attempting to move from higher to
        ///	 * lower versions
        ///	 *  </summary>
        ///	 * <param name="version">
        ///	 *            : version that the resulting element should correspond to </param>
        ///	 * <returns> true if successful </returns>
        ///
        public override bool fixVersion(EnumVersion version)
        {
            bool bRet = true;

            if (version != null)
            {
                if (version.getValue() >= EnumVersion.Version_1_3.getValue())
                {
                    if (hasAttribute(AttributeName.SOURCESHEET))
                    {
                        string sourceSheet = getSourceSheet();

                        JDFRefElement layoutRef = (JDFRefElement)getElement_KElement("LayoutRef", null, 0);
                        if (layoutRef != null)
                        {
                            JDFLayout lo = (JDFLayout)layoutRef.getLinkRoot(layoutRef.getrRef());
                            if (lo != null)
                            {
                                lo.fixVersion(version);
                            }

                            layoutRef.setPartMap(new JDFAttributeMap(AttributeName.SHEETNAME, sourceSheet));
                            lo = (JDFLayout)layoutRef.getTarget();
                            layoutRef.setPartMap(lo.getPartMap());
                        }
                        removeAttribute(AttributeName.SOURCESHEET);
                    }
                }
                else
                {
                    JDFLayout layout = getLayout();
                    if (layout != null)
                    {
                        string sourcesheet = layout.getSheetName();
                        setSourceSheet(sourcesheet);
                        JDFRefElement layoutRef = (JDFRefElement)getElement_KElement("LayoutRef", null, 0);
                        // JDF 1.2 layout should be unpartitioned
                        if (layoutRef != null)
                        {
                            // JDF 1.2 layout should be unpartitioned
                            layoutRef.removeChild(ElementName.PART, null, 0);
                        }
                    }
                }
            }
            return(base.fixVersion(version) && bRet);
        }