Wystąpił błąd podczas przetwarzania szablonu.
Java method "com.sun.proxy.$Proxy86.getCategory(long)" threw an exception when invoked on com.sun.proxy.$Proxy86 object "com.liferay.asset.categories.internal.service.AssetEntryAssetCategoryRelAssetCategoryLocalServiceWrapper@17f07dae"; see cause exception in the Java stack trace.

----
FTL stack trace ("~" means nesting-related):
	- Failed at: #assign districtCategory = AssetCateg...  [in template "10155#10193#STRUCTURE-ACCUEIL" at line 79, column 5]
----
1<#--   local services  --> 
2<#assign JournalArticleLocalService =  serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService") /> 
3<#assign AssetEntryLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetEntryLocalService") /> 
4<#assign AssetVocabularyLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetVocabularyLocalService")>  
5<#assign AssetCategoryLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetCategoryLocalService")>  
6 
7 
8<#-- 
9Web content templates are used to lay out the fields defined in a web 
10content structure. 
11 
12Please use the left panel to quickly add commonly used variables. 
13Autocomplete is also available and can be invoked by typing "${". 
14--> 
15 
16<#function getCategoriesOfVocabulary assetEntry vocabularyName> 
17        <#assign categories = assetEntry.getCategories() /> 
18        <#assign categorylist = [] /> 
19        <#list categories as category> 
20            <#assign vocabulary = AssetVocabularyLocalService.getVocabulary(category.vocabularyId)/> 
21			<#if vocabulary.name == vocabularyName> 
22                <#-- <#assign categorylist = categorylist + [ category.getDescription(locale) ] /> --> 
23                <#assign categorylist = categorylist + [ category ] /> 
24            </#if> 
25        </#list> 
26        <#return categorylist /> 
27</#function> 
28 
29<#function getPhone phone> 
30    <#return phone?replace(" ","") /> 
31</#function> 
32 
33 
34 
35<#if locale="de_DE"> 
36    <#assign placeLibreLabel="Freie Plätze"> 
37    <#assign ouiLabel="Ja"> 
38	<#assign nonLabel="Nein"> 
39    <#assign regionLabel="Region:"> 
40    <#assign districtLabel="Bezirke:"> 
41    <#assign communeLabel="Gemeinde:"> 
42    <#assign directionLabel="Pädagogische Leitung"> 
43    <#assign informationsLabel="Informationen"> 
44    <#assign telLabel="Tel."> 
45<#else> 
46    <#assign placeLibreLabel="Places libres"> 
47    <#assign ouiLabel="Oui"> 
48    <#assign nonLabel="Non"> 
49    <#assign regionLabel="Région :"> 
50    <#assign districtLabel="District :"> 
51    <#assign communeLabel="Commune :"> 
52    <#assign directionLabel="Responsable pédagogique"> 
53    <#assign informationsLabel="Informations"> 
54    <#assign telLabel="Tél."> 
55</#if> 
56 
57<#assign articleId = .vars['reserved-article-id'].data /> 
58<#assign journalArticle = JournalArticleLocalService.getLatestArticle(groupId, articleId) /> 
59<#assign resourcePK = journalArticle.getResourcePrimKey() /> 
60<#assign assetEntry = AssetEntryLocalService.getEntry('com.liferay.journal.model.JournalArticle', resourcePK) />  
61 <#-- <strong>assetEntry</strong> ${assetEntry}<br />-->  
62<#-- get category ids of vocabulary --> 
63<#assign accueilRestreint = getCategoriesOfVocabulary(assetEntry, "Structure accueil - restreint") /> 
64<#assign accueilElargi = getCategoriesOfVocabulary(assetEntry, "Structure accueil - élargi") /> 
65<#assign rdc = getCategoriesOfVocabulary(assetEntry, "Régions-Districts-Communes") /> 
66 
67<#assign type=""> 
68 
69<#list accueilElargi as cur_ae> 
70    <#assign type=type+cur_ae.getTitle(locale)+" "+cur_ae.getDescription(locale)+"<br />"> 
71</#list> 
72 
73<#list accueilRestreint as cur_ar> 
74     <#assign type=type+cur_ar.getTitle(locale)+" "+cur_ar.getDescription(locale)+"<br />"> 
75</#list> 
76 
77<#list rdc as cur_com> 
78    <#assign commune=cur_com.getName()> 
79    <#assign districtCategory = AssetCategoryLocalService.getCategory(cur_com.getParentCategoryId())> 
80    <#assign district=districtCategory.getName()> 
81    <#assign regionCategory = AssetCategoryLocalService.getCategory(districtCategory.getParentCategoryId())> 
82    <#assign region=regionCategory.getName()> 
83</#list> 
84 
85<#assign dispo = Disponibilité.getData()> 
86<#assign color = "red"> 
87 
88<#assign dispoLabel = nonLabel> 
89<#if dispo?contains("1")> 
90	<#assign dispoLabel = ouiLabel> 
91	<#assign color = "green"> 
92</#if> 
93 
94<style> 
95    #map-canvas { 
96	    width: 100%; 
97		height: 25em; 
98
99	/* 
100	.page { 
101	    width: 540px; 
102
103	*/ 
104	.doctable td { 
105	    padding: 2px; 
106
107	.text { 
108	    font-size: 10pt; 
109	    color: #6b6b6b; 
110	    text-decoration: none; 
111
112	.doctitle { 
113	    font-size: 12pt; 
114	    color: #cc2e22; 
115	    font-weight: bold; 
116
117	.phone { 
118	    font-size: 10pt; 
119	    color: #3b3b3b; 
120	    text-decoration: underline; 
121
122</style> 
123	 
124<script src="https://maps.googleapis.com/maps/api/js"></script> 
125<script> 
126	function initialize() { 
127	    var lLat = parseFloat(document.getElementById("lat").value); 
128	    var lLng = parseFloat(document.getElementById("lng").value); 
129	    var lZoom = parseInt(document.getElementById("zoom").value); 
130	    var lTitle = document.getElementById("title").value; 
131	     
132	     
133	    var mapCanvas = document.getElementById('map-canvas'); 
134	    var myLatlng = new google.maps.LatLng(lLat, lLng); 
135	    var mapOptions = { 
136	        center: myLatlng, 
137	        zoom: lZoom, 
138	        mapTypeId: google.maps.MapTypeId.ROADMAP 
139
140	 
141	    var map = new google.maps.Map(mapCanvas, mapOptions) 
142		var marker = new google.maps.Marker({ 
143		    position: myLatlng, 
144	        map: map, 
145	        title: lTitle 
146	        }); 
147
148	//google.maps.event.addDomListener(window, 'load', initialize); 
149</script> 
150 
151<input type="hidden" id="lat" value="${Latitude.getData()}"> 
152<input type="hidden" id="lng" value="${Longitude.getData()}"> 
153<input type="hidden" id="zoom" value="${Zoom.getData()}"> 
154<input type="hidden" id="title" value="${NomEtablissement.getData()}"> 
155 
156<div class="page"> 
157<!-- 
158    <div id="map-canvas" width="540px"></div> 
159--> 
160     <div id="map-canvas"></div> 
161    <div style="padding:8px"> 
162        <table border=0 cellpadding="0" cellspacing="0" width ="100%" class="doctable"> 
163            <tbody> 
164                <tr> 
165                    <td class="doctitle"> 
166                        ${NomEtablissement.getData()} 
167                    </td> 
168                    <td rowspan="2" valign="top" width="120" align="center" stype="font-size:8pt;"> 
169                        <#--  
170							<div style="padding:3px; background-color:${color}; color:white;"> 
171								${placeLibreLabel} 
172							</div> 
173							<div style="padding:3px; background-color:${color}; color:white;"> 
174								<string>${dispoLabel}</strong> 
175							</div> 
176						--> 
177                    </td> 
178                </tr>  
179                <tr> 
180                    <td class="text"> 
181                         ${type} 
182                    </td> 
183                </tr>  
184                <tr> 
185                    <td class="text"> 
186                         ${regionLabel} 
187                    </td>  
188                    <td class="text"> 
189                         ${region} 
190                    </td> 
191                </tr>  
192                <tr> 
193                    <td class="text"> 
194                         ${districtLabel} 
195                    </td>  
196                    <td class="text"> 
197                         ${district} 
198                    </td> 
199                </tr>  
200                <tr> 
201                    <td class="text"> 
202                         ${communeLabel} 
203                    </td>  
204                    <td class="text"> 
205                         ${commune} 
206                    </td> 
207                </tr> 
208            </tbody> 
209        </table> 
210    </div> 
211    <div style="padding:8px"> 
212        <table border=0 cellpadding="0" cellspacing="0" width ="100%" class="doctable" style="border:solid 1px #999999"> 
213            <tbody> 
214                <tr> 
215                    <td class="text" style="border:solid 1px #999999; background-color:#eeeeee; font-weight:bold;"> 
216                        ${directionLabel} 
217                    </td> 
218                    <td class="text" style="border:solid 1px #999999; background-color:#eeeeee; font-weight:bold;" width="200"> 
219                        ${informationsLabel} 
220                    </td> 
221                </tr> 
222                <#if Nom.getSiblings()?has_content> 
223                    <#list Nom.getSiblings() as cur_Nom> 
224                        <tr> 
225                            <td class="text" style="border:solid 1px #999999;"> 
226            	                    ${cur_Nom.getData()}<br /> 
227                            </td> 
228                            <td class="text" style="border:solid 1px #999999;" width="200"> 
229                                <#if AdresseEtablissement.getData()!=""> 
230                                    ${AdresseEtablissement.getData()} 
231                                    <br /> 
232                                <#else> 
233                                    <#if cur_Nom.Adresse.getData()!=""> 
234                                        ${cur_Nom.Adresse.getData()} 
235                                        <br /> 
236                                    </#if> 
237                                </#if> 
238                               <#if LocaliteEtablissement.getData()!=""> 
239                                    ${LocaliteEtablissement.getData()} 
240                                    <br /> 
241                                </#if> 
242                                <#if cur_Nom.Telephone.getData()!="" ||  cur_Nom.Mobile.getData()!="" > 
243                                    <table border="0" cellpadding="0" cellspacing="0" width="100%"> 
244                                        <tbody> 
245                                            <tr> 
246                                                <td class="text">${telLabel}</td> 
247                                                <td width="10" class="text" align="right"> 
248                                                    :&nbsp; 
249                                                </td> 
250                                                <td width="90" class="text" align="right"> 
251                                                    <#if cur_Nom.Telephone.getData()!=""> 
252                                                         <a class="phone" href="tel:${getPhone(cur_Nom.Telephone.getData())}">${cur_Nom.Telephone.getData()}</a> 
253                                                    <#else> 
254                                                        <a class="phone" href="tel:${getPhone(cur_Nom.Mobile.getData())}">${cur_Nom.Telephone.getData()}</a> 
255                                                    </#if> 
256                                                </td> 
257                                            </tr> 
258                                        </tbody> 
259                                    </table> 
260                                </#if> 
261                            </td> 
262                        </tr> 
263                    </#list> 
264                </#if>     
265            </tbody> 
266        </table> 
267        </div> 
268</div> 
269<script> 
270initialize(); 
271</script>