Beispiel #1
0
		/// <summary>
		/// Look at the part ref label for a possible duplicated node suffix to put on the new label.
		/// Will be of the format "(x)" where x is a digit, except there could be more than one
		/// separated by spaces.
		/// </summary>
		/// <param name="partRefNode"></param>
		/// <returns></returns>
		public static string GetPossibleLabelSuffix(XmlNode partRefNode)
		{
			var label = partRefNode.GetOptionalStringAttribute(LabelAttr, string.Empty);
			if (string.IsNullOrEmpty(label))
				return string.Empty;
			var regexp = new Regex(LabelRegExString);
			var match = regexp.Match(label);
			// if there's a match, we want everything after the index
			return match.Success ? label.Substring(match.Index) : string.Empty;
		}
Beispiel #2
0
		/// <summary>
		/// Look at the part ref param attribute for a possible duplicated node suffix to copy to
		/// the new param attribute.
		/// Will be of the format "%0x" where x is a digit.
		/// </summary>
		/// <param name="partRefNode"></param>
		/// <returns></returns>
		public static string GetPossibleParamSuffix(XmlNode partRefNode)
		{
			var param = partRefNode.GetOptionalStringAttribute(ParamAttr, string.Empty);
			if (string.IsNullOrEmpty(param))
				return string.Empty;
			var index = param.IndexOf(kcMarkNodeCopy);
			if (index > 0)
				return param.Substring(index);
			return string.Empty;
		}
Beispiel #3
0
 public static string GetId(XmlNode e)
 {
     return e.GetOptionalStringAttribute("id", string.Empty);
 }
Beispiel #4
0
		private void CheckForAndReattachLayoutParamSuffix(XmlNode workingNode)
		{
			if (string.IsNullOrEmpty(m_layoutParamAttrSuffix) ||
				string.IsNullOrEmpty(workingNode.GetOptionalStringAttribute(ParamAttr, string.Empty)))
				return; // nothing to do

			var xaParam = workingNode.Attributes[ParamAttr];
			xaParam.Value = xaParam.Value + m_layoutParamAttrSuffix;
		}
Beispiel #5
0
		private void FixUpPartRefLabelAttrForDupNode(XmlNode partRefNode, string dupKey)
		{
			if (string.IsNullOrEmpty(partRefNode.GetOptionalStringAttribute(LabelAttr, string.Empty)))
				return; // nothing to do

			var xaLabel = partRefNode.Attributes[LabelAttr];
			string suffix;
			if (m_labelAttrSuffix.TryGetValue(dupKey, out suffix))
			{
				xaLabel.Value = xaLabel.Value + suffix;
			}
		}
Beispiel #6
0
        //
        //        public void WriteXml(XmlWriter writer)
        //        {
        //            writer.WriteStartElement("MergeSituation");
        //            writer.WriteAttributeString("PathToFileInRepository",this.PathToFileInRepository);
        //            writer.WriteEndElement();
        //        }
        public static MergeSituation FromXml(XmlNode node)
        {
            var modeLabel = node.GetOptionalStringAttribute("conflictHandlingMode",
                                                            string.Empty);

            MergeOrder.ConflictHandlingModeChoices mode;

            try
            {
                mode =
                    (MergeOrder.ConflictHandlingModeChoices)
                    Enum.Parse(typeof (MergeOrder.ConflictHandlingModeChoices),
                               modeLabel);
            }
            catch (Exception)
            {
                mode = MergeOrder.ConflictHandlingModeChoices.Unknown;
            }

            //Note, we can't use the normal construtor, because it switches who is alpha/beta
            //depending on the conflict handling mode.  We don't want to switch them again
            //when we're re-constituting the situation
            var situation = new MergeSituation(node.GetStringAttribute("path"), mode);
            situation.AlphaUserId = node.GetStringAttribute("alphaUserId");
            situation.AlphaUserRevision = node.GetStringAttribute("alphaUserRevision");
            situation.BetaUserId = node.GetStringAttribute("betaUserId");
            situation.BetaUserRevision = node.GetStringAttribute("betaUserRevision");
            return situation;
        }
Beispiel #7
0
        public static ContextDescriptor CreateFromXml(XmlNode xmlRepresentation)
        {
            var path = xmlRepresentation.GetOptionalStringAttribute("contextPath", "missing");
            var label = xmlRepresentation.GetOptionalStringAttribute("contextDataLabel", "missing");

            return new ContextDescriptor(label, path);
        }