Example #1
0
        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);
        }
Example #3
0
 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)));
     }
 }
Example #4
0
        protected string ResolveRulePath(ProjectionContext context, TransformationRuleDeclaration rule)
        {
            var requestedFile = rule.TemplateName;

            return(requestedFile);
        }
Example #5
0
 public static TextTemplate Create(TransformationRuleDeclaration rule, Stream stream)
 {
     return(new TextTemplate(rule, stream));
 }
Example #6
0
 public static TextTemplate Create(TransformationRuleDeclaration rule, string path)
 {
     return(new TextTemplate(rule, path));
 }
Example #7
0
 private TextTemplate(TransformationRuleDeclaration step, Stream stream)
 {
     Rule   = step;
     Stream = stream;
 }
Example #8
0
 private TextTemplate(TransformationRuleDeclaration step, string path)
 {
     Rule = step;
     Path = path;
 }