public IXMLTransformRule createRule(TransformRuleTypes t, XmlNode node) { XmlNode NextValue = node.SelectSingleNode("NextValue"); if (NextValue == null) { Console.Error.WriteLine("NextValue node missing from SequenceString rule. Skipping."); return(null); } XmlNode path = node.SelectSingleNode("Path"); if (path == null) { Console.Error.WriteLine("Path node missing from SequenceString rule. Skipping."); return(null); } XmlNode Values = node.SelectSingleNode("Values"); if (Values == null) { Console.Error.WriteLine("Values node missing from SequenceString rule. Skipping."); return(null); } if (Int32.TryParse(NextValue.InnerText, out int next_int)) { return(new SequenceTransformRule(new List <string>(Values.InnerText.Split("<~>")), path.InnerText, next_int)); } else { return(null); } }
public IXMLTransformRule createRule(TransformRuleTypes t, XmlNode node) { switch (t) { case TransformRuleTypes.Fixed: return(new FixedTransformRuleFactory().createRule(t, node)); case TransformRuleTypes.Random: return(new RandomTransformRuleFactory().createRule(t, node)); case TransformRuleTypes.RandomInteger: return(new RandomIntegerTransformRuleFactory().createRule(t, node)); case TransformRuleTypes.RepeatNode: return(new RepeatNodeTransformRuleFactory().createRule(t, node)); case TransformRuleTypes.IncrementString: return(new IncrementStringTransformRuleFactory().createRule(t, node)); case TransformRuleTypes.SequenceString: return(new SequenceStringTransformRuleFactory().createRule(t, node)); case TransformRuleTypes.RemoveNode: return(new RemoveNodeTransformRuleFactory().createRule(t, node)); default: throw new Exception("Not valid Transform rule!"); } }
public IXMLTransformRule createRule(TransformRuleTypes t, XmlNode node) { XmlNode path = node.SelectSingleNode("Path"); if (path == null) { Console.Error.WriteLine("No path specified"); return(null); } return(new RemoveNodeTransformRule(path.InnerText)); }
public IXMLTransformRule createRule(TransformRuleTypes t, XmlNode node) { XmlNode fixedString = node.SelectSingleNode("FixedString"); XmlNode path = node.SelectSingleNode("Path"); if (fixedString == null) { Console.Error.WriteLine($"No fixed string in Fixed rule for path"); return(null); } if (path == null) { Console.Error.WriteLine($"No path specified"); return(null); } return(new FixedStringTransformRule(fixedString.InnerText, path.InnerText)); }
public IXMLTransformRule createRule(TransformRuleTypes t, XmlNode node) { XmlNode CurrentValue = node.SelectSingleNode("CurrentValue"); if (CurrentValue == null || CurrentValue.InnerText == string.Empty) { Console.Error.WriteLine("CurrentValue tag is missing in Increment Rule. Skipping."); return(null); } XmlNode path = node.SelectSingleNode("Path"); if (path == null || path.InnerText == string.Empty) { Console.Error.WriteLine("Path is missing from Increment Rule. Skipping."); return(null); } return(new IncrementStringTransformRule(CurrentValue.InnerText, path.InnerText)); }
public IXMLTransformRule createRule(TransformRuleTypes t, XmlNode node) { XmlNode min = node.SelectSingleNode("Min"); if (min == null) { Console.Error.WriteLine("Min tag missing in Random rule. Skipping"); return(null); } XmlNode max = node.SelectSingleNode("Max"); if (max == null) { Console.Error.WriteLine("Max tag missing in Random rule. Skipping"); return(null); } XmlNode path = node.SelectSingleNode("Path"); if (path == null) { Console.Error.WriteLine($"No path specified"); return(null); } XmlNode div = node.SelectSingleNode("Divisor"); if (div == null) { Console.Error.WriteLine("Divisor is missing. Skipping."); return(null); } if (Int32.TryParse(min.InnerText, out int min_int) && Int32.TryParse(max.InnerText, out int max_int) && Int32.TryParse(div.InnerText, out int div_int)) { return(new RandomIntegerTransformRule(min_int, max_int, path.InnerText, div_int)); } else { return(null); } }
public IXMLTransformRule createRule(TransformRuleTypes t, XmlNode node) { XmlNode len = node.SelectSingleNode("Length"); if (len == null) { Console.Error.WriteLine("Length tag missing in Random rule. Skipping"); return(null); } XmlNode allowedChars = node.SelectSingleNode("AllowedChars"); if (allowedChars == null) { Console.Error.WriteLine("AllowedChars tag missing in Random rule. Skipping"); return(null); } XmlNode prefix = node.SelectSingleNode("Prefix"); if (prefix == null) { Console.Error.WriteLine("Prefix tag missing in Random rule. Skipping"); return(null); } XmlNode path = node.SelectSingleNode("Path"); if (path == null) { Console.Error.WriteLine($"No path specified"); return(null); } if (Int32.TryParse(len.InnerText, out int length)) { return(new RandomStringTransformRule(length, path.InnerText, allowedChars.InnerText, prefix.InnerText)); } else { return(null); } }
public IXMLTransformRule createRule(TransformRuleTypes t, XmlNode node) { XmlNode path = node.SelectSingleNode("Path"); XmlNode times = node.SelectSingleNode("Times"); if (path == null) { Console.Error.WriteLine($"No path specified"); return(null); } if (times == null) { Console.Error.WriteLine($"No Times tag specified."); } if (Int32.TryParse(times.InnerText, out int t_repeat)) { return(new RepeatNodeTransformRule(t_repeat, path.InnerText)); } else { return(null); } }