Si è verificato un errore nell'elaborarazione del modello.
Java method "com.sun.proxy.$Proxy982.getLatestArticle(long)" threw an exception when invoked on com.sun.proxy.$Proxy982 object "com.liferay.journal.service.impl.JournalArticleLocalServiceImpl@4da4cd39"; see cause exception in the Java stack trace. ---- FTL stack trace ("~" means nesting-related): - Failed at: #assign allegatoJA = journalArticleLo... [in template "20096#20121#94369" at line 207, column 73] ----
1<#assign structureService = serviceLocator.findService("it.inera.structure.service.StructureService")>
2<#assign siteBaseUrl = structureService.getSiteBaseUrl(themeDisplay)>
3<#assign journalArticleLocalService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService")>
4<#assign layoutLocalService = serviceLocator.findService("com.liferay.portal.kernel.service.LayoutLocalService")>
5<#assign jac = serviceLocator.findService("it.inera.journalarticleconverter.service.JournalArticleConverter")>
6<#assign dlFileEntryService = serviceLocator.findService("com.liferay.document.library.kernel.service.DLFileEntryLocalService")>
7<#assign dlAppLocalService = serviceLocator.findService("com.liferay.document.library.kernel.service.DLAppLocalService")>
8<#assign tipiDocumentopubblicoVocabularyId = structureService.getVocabularyTipidocumentopubblicoId()>
9
10<#assign journalArticleId = .vars['reserved-article-id'].data>
11
12<#assign ja = journalArticleLocalService.getArticle(groupId, journalArticleId)>
13<#assign pagina = jac.getPagina(ja) />
14
15<#assign argomentiVocabularyId = structureService.getVocabularyArgomentiId()>
16<#assign vocabularies = pagina.getCategories() />
17
18<#assign modifieddate = pagina.getModifiedDate()?string["dd/MM/yyyy"]>
19
20<#assign cssclassformargin = 'mt-3'>
21
22<#if pagina.getPlidParent()?? && pagina.getPlidParent()?has_content>
23 <#assign layoutParent = layoutLocalService.getLayout(pagina.getPlidParent()) >
24 <#if layoutParent.getParentPlid()?? && layoutParent.getParentPlid()?has_content && layoutParent.getParentPlid() gt 0>
25 <#assign layoutGrandParent = layoutLocalService.getLayout(layoutParent.getParentPlid()) >
26 </#if>
27
28 <#assign cssclassformargin = ''>
29
30 <div class="container" id="main-container">
31 <div class="row">
32 <div class="col px-lg-4">
33 <div class="cmp-breadcrumbs" role="navigation">
34 <nav class="breadcrumb-container" aria-label="breadcrumb">
35 <ol class="breadcrumb p-0" data-element="breadcrumb">
36 <li class="breadcrumb-item"><a href="${siteBaseUrl}/"><@liferay.language key="breadcrumbs.home" /></a><span class="separator">/</span></li>
37
38 <#if layoutGrandParent?? && layoutGrandParent?has_content && layoutGrandParent.getName(themeDisplay.getLocale()) != "homepage">
39 <li class="breadcrumb-item"><a href="${layoutGrandParent.getFriendlyURL(themeDisplay.getLocale())}">${layoutGrandParent.getName(themeDisplay.getLocale())}</a><span class="separator">/</span></li>
40 </#if>
41
42 <#if layoutParent?? && layoutParent?has_content && layoutParent.getName(themeDisplay.getLocale()) != "homepage">
43 <li class="breadcrumb-item"><a href="${layoutParent.getFriendlyURL(themeDisplay.getLocale())}">${layoutParent.getName(themeDisplay.getLocale())}</a><span class="separator">/</span></li>
44 </#if>
45
46 <li class="breadcrumb-item active" aria-current="page">${pagina.getTitolo()}</li>
47 </ol>
48 </nav>
49 </div>
50 </div>
51 <div>
52 </div>
53
54 <#assign plidParent = pagina.getPlidParent() >
55</#if>
56
57<div class="container">
58 <div class="row ${cssclassformargin}">
59 <div class="col-lg-8 px-lg-4 py-lg-2">
60 <h1 data-audio>
61 ${pagina.getTitolo()}
62 </h1>
63
64 <#if pagina.getSottotitolo()?? && pagina.getSottotitolo()?has_content>
65 <div data-audio>
66 ${pagina.getSottotitolo()}
67 </div>
68 </#if>
69 </div>
70
71 <div class="col-lg-3 offset-lg-1">
72 <div class="dropdown d-inline">
73 <button aria-label="<@liferay.language key="social.condivididesc" />" class="btn btn-dropdown dropdown-toggle text-decoration-underline d-inline-flex align-items-center fs-0" type="button" id="shareActions" data-bs-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
74 <svg class="icon" aria-hidden="true">
75 <use xlink:href="${themeDisplay.getPathThemeImages()}/bootstrap-italia/svg/sprites.svg#it-share"></use>
76 </svg>
77 <small><@liferay.language key="social.condividi" /></small>
78 </button>
79 <div class="dropdown-menu shadow-lg" aria-labelledby="shareActions">
80 <div class="link-list-wrapper">
81 <ul class="link-list share-btn" role="menu">
82 <li role="none">
83 <a data-id="fb" class="list-item" href="#" role="menuitem">
84 <svg class="icon" aria-hidden="true">
85 <use xlink:href="${themeDisplay.getPathThemeImages()}/bootstrap-italia/svg/sprites.svg#it-facebook"></use>
86 </svg>
87 <span><@liferay.language key="social.facebook" /></span>
88 </a>
89 </li>
90 <li role="none">
91 <a data-id="tw" class="list-item" href="#" role="menuitem">
92 <svg class="icon" aria-hidden="true">
93 <use xlink:href="${themeDisplay.getPathThemeImages()}/bootstrap-italia/svg/sprites.svg#it-twitter"></use>
94 </svg>
95 <span><@liferay.language key="social.twitter" /></span>
96 </a>
97 </li>
98 <li role="none">
99 <a data-id="in" class="list-item" href="#" role="menuitem">
100 <svg class="icon" aria-hidden="true">
101 <use xlink:href="${themeDisplay.getPathThemeImages()}/bootstrap-italia/svg/sprites.svg#it-linkedin"></use>
102 </svg>
103 <span><@liferay.language key="social.linkedin" /></span>
104 </a>
105 </li>
106 <li role="none">
107 <a data-id="wa" class="list-item" href="#" role="menuitem">
108 <svg class="icon" aria-hidden="true">
109 <use xlink:href="${themeDisplay.getPathThemeImages()}/bootstrap-italia/svg/sprites.svg#it-whatsapp"></use>
110 </svg>
111 <span><@liferay.language key="social.whatsapp" /></span>
112 </a>
113 </li>
114 </ul>
115 </div>
116 </div>
117 </div>
118 <div class="dropdown d-inline">
119 <button aria-label="<@liferay.language key="azioni.vedidesc" />" class="btn btn-dropdown dropdown-toggle text-decoration-underline d-inline-flex align-items-center fs-0" type="button" id="viewActions" data-bs-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
120 <svg class="icon" aria-hidden="true">
121 <use xlink:href="${themeDisplay.getPathThemeImages()}/bootstrap-italia/svg/sprites.svg#it-more-items"></use>
122 </svg>
123 <small><@liferay.language key="azioni.vedi" /></small>
124 </button>
125 <div class="dropdown-menu shadow-lg" aria-labelledby="viewActions">
126 <div class="link-list-wrapper">
127 <ul class="link-list share-btn" role="menu">
128 <li role="none">
129 <a data-id="print" class="list-item" href="#" role="menuitem">
130 <svg class="icon" aria-hidden="true">
131 <use xlink:href="${themeDisplay.getPathThemeImages()}/bootstrap-italia/svg/sprites.svg#it-print"></use>
132 </svg>
133 <span><@liferay.language key="azioni.stampa" /></span>
134 </a>
135 </li>
136 <li role="none">
137 <a class="list-item" href="#" role="menuitem" onclick="listenElements(this, '[data-audio]')">
138 <svg class="icon" aria-hidden="true">
139 <use xlink:href="${themeDisplay.getPathThemeImages()}/bootstrap-italia/svg/sprites.svg#it-hearing"></use>
140 </svg>
141 <span><@liferay.language key="azioni.ascolta" /></span>
142 </a>
143 </li>
144 <li role="none">
145 <a data-id="mail" class="list-item" href="#" role="menuitem">
146 <svg class="icon" aria-hidden="true">
147 <use xlink:href="${themeDisplay.getPathThemeImages()}/bootstrap-italia/svg/sprites.svg#it-mail"></use>
148 </svg>
149 <span><@liferay.language key="azioni.invia" /></span>
150 </a>
151 </li>
152 </ul>
153 </div>
154 </div>
155 </div>
156 </div>
157 </div>
158
159 <#if pagina.getImmagineprincipale()?? && pagina.getImmagineprincipale().getImmagine()?? && pagina.getImmagineprincipale().getImmagine().getUrl()?? && pagina.getImmagineprincipale().getImmagine().getUrl()?has_content>
160 <#assign immagineprincipale = pagina.getImmagineprincipale() >
161 <#assign fileEntryImg = dlFileEntryService.getDLFileEntry(immagineprincipale.getImmagine().getFileEntryId()?number) />
162 <#assign fileVersionImg = dlAppLocalService.getFileVersion(fileEntryImg.getFileVersion().getFileVersionId()) />
163
164 <div class="row" style="margin-top:20px">
165 <figure class="figure px-0 img-full">
166 <@adaptive_media_image.img fileVersion=fileVersionImg title="${immagineprincipale.getTitolo()}" alt="${immagineprincipale.getImmagine().getAlt()}" class="figure-img img-fluid" />
167 <figcaption class="figure-caption text-center pt-3">${immagineprincipale.getTitolo()}</figcaption>
168 </figure>
169 </div>
170 </#if>
171
172</div>
173
174<div class="container">
175 <div class="row border-top border-light row-column-border row-column-menu-left pt-5 mb-30">
176 <section class="col-12 px-lg-4 it-page-sections-container border-light">
177 <#if pagina.getParagrafi()?? && pagina.getParagrafi()?has_content>
178 <#list pagina.getParagrafi() as paragrafo>
179 <#if paragrafo?? && paragrafo?has_content && paragrafo.getTestoParagrafo()?? && paragrafo.getTestoParagrafo()?has_content >
180 <article class="it-page-section mb-30" data-audio>
181 <#if paragrafo.getTitoloParagrafo()?? && paragrafo.getTitoloParagrafo()?has_content >
182 <h2>${paragrafo.getTitoloParagrafo()}</h2>
183 </#if>
184 <div class="lora kib-rt richtext-wrapper">
185 ${paragrafo.getTestoParagrafo()}
186 </div>
187 </article>
188 </#if>
189 </#list>
190 </#if>
191 <#if pagina.getCollegamenti()?? && pagina.getCollegamenti()?has_content && pagina.getCollegamenti()[0]?has_content && pagina.getCollegamenti()[0].getClassPKLong()??>
192 <article id="contenuti_collegati" class="it-page-section anchor-offset mt-5 mb-5">
193 <h2 class="mb-3"><@liferay.language key="Contenuti collegati" /></h2>
194 <#assign allegati = pagina.getCollegamenti() />
195 <div class="mb-3" style="font-style:italic">Notizie, servizi e pagine collegati a questa notizia.</div>
196 <div class="row g-4">
197 <#list allegati as allegato>
198 <#assign assetType = "unknown" />
199 <#assign urlTitle = "#" />
200 <#assign titolo = "" />
201 <#assign sottotitolo = "" />
202 <#assign immaginePrincipaleCollegamento = "" />
203 <#if allegato?? && allegato?has_content && allegato.getClassPKLong()?? >
204 <#assign allegatoId = allegato.getClassPKLong() />
205
206 <#if allegatoId?? && allegatoId?has_content >
207 <#assign allegatoJA = journalArticleLocalService.getLatestArticle(allegatoId)>
208
209 <#if allegatoJA.getDDMStructureKey() = structureService.getStructurePaginaKey()>
210 <#assign allegatoObj = jac.getPagina(allegatoJA) />
211 <#assign assetType = "Pagina" />
212 <#assign urlTitle = allegatoObj.getUrlTitle() />
213 <#assign titolo = allegatoObj.getTitolo() />
214 <#assign sottotitolo = "" />
215 <#if allegatoObj.getSottotitolo()??>
216 <#assign sottotitolo = allegatoObj.getSottotitolo() />
217 </#if>
218 <#if allegatoObj.getImmagineprincipale()?? && allegatoObj.getImmagineprincipale().getImmagine()?? && allegatoObj.getImmagineprincipale().getImmagine().getUrl()?? && allegatoObj.getImmagineprincipale().getImmagine().getUrl()?has_content>
219 <#assign immaginePrincipaleCollegamento = allegatoObj.getImmagineprincipale().getImmagine().getUrl() >
220 </#if>
221 </#if>
222 <#if allegatoJA.getDDMStructureKey() = structureService.getStructureServizioKey()>
223 <#assign allegatoObj = jac.getServizio(allegatoJA) />
224 <#assign assetType = "Servizio" />
225 <#assign urlTitle = allegatoObj.getUrlTitle() />
226 <#assign titolo = allegatoObj.getTitolo() />
227 <#if allegatoObj.getSottotitolo()??>
228 <#assign sottotitolo = allegatoObj.getSottotitolo() />
229 </#if>
230 <#if allegatoObj.immagineprincipale?? && allegatoObj.immagineprincipale.immagine.getUrl()?? && allegatoObj.immagineprincipale.immagine.getUrl()?has_content >
231 <#assign immaginePrincipaleCollegamento = allegatoObj.getImmagineprincipale().getImmagine().getUrl() >
232 </#if>
233 </#if>
234 <#if allegatoJA.getDDMStructureKey() = structureService.getStructureNotiziaKey()>
235 <#assign allegatoObj = jac.getNotizia(allegatoJA) />
236 <#assign assetType = "Notizia" />
237 <#assign urlTitle = allegatoObj.getUrlTitle() />
238 <#assign titolo = allegatoObj.getTitolo() />
239 <#if allegatoObj.getAbstract_()??>
240 <#assign sottotitolo = allegatoObj.getAbstract_() />
241 </#if>
242 <#if allegatoObj.immagineprincipale?? && allegatoObj.immagineprincipale.immagine.getUrl()?? && allegatoObj.immagineprincipale.immagine.getUrl()?has_content >
243 <#assign immaginePrincipaleCollegamento = allegatoObj.getImmagineprincipale().getImmagine().getUrl() >
244 </#if>
245 </#if>
246 <div class="col-md-6 col-xl-4">
247 <div class="card-wrapper border border-light rounded shadow-sm">
248 <div class="card no-after rounded">
249 <#if immaginePrincipaleCollegamento?? && immaginePrincipaleCollegamento != "">
250 <#assign altImg = "Immagine principale"/>
251 <#assign titoloImg = "Immagine principale"/>
252 <div class="img-responsive-wrapper">
253 <div class="img-responsive img-responsive-panoramic">
254 <figure class="img-wrapper">
255 <img src="${immaginePrincipaleCollegamento}?width=450" title="${titoloImg}" alt="${altImg}">
256 </figure>
257 </div>
258 </div>
259 </#if>
260
261 <div class="card-body">
262 <div class="category-top">
263 <a title="${assetType}" class="category text-decoration-none" href="#" data-element="news-category-link" >${assetType}</a>
264 </div>
265 <a href="${siteBaseUrl}/w/${urlTitle}" class="text-decoration-none" data-element="news-link">
266 <h3 class="card-title">${titolo}</h3>
267 </a>
268 <p class="card-text text-secondary">${sottotitolo}</p>
269 </div>
270 </div>
271 </div>
272 </div>
273 </#if>
274 </#if>
275 </#list>
276
277 </div>
278 </article>
279 </#if>
280 <#if pagina.getDocumenti()?? && pagina.getDocumenti()?has_content && pagina.getDocumenti()[0]?? && pagina.getDocumenti()[0]?has_content && pagina.getDocumenti()[0].getClassPKLong()?? >
281 <section id="documenti">
282 <div class="pb-5">
283 <div class="container">
284 <div class="row row-title pt-md-5">
285 <div class="col-12">
286 <h3 class="text-secondary border-bottom pb-2 pb-lg-3">Documenti collegati</h3>
287 </div>
288 </div>
289 <div class="row mx-0">
290 <div class="card-wrapper px-0 card-teaser-wrapper card-teaser-wrapper-equal card-teaser-block-3 g-4">
291
292 <#list pagina.getDocumenti() as doc>
293 <#if doc?? && doc?has_content && doc.getClassPKLong()?? >
294 <#assign docId = doc.getClassPKLong() />
295 <#if docId?? && docId?has_content >
296 <#assign docJA = journalArticleLocalService.getLatestArticle(docId)>
297 <#if docJA.getDDMStructureKey() = structureService.getStructureDocumentoPubblicoKey()>
298 <#assign documentoPubblico = jac.getDocumentoPubblico(docJA) />
299
300 <#assign vocabularies = documentoPubblico.getCategories() />
301
302 <#assign urlTitle = documentoPubblico.getUrlTitle() />
303 <#assign titolo = documentoPubblico.getTitolo() />
304 <#assign sottotitolo = documentoPubblico.getAbstract_() />
305
306 <#if vocabularies?? && vocabularies?has_content >
307 <#list vocabularies as vocabularyId, categories>
308 <#if categories?? && categories?has_content && vocabularyId == tipiDocumentopubblicoVocabularyId >
309 <#list categories as category>
310 <#assign tipoDocumentoPubblico = category.getTitle(locale) >
311 <#assign paginaCategoriaDocumentoPubblico = "/documenti/-/category_documenti/" + category.getCategoryId() >
312 </#list>
313 </#if>
314 </#list>
315 </#if>
316
317 <div class="card card-teaser card-teaser-image card-flex no-after rounded shadow-sm border border-light mb-0">
318 <div class="card-image-wrapper with-read-more">
319 <div class="card-body p-3">
320 <div class="category-top">
321 <a href="${siteBaseUrl}${paginaCategoriaDocumentoPubblico}" class="title-xsmall-semi-bold fw-semibold text-decoration-none">${tipoDocumentoPubblico}</a>
322 </div>
323 <h4 class="card-title">
324 <a href="${siteBaseUrl}/-/${urlTitle}" class="text-decoration-none">${titolo}</a>
325 </h4>
326 <#if sottotitolo?? && sottotitolo?has_content >
327 <p class="text-paragraph-card m-0">${sottotitolo}</p>
328 </#if>
329 </div>
330 </div>
331 </div>
332
333 </#if>
334 </#if>
335 </#if>
336 </#list>
337
338 </div>
339 </div>
340 </div>
341 </div>
342 </section>
343 </#if>
344
345 <article id="ultimo-aggiornamento" class="anchor-offset mt-5">
346 <h4 class="h6"><@liferay.language key="detail.aggiornamento" />: <span class="h6 fw-normal">${modifieddate}</span></h4>
347 </article>
348
349 </section>
350 </div>
351</div>