An error occurred while processing the template.
The following has evaluated to null or missing:
==> digitalplace_infoCollectionProviderService  [in template "20097#20123#386426" at line 3, column 49]

----
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: infoCollectionProviderService = digit...  [in template "20097#20123#386426" at line 3, column 17]
----
1<#if serviceLocator??> 
2	<#assign 
3		infoCollectionProviderService = digitalplace_infoCollectionProviderService  
4		categoryNavigationService = digitalplace_categoryNavigationService 
5		journalArticleRetrievalService = digitalplace_journalArticleRetrievalService 
6		journalArticleService = serviceLocator.findService("com.liferay.journal.service.JournalArticleService") 
7		assetEntries = infoCollectionProviderService.getInfoCollection()  
8		sortedCategoryLinks = categoryNavigationService.getAssetEntriesAndMenuItemsSortedByName(assetEntries, entries, locale) 
9		entryIsHidden = false 
10		cardLink = "" 
11		cardTitle = "" 
12		cardIcon = "" 
13		cardSummary = "" 
14	/> 
15	 
16	<#if sortedCategoryLinks?has_content> 
17			<div class="row half-gutters pt-2"> 
18				<#list sortedCategoryLinks as link> 
19					<#if link.isNavItem()> 
20						<#assign navItem = link.wrappedObject /> 
21						<#if navItem.layout?has_content> 
22							<#assign 
23								cardIcon = navItem.getLayout().getExpandoBridge().getAttribute("Card-Icon") 
24								cardSummary = navItem.getLayout().getExpandoBridge().getAttribute("Card-Summary") 
25								cardLink = navItem.getRegularURL() 
26								cardTitle = navItem.name 
27							/> 
28							 
29  					<div class="col-sm-6 col-lg-4 py-2"> 
30	  					<a href="${cardLink}" class="lccc-card <#if cardIcon?trim != "">has-icon</#if> shadow-sm"> 
31		  					<div class="lccc-card-body d-flex flex-column p-3"> 
32			  					<div class="h3 lccc-card-title mt-0">${cardTitle}</div> 
33				  				<#if cardSummary?trim != ""><@compress single_line=true><p class="lccc-card-text">${cardSummary?replace("<[^>]*>", "", "r")}</p></@compress></#if> 
34									<#if cardIcon?trim != ""><span class="lccc-card-icon">${cardIcon}</span></#if> 
35						  	</div> 
36			  			</a> 
37				  	</div> 
38							 
39						</#if> 
40					<#else> 
41 
42						<#assign 
43							curEntry = link.wrappedObject 
44							journalArticle = journalArticleService.getLatestArticle(curEntry.getClassPK()) 
45							articleURLOptional = journalArticleRetrievalService.getDisplayURL(journalArticle,locale) 
46							classTypeId = curEntry.getClassTypeId() 
47							curEntryCategoryIds = curEntry.getCategoryIds() 
48							entryIsHidden = curEntryCategoryIds?seq_contains(369629) 
49						/> 
50						<!-- 
51						${curEntry.getTitle(locale)} :  
52						<#list curEntryCategoryIds as catid> 
53							${catid},  
54						</#list> 
55						--> 
56 
57						<#if articleURLOptional.isPresent()> 
58							<#assign cardLink = articleURLOptional.get() /> 
59						<#else> 
60							<#assign cardLink = assetPublisherHelper.getAssetViewURL(renderRequest, renderResponse, curEntry) /> 
61						</#if> 
62						 
63						<#assign cardTitle = curEntry.getTitle(locale) /> 
64						<#assign docXML = saxReaderUtil.read(journalArticle.getDocument().asXML()) /> 
65							 
66						<#assign cardSummary = journalArticle.getDescription(locale) /> 
67						<#assign cardIcon = (docXML.selectSingleNode("/root/dynamic-element[@field-reference='cardIcon']/dynamic-content").getText())!"" /> 
68						 
69						<#if !entryIsHidden> 
70  					<div class="col-sm-6 col-lg-4 py-2"> 
71	  					<a href="${cardLink}" class="lccc-card <#if cardIcon?has_content>has-icon</#if> shadow-sm"> 
72		  					<div class="lccc-card-body d-flex flex-column p-3"> 
73			  					<div class="h3 lccc-card-title mt-0">${cardTitle}</div> 
74				  				<#if cardSummary?trim != ""><@compress single_line=true><p class="lccc-card-text">${cardSummary?replace("<[^>]*>", "", "r")}</p></@compress></#if> 
75									<#if cardIcon?trim != ""><span class="lccc-card-icon">${cardIcon}</span></#if> 
76						  	</div> 
77			  			</a> 
78				  	</div> 
79					  </#if> 
80 
81					</#if> 
82				</#list> 
83			</div>	 
84	</#if> 
85</#if>