Skip to content

Commit 92a647b

Browse files
committed
Merge pull request #113 in TSI/content-management from feature/SRQ-11942-2 to release/2.0
* commit 'be1344774b54508a9a8b820dfa1874b3112be80f': SRQ-12088 : Throw exceptions when trying to publish empty json SRQ-11952 : Fixed target groups
2 parents 03551e4 + be13447 commit 92a647b

File tree

5 files changed

+15
-4
lines changed

5 files changed

+15
-4
lines changed

Sdl.Web.Tridion.Templates.R2/Data/DataModelBuilderPipeline.cs

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -90,12 +90,16 @@ public DataModelBuilderPipeline(
9090
ILogger logger = null
9191
)
9292
{
93+
string[] typeNames = modelBuilderTypeNames.ToArray();
94+
if (typeNames == null || typeNames.Length == 0)
95+
throw new DxaException("No model builder type names specified.");
96+
9397
Session = renderedItem.ResolvedItem.Item.Session;
9498
RenderedItem = renderedItem;
9599
Settings = settings;
96100
Logger = logger ?? new TemplatingLoggerAdapter(TemplatingLogger.GetLogger(GetType()));
97101

98-
foreach (string modelBuilderTypeName in modelBuilderTypeNames)
102+
foreach (string modelBuilderTypeName in typeNames)
99103
{
100104
string qualifiedTypeName = modelBuilderTypeName.Contains(".") ? modelBuilderTypeName : $"Sdl.Web.Tridion.Templates.R2.Data.{modelBuilderTypeName}";
101105
Type modelBuilderType = Type.GetType(qualifiedTypeName, throwOnError: true);

Sdl.Web.Tridion.Templates.R2/Data/TargetGroups/AddTargetGroupsModelBuilder.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -21,9 +21,9 @@ public void BuildEntityModel(ref EntityModelData entityModelData, ComponentPrese
2121
List<Condition> conditions = new List<Condition>();
2222
foreach (var condition in cp.Conditions)
2323
{
24-
var mapped = MapConditions(condition.TargetGroup.Conditions);
25-
if (mapped == null || mapped.Count <= 0) continue;
26-
conditions.AddRange(mapped);
24+
var mapped = MapTargetGroupCondition(condition);
25+
if (mapped == null) continue;
26+
conditions.Add(mapped);
2727
}
2828
if (conditions.Count > 0)
2929
{

Sdl.Web.Tridion.Templates.R2/Templates/GenerateEntityModel.cs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,8 @@ public override void Transform(Engine engine, Package package)
5353
DataModelBuilderPipeline modelBuilderPipeline = new DataModelBuilderPipeline(renderedItem, settings, modelBuilderTypeNames);
5454
EntityModelData entityModel = modelBuilderPipeline.CreateEntityModel(component, ct, includeComponentTemplateData);
5555
OutputJson = JsonSerialize(entityModel, IsPreview, DataModelBinder.SerializerSettings);
56+
if (string.IsNullOrEmpty(OutputJson))
57+
throw new DxaException("Output Json is empty!");
5658
}
5759
catch (Exception ex)
5860
{

Sdl.Web.Tridion.Templates.R2/Templates/GeneratePageModel.cs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,8 @@ public override void Transform(Engine engine, Package package)
4646
DataModelBuilderPipeline modelBuilderPipeline = new DataModelBuilderPipeline(renderedItem, settings, modelBuilderTypeNames);
4747
PageModelData pageModel = modelBuilderPipeline.CreatePageModel(page);
4848
OutputJson = JsonSerialize(pageModel, IsPreview, DataModelBinder.SerializerSettings);
49+
if (string.IsNullOrEmpty(OutputJson))
50+
throw new DxaException("Output Json is empty!");
4951
}
5052
catch (Exception ex)
5153
{

Sdl.Web.Tridion.Templates/Common/TemplateBase.cs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -176,6 +176,9 @@ protected void OutputSummary(string name, IEnumerable<string> files)
176176
summaries.Add(summary);
177177

178178
string summariesJson = JsonSerialize(summaries, IsPreview);
179+
if (string.IsNullOrEmpty(summariesJson))
180+
throw new DxaException("Output Json should not be empty.");
181+
179182
outputItem = Package.CreateStringItem(ContentType.Text, summariesJson);
180183
Package.PushItem(Package.OutputName, outputItem);
181184
}

0 commit comments

Comments
 (0)