Se ha producido un error al procesar la plantilla.
Java method "com.sun.proxy.$Proxy66.getAssetCategory(long)" threw an exception when invoked on com.sun.proxy.$Proxy66 object "com.liferay.asset.categories.internal.service.AssetEntryAssetCategoryRelAssetCategoryLocalServiceWrapper@5a2e59ad"; see cause exception in the Java stack trace.

----
FTL stack trace ("~" means nesting-related):
	- Failed at: category = assetCategoryService.getAs...  [in template "217051#217099#698043" at line 48, column 22]
	- Reached through: #assign-container  [in template "217051#217099#698043" at line 48, column 13]
----
1<#assign assetCategoryService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetCategoryLocalService") 
2		 assetCategoryPropertyService =  serviceLocator.findService("com.liferay.asset.category.property.service.AssetCategoryPropertyLocalService") 
3		 SAXReaderUtil = staticUtil["com.liferay.portal.kernel.xml.SAXReaderUtil"] 
4		 HtmlUtil = staticUtil["com.liferay.portal.kernel.util.HtmlUtil"] 
5		 layoutLocalService = serviceLocator.findService("com.liferay.portal.kernel.service.LayoutLocalService") 
6		 PortletURLFactoryUtil = staticUtil["com.liferay.portal.kernel.portlet.PortletURLFactoryUtil"] 
7		 PortletRequest = staticUtil["javax.portlet.PortletRequest"]     
8		 journalArticleService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService")   
9		 ParamUtil = staticUtil["com.liferay.portal.kernel.util.ParamUtil"]             
10         categoryId =ParamUtil.getLong(renderRequest,"categoryId", 0) 
11         maxLoop = 100 
12/> 
13 
14<#if (categoryId <= 0) > 
15     
16    <#if entries?has_content>s 
17		<#if entries?first?? && entries?first.getCategories()??> 
18			<#foreach aCategory in entries?first.getCategories()> 
19				<#assign aCategory = aCategory/> 
20				<#break> 
21			</#foreach> 
22		</#if> 
23	<#if aCategory?has_content> 
24			<#list 1..maxLoop as i> 
25				<#list 1..maxLoop as j> 
26					<#if aCategory.getParentCategory()?has_content> 
27						<#assign aCategory = aCategory.getParentCategory()/> 
28					<#else> 
29						<#assign categoryId = aCategory.getCategoryId()/> 
30				   </#if>   
31				   <#break> 
32				</#list> 
33				<#if (categoryId > 0) > 
34					<#break> 
35				</#if> 
36			</#list> 
37		 </#if> 
38	 </#if> 
39</#if> 
40 
41<nav aria-label="breadcrumb"> 
42    <ol class="breadcrumb"> 
43        <li class="breadcrumb-title"><span>${languageUtil.get(locale,"transparencia.breadcrumb-title")}</span></li> 
44        <li class="breadcrumb-item"><a href="http://www.asturias.es">${languageUtil.get(locale,"transparencia.breadcrumb-asturias")}</a></li> 
45         
46        <#if (categoryId > 0) > 
47 
48            <#assign category = assetCategoryService.getAssetCategory(categoryId) 
49            		 breadCrumbContent = "" 
50            		 categoryAncestors = category.getAncestors()/> 
51                      
52            <#if categoryAncestors?has_content> 
53                <#foreach categoryAncestor in categoryAncestors> 
54                 
55                    <#assign detailPage = "general" 
56							         layoutDetail = layoutLocalService.getFriendlyURLLayout(themeDisplay.getScopeGroupId(), false, "/"+detailPage) /> 
57							            	 		  
58				    		<#-- obtener el contenido de la categoría hija --> 
59		                    <#if assetCategoryPropertyService.getCategoryProperty(categoryAncestor.getCategoryId(),"idContenido") ? has_content > 
60		                    	<#assign contentIdProperty = assetCategoryPropertyService.getCategoryProperty(categoryAncestor.getCategoryId(),"idContenido") 
61		                        		 contentId = contentIdProperty.getValue()/> 
62		                       <#if contentId ? has_content> 
63		                       		<#assign journalArticleSub = journalArticleService.getLatestArticle(groupId,contentId)/> 
64		                                         
65		                            <#if journalArticleSub?has_content> 
66		                                   <#-- obtener el contenido de la categoría actual --> 
67		                                              
68		                                   <#assign document = SAXReaderUtil.read(journalArticleSub.getContentByLocale(locale)) 
69		                                                     paginaDetalleNode =  document.selectSingleNode("/root/dynamic-element[@name='paginaDetalle']/dynamic-content") 
70		                                            /> 
71		                                   <#if paginaDetalleNode?has_content && paginaDetalleNode.getText()?has_content> 
72							        			<#assign  pageDetail = paginaDetalleNode.getText()/> 
73							        			<#if (pageDetail?index_of("@")>0)> 
74							                		<#assign pageDetailPosition = (pageDetail?index_of("@")-1) 
75					                         					 pageDetail = pageDetail[0..pageDetailPosition] 
76					                          					 layoutDetail = layoutLocalService.getLayout(themeDisplay.getScopeGroupId(),false,pageDetail?number) 
77							                      	/> 
78							                      	 
79							                     </#if> 
80											</#if> 
81							                                     
82		                              </#if> 
83		                        </#if> 
84		                    </#if> 
85				    		<#assign categoryUrl = PortletURLFactoryUtil.create(request, "com_liferay_asset_categories_navigation_web_portlet_AssetCategoriesNavigationPortlet", layoutDetail.getPlid(), PortletRequest.RENDER_PHASE)/> 
86				    		${categoryUrl.setParameter("categoryId",categoryAncestor.getCategoryId()+"")} 
87                	 
88                	<#if categoryAncestor.isRootCategory()> 
89                		<#assign breadCrumbContent = "<li class='breadcrumb-item'><a href='"+categoryUrl+"'>"+languageUtil.get(locale,"transparencia.breadcrumb-portal")+" </a> </li>"+breadCrumbContent/> 
90                	<#else> 
91                    	<#assign breadCrumbContent = "<li class='breadcrumb-item'><a href='"+categoryUrl+"'>"+categoryAncestor.getName()+" </a> </li>"+breadCrumbContent/> 
92                    </#if> 
93                 
94                </#foreach> 
95                 
96                ${breadCrumbContent} 
97                 
98            </#if> 
99            <li class="breadcrumb-item active">${category.getTitle(locale)}</li> 
100        </#if> 
101    </ol> 
102</nav> 
103 
104<script type="text/javascript"> 
105	$( document ).ready(function() { 
106		 if(typeof ga !== "undefined") { 
107		 <#if category ? has_content> 
108		 	var pageName = '${category.getName()}'; 
109		 <#else> 
110		 	var pageName = location.pathname; 
111		 </#if> 
112			     ga( 'send', 'pageview', { 
113				    'page': pageName, 
114				    'title': pageName 
115				} ); 
116
117	}); 
118</script> 
Se ha producido un error al procesar la plantilla.
Java method "com.sun.proxy.$Proxy66.getAssetCategory(long)" threw an exception when invoked on com.sun.proxy.$Proxy66 object "com.liferay.asset.categories.internal.service.AssetEntryAssetCategoryRelAssetCategoryLocalServiceWrapper@5a2e59ad"; see cause exception in the Java stack trace.

----
FTL stack trace ("~" means nesting-related):
	- Failed at: #assign currentCategory = assetCatego...  [in template "217051#217099#698025" at line 44, column 10]
----
1<#assign assetCategoriesCustomService = serviceLocator.findService("pa.mtl.assetcategories.service.api.AssetCategoriesServiceApi") 
2		 assetCategoryService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetCategoryLocalService") 
3		 assetCategoryPropertyService =  serviceLocator.findService("com.liferay.asset.category.property.service.AssetCategoryPropertyLocalService") 
4		 SAXReaderUtil = staticUtil["com.liferay.portal.kernel.xml.SAXReaderUtil"] 
5		 HtmlUtil = staticUtil["com.liferay.portal.kernel.util.HtmlUtil"] 
6		 layoutLocalService = serviceLocator.findService("com.liferay.portal.kernel.service.LayoutLocalService") 
7		 PortletURLFactoryUtil = staticUtil["com.liferay.portal.kernel.portlet.PortletURLFactoryUtil"] 
8		 PortletRequest = staticUtil["javax.portlet.PortletRequest"]     
9		 journalArticleService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService") 
10		 ParamUtil = staticUtil["com.liferay.portal.kernel.util.ParamUtil"]   
11		 categoryId =ParamUtil.getLong(renderRequest,"categoryId", 0) 
12		 categoryName = ParamUtil.getString(request,"categoryName", "") 
13		 maxLoop = 100 
14/> 
15 
16<#-- inicialización de categoría: si no hay seleccionada se coge la primera de la jerarquía --> 
17<#if (categoryId <= 0) > 
18 
19    <#if categoryName?has_content> 
20    	<#assign currentCategory = assetCategoriesCustomService.findCategoryByName(categoryName, groupId) 
21    			 categoryId = currentCategory.getCategoryId()/> 
22    <#else> 
23     
24	    <#if entries?has_content> 
25	        <#foreach vocabulary in entries> 
26	         
27	            <#foreach aCategory in vocabulary.getCategories()> 
28	                <#list 1..maxLoop as i> 
29	                    <#if aCategory.getParentCategory()?has_content> 
30	                        <#assign aCategory = aCategory.getParentCategory()/> 
31	                    <#else> 
32	                        <#assign categoryId = aCategory.getCategoryId()/> 
33	                        <#break>  
34	                   </#if>   
35	                </#list> 
36	            </#foreach> 
37	             
38	        </#foreach> 
39	    </#if> 
40	</#if>     
41</#if> 
42 
43<#if ! currentCategory ? has_content > 
44	 <#assign currentCategory = assetCategoryService.getAssetCategory(categoryId)/> 
45</#if> 
46 
47<#assign childCategories = assetCategoriesCustomService.getChildCategoriesOrdered(categoryId,locale) 
48         showContents = true 
49         forceShowCategories = false 
50/> 
51 
52<#assign structureArticulo = assetCategoriesCustomService.getJournalStructureByKey(groupId, "STR_ARTICULO")/> 
53<#-- Pintar subcategorías --> 
54<#if childCategories?has_content>	 
55	<div class="contenedor-interior">                
56        <div class="row col-md-12" >             
57        	<#if assetCategoryPropertyService.getCategoryProperty(currentCategory.getCategoryId(),"idContenido") ? has_content > 
58                <#assign contentIdProperty = assetCategoryPropertyService.getCategoryProperty(currentCategory.getCategoryId(),"idContenido")/> 
59                <#assign contentId = contentIdProperty.getValue()/> 
60                <#if contentId ? has_content> 
61                    <#assign journalArticleSub = journalArticleService.getLatestArticle(groupId,contentId)/>       
62                    <#assign childCategoryContent = journalArticleService.getArticleContent(journalArticleSub, "TPL_CATEGORIA_TITULO","VIEW", locale, themeDisplay)/> 
63                    ${childCategoryContent}     
64	             </#if>	 
65			</#if>	 
66        </div>             
67		<div class="row col-md-12" >    	 
68			<#list childCategories as childCategory>	 
69	      		<#if assetCategoryPropertyService.getCategoryProperty(childCategory.getCategoryId(),"idContenido") ? has_content > 
70	                <#assign contentIdProperty = assetCategoryPropertyService.getCategoryProperty(childCategory.getCategoryId(),"idContenido")/> 
71	                <#assign contentId = contentIdProperty.getValue()/> 
72	                <#if contentId ? has_content> 
73	                    <#assign journalArticleSub = journalArticleService.getLatestArticle(groupId,contentId)/> 
74	                     
75	                    <#assign document = SAXReaderUtil.read(journalArticleSub.getContentByLocale(locale)) 
76							paginaDetalleNode =  document.selectSingleNode("/root/dynamic-element[@name='paginaDetalle']/dynamic-content") 
77						/> 
78	 
79						<#if paginaDetalleNode?has_content && paginaDetalleNode.getText()?has_content> 
80							<#assign  pageDetail = paginaDetalleNode.getText()/> 
81							<#if (pageDetail?index_of("@")>0)> 
82								<#assign pageDetailPosition = (pageDetail?index_of("@")-1) 
83	 								pageDetail = pageDetail[0..pageDetailPosition] 
84	 								layoutDetail = layoutLocalService.getLayout(themeDisplay.getScopeGroupId(),false,pageDetail?number)					                          					  
85								/> 
86							</#if> 
87						<#else> 
88	                        <#assign detailPage = "general" 
89	                                 layoutDetail = layoutLocalService.getFriendlyURLLayout(themeDisplay.getScopeGroupId(), false, "/"+detailPage) /> 
90						</#if> 
91							 
92						<#assign categoryUrl = PortletURLFactoryUtil.create(request, "com_liferay_asset_categories_navigation_web_portlet_AssetCategoriesNavigationPortlet", layoutDetail.getPlid(), PortletRequest.RENDER_PHASE)/> 
93							${categoryUrl.setParameter("categoryId", childCategory.getCategoryId()+"")}	 
94																		 
95	                    <#if journalArticleSub?has_content> 
96	                        <#-- obtener el contenido de la categoría actual --> 
97							<#assign structureEnlace = assetCategoriesCustomService.getJournalStructureByKey(groupId, "STR_ENLACE")/>  
98      						<#assign structures = [structureArticulo.getStructureId(),structureEnlace.getStructureId()] /> 
99	                        <#assign childCategoryContent = journalArticleService.getArticleContent(journalArticleSub, "TPL_CATEGORIA","VIEW", locale, themeDisplay)/> 
100							<#assign journalArticles = assetCategoriesCustomService.findJournalArticlesElasticSearchByCategoryId(childCategory.getCategoryId(), groupId, portalUtil.getCompanyId(request), structures, locale,"fecha", "desc")/>  
101	                        <div class="col-md-6 articulo-relacionado"> 
102	                       		${childCategoryContent}   
103								<#if (journalArticles?size>1)> 
104									<div class="link-more"> 
105										<a class="more-information" title="${languageUtil.get(locale,'transparencia.general.more-info-about')} ${childCategory.getTitle(locale)}" 
106											href="${categoryUrl}" >${languageUtil.get(locale,'transparencia.general.more-info')}</a> 
107									</div> 
108								<#else> 
109									<#assign countChildCategories = assetCategoryService.getChildCategoriesCount(childCategory.getCategoryId()) /> 
110									<#if (countChildCategories > 0)> 
111										<div class="link-more"> 
112											<a class="more-information" title="${languageUtil.get(locale,'transparencia.general.more-info-about')} ${childCategory.getTitle(locale)}" 
113												href="${categoryUrl}" >${languageUtil.get(locale,'transparencia.general.more-info')}</a> 
114										</div> 
115									<#else> 
116										<#if (journalArticles?size = 0)> 
117											<div class="link-more"> 
118												<a class="more-information" title="${languageUtil.get(locale,'transparencia.general.more-info-about')} ${childCategory.getTitle(locale)}" 
119													href="${categoryUrl}" >${languageUtil.get(locale,'transparencia.general.more-info')}</a> 
120											</div> 
121										<#else> 
122											<#assign isListJournalsOrNotLink = false/> 
123											<#if (journalArticles?size = 1)> 
124												<#assign  
125													journalArticle = journalArticles[0] 
126													ddmStructureKey = journalArticle.getDDMStructureKey() 
127												/> 
128											</#if> 
129											<#if (ddmStructureKey = "STR_ENLACE")> 
130												<#assign isListJournalsOrNotLink = true/> 
131											</#if> 
132											<#if isListJournalsOrNotLink> 
133												<div class="link-more"> 
134													<a class="more-information" title="${languageUtil.get(locale,'transparencia.general.more-info-about')} ${childCategory.getTitle(locale)}" 
135														href="${categoryUrl}" >${languageUtil.get(locale,'transparencia.general.more-info')}</a> 
136												</div> 
137											<#else> 
138												<#list journalArticles as journalArticle> 
139													<#assign  
140														document = SAXReaderUtil.read(journalArticle.getContentByLocale(locale))			                      
141														title = "" 
142														articleTitle = "" 
143														currentUrl = renderResponse.createRenderURL() 
144														detailPage = "detalle" 
145														layoutDetail = layoutLocalService.getFriendlyURLLayout(themeDisplay.getScopeGroupId(), false, "/"+detailPage) 
146														detailUrl = PortletURLFactoryUtil.create(request, "com_liferay_asset_categories_navigation_web_portlet_AssetCategoriesNavigationPortlet", layoutDetail.getPlid(), PortletRequest.RENDER_PHASE) 
147													/> 
148													 
149													${detailUrl.setParameter("articleId", journalArticle.getArticleId())} 
150													${currentUrl.setParameter("categoryId",categoryId+"")} 
151													<#if document.selectSingleNode("/root/dynamic-element[@name='titulo']/dynamic-content") ? has_content> 
152														<#assign  
153															titleNode = document.selectSingleNode("/root/dynamic-element[@name='titulo']/dynamic-content")	 
154															title = titleNode.getText() 
155															articleTitle = titleNode.getText() 
156														/> 
157													</#if> 											 
158													<#if (countChildCategories <= 0 && journalArticles?size = 1)> 
159														${detailUrl.setParameter("categoryId",childCategory.getCategoryId()+"")} 
160														<#assign title = childCategory.getTitle(locale)/> 
161													<#else> 
162														${detailUrl.setParameter("categoryId",currentCategory.getCategoryId()+"")}														 
163													</#if> 
164													<div class="link-more"> 
165														<a class="more-information" title="${languageUtil.get(locale,'transparencia.general.more-info-about')} ${title}" href="${detailUrl}&articleId=${journalArticle.getArticleId()}&title=${HtmlUtil.escapeURL(articleTitle)}&redirect=${HtmlUtil.escapeURL(currentUrl)}">${languageUtil.get(locale,'transparencia.general.more-info')}</a> 
166													</div> 
167												</#list> 
168											</#if> 
169										</#if> 
170									</#if> 
171								</#if> 
172	                       	</div> 
173	                    </#if> 
174	                </#if> 
175	            </#if> 
176	       </#list>    
177	   </div> 
178    </div>  
179<!-- No hay subcategorías, pintamos los contenidos de la categoría --> 
180<#else>                           
181  	<div class="contenedor-interior"> 
182        <div class="row col-md-12" >             
183        	<#if assetCategoryPropertyService.getCategoryProperty(currentCategory.getCategoryId(),"idContenido") ? has_content > 
184                <#assign contentIdProperty = assetCategoryPropertyService.getCategoryProperty(currentCategory.getCategoryId(),"idContenido")/> 
185                <#assign contentId = contentIdProperty.getValue()/> 
186                <#if contentId ? has_content> 
187                    <#assign journalArticleSub = journalArticleService.getLatestArticle(groupId,contentId)/>       
188                    <#assign childCategoryContent = journalArticleService.getArticleContent(journalArticleSub, "TPL_CATEGORIA_TITULO","VIEW", locale, themeDisplay)/> 
189                    ${childCategoryContent}     
190	             </#if>	 
191			</#if>	 
192        </div>                   
193      	 
194      	<div class="row col-md-12"> 
195			<#assign structureEnlace = assetCategoriesCustomService.getJournalStructureByKey(groupId, "STR_ENLACE")/>  
196      		<#assign structures = [structureArticulo.getStructureId(),structureEnlace.getStructureId()] /> 
197			<#assign journalArticles = assetCategoriesCustomService.findJournalArticlesElasticSearchByCategoryId(currentCategory.getCategoryId(), groupId, portalUtil.getCompanyId(request), structures, locale,"fecha", "desc")/>             	 
198				             
199            <#list journalArticles as journalArticle> 
200            	<#assign document = SAXReaderUtil.read(journalArticle.getContentByLocale(locale))			                      
201	                     title = "" 
202	                     resumen = ""	 
203	                     currentUrl = renderResponse.createRenderURL() 
204	                     detailPage = "detalle" 
205                     	 layoutDetail = layoutLocalService.getFriendlyURLLayout(themeDisplay.getScopeGroupId(), false, "/"+detailPage) 
206             			 detailUrl = PortletURLFactoryUtil.create(request, "com_liferay_asset_categories_navigation_web_portlet_AssetCategoriesNavigationPortlet", layoutDetail.getPlid(), PortletRequest.RENDER_PHASE) 
207     			/> 
208	            <#if document.selectSingleNode("/root/dynamic-element[@name='titulo']/dynamic-content")?has_content> 
209					<#assign titleNode = document.selectSingleNode("/root/dynamic-element[@name='titulo']/dynamic-content")	 
210							 title = titleNode.getText() 
211					/> 
212		      	</#if>  
213	            <#if document.selectSingleNode("/root/dynamic-element[@name='resumen']/dynamic-content")?has_content> 
214					<#assign resumenNode = document.selectSingleNode("/root/dynamic-element[@name='resumen']/dynamic-content")	 
215							 resumen = HtmlUtil.stripHtml(resumenNode.getText()) 
216					/> 
217		      	</#if> 
218		      	<#if document.selectSingleNode("/root/dynamic-element[@name='imagen']/dynamic-content")?has_content> 
219					<#assign image=document.valueOf( "//dynamic-element[@name='imagen']/dynamic-content/text()") />  
220					<#if image?has_content> 
221    					<#assign imageJson = image?eval />  
222					</#if> 
223		      	</#if> 
224				 
225				<#-- Si la estructura no coincide, es un ENLACE y cargamos otros campos --> 
226				<#if structureArticulo.getStructureKey() != journalArticle.getStructureId() > 
227					<#if document.selectSingleNode("/root/dynamic-element[@name='urlEnlace']/dynamic-content")?has_content> 
228						<#assign urlEnlaceNode = document.selectSingleNode("/root/dynamic-element[@name='urlEnlace']/dynamic-content")	 
229							urlEnlace = urlEnlaceNode.getText() 
230						/> 
231					</#if> 
232					<#if document.selectSingleNode("/root/dynamic-element[@name='descripcion']/dynamic-content")?has_content> 
233						<#assign descripcionNode = document.selectSingleNode("/root/dynamic-element[@name='descripcion']/dynamic-content")	 
234							descripcion = descripcionNode.getText() 
235						/> 
236					</#if>				     	             	 
237				</#if> 
238 
239				${currentUrl.setParameter("categoryId",categoryId+"")} 
240				${detailUrl.setParameter("categoryId",currentCategory.getCategoryId()+"")} 
241				${detailUrl.setParameter("articleId", journalArticle.getArticleId())}						 
242					               
243      			<div class="col-md-6 articulo-relacionado">  
244              		<#if imageJson?has_content> 
245              			<div class="titulo-tema row col-md-12">		                          			 
246                        	<h4 class="title"> 
247	                      		${title} 
248	                      	</h4>  
249                    	</div> 
250						<#assign imageJson = "" /> 		                            	 
251                    <#else> 
252                    	<div class="titulo-tema without-image row col-md-12"> 
253                    		<h4 class="title"> 
254	                      		${title} 
255	                      	</h4>  
256	                    </div> 
257                    </#if> 
258 
259					<#if structureArticulo.getStructureKey() == journalArticle.getStructureId() > 
260						<div class="summary">                                 
261							${resumen} 
262						</div>	 
263						<div class="link-more"> 
264							<a class="more-information" title="${languageUtil.get(locale,'transparencia.general.more-info-about')} ${title}" 
265								href="${detailUrl}&articleId=${journalArticle.getArticleId()}&title=${HtmlUtil.escapeURL(title)}&redirect=${HtmlUtil.escapeURL(currentUrl)}">${languageUtil.get(locale,'transparencia.general.more-info')}</a> 
266						</div> 
267					<#else>	 
268						<div class="summary">                                 
269							${descripcion} 
270						</div> 
271						<div class="link-more"> 
272							<a class="more-information" title="${languageUtil.get(locale,'transparencia.general.more-info-about')} ${title}" 
273									href="${urlEnlace}" target="_blank">${languageUtil.get(locale,'transparencia.general.more-info')}</a> 
274						</div> 
275					</#if> 
276 
277              	</div>  
278        	</#list>  
279        </div>    
280    </div>    	 
281</#if>