An error occurred while processing the template.
The following has evaluated to null or missing:
==> journalArticleService.fetchArticleByUrlTitle(groupId, urlTitle?url('UTF-8'))  [in template "33911#33938#38564" at line 166, column 20]

----
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: #assign article = journalArticleServi...  [in template "33911#33938#38564" at line 166, column 1]
----
1<style> 
2 
3    /*  BREADCRUMB */ 
4    nav.breadcrumb-nav { 
5        margin-top: 50px; 
6        margin-right: 70px; 
7
8 
9    .breadcrumb-element.list-inline-item { 
10        padding: 2px 10px; 
11        margin-right: 0; 
12
13 
14 
15    .breadcrumb-element.list-inline-item:not(:first-child) { 
16        border-left: 1px solid #E2E2E2; 
17
18 
19    .breadcrumb-element.list-inline-item:last-child { 
20        border-left: 1px solid #015174; 
21
22 
23 
24    li.breadcrumb-element { 
25        font-size: 0.875rem; 
26
27 
28    li.breadcrumb-element.active { 
29        color: #015174; 
30
31 
32    li.breadcrumb-element a { 
33        color: #7E7E7E; 
34
35 
36    /*  END BREADCRUMB */ 
37 
38    .container-image { 
39        background-color: white; 
40        background-size: cover; 
41
42 
43    .conteudo { 
44        background-color: white; 
45        padding-top: 40px; 
46        padding-bottom: 40px; 
47
48 
49    .conteudo h1 { 
50        font-size: 1.875rem; 
51
52 
53 
54    .conteudo h2 { 
55        color: #A1BB15; 
56        padding-top: 20px; 
57        font-size: 1.5rem; 
58
59 
60    .corpoDoTexto { 
61        padding-top: 20px; 
62
63 
64    .data-criacao { 
65        border-bottom: 2px solid #E2E2E2; 
66        padding-top: 30px; 
67        padding-bottom: 10px; 
68        color: #E2E2E2; 
69
70 
71    .data-criacao .fas { 
72        color: #A1BB15; 
73        padding-right: 10px; 
74
75 
76    #news { 
77        padding-bottom: 50px; 
78
79 
80    h3 { 
81        border-bottom: 2px solid #E2E2E2; 
82        padding-bottom: 10px; 
83
84 
85    #relatedNews { 
86 
87        color: #A1BB15; 
88
89 
90    #relatedNews h2 { 
91        font-size: 1rem; 
92        padding-bottom: 20px; 
93        text-transform: uppercase; 
94        letter-spacing: 5px; 
95        word-spacing: 10px; 
96
97 
98    .verde, a.verde:hover { 
99        color: #A1BB15; 
100
101 
102    .info-contato { 
103        padding: 0.5rem 0; 
104
105 
106    .card-img-top { 
107        width: 100%; 
108        height: auto; 
109
110 
111    .card-text-title { 
112        font-size: 1.125rem; 
113
114 
115    .a2a_kit { 
116        z-index: 1000; 
117
118 
119    .stretched-link::after { 
120        z-index: 0 !important; 
121
122 
123    .badge-silver { 
124        background-color: #e0e0e0; 
125        color: #272833; 
126        font-size: 1rem; 
127        letter-spacing: 0.09rem; 
128
129 
130    .badge-silver:hover { 
131        background-color: #c3c3c3; 
132        color: #272833; 
133
134     
135 
136    .fa-linkedin { 
137         color: #0e76a8; 
138
139     
140    .fa-facebook-square { 
141         color: #3b5998; 
142
143     
144    .fa-instagram { 
145         color: #405DE6; 
146
147     
148    .fa-twitter { 
149         color: #00acee; 
150
151     
152    .fa-youtube { 
153        color: #c4302b;  
154    }  
155 
156</style> 
157 
158<#assign urlTitle = paramUtil.getString(themeDisplay.getRequest(), "titulo", "") /> 
159<#assign assetEntryService = staticUtil["com.liferay.asset.kernel.service.AssetEntryLocalServiceUtil"] />  
160<#assign assetLinkLocalService =  staticUtil["com.liferay.asset.kernel.service.AssetLinkLocalServiceUtil"] /> 
161<#assign layoutLocalService = staticUtil["com.liferay.portal.kernel.service.LayoutLocalServiceUtil"] /> 
162<#assign journalArticleService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService")> 
163<#assign dlAppServiceUtil = staticUtil["com.liferay.document.library.kernel.service.DLAppServiceUtil"] /> 
164<#assign classNameUtil = staticUtil["com.liferay.portal.kernel.service.ClassNameServiceUtil"] /> 
165<#assign articleClassName = classNameUtil.fetchClassName("com.liferay.journal.model.JournalArticle") />  
166<#assign article = journalArticleService.fetchArticleByUrlTitle(groupId, urlTitle?url('UTF-8')) /> 
167<#assign assetEntry = assetEntryService.fetchEntry(articleClassName.getClassNameId(), article.getResourcePrimKey()) />  
168<#assign currentArticleRelatedLinks = assetLinkLocalService.getDirectLinks(assetEntry.getEntryId()) /> 
169<#assign document = saxReaderUtil.read(article.getContent()) /> 
170<#assign rootElement  = document.getRootElement() /> 
171 
172<#assign relationsNewsArray = []> 
173<#assign imagensArray = []> 
174<#assign telefonesArray = []> 
175<#assign ficheirosArray = []> 
176<#assign emailsArray = []> 
177<#assign sitesArray = []> 
178<#assign redesSociaisArray = []> 
179 
180<#assign ficheiro  = "" /> 
181<#assign ficheiroURL  = "" /> 
182<#assign data  = dateUtil.newTime() /> 
183<#assign titulo  = "" /> 
184<#assign subtitulo  = "" /> 
185<#assign corpoDoTexto  = "" /> 
186<#assign redeSocial  = "" /> 
187<#assign currentUrl = themeDisplay.getPortalURL() /> 
188 
189<#list rootElement.elements() as el> 
190    <#list el.elements() as il> 
191        <#if il.attributeValue("name")??> 
192            <#if "imagem" == il.attributeValue("name")> 
193                <#if il.element("dynamic-content")?has_content && il.element("dynamic-content").getData()?has_content> 
194                    <#assign imagem = il.element("dynamic-content").getData()?eval /> 
195                    <#assign imagensArray += [imagem] /> 
196                </#if> 
197            </#if> 
198 
199            <#if "data" == il.attributeValue("name")> 
200 
201                <#assign data = il.element("dynamic-content").getData() /> 
202                <#if data?has_content> 
203                    <#assign data = data?split("-")[2] + "/"+ data?split("-")[1] + "/" + data?split("-")[0]/> 
204                </#if> 
205            </#if> 
206 
207            <#if "titulo" == il.attributeValue("name")> 
208                <#assign titulo = il.element("dynamic-content").getData() /> 
209            </#if> 
210 
211            <#if "subtitulo" == il.attributeValue("name")> 
212                <#assign subtitulo = il.element("dynamic-content").getData() /> 
213 
214            </#if> 
215 
216            <#if "corpoDoTexto" == il.attributeValue("name")> 
217                <#assign corpoDoTexto = il.element("dynamic-content").getData() /> 
218            </#if> 
219 
220            <#if "DocumentosEMdias19f7" == il.attributeValue("name")> 
221                <#assign ficheiro = il.element("dynamic-content").getData() /> 
222                <#if ficheiro?has_content> 
223                    <#assign ficheiro = ficheiro?eval /> 
224                    <#assign ficheirosArray += ["/c/document_library/get_file?uuid=" + ficheiro.uuid + "&groupId=" + ficheiro.groupId + "|" + ficheiro.title] /> 
225                </#if> 
226            </#if> 
227 
228 
229            <#if "telefone" == il.attributeValue("name")> 
230                <#if il.element("dynamic-content").getData()?has_content> 
231                    <#assign telefonesArray += [il.element("dynamic-content").getData()] /> 
232                </#if> 
233            </#if> 
234 
235            <#if "email" == il.attributeValue("name")> 
236                <#if il.element("dynamic-content").getData()?has_content> 
237                    <#assign emailsArray += [il.element("dynamic-content").getData()] /> 
238                </#if> 
239            </#if> 
240 
241        <#-- 
242        <#if "site" == il.attributeValue("name")> 
243            <#assign site = il.element("dynamic-content").getData()  /> 
244            <#assign layoutID = site?split("@")?first /> 
245            <#assign groupID = site?split("@")?last /> 
246            <#if layoutID?has_content && groupID?has_content> 
247                <#assign pageLayout = layoutLocalService.getLayout(groupID?number?long, false, layoutID?number?long) /> 
248                <#assign pageURL = pageLayout.getFriendlyURL() /> 
249                <#assign pageTitle = pageLayout.getName() /> 
250                <#assign sitesArray += [pageURL + "|" +pageTitle]/> 
251            </#if> 
252        </#if> --> 
253 
254            <#if "site" == il.attributeValue("name")> 
255                <#if il.element("dynamic-content").getData()?has_content> 
256                    <#assign sitesArray += [il.element("dynamic-content").getData()] /> 
257                </#if> 
258            </#if> 
259 
260            <#if "redesocial1" == il.attributeValue("name")> 
261                <#assign redeSocial = il.element("dynamic-content").getData()  /> 
262                <#if redeSocial?has_content> 
263                    <#assign redesSociaisArray += [redeSocial]/> 
264                </#if> 
265            </#if> 
266 
267        </#if> 
268 
269    </#list> 
270</#list> 
271 
272 
273<div class="container-fluid"> 
274 
275    <div class="container"> 
276 
277        <div class="row"> 
278            <div class="col-12"> 
279                <nav class="breadcrumb-nav"> 
280                    <ul class="breadcrumb-ul list-unstyled list-inline"> 
281                        <li class="breadcrumb-element list-inline-item"><a href="/"><i class="fa fa-home"></i></a></li> 
282                        <li class="breadcrumb-element list-inline-item"><a href="/noticias">Noticias</a></li> 
283                        <li class="breadcrumb-element list-inline-item active">${titulo}</li> 
284                    </ul> 
285                </nav> 
286            </div> 
287            <div class="col-md-8"> 
288                <section id="news"> 
289 
290                    <div class="row conteudo"> 
291                        <div class="col-md-12"> 
292                            <h1>${titulo}</h1> 
293                            <h2>${subtitulo}</h2> 
294                            <div class="data-criacao"> 
295                                <span><i class="fas fa-clock"></i>${data}</span> 
296                            </div> 
297                        </div> 
298                    </div> 
299                    <div class="row"> 
300                        <div> 
301                            <div id="carouselIndicators" class="carousel slide" 
302                                 data-ride="carousel"> 
303                                <ol class="carousel-indicators"> 
304                                    <#list imagensArray as item> 
305                                        <#if item?is_first> 
306                                            <li data-target="#carouselIndicators" data-slide-to="${item?index}" 
307                                                class="active"></li> 
308                                        <#else> 
309                                            <li data-target="#carouselIndicators" 
310                                                data-slide-to="${item?index}"></li> 
311                                        </#if> 
312                                    </#list> 
313                                </ol> 
314                                <div class="carousel-inner"> 
315                                    <#list imagensArray as item> 
316                                    <#if item?is_first> 
317                                    <div class="carousel-item active"> 
318                                        <#else> 
319                                        <div class="carousel-item"> 
320                                            </#if> 
321                                            <#assign imagemFileEntry = dlAppServiceUtil.getFileEntry(item.fileEntryId?number) /> 
322                                            <#if !shareImgFileEntry??> 
323                                                <#assign shareImgFileEntry = imagemFileEntry /> 
324                                            </#if> 
325                                            <@adaptive_media_image["img"] class="d-block w-100 container-image" fileVersion=imagemFileEntry.getFileVersion() alt="${item.alt}"/> 
326                                        </div> 
327                                        </#list> 
328                                    </div> 
329 
330                                    <a class="carousel-control-prev" href="#carouselIndicators" role="button" 
331                                       data-slide="prev"> 
332                                        <span class="carousel-control-prev-icon" aria-hidden="true"></span> 
333                                        <span class="sr-only">Previous</span> 
334                                    </a> 
335                                    <a class="carousel-control-next" href="#carouselIndicators" role="button" 
336                                       data-slide="next"> 
337                                        <span class="carousel-control-next-icon" aria-hidden="true"></span> 
338                                        <span class="sr-only">Next</span> 
339                                    </a> 
340                               
341                            </div> 
342 
343                        </div> 
344                    </div> 
345 
346                    <div class="row"> 
347                        <div class="col-12"> 
348                            <div class="corpoDoTexto"> 
349                                ${corpoDoTexto} 
350                            </div> 
351                        </div> 
352                    </div> 
353                    <#if ficheirosArray?has_content> 
354 
355                        <div class="row conteudo"> 
356                            <div class="col-12"> 
357                                <h3>Mais Informações</h3> 
358                            </div> 
359                            <div class="col-12"> 
360                                <ul> 
361                                    <#list ficheirosArray as item> 
362                                        <li><a class="verde" target="_blank" 
363                                               href="${item?split("|")?first}">${item?split("|")?last}</a> 
364                                        </li> 
365                                    </#list> 
366                                </ul> 
367                            </div> 
368                        </div> 
369 
370                    </#if> 
371 
372                    <#if telefonesArray?has_content || emailsArray?has_content || sitesArray?has_content || redesSociaisArray?has_content> 
373                    <div class="conteudo"> 
374 
375                        <h3>Contatos</h3> 
376 
377 
378                        <#if telefonesArray?has_content> 
379                            <div class="info-contato"> 
380                                <div class="row"> 
381                                    <div class="col-md-2"> 
382                                        <b>Telefone</b> 
383                                    </div> 
384                                    <div class="col-md-10"> 
385                                        <#list telefonesArray as item> 
386                                            <p>${item}</p> 
387                                        </#list> 
388                                    </div> 
389                                </div> 
390                            </div> 
391                        </#if> 
392 
393                        <#if emailsArray?has_content> 
394                            <div class="info-contato"> 
395                                <div class="row"> 
396                                    <div class="col-md-2"> 
397                                        <b>Email</b> 
398                                    </div> 
399                                    <div class="col-md-10"> 
400                                        <#list emailsArray as item> 
401                                            <p>${item}</p> 
402                                        </#list> 
403                                    </div> 
404                                </div> 
405                            </div> 
406                        </#if> 
407 
408                        <#if sitesArray?has_content> 
409			    <#assign portalUtil = staticUtil["com.liferay.portal.kernel.util.PortalUtil"] /> 
410        		    <#assign baseURL = portalUtil.getPortalURL(request) /> 
411                            <div class="info-contato"> 
412                                <div class="row"> 
413                                    <div class="col-md-2"> 
414                                        <b>Site</b> 
415                                    </div> 
416                                    <div class="col-md-10"> 
417 
418                                        <#list sitesArray as item> 
419                                            <p><a class="verde" href="${item}" target="${item?starts_with(baseURL)?then('_self', '_blank')}">${item}</a></p> 
420                                        </#list> 
421                                    </div> 
422                                </div> 
423                            </div> 
424                        </#if> 
425 
426                        <#if redesSociaisArray?has_content> 
427                            <div class="info-contato"> 
428                                <div class="row"> 
429                                    <div class="col-md-2"> 
430                                        <b>Redes Sociais</b> 
431                                    </div> 
432                                    <div class="col-md-10"> 
433                                        <#list redesSociaisArray as item> 
434                                            <#if item?contains("linked")> 
435                                                <a href="${item}" target="_blank"><i 
436                                                            class="fab fa-linkedin fa-2x"></i></a> 
437                                            </#if> 
438                                            <#if item?contains("facebook")> 
439                                                <a href="${item}" target="_blank"><i 
440                                                            class="fab fa-facebook-square fa-2x"></i></a> 
441                                            </#if> 
442                                            <#if item?contains("insta")> 
443                                                <a href="${item}" target="_blank"><i 
444                                                            class="fab fa-instagram fa-2x"></i></a> 
445                                            </#if> 
446                                            <#if item?contains("twitter")> 
447                                                <a href="${item}" target="_blank"><i 
448                                                            class="fab fa-twitter fa-2x"></i></a> 
449                                            </#if> 
450                                             <#if item?contains("youtube")> 
451                                                <a href="${item}" target="_blank"><i 
452                                                            class="fab fa-youtube fa-2x"></i></a> 
453                                            </#if> 
454                                        </#list> 
455                                    </div> 
456                                </div> 
457                            </div> 
458                        </#if> 
459 
460                        </#if> 
461 
462                        <div class="row"> 
463                            <div class="col-12 text-right"> 
464                                <p style="color:#9e9797">Atualizado 
465                                    em: ${ article.getModifiedDate()?string["dd/MM/yyyy"]}</p> 
466                            </div> 
467 
468                            <div class="a2a_kit a2a_kit_size_32 a2a_default_style"  
469                                data-a2a-icon-color = "transparent, black"> 
470                                <a class="a2a_button_facebook"></a> 
471                                <a class="a2a_button_twitter"></a> 
472                                <a class="a2a_button_whatsapp"></a> 
473                                <a class="a2a_button_facebook_messenger"></a> 
474                                <a class="a2a_button_email"></a> 
475                                <a class="a2a_button_copy_link"></a> 
476                                <a class="a2a_dd" href="https://www.addtoany.com/share"></a> 
477                            </div> 
478 
479                            <#if assetEntry.getTags()?has_content> 
480                                <div class="col-12 mt-4"> 
481                                    <#list assetEntry.getTags() as tag> 
482                                        <a href="/pesquisa?q=${tag.name}" class="badge badge-pill badge-silver p-2">${tag.name}</a> 
483                                    </#list>  
484                                </div> 
485                            </#if> 
486 
487                            <@liferay_util["html-top"]> 
488                                <script crossorigin="anonymous" src="https://kit.fontawesome.com/9f47eedf41.js"></script> 
489                                <script src="https://static.addtoany.com/menu/page.js"></script> 
490                                <meta property="og:title" content="${titulo}" /> 
491                                <meta property="og:description" content="${subtitulo}" /> 
492                                <meta property="og:type" content="article" /> 
493                                <meta property="og:locale" content="${locale}" /> 
494                                <meta property="og:site_name" content="${company.getName()}" /> 
495                                <meta property="og:url" content="${themeDisplay.getPortalURL() + themeDisplay.getURLCurrent()}"> 
496                                <#if tagsArray?has_content> 
497                                    <meta property="article:tag" content="${tags?join(",")}" /> 
498                                </#if> 
499                                 
500                                <#if shareImgFileEntry??> 
501                                    <meta property="og:image" itemprop="image" content="${themeDisplay.getURLPortal()}/o/adaptive-media/image/${shareImgFileEntry.getFileEntryId()}/thumbnail-600x0/${shareImgFileEntry.getFileName()}" /> 
502                                </#if> 
503                            </@>  
504                        </div> 
505 
506 
507                </section> 
508            </div> 
509 
510            <div class="col-md-4"> 
511                <#if currentArticleRelatedLinks?has_content> 
512                    <aside id="relatedNews"> 
513                        <div class="container-fluid"> 
514                            <div class="container"> 
515                                <h2>Notícias Relacionadas</h2> 
516                                <div class="row"> 
517                                    <#list currentArticleRelatedLinks as related> 
518                                        <#assign assertRelated = assetEntryService.getEntry(related.getEntryId2()) /> 
519                                        <#assign assetRendererRelated = assertRelated.getAssetRenderer() /> 
520                                        <#assign articleRelated = assetRendererRelated.getArticle() /> 
521                                        <#assign documentRelated = saxReaderUtil.read(articleRelated.getContent()) /> 
522                                        <#assign rootElementRelated  = documentRelated.getRootElement() /> 
523                                        <#assign assetRelatedUrlTitle = articleRelated.getUrlTitle(locale) /> 
524 
525                                        <#assign tituloRelated  = "" /> 
526                                        <#assign subtituloRelated  = "" /> 
527 
528                                        <#list rootElementRelated.elements() as el> 
529                                            <#list el.elements() as il> 
530                                                <#if "imagem" == il.attributeValue("name") &&  il.element("dynamic-content").getData()?has_content> 
531                                                    <#assign imagemURLRelated = il.element("dynamic-content").getData()?eval /> 
532                                                </#if> 
533 
534                                                <#if "titulo" == il.attributeValue("name")> 
535                                                    <#assign tituloRelated = il.element("dynamic-content").getData() /> 
536                                                </#if> 
537 
538                                                <#if "subtitulo" == il.attributeValue("name")> 
539                                                    <#assign subtituloRelated = il.element("dynamic-content").getData() /> 
540 
541                                                </#if> 
542 
543                                            </#list> 
544                                        </#list> 
545 
546                                        <div class="col-md-12"> 
547                                            <div class="card" 
548                                                 style="background-color: white;"> 
549                                                 <#if imagemURLRelated?has_content> 
550                                                    <@adaptive_media_image["img"] class="card-img-top"  
551                                                        fileVersion=dlAppServiceUtil.getFileEntry(imagemURLRelated.fileEntryId?number).getFileVersion() 
552                                                        alt="${imagemURLRelated.alt}" /> 
553                                                </#if> 
554                                                <div class="card-body" style="color: #3B3B3B"> 
555                                                    <p class="card-text card-text-title verde"> ${tituloRelated}</p> 
556                                                    <br/> 
557                                                    <p class="card-text card-text-subtitle"> ${subtituloRelated}</p> 
558                                                    <a href="/noticia/-/${assetRelatedUrlTitle}" 
559                                                       class="stretched-link"></a> 
560 
561                                                    <div class="a2a_kit a2a_kit_size_32 a2a_default_style"  
562                                                        data-a2a-icon-color="transparent, black"  
563                                                        data-a2a-url="${currentUrl}/noticia/-/${assetRelatedUrlTitle}"> 
564                                                        <a class="a2a_button_facebook"></a> 
565                                                        <a class="a2a_button_twitter"></a> 
566                                                        <a class="a2a_button_whatsapp"></a> 
567                                                        <a class="a2a_button_facebook_messenger"></a> 
568                                                        <a class="a2a_button_email"></a> 
569                                                        <a class="a2a_button_copy_link"></a> 
570                                                        <a class="a2a_dd" href="https://www.addtoany.com/share"></a> 
571                                                    </div> 
572                                                </div> 
573 
574                                            </div> 
575                                        </div> 
576                                    </#list> 
577                                </div> 
578                            </div> 
579                        </div> 
580                    </aside> 
581                </#if> 
582            </div> 
583        </div> 
584    </div> 
585 
586</div> 

SUBSCRIBE NEWSLETTER

Successfully subscribed newsletter Did not subscribe to the Newsletter. Please try again later

We use cookies on our website to give you the best experience. By continuing to browse, you are authorize our use of these cookies. However, if you want to know more information, namely how to change your settings, see our Policy .