Voltar BNB já financiou R$ 35 milhões em geração solar residencial no Maranhão em 2024

Um erro ocorreu enquanto processava o modelo.
Java method "com.sun.proxy.$Proxy809.getArticle(long, String)" threw an exception when invoked on com.sun.proxy.$Proxy809 object "com.liferay.journal.service.impl.JournalArticleLocalServiceImpl@5298619a"; see cause exception in the Java stack trace.

----
FTL stack trace ("~" means nesting-related):
	- Failed at: #assign journalarticle = JournalArtic...  [in template "20101#20128#" at line 5, column 1]
----
1<#assign journalArticleId = .vars['reserved-article-id'].data> 
2<#assign journalArticleTitle = .vars['reserved-article-title'].data> 
3 
4<#assign JournalArticleLocalService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService")> 
5<#assign journalarticle = JournalArticleLocalService.getArticle(groupId, journalArticleId)> 
6<#assign primaryKey = journalarticle.getResourcePrimKey()> 
7 
8<#assign categoryService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetCategoryLocalService")> 
9 
10<#assign categoryList=categoryService.getCategories("com.liferay.journal.model.JournalArticle", primaryKey) >  
11 
12<#assign dateFormat= "dd/MM/yyyy"/> 
13 
14<#include "_TEMPLATE_CONTEXT_/20101/20124/20015/47059" /> 
15 
16<#assign estrutura = journalarticle.getDDMStructure()> 
17 
18<!--Servicos dos artigos relacionados--> 
19 
20<#assign OrderByComparatorFactoryUtil = staticUtil["com.liferay.portal.kernel.util.OrderByComparatorFactoryUtil"]> 
21<#assign orderby = OrderByComparatorFactoryUtil.create("JournalArticle", "publishDate", "desc")> 
22<#assign articlesByStructureId = JournalArticleLocalService.getArticlesByStructureId(groupId, estrutura.getStructureKey()?string, 0, 50, orderBy) />  
23 
24<div class="row"> 
25    <div class="col-sm-12 col-lg-8 mt-4 "> 
26    <div class="h4">${journalArticleTitle}</div> 
27        <#if tipoExibicao.getData() == "imagem" && img.getData()?? && img.getData() != ""> 
28            <img alt="${img.getAttribute('alt')}" data-fileentryid="${img.getAttribute('fileEntryId')}" src="${img.getData()}" class="w-100" /> 
29            <#assign posicao = "position:relative;bottom:20px"/> 
30        <#elseif tipoExibicao.getData() == "video" && idVideo?has_content> 
31            <iframe id="ytplayer" type="text/html" width="720" height="500" class="w-100" 
32            src="https://www.youtube.com/embed/${idVideo.getData()}" 
33            frameborder="0" allowfullscreen> 
34            </iframe> 
35            <#assign posicao = "position:relative;bottom:8px"/> 
36        <#else> 
37            <#assign posicao = "margin-bottom:8px"/> 
38        </#if> 
39 
40        <div class="d-flex justify-content-between flex-column flex-sm-row"> 
41                    <#list categoryList as cat> 
42                        <#if cat.getVocabularyId() == vocCategorias>  
43                            <#assign cat = cat/> 
44            		        <span class="bg-primary text-white px-2 py-1 border-radius-bnb mr-auto" style="${posicao}">${cat.getName()}</span> 
45                        </#if> 
46                    </#list> 
47         
48        <#-- Retrieve the published date meta data field of the web content --> 
49        <#assign articleDisplayDate = .vars['reserved-article-display-date'].data /> 
50        <#setting locale = localeUtil.getDefault()> 
51        <#assign displaydate = articleDisplayDate?datetime("EEE, d MMM yyyy HH:mm:ss zzzzz")> 
52         
53        <span class="font-weight-bold">${Local.getData()}, ${displaydate?string(dateFormat)}</span> 
54        </div> 
55        <div class="mt-3"> 
56            ${conteudo.getData()} 
57        </div> 
58        <div class="mt-2"> 
59            <#assign rawTags = .vars['reserved-article-asset-tag-names'].data/> 
60            <#if rawTags?has_content> 
61                <div class="font-weight-bold">TAGS</div> 
62                <#list rawTags?split(",") as tag> 
63                    <span class="label label-secondary"> 
64                        <span class="label-item label-item-expand">${tag}</span> 
65                    </span>  
66                </#list> 
67            </#if> 
68        </div> 
69    </div> 
70    <div class="col-sm-12 col-lg-4 mt-4 "> 
71        <div class="h5 font-weight-bold mb-4">Notícias Relacionadas</div> 
72        <#assign cont = 0/> 
73        <#list articlesByStructureId as article> 
74            <#assign categorySessao=categoryService.getCategories("com.liferay.journal.model.JournalArticle", article.getResourcePrimKey()) />  
75            <#list categorySessao as catArticle> 
76                <#if catArticle == cat && article.getArticleId() != journalArticleId && cont <= 5> 
77                    <#assign cont = cont + 1/> 
78                    <#assign curArticleTitle = article.getTitle()> 
79                    <#if cont == 6> 
80                        <#assign barra = ""/> 
81                    <#else> 
82                        <#assign barra = "margin-bottom: 20px;padding-bottom: 20px;border-bottom: 1px solid #ccc;"/> 
83                    </#if> 
84                    <a title="${curArticleTitle}" href="${themeDisplay.getScopeGroup().getDisplayURL(themeDisplay)}${themeDisplay.getLayoutFriendlyURL(themeDisplay.getLayout())}/-/asset_publisher/${noticiasAssetPublisher}/content/${article.getUrlTitle()}/${groupId}"><div class="h6 text-text-gray text-none" style="${barra}">${curArticleTitle}</div></a> 
85                </#if> 
86            </#list> 
87        </#list> 
88    </div> 
89</div> 
90 
91<script> 
92 
93 var tituloAsset = document.querySelector("#portlet_com_liferay_asset_publisher_web_portlet_AssetPublisherPortlet_INSTANCE_${noticiasAssetPublisher}"); 
94// tituloAsset.classList.add("pt-7"); 
95 tituloAsset.querySelector(".asset-title").replaceWith("Voltar"); 
96 tituloAsset.querySelector("a").ariaLabel = "Voltar" 
97 /* 
98 var links = document.querySelector(".list-unstyled"); 
99 if(document.querySelector(".list-unstyled").querySelectorAll("li a")){ 
100     var lista = document.querySelector(".list-unstyled").querySelectorAll("li a"); 
101     lista.forEach(element =>{ element.style.display = "block"; element.classList.remove("btn");element.classList.remove("btn-outline-secondary")}); 
102      var newItem = document.createElement("div"); 
103      var textnode = document.createTextNode("COMPARTILHE:"); 
104      newItem.classList.add("font-weight-bold"); 
105      newItem.classList.add("mr-1"); 
106      newItem.appendChild(textnode); 
107      document.querySelector(".list-unstyled").insertBefore(newItem, links.childNodes[0])    
108
109 */ 
110</script>