test-new-nsd-onboarding2
Une erreur s'est produite en traitant le modèle.
The following has evaluated to null or missing: ==> rewards.rewardsMainContentNotStarted [in template "790698#790744#ONBOARDING-JOURNEY-TO-JSON" at line 32, column 37] ---- Tip: It's the step after the last dot that caused this error, not those before it. ---- Tip: If the failing expression is known to legally refer to something that's sometimes null or missing, either specify a default value like myOptionalVar!myDefault, or use <#if myOptionalVar??>when-present<#else>when-missing</#if>. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)?? ---- ---- FTL stack trace ("~" means nesting-related): - Failed at: ${rewards.rewardsMainContentNotStarte... [in template "790698#790744#ONBOARDING-JOURNEY-TO-JSON" at line 32, column 35] ----
1{
2 "version": "1.0",
3 "journeyImageUrl": "${journeyImageUrl.getData()}",
4 "activityTitle": "${activityTitle.getData()}",
5 "completeLabel": "${completeLabel.getData()}",
6 "availableAgainLabel": "${availableAgainLabel.getData()}",
7 "callToActionLabel" : "${callToActionLabel.getData()}",
8 "headerLinks": [
9 <#if headerLinks.getSiblings()?has_content>
10 <#list headerLinks.getSiblings()?filter(x -> getterUtil.getBoolean(x.getData())) as cur_headerLinks>
11 {
12 "label": "${cur_headerLinks.headerLinksLabel.getData()}",
13 "actionType": "${cur_headerLinks.headerLinksActionType.getData()}",
14 "actionScreenName": "${cur_headerLinks.headerLinksActionScreenName.getData()}",
15 "actionHttpUrl": "${cur_headerLinks.headerLinksActionHttpUrl.getData()}",
16 "context": [
17 <#if cur_headerLinks.headerLinksContext.getSiblings()?has_content>
18 <#list cur_headerLinks.headerLinksContext.getSiblings()?filter(y -> getterUtil.getBoolean(y.getData())) as cur_headerLinks_headerLinksContext>
19 {
20 "name": "${cur_headerLinks_headerLinksContext.headerLinksContextName.getData()}",
21 "value": "${cur_headerLinks_headerLinksContext.headerLinksContextValue.getData()}"
22 }<#sep>,</#sep>
23 </#list>
24 </#if>
25 ]
26 }<#sep>,</#sep>
27 </#list>
28 </#if>
29 ],
30 "rewards": {
31 "headerText": "${rewards.rewardsHeaderText.getData()}",
32 "mainContentNotStarted": "${rewards.rewardsMainContentNotStarted.getData()}",
33 "mainContentInProgress": "${rewards.rewardsMainContentInProgress.getData()}",
34 "mainContentCompleted": "${rewards.rewardsMainContentCompleted.getData()}",
35 "links": [
36 <#if rewards.rewardsLinks.getSiblings()?has_content>
37 <#list rewards.rewardsLinks.getSiblings()?filter(x -> getterUtil.getBoolean(x.getData())) as cur_rewards_rewardsLinks>
38 {
39 "label": "${cur_rewards_rewardsLinks.rewardsLinksLabel.getData()}",
40 "actionType": "${cur_rewards_rewardsLinks.rewardsLinksActionType.getData()}",
41 "actionScreenName": "${cur_rewards_rewardsLinks.rewardsLinksActionScreenName.getData()}",
42 "actionHttpUrl": "${cur_rewards_rewardsLinks.rewardsLinksActionHttpUrl.getData()}",
43 "context": [
44 <#if cur_rewards_rewardsLinks.rewardsLinksContext.getSiblings()?has_content>
45 <#list cur_rewards_rewardsLinks.rewardsLinksContext.getSiblings()?filter(y -> getterUtil.getBoolean(y.getData())) as cur_rewards_rewardsLinks_rewardsLinksContext>
46 {
47 "name": "${cur_rewards_rewardsLinks_rewardsLinksContext.rewardsLinksContextName.getData()}",
48 "value": "${cur_rewards_rewardsLinks_rewardsLinksContext.rewardsLinksContextValue.getData()}"
49 }<#sep>,</#sep>
50 </#list>
51 </#if>
52 ]
53 }<#sep>,</#sep>
54 </#list>
55 </#if>
56 ]
57 },
58 "howToComplete": {
59 "headerText": "${howToComplete.howToCompleteHeaderText.getData()}",
60 "mainContentNotStarted": "${howToComplete.howToCompleteMainContentNotStarted.getData()}",
61 "mainContentInProgress": "${howToComplete.howToCompleteMainContentInProgress.getData()}",
62 "mainContentCompleted": "${howToComplete.howToCompleteMainContentCompleted.getData()}",
63 "links": [
64 <#if howToComplete.howToCompleteLinks.getSiblings()?has_content>
65 <#list howToComplete.howToCompleteLinks.getSiblings()?filter(x -> getterUtil.getBoolean(x.getData())) as cur_howToComplete_howToCompleteLinks>
66 {
67 "label": "${cur_howToComplete_howToCompleteLinks.howToCompleteLinksLabel.getData()}",
68 "actionType": "${cur_howToComplete_howToCompleteLinks.howToCompleteLinksActionType.getData()}",
69 "actionScreenName": "${cur_howToComplete_howToCompleteLinks.howToCompleteLinksActionScreenName.getData()}",
70 "actionHttpUrl": "${cur_howToComplete_howToCompleteLinks.howToCompleteLinksActionHttpUrl.getData()}",
71 "context": [
72 <#if cur_howToComplete_howToCompleteLinks.howToCompleteLinksContext.getSiblings()?has_content>
73 <#list cur_howToComplete_howToCompleteLinks.howToCompleteLinksContext.getSiblings()?filter(y -> getterUtil.getBoolean(y.getData())) as cur_howToComplete_howToCompleteLinks_howToCompleteLinksContext>
74 {
75 "name": "${cur_howToComplete_howToCompleteLinks_howToCompleteLinksContext.howToCompleteLinksContextName.getData()}",
76 "value": "${cur_howToComplete_howToCompleteLinks_howToCompleteLinksContext.howToCompleteLinksContextValue.getData()}"
77 }<#sep>,</#sep>
78 </#list>
79 </#if>
80 ]
81 }<#sep>,</#sep>
82 </#list>
83 </#if>
84 ]
85 },
86 "whyIsThisImportant": {
87 "headerText": "${whyIsThisImportant.whyIsThisImportantHeaderText.getData()}",
88 "mainContentNotStarted": "${whyIsThisImportant.whyIsThisImportantMainContentNotStarted.getData()}",
89 "mainContentInProgress": "${whyIsThisImportant.whyIsThisImportantMainContentInProgress.getData()}",
90 "mainContentCompleted": "${whyIsThisImportant.whyIsThisImportantMainContentCompleted.getData()}",
91 "links": [
92 <#if whyIsThisImportant.whyIsThisImportantLinks.getSiblings()?has_content>
93 <#list whyIsThisImportant.whyIsThisImportantLinks.getSiblings()?filter(x -> getterUtil.getBoolean(x.getData())) as cur_whyIsThisImportant_whyIsThisImportantLinks>
94 {
95 "label": "${cur_whyIsThisImportant_whyIsThisImportantLinks.whyIsThisImportantLinksLabel.getData()}",
96 "actionType": "${cur_whyIsThisImportant_whyIsThisImportantLinks.whyIsThisImportantLinksActionType.getData()}",
97 "actionScreenName": "${cur_whyIsThisImportant_whyIsThisImportantLinks.whyIsThisImportantLinksActionScreenName.getData()}",
98 "actionHttpUrl": "${cur_whyIsThisImportant_whyIsThisImportantLinks.whyIsThisImportantLinksActionHttpUrl.getData()}",
99 "context": [
100 <#if cur_whyIsThisImportant_whyIsThisImportantLinks.whyIsThisImportantLinksContext.getSiblings()?has_content>
101 <#list cur_whyIsThisImportant_whyIsThisImportantLinks.whyIsThisImportantLinksContext.getSiblings()?filter(y -> getterUtil.getBoolean(y.getData())) as cur_whyIsThisImportant_whyIsThisImportantLinks_whyIsThisImportantLinksContext>
102 {
103 "name": "${cur_whyIsThisImportant_whyIsThisImportantLinks_whyIsThisImportantLinksContext.whyIsThisImportantLinksContextName.getData()}",
104 "value": "${cur_whyIsThisImportant_whyIsThisImportantLinks_whyIsThisImportantLinksContext.whyIsThisImportantLinksContextValue.getData()}"
105 }<#sep>,</#sep>
106 </#list>
107 </#if>
108 ]
109 }<#sep>,</#sep>
110 </#list>
111 </#if>
112 ]
113 },
114 "footerContent": "${footerContent.getData()}",
115 "footerLinks": [
116 <#if footerLinks.getSiblings()?has_content>
117 <#list footerLinks.getSiblings()?filter(x -> getterUtil.getBoolean(x.getData())) as cur_footerLinks>
118 {
119 "label": "${cur_footerLinks.footerLinksLabel.getData()}",
120 "actionType": "${cur_footerLinks.footerLinksActionType.getData()}",
121 "actionScreenName": "${cur_footerLinks.footerLinksActionScreenName.getData()}",
122 "actionHttpUrl": "${cur_footerLinks.footerLinksActionHttpUrl.getData()}",
123 "context": [
124 <#if cur_footerLinks.footerLinksContext.getSiblings()?has_content>
125 <#list cur_footerLinks.footerLinksContext.getSiblings()?filter(y -> getterUtil.getBoolean(y.getData())) as cur_footerLinks_footerLinksContext>
126 {
127 "name": "${cur_footerLinks_footerLinksContext.footerLinksContextName.getData()}",
128 "value": "${cur_footerLinks_footerLinksContext.footerLinksContextValue.getData()}"
129 }<#sep>,</#sep>
130 </#list>
131 </#if>
132 ]
133 }<#sep>,</#sep>
134 </#list>
135 </#if>
136 ]
137}