Rádio

Um erro ocorreu enquanto processava o modelo.
The following has evaluated to null or missing:
==> journalArticle  [in template "20154#20194#67033528" at line 5, column 19]

----
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: #assign titulo = journalArticle["titl...  [in template "20154#20194#67033528" at line 5, column 1]
----
1<#setting datetime_format="EEEE, dd 'de' MMMM 'de' yyyy 'às' HH:mm"> 
2<#setting locale = locale /> 
3<#setting time_zone = "GMT-4" /> 
4 
5<#assign titulo = journalArticle["title"]!"" > 
6<#assign radio_url = (.vars['radio_url'].getData())!"" > 
7<#assign author = (.vars['author'].getData())!"" > 
8<#assign chapeu = (.vars['chapeu'].getData())!"" > 
9<#assign image = (.vars['image'].getData())!"" > 
10<#assign descricao = (.vars['descricao'].getData())!"" > 
11 
12<#assign JournalArticleLocalService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService")> 
13<#assign articleId = .vars['reserved-article-id'].data > 
14<#assign journalArticle = JournalArticleLocalService.getArticle( groupId, articleId ) > 
15 
16<#assign dataPublicacao = journalArticle["displayDate"]?datetime > 
17 
18<#assign urlTitle = journalArticle["urlTitle"] > 
19 
20 
21<div style="text-align:left;"> 
22	<p>${dataPublicacao}</p> 
23	<p>Por: ${author}</p> 
24</div> 
25 
26<div style="text-align:center;margin-bottom:20px;"> 
27    <audio controls style="width: 92%;opacity: .4;" preload="none"> 
28      <source src="${radio_url}" type="audio/mpeg"> 
29      Seu navegador não possui suporte para reprodução de áudio. 
30    </audio><a href="${radio_url}" class="download-radio"><i class="icon-download-alt"></i></a> 
31</div> 
32 
33 
34<br><br> 
35<#if image != "" > 
36    <div style="position:relative;margin-bottom:20px;"> 
37        <img src="${image}"/> 
38    </div> 
39</#if> 
40 
41<div style="text-align:left;"> 
42	${descricao} 
43</div> 
44<#-- 
45### Verificar depois como liberar compartilhamento 
46	<div class="news-end"> 
47		<div class="social-share"> 
48			Compartilhe esta notícia <i class="icon-chevron-right"></i> <a style="float: right;" class="visible-phone" onclick="shareWA()" target="_blank" rel="external" data-action="share/whatsapp/share"><i class="icon-mt-whatsapp"></i></a><a onclick="shareFB()" target="_blank"><i class="icon-facebook-sign"></i></a><a onclick="shareTT()"><i class="icon-twitter-sign"></i></a><a onclick="shareGP()"><i class="icon-google-plus-sign"></i></a> 
49		</div> 
50	</div> 
51	#set ($themeDisplay = $portal.getClass().forName("com.liferay.portal.theme.ThemeDisplay").newInstance()) 
52	#set ($portalURL = $httpUtil.getProtocol($request.attributes.CURRENT_URL) + "://" + $getterUtil.getString($request.theme-display.portal-url)) 
53 
54	<script> 
55		function shareFB(){ 
56			window.location.assign('https://www.facebook.com/sharer/sharer.php?u=' + encodeURIComponent('$portalURL/-/$ja.urlTitle')); 
57
58		 
59		function shareTT(){ 
60			window.location.assign('https://twitter.com/intent/tweet?url=' + encodeURIComponent('$portalURL/-/$ja.urlTitle') + '&text=' +encodeURIComponent('Confiram esta notícia do portal MT.GOV.BR')+'&via=govmatogrosso'); 
61
62		 
63		function shareGP(){ 
64			window.location.assign('https://plus.google.com/share?url=' + encodeURIComponent('$portalURL/-/$ja.urlTitle')); 
65
66		 
67		function shareWA(){ 
68			window.location.assign('whatsapp://send?text=' + encodeURIComponent('Veja esta notícia no portal MT.GOV.BR: $portalURL/-/$ja.urlTitle')); 
69
70	</script> 
71--> 
72 
73<style> 
74<#if chapeu != "" > 
75    .header-title:before{content:"${chapeu}";font-size:13px;display: -webkit-box;line-height: 15px;text-transform: uppercase;font-family:Arial,Helvetica,sans-serif; display: block;} 
76    .taglib-header .header-back-to a {font-size: 1.8em;margin-top: 5px;} 
77<#else> 
78    .taglib-header .header-back-to a {font-size: 1.8em;margin-top: -10px;} 
79</#if> 
80.rel-content-title{font-family: Arial,Helvetica,sans-serif;text-transform: uppercase;color: #fff;font-size: 14px;padding: 5px;background-color: #1255A6;} 
81.rel-content{margin-top: 3px;padding: 10px 0;border-top: 2px solid #1255A6;} 
82.rel-content ul{margin: 0 0;} 
83.rel-links{margin-top:10px;} 
84.rel-links li{list-style:none;line-height: 20px;padding: 5px;background-color: rgba(255,255,255,.5);margin-bottom: 10px;border-bottom: 1px solid #ddd;} 
85.rel-links li:last-child{margin-bottom:0;} 
86.rel-links li a{font-size:18px;} 
87.related-thumbs{margin-top:10px;} 
88.related-thumbs .sm{height: 130px;} 
89.related-thumbs .foto-title{font-size:16px;} 
90.related-thumbs .video-title{font-size:14px;color:#fff;position:absolute;bottom:0;left:0;background:#0071bb;line-height: 15px;padding: 3px 6px;} 
91.rel-video-icon{text-align: center;display: block;font-size: 32px;} 
92.rel-video-icon i{color: #e62117;background-color: #fff;line-height: 17px !important;text-indent: -1px;margin-left: 0px;width: 23px;height: 14px !important;margin-top: 42px !important;} 
93.mt-search{display:none;} 
94.taglib-header:after {content: "${dataPublicacao}";font-size: 12px;float:right;margin-bottom: 30px;} 
95</style>