Errorea gertatu da txantiloia prozesatzerakoan.
Java method "com.sun.proxy.$Proxy52.getAssetVocabulary(long)" threw an exception when invoked on com.sun.proxy.$Proxy52 object "com.liferay.portlet.asset.service.impl.AssetVocabularyLocalServiceImpl@c3e6710"; see cause exception in the Java stack trace. ---- FTL stack trace ("~" means nesting-related): - Failed at: #assign assetVocabulary = assetVocabu... [in template "20907#20945#15488422" at line 71, column 1] ----
1<#assign assetVocabularyLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetVocabularyLocalService") />
2<#assign journalArticleLocalService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService") />
3<#assign assetLinkLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetLinkLocalService") />
4<#assign assetEntryLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetEntryLocalService") />
5<#assign structureLocalService = serviceLocator.findService("com.liferay.dynamic.data.mapping.service.DDMStructureLocalService") />
6<#assign classNameLocalService = serviceLocator.findService("com.liferay.portal.kernel.service.ClassNameLocalService")/>
7<#assign fileLocalService = serviceLocator.findService("com.liferay.document.library.kernel.service.DLFileEntryLocalService")>
8
9<#assign className = classNameLocalService.getClassName("com.liferay.journal.model.JournalArticle") />
10<#assign classNameId = className.getClassNameId() />
11
12<#assign currentArticle = journalArticleLocalService.getArticle(groupId, .vars['reserved-article-id'].data) />
13<#assign currentArticleResourcePrimKey = currentArticle.getResourcePrimKey() />
14<#assign currentArticleAssetEntry = assetEntryLocalService.getEntry("com.liferay.journal.model.JournalArticle", currentArticleResourcePrimKey) />
15<#assign currentArticleAssetEntryId = currentArticleAssetEntry.getEntryId() />
16<#assign currentArticleRelatedLinks = assetLinkLocalService.getDirectLinks(currentArticleAssetEntryId) />
17
18
19<#assign structureArticulo=13449216 />
20<#assign structureBotonera=13449217 />
21<#assign structureCarrousel=13449218 />
22<#assign structurePonente=13449220 />
23<#assign structureFicha=13449221 />
24<#assign structureDocumento=13449222 />
25<#assign structureFAQ=13449223 />
26<#assign structureVideo=13449219 />
27<#assign structureArchivo=13584317 />
28<#assign structureActualidad=13584334 />
29<#assign structureMenu=13640085 />
30<#assign structureTipos=13720053 />
31<#assign structureParticipante=13743729 />
32<#assign vocabularyBiblioteca=15471815 />
33<#assign videos = [] />
34<#assign archivos = [] />
35
36
37
38<#assign ningun_resultado = 'Ez da emaitzarik izan bilaketarako.<br>Saiatu berriro beste bilaketa-parametro batzuekin.' />
39<#assign ningun_resultado_search = 'Ez da emaitzarik izan <span id="searchKey" class="searchKey"></span> bilaketarako.<br>Saiatu berriro beste bilaketa-parametro batzuekin.' />
40<#assign ningun_resultado_title = "Emaitzarik ez" />
41<#assign date_format = "yyyy/MM/dd" />
42<#assign filtrar = "Iragazi gaiaren arabera" />
43<#assign mostrar_todo = "Erakutsi dena" />
44<#assign archivos_relacionados = "Lotutako dokumentuak" />
45<#assign videos_relacionados = "Lotutako bideoak" />
46<#assign ver_documento = "Acceder al documento" />
47<#assign reproducir_video = "Bideoa erreproduzitu" />
48<#if locale.getLanguage() == "es" >
49 <#assign ningun_resultado = 'No ha habido ningún resultado para su búsqueda.<br />Vuelva a intentarlo con otros parámetros de búsqueda.' />
50 <#assign ningun_resultado_search = 'No ha habido ningún resultado para la búsqueda de <span id="searchKey" class="searchKey"></span>.<br> Vuelva a intentarlo con otros parámetros de búsqueda.' />
51 <#assign ningun_resultado_title = "Ningún resultado" />
52 <#assign date_format = "dd/MM/yyyy" />
53 <#assign filtrar = "Filtrar por tema" />
54 <#assign mostrar_todo = "Mostrar todo" />
55 <#assign archivos_relacionados = "Archivos relacionados" />
56 <#assign videos_relacionados = "Vídeos relacionados" />
57 <#assign ver_documento = "Dokumentua irakurri" />
58 <#assign reproducir_video = "Reproducir video" />
59<#elseif locale.getLanguage() == "en" >
60 <#assign ningun_resultado = 'There is no result for your search. <br /> Please try again with other search parameters.' />
61 <#assign ningun_resultado_search = 'There were no results for the search for <span id="searchKey" class="searchKey"> </span>. <br> Please try again with other search parameters.' />
62 <#assign mostrar_todo = "View all" />
63 <#assign ningun_resultado_title = "No results" />
64 <#assign date_format = "yyyy/MM/dd" />
65 <#assign filtrar = "Filter by topic" />
66 <#assign archivos_relacionados = "Related documents" />
67 <#assign videos_relacionados = "Related videos" />
68 <#assign ver_documento = "View document" />
69 <#assign reproducir_video = "Play video" />
70</#if>
71<#assign assetVocabulary = assetVocabularyLocalService.getAssetVocabulary(vocabularyBiblioteca) />
72<#assign assetCategories = assetVocabulary.getCategories() />
73
74<section class="tipoCont-seccion filtro-tema">
75 <div class="container">
76 <div class="row-fluid">
77 <div class="span12">
78 <h1 class="post-title">${.vars['reserved-article-title'].data}</h1>
79 <#if Intro_archivo?? & Intro_archivo.getData()!="">
80 <div class="sec-content">
81 ${Intro_archivo.getData()}
82 </div>
83 </#if>
84 <div class="sec-content">
85 <h2 class="sec-title">${filtrar}</h2>
86 </div>
87 <div class="sec-tag-content">
88 <ul id="category-filter" class="tag-list">
89 <li class="tag-element">
90 <a href="javascript:;" data-category="-1">${mostrar_todo}</a>
91 </li>
92 <#list assetCategories as assetCategory>
93 <li class="tag-element">
94 <a href="javascript:;" data-category="${assetCategory.getCategoryId()}">${assetCategory.getTitle(locale)}</a>
95 </li>
96 </#list>
97 </ul>
98 </div>
99 <#list currentArticleRelatedLinks as related_entry>
100 <#assign relatedAssetEntryId = related_entry.getEntryId2() />
101 <#assign relatedAssetEntry = assetEntryLocalService.getEntry(relatedAssetEntryId) />
102 <#assign relatedAssetEntryPrimKey = relatedAssetEntry.getClassPK() />
103 <#assign relatedArticle = journalArticleLocalService.getLatestArticle(relatedAssetEntryPrimKey) />
104
105 <#assign structureId = 0 />
106 <#attempt>
107 <#assign structure = structureLocalService.getStructure(relatedArticle.getGroupId(), classNameId, relatedArticle.getStructureId()) />
108 <#assign structureId = structure.getStructureId() />
109 <#recover>
110 </#attempt>
111 <#if structureId==structureArchivo>
112 <#assign archivos=archivos+[relatedAssetEntry]>
113 <#elseif structureId==structureVideo>
114 <#assign videos=videos+[relatedAssetEntry]>
115 </#if>
116 </#list>
117 <#if (archivos?size>0)>
118 <h2 id="title-archivos">${archivos_relacionados}</h2>
119 <ul id="list-archivos" class="listado-grid column-4">
120 <#list archivos as archivo>
121 <#assign relatedAssetEntryPrimKey = archivo.getClassPK() />
122 <#assign article = journalArticleLocalService.getLatestArticle(relatedAssetEntryPrimKey) />
123 <#assign relatedAssetEntryCategories = archivo.getCategories() />
124 <#assign categoryIds = "" />
125 <#list relatedAssetEntryCategories as relatedAssetEntryCategory>
126 <#if (relatedAssetEntryCategory.getVocabularyId() == vocabularyBiblioteca)>
127 <#assign categoryIds = categoryIds + relatedAssetEntryCategory.getCategoryId() + "," />
128 </#if>
129 </#list>
130
131 <#assign title = article.getTitle(locale) />
132 <#assign docXml = saxReaderUtil.read(article.getContentByLocale(locale.toString())) />
133 <#assign url = docXml.valueOf("//dynamic-element[@name='link_externo']/dynamic-content/text()") />
134 <#assign fileEntryObject = docXml.valueOf("//dynamic-element[@name='Documento']/dynamic-content/text()")>
135 <#assign imagen = docXml.valueOf("//dynamic-element[@name='image']/dynamic-content/text()") />
136 <#if imagen?? && imagen != "">
137 <#assign imagenJSON = imagen?eval />
138 <#assign imagenURL = "/documents/"+imagenJSON.groupId+"/"+imagenJSON.uuid />
139 </#if>
140 <#assign extension = "txt" />
141 <#if fileEntryObject?? && fileEntryObject != "">
142 <#assign fileEntryJSON = fileEntryObject?eval />
143 <#assign fileEntry = fileLocalService.getDLFileEntryByUuidAndGroupId(fileEntryJSON.uuid, getterUtil.getLong(fileEntryJSON.groupId))>
144 <#assign extension = fileEntry.getMimeType() />
145 <#assign url = "/documents/"+fileEntryJSON.groupId+"/"+fileEntryJSON.uuid />
146 </#if>
147 <#if (extension == 'application/pdf')>
148 <#assign extension='pdf' />
149 <#elseif (extension == 'doc' || extension == 'application/vnd.openxmlformats-officedocument.wordprocessingml.document')>
150 <#assign extension='doc' />
151 <#elseif (extension == 'msword')>
152 <#assign extension='doc' />
153 <#elseif (extension == 'vnd.openxmlformats-officedocument.wordprocessingml.document')>
154 <#assign extension='doc' />
155 <#elseif (extension == 'vnd.oasis.opendocument.text')>
156 <#assign extension='odt' />
157 <#elseif (extension == 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet')>
158 <#assign extension='xls' />
159 <#elseif (extension == 'zip' || extension == 'x-zip-compressed')>
160 <#assign extension='zip' />
161 <#elseif (extension == 'ppt' || extension == 'vnd.ms-powerpoint')>
162 <#assign extension='ppt' />
163 <#elseif (extension == 'vnd.openxmlformats-officedocument.presentationml.presentation')>
164 <#assign extension='pptx' />
165 <#elseif (extension == 'text/plain')>
166 <#assign extension='txt' />
167 <#else>
168 <#assign extension='' />
169 </#if>
170
171 <li data-categoryid="${categoryIds}" class="liElement liTipo-horizontal file-list" data-mh="listadoArchivos" style="height: 134px;">
172 <div class="bgImg"><span>${extension}</span></div>
173 <div class="contenido">
174 <p class="titulo">${title}</p>
175 <a target="_blank" href="${url}" class="enlace" aria-label="${ver_documento}"></a>
176 </div>
177 </li>
178 </#list>
179 </ul>
180 </#if>
181
182 <#if (videos?size>0)>
183 <h2 id="title-videos">${videos_relacionados}</h2>
184 <ul id="list-videos" class="listado-grid column-4 ">
185 <#list videos as video>
186 <#assign relatedAssetEntryPrimKey = video.getClassPK() />
187 <#assign article = journalArticleLocalService.getLatestArticle(relatedAssetEntryPrimKey) />
188 <#assign relatedAssetEntryCategories = video.getCategories() />
189 <#assign categoryIds = "" />
190 <#list relatedAssetEntryCategories as relatedAssetEntryCategory>
191 <#if (relatedAssetEntryCategory.getVocabularyId() == vocabularyBiblioteca)>
192 <#assign categoryIds = categoryIds + relatedAssetEntryCategory.getCategoryId() + "," />
193 </#if>
194 </#list>
195
196 <#assign title = article.getTitle(locale) />
197 <#assign docXml = saxReaderUtil.read(article.getContentByLocale(locale.toString())) />
198 <#assign provider = docXml.valueOf("//dynamic-element[@name='provider']/dynamic-content/text()") />
199 <#assign videoid = docXml.valueOf("//dynamic-element[@name='videoid']/dynamic-content/text()") />
200
201 <li data-categoryid="${categoryIds}" class="liElement liTipo-noticia">
202 <#if (provider?contains("youtube")) >
203 <#assign imagePath="https://img.youtube.com/vi/"+videoid+"/0.jpg" />
204
205 <div class="bgMarco">
206 <div class="bgMarcoImagen" style="background-image: url(${imagePath});"></div>
207 <i class="icon-play" aria-hidden="true"></i>
208 </div>
209 <div class="contenido">
210 <p class="titulo">${title}</p>
211 <a class="video-popup video-box resul-link enlace" href="https://www.youtube.com/watch?v=${videoid}" aria-label="${reproducir_video}"></a>
212 </div>
213
214 <#elseif (provider?contains("vimeo")) >
215 <a class="video-popup video-box" href="https://vimeo.com/${videoid}" title="${title}">
216 <div class="video-box-thumb">
217 <img alt="${title}" src="" id="vimeo-thumbnail-videoid">
218 <#assign vimeoURL="https://vimeo.com/api/v2/video/"+videoid+".json?callback=showThumb" />
219 <script language="javascript">
220 function showThumb(data)
221 {
222 var id_img = "vimeo-thumbnail-videoid";
223 document.getElementById(id_img).src=data[0].thumbnail_medium;
224 }
225 </script>
226 <script language="javascript" src="$vimeoURL"></script>
227
228 </div>
229 <div class="entry-meta">${title}</div>
230 </a>
231 <#elseif (provider?contains("multimedia") || provider?contains("gipuzkoa") )>
232 <#assign videoPath ="" />
233 <#assign $imagePath ="" />
234
235 <#if (provider?contains("multimedia"))>
236 <#assign videoPath = "https://multimedia.gipuzkoa.eus/media/video/" + videoid + ".720.mp4" />
237 <#assign videoidJPG = videoid + ".jpg" />
238 <#assign imagePath = "https://multimedia.gipuzkoa.eus/media/video/" + videoidJPG />
239 <#else>
240 <#assign videoPath = "https://multimedia.gipuzkoa.eus/def/"+videoid+".mp4" />
241 <#assign imagePath = "https://multimedia.gipuzkoa.eus/def/"+videoid+"_preview.jpeg" />
242 </#if>
243 <div class="bgMarco">
244 <div class="bgMarcoImagen" style="background-image: url(${imagePath});"></div>
245 <i class="icon-play" aria-hidden="true"></i>
246 </div>
247 <div class="contenido">
248 <p class="titulo">${title}</p>
249 <a class="video-popup video-box resul-link enlace" href="${videoPath}" aria-label="reproducir_video"></a>
250 </div>
251 </#if>
252 </li>
253 </#list>
254 </ul>
255 </#if>
256 <div id="no-result" class="hide sec-content resul-empty no-result">
257 <div class="box-content">
258 <div class="box-icon"> </div>
259 <div class="box-text">
260 <h2 class="sec-title">${ningun_resultado_title}</h2>
261 <p class="sec-descrip">${ningun_resultado_search}</p>
262 </div>
263 </div>
264 </div>
265 </div>
266 </div>
267 </div>
268</section>
269<script>
270 function filterByCategory(id, e) {
271 var cont_archivos=0, cont_videos=0;
272 if(id==-1){
273 var liElements=document.querySelectorAll(".liElement");
274 for (var i = 0; i < liElements.length; i++) {
275 var li = liElements[i];
276 li.classList.remove("hide");
277 cont_archivos=cont_archivos+1;
278 cont_videos=cont_videos+1;
279 }
280 }
281 else{
282 var liElements=document.querySelectorAll(".liElement");
283 for (var i = 0; i < liElements.length; i++) {
284 var li = liElements[i];
285 li.classList.add("hide");
286 }
287 }
288 var archivosliElements=document.getElementById("list-archivos").querySelectorAll(".liElement");
289 for (var i = 0; i < archivosliElements.length; i++) {
290 var li = archivosliElements[i];
291 if(li.dataset.categoryid.indexOf(id)>-1){
292 li.classList.remove("hide");
293 cont_archivos=cont_archivos+1;
294 }
295 }
296 <#if (videos?size>0)>
297 var videosliElements=document.getElementById("list-videos").querySelectorAll(".liElement");
298 for (var i = 0; i < videosliElements.length; i++) {
299 var li = videosliElements[i];
300 if(li.dataset.categoryid.indexOf(id)>-1){
301 li.classList.remove("hide");
302 cont_videos=cont_videos+1;
303 }
304 }
305 if(cont_videos==0) {
306 document.getElementById("title-videos").classList.add("hide");
307 }
308 else{
309 document.getElementById("title-videos").classList.remove("hide");
310 }
311 </#if>
312 if(cont_archivos==0) {
313 document.getElementById("title-archivos").classList.add("hide");
314 }
315 else{
316 document.getElementById("title-archivos").classList.remove("hide");
317 }
318 if(cont_archivos+cont_videos==0) {
319 document.getElementById("no-result").classList.remove("hide");
320 document.getElementById("searchKey").innerHTML=e.target.text;
321 }
322 else{
323 document.getElementById("no-result").classList.add("hide");
324 document.getElementById("title-archivos").classList.remove("hide");
325 }
326
327 $.fn.matchHeight._update()
328
329 }
330
331 var categories=document.getElementById("category-filter").getElementsByTagName("a");
332 for (var i = 0; i < categories.length; i++) {
333 var a = categories[i];
334 a.addEventListener('click', function(e){filterByCategory(e.target.dataset.category, e);});
335 }
336</script>