public static GeneratorDeclaration Parse(JObject transformationObject, string transformationName = null) { // when its an inline decl it gets the name from the property holding the decl object transformationName = transformationName ?? transformationObject.GetStringPropertyValue("name"); var version = transformationObject.GetStringPropertyValue("version"); var parametersArray = transformationObject.GetValue("parameters") as JArray ?? new JArray(); var parameters = new List <ParameterDeclaration>(); foreach (JObject parametersObject in parametersArray) { var parameterDeclaration = ParameterDeclaration.Parse(parametersObject); parameters.Add(parameterDeclaration); } var rulesArray = transformationObject.GetValue("rules") as JArray ?? new JArray(); var rules = new List <TransformationRuleDeclaration>(); foreach (JObject ruleObject in rulesArray) { var ruleDeclaration = TransformationRuleDeclaration.Parse(ruleObject); rules.Add(ruleDeclaration); } var location = transformationObject.GetStringPropertyValue("location"); var transformation = new GeneratorDeclaration(); transformation.Name = transformationName; transformation.Parameters = parameters; transformation.Rules = rules; transformation.Location = location; transformation.Version = version; return(transformation); }
public static TransformationRuleDeclaration Parse(JObject ruleObject) { var templateName = ruleObject.GetStringPropertyValue("templateName"); var outputPathTemplate = ruleObject.GetStringPropertyValue("outputPathTemplate"); var isEmbedded = ruleObject.GetValue("isEmbedded")?.Value <bool>() ?? false; var ruleDeclaration = new TransformationRuleDeclaration(templateName, isEmbedded, outputPathTemplate); return(ruleDeclaration); }
public TextTemplate GetFile(ProjectionContext context, TransformationRuleDeclaration file) { if (file.IsEmbedded) { return(TextTemplate.Create(file, GetResourceStream(file.TemplateName))); } else { return(TextTemplate.Create(file, ResolveRulePath(context, file))); } }
protected string ResolveRulePath(ProjectionContext context, TransformationRuleDeclaration rule) { var requestedFile = rule.TemplateName; return(requestedFile); }
public static TextTemplate Create(TransformationRuleDeclaration rule, Stream stream) { return(new TextTemplate(rule, stream)); }
public static TextTemplate Create(TransformationRuleDeclaration rule, string path) { return(new TextTemplate(rule, path)); }
private TextTemplate(TransformationRuleDeclaration step, Stream stream) { Rule = step; Stream = stream; }
private TextTemplate(TransformationRuleDeclaration step, string path) { Rule = step; Path = path; }