An error occurred while processing the template.
The following has evaluated to null or missing:
==> serviceLocator  [in template "86161#86202#59102" at line 1, column 39]

----
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: JournalArticleLocalService = serviceL...  [in template "86161#86202#59102" at line 1, column 10]
----
1<#assign JournalArticleLocalService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService") 
2         journalArticle = JournalArticleLocalService.getArticle(getterUtil.getLong(groupId),.vars['reserved-article-id'].data)> 
3 
4<#assign AssetCategoryLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetCategoryLocalService") 
5         categories = AssetCategoryLocalService.getCategories("com.liferay.journal.model.JournalArticle", journalArticle.getResourcePrimKey())> 
6 
7<#assign academic_school_list = [] 
8         campus_list = []> 
9                  
10<#list categories as category> 
11    <#if category.parentCategoryId == 93477 || category.parentCategoryId == 58512> 
12        <#assign academic_school_list = academic_school_list + [category.getName()]> 
13    <#elseif category.parentCategoryId == 93474 || category.parentCategoryId == 58509> 
14        <#assign campus_list = campus_list + [category.getName()]> 
15    </#if> 
16</#list> 
17 
18<#assign academic_school = academic_school_list?join(", ") 
19         campus = campus_list?join(", ")> 
20 
21<div id="profile-hero-${randomNamespace}" class="d-none d-lg-flex align-items-end"> 
22    <div class="sr-only">${Hero_Image.getAttribute("alt")}</div> 
23    <div class="profile-hero-red-bar w-100"> 
24        <div class="container h-100"> 
25            <div class="row h-100 align-items-center"> 
26                <div class="col"> 
27                    <h1 class="hero-name">${Full_Name.getData()}</h1> 
28                </div> 
29            </div> 
30        </div> 
31    </div> 
32</div> 
33 
34<div id="profile-bio-${randomNamespace}" class="container mt-5"> 
35    <div class="row"> 
36        <div class="col-lg-3 text-center"> 
37            <img src="${Circle_Image.getData()}" alt="${Circle_Image.getAttribute('alt')}" class="profile-img"/> 
38            <h2 class="profile-name mb-0">${Full_Name.getData()}</h2> 
39            <span class="profile-info">${Hometown.getData()}</span> 
40            <h3 class="mb-0 mt-2 profile-header">Academic School</h3> 
41            <span class="profile-info">${academic_school}</span> 
42            <h3 class="mb-0 mt-2 profile-header">Campus</h3> 
43            <span class="profile-info">${campus}</span> 
44        </div> 
45        <div class="col-lg mt-4 mt-lg-0"> 
46            ${Bio.getData()} 
47        </div> 
48    </div> 
49		<div class="row"> 
50			<div class="col text-right"> 
51				<a href="/profiles">See All Profiles <i class="fas fa-chevron-right"></i></a> 
52				<hr/> 
53			</div> 
54		</div> 
55</div> 
56 
57<style> 
58    #profile-hero-${randomNamespace} { 
59        background-image: url('${Hero_Image.getData()}'); 
60        background-position: center; 
61        background-repeat: no-repeat; 
62        background-size: cover; 
63        height: 450px; 
64
65 
66    #profile-hero-${randomNamespace} .profile-hero-red-bar { 
67        background-color: rgba(179, 27, 27, 0.45); 
68        height: 135px; 
69
70 
71    #profile-hero-${randomNamespace} .hero-name { 
72        color: #ffffff; 
73
74 
75    #profile-bio-${randomNamespace} .profile-name { 
76        font-size: 0.875rem; 
77
78 
79    #profile-bio-${randomNamespace} .profile-info { 
80        font-family: myriad-pro, sans-serif; 
81        font-style: normal; 
82        font-weight: 600; 
83        font-size: 0.75rem; 
84
85 
86    #profile-bio-${randomNamespace} .profile-header { 
87        color: #707070; 
88        font-size: 0.75rem; 
89
90		 
91		/* Large Devices (Laptops, Desktops) */ 
92    @media (min-width: 992px) {  
93			#profile-bio-${randomNamespace} .profile-img { 
94				width: 50%; 
95
96
97		 
98		/* Medium and Small Devices (tablets, phones) */ 
99    @media (max-width: 991.98px) { 
100        #profile-bio-${randomNamespace}.container { 
101            padding-left: 30px; 
102						padding-right: 30px; 
103
104
105		 
106		 
107</style> 

RelatedJournalArticles