An error occurred while processing the template.
The following has evaluated to null or missing:
==> serviceLocator.findService("com.eversis.esa.eomall.eopages.core.util.CompanyArticleUtils") [in template "903221#903260#907367" at line 10, column 27]
----
Tip: If the failing expression is known to be 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: companyArticleUtils = serviceLocator... [in template "903221#903260#907367" at line 10, column 5]
- Reached through: #assign-container [in template "903221#903260#907367" at line 1, column 1]
----
1<#assign 
2 defaultCompanyLogoUrl = themeDisplay.getPathThemeImages() + '/default_company_logo.png' 
3 
4 journalArticleId = .vars['reserved-article-id'].data 
5 groupId = themeDisplay.getLayout().getGroupId() 
6 journalArticleUtil = serviceLocator.findService("com.eversis.esa.eomall.eopages.core.util.JournalArticleUtils") 
7 journalArticle = journalArticleUtil.getJournalArticleByArticleId(journalArticleId) 
8 journalArticleTitle = .vars['reserved-article-title'].data 
9 organizationUtils = serviceLocator.findService("com.eversis.esa.eomall.eopages.core.util.OrganizationUtils") 
10 companyArticleUtils = serviceLocator.findService("com.eversis.esa.eomall.eopages.core.util.CompanyArticleUtils") 
11 valueChainList = companyArticleUtils.getCompanyArticleCategories(journalArticle) 
12 organizationId = organizationUtils.getOrganizationIdByGroupId(journalArticle.getGroupId()) 
13 organizationLogo = '' 
14 organizationURL = WebsiteURL?has_content?then(WebsiteURL.getData(),'') 
15 organizationPhoneNumber = '' 
16 organizationFaxNumber = '' 
17 organizationEmailAddress = '' 
18 organizationCountry = '' 
19 organizationName = '' 
20 portalBaseURL = themeDisplay.getPortalURL() 
21/> 
22 
23<#if organizationId != 0> 
24 <#assign 
25 organization = organizationUtils.getOrganizationById(organizationId) 
26 organizationName = organization.getName() 
27 organizationLogo = organizationUtils.getOrganizationLogoImageURL(organizationId) 
28 organizationCountry = organization.getAddress().getCountry().getName(themeDisplay.getLocale()) 
29 organizationPhoneNumber = organizationUtils.getOrganizationPrimaryPhoneNumber(organizationId) 
30 organizationFaxNumber = organizationUtils.getOrganizationFaxNumber(organizationId) 
31 organizationEmailAddress = organizationUtils.getOrganizationPrimaryEmailAddress(organizationId) 
32 organizationURL = organizationURL?has_content?then(organizationURL, organizationUtils.getOrganizationPrimaryWebsiteURL(organizationId)) 
33 /> 
34 
35 
36 <script type="application/ld+json"> 
37
38 "@context": "https://schema.org", 
39 "@type": "Organization", 
40 "email": "${organizationEmailAddress}", 
41 "faxNumber": "${organizationFaxNumber}", 
42 "location": { 
43 "@type": "PostalAddress", 
44 "addressCountry": { 
45 "@type": "Country", 
46 "name": "${organizationCountry}" 
47 }, 
48 "postalCode": "${organization.getAddress().getZip()}", 
49 "streetAddress": "${organization.getAddress().getStreet1()}" 
50 }, 
51 "logo": "${portalBaseURL}${organizationLogo}", 
52 "telephone": "${organizationPhoneNumber}", 
53 "url": "${organizationURL}" 
54
55 </script> 
56</#if> 
57 
58<#compress> 
59<div class="company article"> 
60 <div class="row page__section"> 
61 <div class="col-12 col-lg-8 offset-lg-2"> 
62 <div class="row"> 
63 <h5 class="col-12 text-center margin-bottom-0 text-uppercase"><@liferay.language key="Company.Company" /></h5> 
64 <h1 class="col-12 text-center margin-bottom-30">${organizationName}</h1> 
65 </div> 
66 <div class="row margin-bottom-10 justify-content-center"> 
67 <#if valueChainList?has_content> 
68 <div class="col-12 line-clamp-animation"> 
69 <p class="text-center text-uppercase margin-bottom-40 font-bold lines-em-3"> 
70 <#list valueChainList as valueChainValue> 
71 ${valueChainValue.getName()}<#if valueChainValue?has_next>, </#if> 
72 </#list> 
73 </p> 
74 </div> 
75 </#if> 
76 </div> 
77 <div class="row margin-bottom-35"> 
78 <div class="col-12 d-flex flex-wrap align-items-end"> 
79 <div class="margin-bottom-25"> 
80 <div class="success-story__receiver-logo-wrapper text-center text-md-left"> 
81 <a class="d-block link__item success-story__logo padding-left-0 margin-bottom-0" href="${organizationURL}" target="_blank"> 
82 <#if organizationLogo?has_content> 
83 <img class="success-story__receiver-logo-image" alt="${organizationName}" title="${organizationName}" src="${organizationLogo}" onerror='this.src="${defaultCompanyLogoUrl}"' /> 
84 <#else> 
85 <picture> 
86 <img class="success-story__receiver-logo-image" alt="${organizationName}" title="${organizationName}" src="${defaultCompanyLogoUrl}"> 
87 </picture> 
88 </#if> 
89 </a> 
90 </div> 
91 </div> 
92 <div class="extra-options margin-bottom-25 ml-auto"> 
93 <div class="ml-auto product__share_trigger relative"> 
94 <i class="icon eo-icon-share"></i> 
95 <div class="product__share"> 
96 <span data-link="#share-facebook" data-title="${journalArticleTitle}" class="padding-right-15"><i class="eo-icon-facebook"></i></span> 
97 <span data-link="#share-linkedin" data-title="${journalArticleTitle}" class="padding-right-15"><i class="eo-icon-linkedin"></i></span> 
98 <span data-link="#share-twitter" data-title="${journalArticleTitle}"><i class="eo-icon-twitter"></i></span> 
99 </div> 
100 </div> 
101 </div> 
102 </div> 
103 <div class="col-12"> 
104 <#if Description?has_content && Description.getData() != ''> 
105 <p class="col-12 text-center">${Description.getData()}</p> 
106 </#if> 
107 </div> 
108 <div class="col-12 company__details layout-grid"> 
109 <div class="layout-grid__row"> 
110 <div class="layout-grid__column font-light"> <div class="layout-grid__cell"><@liferay.language key="Company.Website" /></div> </div> 
111 <div class="layout-grid__column"> <div class="layout-grid__cell"> 
112 <#if organizationURL?has_content> 
113 <a class="ms-break-all" href="${organizationURL}" target="_blank">${organizationURL}</a> 
114 <#else> 
115 &mdash; 
116 </#if> 
117 </div> </div> 
118 </div> 
119 <div class="layout-grid__row"> 
120 <div class="layout-grid__column font-light"> <div class="layout-grid__cell"><@liferay.language key="Company.Head-Office-Location" /></div> </div> 
121 <div class="layout-grid__column"> <div class="layout-grid__cell">${organizationCountry?has_content?then(organizationCountry, '&mdash;')}</div> </div> 
122 </div> 
123 <div class="layout-grid__row"> 
124 <div class="layout-grid__column font-light"> <div class="layout-grid__cell"><@liferay.language key="Company.Address" /></div> </div> 
125 <div class="layout-grid__column"> <div class="layout-grid__cell">${CompanyAddress.getData()?has_content?then(CompanyAddress.getData(), '&mdash;')}</div> </div> 
126 </div> 
127 <div class="layout-grid__row"> 
128 <div class="layout-grid__column font-light"> <div class="layout-grid__cell"><@liferay.language key="Company.Telephone" /></div> </div> 
129 <div class="layout-grid__column"> <div class="layout-grid__cell">${organizationPhoneNumber?has_content?then(organizationPhoneNumber, '&mdash;')}</div> </div> 
130 </div> 
131 <div class="layout-grid__row"> 
132 <div class="layout-grid__column font-light"> <div class="layout-grid__cell"><@liferay.language key="Company.Contact-Name" /></div> </div> 
133 <div class="layout-grid__column"> <div class="layout-grid__cell">${ContactName.getData()?has_content?then(ContactName.getData(), '&mdash;')}</div> </div> 
134 </div> 
135 <div class="layout-grid__row"> 
136 <div class="layout-grid__column font-light"> <div class="layout-grid__cell"><@liferay.language key="Company.Contact-Position" /></div> </div> 
137 <div class="layout-grid__column"> <div class="layout-grid__cell">${ContactPositionTitle.getData()?has_content?then(ContactPositionTitle.getData(), '&mdash;')}</div> </div> 
138 </div> 
139 <div class="layout-grid__row"> 
140 <div class="layout-grid__column font-light"> <div class="layout-grid__cell"><@liferay.language key="Company.Contact-Telephone" /></div> </div> 
141 <div class="layout-grid__column"> <div class="layout-grid__cell">${ContactTelephone.getData()?has_content?then(ContactTelephone.getData(), '&mdash;')}</div> </div> 
142 </div> 
143 <div class="layout-grid__row"> 
144 <div class="layout-grid__column font-light"> <div class="layout-grid__cell"><@liferay.language key="Company.Contact-Email" /></div> </div> 
145 <div class="layout-grid__column"> <div class="layout-grid__cell"> 
146 <#if ContactEmail.getData()?has_content> 
147 <a class="ms-break-all" href="mailto:${ContactEmail.getData()}">${ContactEmail.getData()}</a> 
148 <#else> 
149 &mdash; 
150 </#if> 
151 </div> </div> 
152 </div> 
153 <div class="layout-grid__row"> 
154 <div class="layout-grid__column font-light"> <div class="layout-grid__cell"><@liferay.language key="Company.Contact-Linkedin" /></div> </div> 
155 <div class="layout-grid__column"> <div class="layout-grid__cell"> 
156 <#if LinkedInProfileURL.getData()?has_content> 
157 <a class="ms-break-all" href="${LinkedInProfileURL.getData()}" target="_blank"> ${LinkedInProfileURL.getData()}</a> 
158 <#else> 
159 &mdash; 
160 </#if> 
161 </div> </div> 
162 </div> 
163 </div> 
164 </div> 
165 <div class="margin-top-20 margin-bottom-20"> 
166 <#if (CompanyAddress?? && CompanyAddress.CompanyAddressMap?? && CompanyAddress.CompanyAddressMap.getData() != "")> 
167 <#assign geolocationJSONObject = jsonFactoryUtil.createJSONObject(CompanyAddress.CompanyAddressMap.getData())> 
168 <#assign latitude = geolocationJSONObject.getDouble("latitude")> 
169 <#assign longitude = geolocationJSONObject.getDouble("longitude")> 
170  
171 <@liferay_map["map-display"] 
172 geolocation=true 
173 latitude=latitude 
174 longitude=longitude 
175 name="CompanyAddress.CompanyAddressMap${randomizer.nextInt()}" 
176 /> 
177 </#if> 
178 </div> 
179 <div class="text-center"> 
180 <button class="btn btn-primary btn-default button--contact-us" data-company-name="${organizationName}" data-company-id="${organizationId}"><@liferay.language key="contact-us-button" /></button> 
181 </div> 
182 </div> 
183 </div> 
184</div> 
185</#compress> 

Similar Companies in Terms
of Value Chain