An error occurred while processing the template.
Java method "com.sun.proxy.$Proxy528.getArticle(long, String)" threw an exception when invoked on com.sun.proxy.$Proxy528 object "com.liferay.journal.service.impl.JournalArticleLocalServiceImpl@aeca51b"; see cause exception in the Java stack trace.

----
FTL stack trace ("~" means nesting-related):
	- Failed at: #assign journalArticle = JournalArtic...  [in template "20155#20195#4261532" at line 25, column 1]
----
1<#-- 
2  ~ Copyright (c) 2020 AXA Group Operations Spain S.A. 
3
4  ~ Licensed under the AXA Group Operations Spain S.A. License (the "License"); 
5  ~ you may not use this file except in compliance with the License. 
6  ~ A copy of the License can be found in the LICENSE.TXT file distributed 
7  ~ together with this file. 
8
9  ~ Unless required by applicable law or agreed to in writing, software 
10  ~ distributed under the License is distributed on an "AS IS" BASIS, 
11  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 
12  ~ See the License for the specific language governing permissions and 
13  ~ limitations under the License. 
14  --> 
15 
16<#setting url_escaping_charset="UTF-8"> 
17 
18<#assign LINKEDIN_URL_SIZE = 1024 /> 
19<#assign LINKEDIN_TITLE_SIZE = 200 /> 
20<#assign LINKEDIN_SUMMARY_SIZE = 256 /> 
21 
22<#assign JournalArticleLocalService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService") /> 
23<#assign scopeId = articleGroupId> 
24<#assign contentId = .vars['reserved-article-id'].data> 
25<#assign journalArticle = JournalArticleLocalService.getArticle(getterUtil.getLong(scopeId), contentId)> 
26<#assign articleUrlTitle = journalArticle.getUrlTitle()> 
27<#assign insightId = "insight-${contentId}"> 
28<#assign serviceContext = staticUtil["com.liferay.portal.kernel.service.ServiceContextThreadLocal"].getServiceContext()> 
29<#assign themeDisplay = serviceContext.getThemeDisplay() /> 
30<#attempt> 
31    <#assign portletPreferences = themeDisplay.getPortletDisplay().getPortletSetup() /> 
32    <#assign isSocialSharingEnabled = portletPreferences.getValue("enableSocialBookmarks", "false") == "true" /> 
33    <#assign catsVocabularyId = portletPreferences.getValue("categoryVocabulary", "") /> 
34    <#recover> 
35        <#assign isSocialSharingEnabled = false /> 
36        <#assign catsVocabularyId = "" /> 
37</#attempt> 
38 
39<#assign insightTitle = .vars['Insights_title'].getData() /> 
40<#assign contentSummary = .vars['reserved-article-description'].data /> 
41 
42<#attempt> 
43    <#assign completeUrl = request["attributes"].CURRENT_COMPLETE_URL /> 
44    <#recover> 
45        <#assign completeUrl = "" /> 
46</#attempt> 
47 
48<#-- START escaped URL parameters for sharing in social networks --> 
49<#assign escapedUrlParam = completeUrl?url /> 
50<#assign escapedTitleParam = insightTitle?url /> 
51<#assign escapedSummaryParam = contentSummary?url /> 
52 
53<#-- Add parameters to the Twitter url --> 
54<#assign twitterUrl = "https://twitter.com/intent/tweet" /> 
55<#assign twitterUrl = twitterUrl + "?text=${escapedTitleParam}&url=${escapedUrlParam}" /> 
56 
57<#-- Add parameters to the LinkedIn url --> 
58<#assign linkedInUrl = "https://www.linkedin.com/shareArticle?mini=true" /> 
59<#assign linkedInUrl = linkedInUrl + "&url=${escapedUrlParam}" /> 
60<#assign linkedInUrl = linkedInUrl + "&title=${escapedTitleParam}" /> 
61<#assign linkedInUrl = linkedInUrl + "&summary=${escapedSummaryParam}" /> 
62<#-- END escaped URL parameters for sharing in social networks --> 
63 
64<#--&lt;#&ndash; TagCommander  &ndash;&gt;--> 
65<script type="text/javascript"> 
66    function getPageName(){ 
67        return '/insights-article/${articleUrlTitle}'; 
68
69 
70</script> 
71<#if catsVocabularyId?has_content> 
72 
73    <#assign articlePrimKey = journalArticle.getResourcePrimKey() /> 
74    <#assign catLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetCategoryLocalService") /> 
75    <#assign articleCategories = catLocalService.getCategories("com.liferay.journal.model.JournalArticle", getterUtil.getLong(journalArticle.getResourcePrimKey())) /> 
76 
77    <#list articleCategories as category> 
78        <#if category.getVocabularyId() == getterUtil.getLong(catsVocabularyId) > 
79            <#assign currentCategory = category /> 
80        </#if> 
81    </#list> 
82 
83    <#if currentCategory?has_content> 
84        <#assign categoryPropertiesLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetCategoryPropertyLocalService") /> 
85        <#attempt> 
86            <#if categoryPropertiesLocalService.getCategoryProperty(currentCategory.categoryId, "css-color")?has_content> 
87                <#assign categoryColor = categoryPropertiesLocalService.getCategoryProperty(currentCategory.categoryId, "css-color").getValue() /> 
88            <#else> 
89                <#assign categoryColor = 'grey' /> 
90            </#if> 
91            <#recover> 
92                <#assign categoryColor = 'grey' /> 
93            </#attempt> 
94    </#if> 
95</#if> 
96 
97<div id="${insightId}" class="insights-detail"> 
98    <#if .vars['Banner']?has_content && .vars['Banner'].getData()?has_content > 
99        <div class="insights__banner gh-hmb-insight-detail-image" style="background-image:url('${.vars['Banner'].getData()}')" ></div> 
100    </#if> 
101    <div class="container insights-article__container animated fadeInUpBig slower"> 
102        <div class="row"> 
103            <div class="col-sm-8 col-sm-offset-2"> 
104                <#if currentCategory?has_content> 
105                <#-- get target asset publisher instanceId to create the URL--> 
106                    <#assign currentLiveGroup = themeDisplay.getScopeGroup() /> 
107 
108                    <#if currentLiveGroup.isStagingGroup() > 
109                        <#assign currentLiveGroup = currentLiveGroup.getLiveGroup() /> 
110                    </#if> 
111                    <#assign contentDisplayLayoutFriendlyURL = currentLiveGroup.getExpandoBridge().getAttribute("insightsPageFriendlyURL") /> 
112                    <#attempt> 
113                        <#assign portalUtil = staticUtil["com.liferay.portal.kernel.util.PortalUtil"] /> 
114                        <#assign layoutLocalService = serviceLocator.findService("com.liferay.portal.kernel.service.LayoutLocalService") /> 
115                        <#assign targetLayout = layoutLocalService.getFriendlyURLLayout(themeDisplay.getScopeGroupId(), false, contentDisplayLayoutFriendlyURL) /> 
116                        <#assign sameCategoryInsightsURL = portalUtil.getLayoutURL(targetLayout, themeDisplay) + "?p_r_p_categoryId=" + currentCategory.getCategoryId() > 
117                        <#recover> 
118                            <#assign sameCategoryInsightsURL = "" /> 
119                    </#attempt> 
120                    <#if sameCategoryInsightsURL?has_content> 
121                        <a href="${sameCategoryInsightsURL}" class="label label-${categoryColor} gh-hmb-insight-detail-category">${currentCategory.getTitle(themeDisplay.getLanguageId())}</a> 
122                    <#else> 
123                        <span class="label label-${categoryColor} gh-hmb-insight-detail-category">${currentCategory.getTitle(themeDisplay.getLanguageId())}</span> 
124                    </#if> 
125                </#if> 
126                <h1 class="insights-article__title typo36 gh-hmb-insight-detail-title">${insightTitle}</h1> 
127                <div class="insights-article__info"> 
128                    <#if Reading_time?has_content && Reading_time.getData()!=""> 
129                        <div class="insights-article__reading-time typo14"> 
130                        <span class="icon-wrapper"> 
131                             <svg viewBox="0 0 16 16" class="icon-time" stroke="current-color"> 
132                              <path vector-effect="non-scaling-stroke" d="M7.992 0C12.416 0 16 3.584 16 8s-3.584 8-8.008 8C3.576 16 0 12.416 0 8s3.576-8 7.992-8zM8 1.6A6.398 6.398 0 001.6 8c0 3.536 2.864 6.4 6.4 6.4 3.536 0 6.4-2.864 6.4-6.4 0-3.536-2.864-6.4-6.4-6.4zM8.25 4v4.016L12 10.06l-.625.941L7 8.59V4h1.25z"/> 
133                            </svg> 
134                        </span> 
135                            <span class="reading-time-value">${Reading_time.getData()} </span> 
136                            <span class="reading-time-label">${axaimTranslate("content.insight.minuteread")} </span> 
137                        </div> 
138                    </#if> 
139                    <div class="insights-article__date typo14 gh-hmb-insight-detail-date"> 
140                        <#if Insights_date?has_content && Insights_date.data?has_content> 
141                            <#assign date_obj = dateUtil.parseDate("yyyy-MM-dd",Insights_date.data,locale)> 
142                            <#setting locale=locale> 
143                            <span class="icon-wrapper"> 
144                          <svg viewBox="0 0 16 16" class="icon-calendar" fill="none" stroke-width="1.5" stroke="current-color"> 
145                            <path vector-effect="non-scaling-stroke" d="M12.66 2.54H15v12.09H1V2.33h2.33M6.45 2.33h3.1M4.89 4.66V0M11.13 4.66V0M1 7.77h14"/> 
146                          </svg> 
147                        </span> 
148                            ${date_obj?date?string.long} 
149                        </#if> 
150                    </div> 
151                    <#if .vars['Author'].getSiblings()?has_content> 
152                        <div class="insights-article__author typo14"> 
153                            <#assign index = 0 /> 
154                            <#list .vars['Author'].getSiblings() as autor> 
155                                <#if index == 1>, </#if> 
156                                <#list autor.getChildren() as autorDetail> 
157                                    <#if autorDetail.getName() == "Author_job_title"> 
158                                        <#assign jobTitle = autorDetail.getData() /> 
159                                    <#elseif autorDetail.getName() == "Author_URL"> 
160                                        <#assign url = autorDetail.getData() /> 
161                                    </#if> 
162                                </#list> 
163                                <#if url?has_content || jobTitle?has_content || autor.getData()?has_content> 
164                                    <#if index == 0> 
165                                        <span class="icon-wrapper"> 
166                                          <svg viewBox="0 0 16 16" class="icon-author" stroke-width="0.1"> 
167                                            <path 
168                                                    d="M8 9.6c2.663 0 8 1.248 8 3.733V16H0v-2.667C0 10.848 5.337 9.6 8 9.6zm0 1.824c-3.086 0-5.931 1.387-6.046 1.91v.842h12.092v-.843c-.115-.522-2.96-1.909-6.046-1.909zM8 0c2.537 0 4.571 1.91 4.571 4.267S10.537 8.533 8 8.533c-2.526 0-4.56-1.909-4.56-4.266C3.44 1.909 5.474 0 8 0zm0 1.824c-1.429 0-2.606 1.099-2.606 2.443S6.571 6.709 8 6.709c1.44 0 2.606-1.098 2.606-2.442S9.44 1.824 8 1.824z" 
169                                                    fill="current-color" 
170                                                    fill-rule="nonzero" 
171                                            /> 
172                                          </svg> 
173                                        </span> 
174                                    </#if> 
175                                </#if> 
176                                <#if url?has_content> 
177                                    <a class="gh-hmb-insight-detail-author-name" href="${url}" 
178                                       title="${axaimTranslate("content.insights.detail.author.linktitle")} ${autor.getData()}"> 
179                                        ${autor.getData()} 
180                                    </a> 
181                                <#else> 
182                                    <span class="gh-hmb-insight-detail-author-name">${autor.getData()} </span> 
183                                </#if> 
184                                <#if jobTitle?has_content> 
185                                    <span class="gh-hmb-insight-detail-author-position">, ${jobTitle} </span> 
186                                </#if> 
187                                <#assign index  = 1> 
188                            </#list> 
189                        </div> 
190                    </#if> 
191                </div> 
192            </div> 
193            <div class="col-sm-8 col-sm-offset-2"> 
194                <div class="insights-article__action-buttons"> 
195                    <#assign labelKey = "" /> 
196                    <#assign readMoreCssClass = "" /> 
197                    <#if getterUtil.getBoolean(.vars['Read_more_CTA'].getData())> 
198                        <#assign ctaLinkTitle = '' > 
199                        <#list Read_more_CTA.getChildren() as item> 
200                            <#if item.getName() == "Read_more"> 
201                                <#assign readMore = item /> 
202                            <#elseif item.getName() == "Document"> 
203                                <#assign document = item /> 
204                            <#elseif item.getName() == "Page_link"> 
205                                <#assign pageLink = item /> 
206                            <#elseif item.getName() == "CTA_link_title"> 
207                                <#assign ctaLinkTitle = item.getData() /> 
208                            </#if> 
209                        </#list> 
210                        <#if readMore.getData() == "document"> 
211                            <#assign readMoreCssClass = "button custom-icon grey" /> 
212                            <#assign labelKey = "document" /> 
213                            <#assign ctaLink = document.getData() /> 
214                        <#elseif readMore.getData() == "page"> 
215                            <#assign readMoreCssClass = "button custom-icon grey readmore" /> 
216                            <#assign labelKey = "pagelink" /> 
217                            <#assign ctaLink = pageLink.getData() /> 
218                        </#if> 
219                        <#if readMoreCssClass?has_content> 
220                            <a href="${ctaLink}" target="_blank" rel="noopener noreferrer" class="${readMoreCssClass} download-button gh-hmb-insight-detail-download-top" title="${ctaLinkTitle}"> 
221                                <span class="insights-article__top-button-label">${axaimTranslate("content.insights.detail.calltoaction." + labelKey)}</span> 
222                                <span class="icon"> 
223                                    <#if labelKey == "document"> 
224                                        <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"> 
225                                          <defs> 
226                                            <style>  .a{fill:none;stroke:#fff;stroke-miterlimit:10;stroke-width:1.5;}</style> 
227                                          </defs> 
228                                          <line class="a" x1="14.7" y1="15" x2="1.3" y2="15"/> 
229                                          <polyline class="a" points="12.4 7.4 8 10.8 3.6 7.4"/> 
230                                          <line class="a" x1="8" y1="10.8" x2="8"/> 
231                                      </svg> 
232                                    <#elseif labelKey == "pagelink"> 
233                                        <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" 
234                                             viewBox="0 0 20 20"> 
235                                            <path d="M7.99316622,9 C7.72656401,9 7.49297446,8.90004181 7.29289775,8.70012542 L0.290213,1.70305179 C-0.610132182,0.803428033 0.790404767,-0.629472689 1.69074995,0.303637059 L7.99316622,6.56751733 L14.2955825,0.303637059 C15.1959277,-0.595986694 16.6299775,0.803428033 15.6961194,1.70305179 L8.6934347,8.70012542 C8.52687084,8.90004181 8.25976844,9 7.99316622,9 Z" 
236                                                  transform="translate(2 6)"/> 
237                                        </svg> 
238                                    </#if> 
239                                </span> 
240                            </a> 
241                        </#if> 
242                    </#if> 
243                    <#if isSocialSharingEnabled> 
244                        <div class="share-buttons-wrapper" aria-labelledby="share-buttons-wrapper"> 
245                            <a class="button" 
246                               data-interaction-category="Share_page" 
247                               data-interaction-detail="LinkedIn" 
248                               href="${linkedInUrl}" 
249                               rel="noopener noreferrer" 
250                               target="_blank"> 
251                                <span class="axaim-icon-linkedin"></span> 
252                            </a> 
253                            <a class="button" 
254                               data-interaction-category="Share_page" 
255                               data-interaction-detail="Twitter" 
256                               href="${twitterUrl}" 
257                               rel="noopener noreferrer" 
258                               target="_blank"> 
259                                <span class="axaim-icon-twitter"></span> 
260                            </a> 
261                        </div> 
262                    </#if> 
263                </div> 
264            </div> 
265        </div> 
266        <#if .vars['Main_content'].getSiblings()?has_content> 
267            <#list .vars['Main_content'].getSiblings() as content> 
268                <#if getterUtil.getBoolean(content.getData())> 
269                    <div class="row"> 
270                        <div class="insights-text col-sm-8 col-sm-offset-2 gh-hmb-insight-detail-content"> 
271                            <#list content.getChildren() as contentDetail> 
272                                <#if contentDetail.getName() == "Main_text" > 
273                                    <#assign text = contentDetail.getData() /> 
274                                <#elseif contentDetail.getName() == "Media" > 
275                                    <#assign media = contentDetail /> 
276                                </#if> 
277                            </#list> 
278                            <#if text?has_content> 
279                                <p>${text}</p> 
280                            </#if> 
281                        </div> 
282                    </div> 
283                    <#if media.getData()?has_content && media.getChildren()[0].getData()?has_content> 
284                        <#assign mediaGroupId = media.getChildren()[0] /> 
285                    </#if> 
286                    <#if media.getData()?has_content && mediaGroupId?has_content> 
287                        <#attempt> 
288                            <div class="row"> 
289                                <div class="insights-text col-sm-8 col-sm-offset-2"> 
290                                    <div class="media__wrapper"> 
291                                        <#assign curr_article = JournalArticleLocalService.getArticleByUrlTitle(mediaGroupId.getData()?number, media.getData()?string) /> 
292                                        ${journalContentUtil.getContent(curr_article.getGroupId(), curr_article.getArticleId(), "view", themeDisplay.getLanguageId(), themeDisplay)} 
293                                    </div> 
294                                </div> 
295                            </div> 
296                            <#recover> 
297                                <div class="insights-article__not-found row hidden"> 
298                                    <h2>could not show article (${mediaGroupId.getData()}, ${media.getData()}):${.error}</h2> 
299                                </div> 
300                        </#attempt> 
301                    </#if> 
302                </#if> 
303            </#list> 
304        </#if> 
305        <div class="row"> 
306            <div class="col-sm-8 col-sm-offset-2"> 
307                <div class="text-center"> 
308                    <#if readMoreCssClass?has_content> 
309                        <a href="${ctaLink}" class="${readMoreCssClass} download-button gh-hmb-insight-detail-download" target="_blank" rel="noopener noreferrer" title="${ctaLinkTitle}"> 
310                            <span>${axaimTranslate("content.insights.detail.calltoaction." + labelKey)}</span> 
311                            <span class="icon"> 
312                               <#if labelKey == "document"> 
313                                   <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"> 
314                                    <defs> 
315                                      <style>  .a{fill:none;stroke:#fff;stroke-miterlimit:10;stroke-width:1.5;}</style> 
316                                    </defs> 
317                                    <line class="a" x1="14.7" y1="15" x2="1.3" y2="15"/> 
318                                    <polyline class="a" points="12.4 7.4 8 10.8 3.6 7.4"/> 
319                                    <line class="a" x1="8" y1="10.8" x2="8"/> 
320                                  </svg> 
321                               <#elseif labelKey == "pagelink"> 
322                                   <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20"> 
323                                    <path d="M7.99316622,9 C7.72656401,9 7.49297446,8.90004181 7.29289775,8.70012542 L0.290213,1.70305179 C-0.610132182,0.803428033 0.790404767,-0.629472689 1.69074995,0.303637059 L7.99316622,6.56751733 L14.2955825,0.303637059 C15.1959277,-0.595986694 16.6299775,0.803428033 15.6961194,1.70305179 L8.6934347,8.70012542 C8.52687084,8.90004181 8.25976844,9 7.99316622,9 Z" transform="translate(2 6)"/> 
324                                 </svg> 
325                               </#if> 
326                            </span> 
327                        </a> 
328                    </#if> 
329                </div> 
330            </div> 
331        </div> 
332 
333        <#if .vars['RelatedContentSection']?has_content  && .vars['RelatedContentSection'].getData()?has_content && .vars['RelatedContent']?has_content   && .vars['RelatedContent'].getData()?has_content && .vars['RelatedContent'].getSiblings()?has_content>         <div class="row"> 
334            <div class="col-sm-8 col-sm-offset-2"> 
335                <div class="related-content gh-hmb-insight-detail-related-content"> 
336                    <h3 class="related-content-title gh-hmb-insight-detail-related-content-title">${RelatedContentSection.getData()}</h3> 
337                    <div class="related-content-list"> 
338                        <#list .vars['RelatedContent'].getSiblings() as relatedContent> 
339                        <#if relatedContent?index == 3> 
340                            <#break> 
341                        </#if> 
342                        <#list relatedContent.getChildren() as relatedContentDetail> 
343                            <#if relatedContentDetail.getName() == "RelatedContent_TextButton"> 
344                                <#assign relatedContentTextButton = relatedContentDetail.getData() /> 
345                            <#elseif relatedContentDetail.getName() == "RelatedContent_Link"> 
346                                <#assign relatedContentLink = relatedContentDetail.getData() /> 
347                            <#elseif relatedContentDetail.getName() == "backGround"> 
348                                <#assign backGround = relatedContentDetail.getData()?replace("[\"","")?replace("\"]","")/> 
349                            <#elseif relatedContentDetail.getName() == "backGroundImage"> 
350                                <#assign backGroundImage = relatedContentDetail.getData() /> 
351                            <#elseif relatedContentDetail.getName() == "BoxColor"> 
352                                <#assign boxColor = relatedContentDetail.getData() /> 
353                            </#if> 
354                        </#list> 
355                        <#if !relatedContentTextButton?has_content> 
356                            <#assign relatedContentTextButton = "" /> 
357                        </#if> 
358                        <#if !relatedContentLink?has_content> 
359                            <#assign relatedContentLink = "" /> 
360                        </#if> 
361                        <#if !backGroundImage?has_content> 
362                            <#assign backGroundImage = "" /> 
363                        </#if> 
364                        <#if !boxColor?has_content> 
365                            <#assign boxColor = "blue-denim" /> 
366                        </#if> 
367                        <#if backGround == "color"> 
368                        <a href=${relatedContentLink} target="_blank" rel="noopener noreferrer" onclick="tagCoNotifier.notifyInsightRelatedContent('${relatedContent.getData()}')" class="related-content-item gh-hmb-insight-detail-related-content-box bg-${boxColor} gh-hmb-insight-detail-related-content-bg-color"> 
369                            <#elseif backGround == "image" && backGroundImage = ""> 
370                            <a href=${relatedContentLink} target="_blank"  rel="noopener noreferrer" onclick="tagCoNotifier.notifyInsightRelatedContent('${relatedContent.getData()}')" class="related-content-item gh-hmb-insight-detail-related-content-box bg-blue-denim gh-hmb-insight-detail-related-content-bg-color"> 
371                                <#else> 
372                                <a href=${relatedContentLink} target="_blank" rel="noopener noreferrer" onclick="tagCoNotifier.notifyInsightRelatedContent('${relatedContent.getData()}')" class="related-content-item gh-hmb-insight-detail-related-content-box bg-image gh-hmb-insight-detail-related-content-bg-image" style="background-image: url(${backGroundImage});"> 
373                                    </#if> 
374                                    <h2 class="item-title gh-hmb-insight-detail-related-content-item-title"> ${relatedContent.getData()}</h2> 
375                                    <div class="item-overlay"></div> 
376                                    <button class="aim-button button-ghost button-right-icon button-small button-white gh-hmb-insight-detail-related-content-button"> ${relatedContentTextButton} 
377                                        <svg xmlns="http://www.w3.org/2000/svg" class="icon-arrow-right" viewBox="0 0 24 24" fill="currentColor" stroke="currentColor"> 
378                                            <path d="M14.52 7.05l4.467 4.21H2v1.482h16.988l-4.468 4.21L15.633 18 22 12.002 15.633 6z"></path> 
379                                        </svg> 
380                                    </button> 
381                                </a> 
382                                </#list> 
383                    </div> 
384                </div> 
385            </div> 
386        </div> 
387        </#if> 
388        <section class="row"> 
389            <div class="col-sm-8 col-sm-offset-2"> 
390                <div class="footnote"> 
391                    ${.vars['Disclaimer'].getData()} 
392                </div> 
393            </div> 
394        </section> 
395    </div> 
396</div> 
397 
398<!-- Label Translation method --> 
399<#function axaimTranslate labelText> 
400    <#if serviceLocator.findService("com.axa.im.wcm.labeltranslation.service.LabelTranslationLocalService")??> 
401        <#assign languageService = serviceLocator.findService("com.axa.im.wcm.labeltranslation.service.LabelTranslationLocalService") /> 
402        <#assign translated = languageService.getLabelTranslation(labelText, locale, companyId) /> 
403    <#else> 
404        <#assign translated = labelText /> 
405    </#if> 
406    <#return translated /> 
407</#function>