Asset Publisher
An error occurred while processing the template.
The following has evaluated to null or missing:
==> assetRenderer.getArticle  [in template "20101#20128#200855" at line 28, column 26]

----
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: journalArticle = assetRenderer.getArt...  [in template "20101#20128#200855" at line 28, column 9]
----
1<#assign 
2  pageExpandoBridge = layout.getExpandoBridge() 
3/> 
4<#attempt> 
5  <#assign hideOtherTopicsTitle = (pageExpandoBridge.getAttribute("hide-other-topics-title", false))!false /> 
6  <#recover> 
7    <#assign hideOtherTopicsTitle = false /> 
8</#attempt> 
9<div class="cards__list"> 
10  <#assign liferay_journal = taglibLiferayHash["/META-INF/liferay-journal.tld"] /> 
11  <#if entries?has_content> 
12    <#assign 
13    DDMStructureLocalService = serviceLocator.findService("com.liferay.dynamic.data.mapping.service.DDMStructureLocalService") 
14    DlFileEntryService = serviceLocator.findService("com.liferay.document.library.kernel.service.DLFileEntryLocalService") 
15    masterSiteGroupId = getterUtil.getLong(propsUtil.get("lgo.master.site.id"), 20124) 
16    masterSiteUrl = themeDisplay.getPortalURL() 
17    scopeGroupId = themeDisplay.getScopeGroupId() 
18    countrySiteUrl = themeDisplay.getSiteGroup().getDisplayURL(themeDisplay) 
19    siteUrl = (scopeGroupId == masterSiteGroupId)?then(masterSiteUrl, countrySiteUrl) 
20    /> 
21    <#if !hideOtherTopicsTitle> 
22      <h3 class="mb-4"><@liferay.language key="headline.other-topics" />:</h3> 
23    </#if> 
24    <div class="row override-row-width"> 
25      <#list entries as curEntry> 
26        <#assign 
27        assetRenderer = curEntry.getAssetRenderer() 
28        journalArticle = assetRenderer.getArticle() 
29        /> 
30        <div class="col-xs-12 col-sm-6 col-lg-4"> 
31          <#if (assetRenderer.getArticle())??> 
32            <#assign 
33            structure = DDMStructureLocalService.getDDMStructure(curEntry.getClassTypeId()) /> 
34 
35            <#if (structure.getName(localeUtil.getDefault()) == "Industry Contacts")> 
36              <#assign 
37              contactFieldsMap = curEntry.getAssetRenderer().getDDMFormValuesReader().getDDMFormValues().getDDMFormFieldValuesMap() 
38              title = (contactFieldsMap["Caption"][0].getValue().getString(locale))!'' 
39              imageData = (contactFieldsMap["ContactImage"][0].getValue().getString(locale))!'' 
40              buttonText = (contactFieldsMap["ButtonText"][0].getValue().getString(locale))!'' /> 
41 
42              <#if (serviceLocator.findService("com.kn.lgo.contact.url.service.ContactUrlService"))?has_content> 
43                <#assign 
44                  ContactUrlService = serviceLocator.findService("com.kn.lgo.contact.url.service.ContactUrlService") 
45                  url =  ContactUrlService.getContactFormURLFromContactArticle(journalArticle, locale)/> 
46              <#else> 
47                <#assign url = ''/> 
48              </#if> 
49 
50            <#else> 
51              <#assign 
52              topSectionFieldsMap = (curEntry.getAssetRenderer().getDDMFormValuesReader().getDDMFormValues().getDDMFormFieldValuesMap()["TopSection"][0].getNestedDDMFormFieldValuesMap())!{} 
53              imageryFieldsMap = (curEntry.getAssetRenderer().getDDMFormValuesReader().getDDMFormValues().getDDMFormFieldValuesMap()["Imagery"][0].getNestedDDMFormFieldValuesMap())!{} 
54              title = (topSectionFieldsMap["Title"][0].getValue().getString(locale))!'' 
55              imageData = (imageryFieldsMap["CardImage"][0].getValue().getString(locale))!'' 
56              url = siteUrl+"/-/"+curEntry.getAssetRenderer().getUrlTitle()!'' /> 
57            </#if> 
58 
59            <a href="${url}" class="card__link" data-gtm-content-type="card"> 
60              <div class="card card__item zoom-in"> 
61                <#if structure??> 
62                  <span class="mb-3 card__category">${structure.getName(localeUtil.getMostRelevantLocale())}</span> 
63                </#if> 
64 
65                <#if imageData?starts_with("{") > 
66 
67                  <#assign 
68                    jsonObjectMap = jsonFactoryUtil.createJSONObject(imageData) 
69                    fileEntryId = (jsonObjectMap.getString("fileEntryId"))?number 
70                    altText = jsonObjectMap.getString("alt") 
71                    fileName = jsonObjectMap.getString("name") 
72                  /> 
73                  <#if fileEntryId != 0> 
74                    <#assign file = DlFileEntryService.getDLFileEntry(fileEntryId) 
75                    path = "/documents/" + jsonObjectMap.getString("groupId") + "/" + file.getFolderId() 
76                    + "/" + jsonObjectMap.getString("name") + "/" + jsonObjectMap.getString("uuid") /> 
77                  </#if> 
78 
79                <#else> 
80                  <#assign path = "" /> 
81                </#if> 
82                <#if imageData?? && path?has_content> 
83                  <div class="card__image"> 
84                    <picture data-fileentryid="${fileEntryId}"> 
85                      <source media="(max-width:576px)" srcset="/o/adaptive-media/image/${fileEntryId}/0500px/${fileName}"> 
86                      <source media="(max-width:768px)" srcset="/o/adaptive-media/image/${fileEntryId}/0300px/${fileName}"> 
87                      <source media="(max-width:992px)" srcset="/o/adaptive-media/image/${fileEntryId}/0410px/${fileName}"> 
88                      <source media="(min-width:992px)" srcset="/o/adaptive-media/image/${fileEntryId}/0300px/${fileName}"> 
89                      <img class="image__object-fit" src="${path}" loading="lazy" alt="${altText}"/> 
90                    </picture> 
91                  </div> 
92                </#if> 
93 
94                <h3 class="card__title mt-2 text-left">${title}</h3> 
95                <div class="btn btn-link read-more"> 
96                  <#if (structure.getName(localeUtil.getDefault()) == "Industry Contacts")> 
97                    <span>${buttonText}</span> 
98                  <#else> 
99                    <span><@liferay.language key="link-text.read-full-story" /></span> 
100                  </#if> 
101                  <svg class="ml-2" width="17" height="14" viewBox="0 0 17 14" fill="none" xmlns="http://www.w3.org/2000/svg"> 
102                    <path d="M12.892 5.874H0V7.81H12.892L8.228 12.452L9.46 13.684L16.302 6.842L9.46 0L8.228 1.21L12.892 5.874Z" fill="#0099DA"/> 
103                  </svg> 
104                </div> 
105              </div> 
106            </a> 
107          </#if> 
108        </div> 
109      </#list> 
110    </div> 
111  </#if> 
112</div>