Fehler bei der Verarbeitung der Vorlage.
Java method "com.sun.proxy.$Proxy133.getFileEntryByUuidAndGroupId(String, long)" threw an exception when invoked on com.sun.proxy.$Proxy133 object "com.liferay.portlet.documentlibrary.service.impl.DLAppServiceImpl@2297ffd8"; see cause exception in the Java stack trace.

----
FTL stack trace ("~" means nesting-related):
	- Failed at: #assign Datei = DLAppServiceUtil.getF...  [in template "20116#20152#33580" at line 153, column 21]
----
1<#assign journalArticleLocalService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService") /> 
2<#assign groupService = serviceLocator.findService("com.liferay.portal.kernel.service.GroupLocalService") /> 
3<#assign umTemplateService = serviceLocator.findService("de.xdot.um.template.UmTemplateService") /> 
4 
5<#assign groupObj = groupService.getGroup(groupId) /> 
6<#assign groupName = groupObj.getDescriptiveName(locale) /> 
7 
8<#assign layoutSet = groupObj.getPublicLayoutSet() /> 
9<#assign hostname = layoutSet.getVirtualHostname()/> 
10 
11<div class="print-header"> 
12${groupName} - https://${hostname} 
13</div> 
14 
15 
16<div class="artikel"> 
17 
18<#if Spitzmarke.getData()!=""> 
19    <h2 class="spitzmarke">${Spitzmarke.getData()}</h2> 
20</#if> 
21 
22 
23    <div class="green-line"></div> 
24 
25 
26    <h1 class="h1--large">${Ueberschrift.getData()}</h1> 
27 
28<#if BildMitBildunterschrift??> 
29 
30    <#if BildMitBildunterschrift.getSiblings()?has_content> 
31 
32        <#if (BildMitBildunterschrift.getSiblings()?size>1)> 
33            <@imageTextSlider/> 
34        <#else> 
35 
36            <#list BildMitBildunterschrift.getSiblings() as cur_Bild> 
37                <#if cur_Bild.Bild.getData()?has_content> 
38                    <div class="teaser-image no-carousel"> 
39                        <@createImageTag imageUrl="${cur_Bild.Bild.getData()}" bildunterschrift="${cur_Bild.Bildunterschrift.getData()}"/> 
40                    </div> 
41                </#if> 
42            </#list> 
43 
44        </#if> 
45 
46    </#if> 
47</#if> 
48 
49 
50    <div class="teaser-content"> 
51        <#assign content = umTemplateService.addCopyright(Inhalt.data, locale) /> 
52        <#assign content = umTemplateService.removeUuidFromDownloadUrls(content, locale) /> 
53 
54        ${content} 
55 
56    <#assign layoutService = serviceLocator.findService("com.liferay.portal.kernel.service.LayoutLocalService") /> 
57 
58    <#if (WeitereInformationen.getSiblings()?has_content)  && 
59    (WeitereInformationen.getSiblings()?size>0) && 
60    ((WeitereInformationen.getSiblings()[0].Linktext.getData()?has_content) || 
61    (WeitereInformationen.getSiblings()[0].InternerLink.getFriendlyUrl()?has_content)) || 
62     ( (WeitereInformationen.getSiblings()[0].article?? && WeitereInformationen.getSiblings()[0].article.data?has_content) )> 
63 
64        <h2 class="h2">Weitere Informationen</h2> 
65 
66        <#assign weitereInformationenListe=WeitereInformationen.getSiblings()/> 
67 
68        <#list weitereInformationenListe as cur_WeitereInformationen> 
69 
70            <#assign tlink=""/> 
71 
72        <#-- if internal link, use page name as default link text --> 
73            <#if (cur_WeitereInformationen.InternerLink??) && 
74            (cur_WeitereInformationen.InternerLink.getFriendlyUrl()?has_content)> 
75 
76                <#assign tlink = cur_WeitereInformationen.InternerLink.getFriendlyUrl()> 
77 
78            <#-- always use relative URL --> 
79                <#if tlink?starts_with("http")> 
80                    <#assign tlink = "/"+tlink?split("/")[3]> 
81                </#if> 
82 
83            <#-- page might have been deleted --> 
84                <#assign tlink_text=""> 
85 
86 
87                <#if (layoutService.fetchLayoutByFriendlyURL( getterUtil.getLong(groupId), getterUtil.getBoolean(false), tlink)??)> 
88 
89                    <#assign layout = layoutService.fetchLayoutByFriendlyURL( getterUtil.getLong(groupId), getterUtil.getBoolean(false), tlink) /> 
90 
91                    <#assign tlink_text = layout.getName(locale)/> 
92 
93                </#if> 
94 
95            </#if> 
96 
97 
98            <#assign linktarget=""> 
99 
100            <#if ! tlink?has_content> 
101                <#assign tlink = cur_WeitereInformationen.ExternerLink.getData()> 
102                <#assign linktarget="_blank"> 
103            </#if> 
104 
105            <#if ! tlink?has_content> 
106                <#if (cur_WeitereInformationen.article?? && cur_WeitereInformationen.article.data?has_content)> 
107                    <#assign 
108                        entryInfo = cur_WeitereInformationen.article.data?eval 
109                        entryClassPK = getterUtil.getLong(entryInfo.classPK) 
110                        article = journalArticleLocalService.fetchLatestArticle(entryClassPK) 
111                        tlink = "/-/" + article.urlTitle 
112                        linktarget = "" 
113                        tlink_text = article.getTitle(locale) 
114                    /> 
115                </#if> 
116            </#if> 
117 
118        <#-- overwrite linktext, if editor has set it manually --> 
119            <#if (cur_WeitereInformationen.Linktext.getData()?has_content)> 
120                <#assign tlink_text = cur_WeitereInformationen.Linktext.getData()> 
121            </#if> 
122 
123            <div class="weiterer-link"> 
124 
125                <a class="mehr-link" href="${tlink}" target="${linktarget}" alt="${tlink_text}" 
126                   title="${tlink_text}">${tlink_text}</a> 
127 
128            </div> 
129 
130 
131        </#list> 
132 
133 
134    </#if> 
135 
136    <#if ZumHerunterladen??> 
137 
138        <#if (ZumHerunterladen.PdfDatei.getSiblings()?has_content) && 
139        (ZumHerunterladen.PdfDatei.getSiblings()?size>0) && 
140        (ZumHerunterladen.PdfDatei.getSiblings()[0].getData()?has_content)> 
141 
142 
143 
144            <h2>Zum Herunterladen</h2> 
145 
146            <#list  ZumHerunterladen.PdfDatei.getSiblings() as cur_Datei> 
147                <#if cur_Datei.getData()?has_content> 
148 
149                    <#assign fileUrl = getterUtil.getString(cur_Datei.getData())> 
150                    <#assign fileUid = stringUtil.extractLast(fileUrl, "/")> 
151 
152                    <#assign DLAppServiceUtil = serviceLocator.findService("com.liferay.document.library.kernel.service.DLAppService")> 
153                    <#assign Datei = DLAppServiceUtil.getFileEntryByUuidAndGroupId(fileUid,groupId)> 
154 
155                    <#assign downloadURL = fileUrl?substring(0, fileUrl?last_index_of("/")) /> 
156                    <#assign downloadURL = downloadURL?substring(0, downloadURL?last_index_of("/")) /> 
157                    <#assign downloadURL = downloadURL + "/" + htmlUtil.escapeURL(Datei.getTitle()) /> 
158 
159                    <#if (Datei.getDescription()?has_content)> 
160                        <#assign dateiText=Datei.getDescription()> 
161                    <#else> 
162                        <#assign dateiText=Datei.getTitle()> 
163                    </#if> 
164 
165                <#-- Add the filesize to linktext --> 
166                    <#if Datei??> 
167                        <#assign fileSize = ((Datei.getSize()/1024)?round)/> 
168                        <#assign unit="KB"/> 
169 
170                        <#if (fileSize > 1000) > 
171                            <#setting locale="de_DE"> 
172                            <#assign fileSize = (fileSize / 1024)?string["0.#"]/> 
173                            <#assign unit="MB"/> 
174                        </#if> 
175 
176                        <#assign dateiGroesse="["+fileSize+" "+unit+ getAccessibilityInformation(fileUid,groupId) + "]"/> 
177                        <#assign dateiText+= " " + dateiGroesse> 
178                    </#if> 
179 
180                    <div class="weiterer-link"> 
181                        <a href="${downloadURL}" target="_blank" alt="${dateiText}" 
182                           title="${dateiText}">${dateiText}</a><br/> 
183                    </div> 
184 
185                </#if> 
186            </#list> 
187        </#if> 
188 
189    </#if> 
190 
191 
192    </div> 
193 
194</div> 
195 
196 
197 
198 
199<#-- image text slider --> 
200 
201 
202 
203 
204<#macro imageTextSlider> 
205 
206 
207<section class="carousel-container slider-articlepage"> 
208    <div class="carousel slide carousel-fade" data-ride="carousel" id="carousel"> 
209        <div class="indicators-wrapper"> 
210            <button class="ctrlTogglePlay playing">&nbsp;</button> 
211            <ol class="carousel-indicators"> 
212                <#list BildMitBildunterschrift.getSiblings() as cur_images> 
213                    <li class="${(cur_images?counter == 1)?then('active', '')}" 
214                        data-slide-to="${(cur_images?counter == 1)?then(0, (cur_images?counter - 1))}" 
215                        data-target='#carousel'></li> 
216                </#list> 
217            </ol> 
218        </div> 
219        <a class="left carousel-control" href='#carousel' role="button" data-slide="prev"> 
220            <span class="glyphicon glyphicon-chevron-left" aria-hidden="true"></span> 
221            <span class="sr-only">Previous</span> 
222        </a> 
223 
224 
225        <a class="right carousel-control" href='#carousel' role="button" data-slide="next"> 
226            <span class="glyphicon glyphicon-chevron-right" aria-hidden="true"></span> 
227            <span class="sr-only">Next</span> 
228        </a> 
229 
230 
231        <div class="carousel-inner" role="listbox"> 
232            <#list BildMitBildunterschrift.getSiblings() as cur_images> 
233                <div class="${(cur_images?counter == 1)?then('active', '')} item" role="option"> 
234                    <div class="teaser-image"> 
235                        <@createImageTag imageUrl="${cur_images.Bild.getData()}" bildunterschrift="${cur_images.Bildunterschrift.getData()}"/> 
236                    </div> 
237                </div> 
238            </#list> 
239        </div> 
240    </div> 
241</section> 
242 
243 
244</#macro> 
245 
246<script> 
247    $(document).ready(function () { 
248 
249        $('.ctrlTogglePlay').on('click', function () { 
250 
251            if($(this).hasClass('playing')) { 
252                $('.carousel').carousel('pause'); 
253                // console.log('stop'); 
254            }else { 
255                $('.carousel').carousel('cycle'); 
256                //  console.log('play'); 
257
258 
259            $(this).toggleClass('playing') 
260 
261        }); 
262 
263        $('.carousel').carousel({ 
264            interval: 5000, 
265            pause: "false" 
266        }); 
267    }); 
268</script> 
269 
270 
271 
272 
273<#macro createImageTag imageUrl bildunterschrift> 
274 
275    <#assign altTag="alt-tag"> 
276    <#assign bildnachweis=""> 
277 
278    <#assign imageFileUid = stringUtil.extractLast(imageUrl, "/")> 
279 
280    <#if (stringUtil.extractFirst(imageFileUid, "t")??)> 
281        <#assign imageFileUid = stringUtil.extractFirst(imageFileUid, "t")/> 
282        <#assign imageFileUid= imageFileUid?substring(0,imageFileUid?length-1)/> 
283    </#if> 
284 
285 
286    <#assign dlimageFileEntryService = serviceLocator.findService("com.liferay.document.library.kernel.service.DLFileEntryLocalService")> 
287    <#assign dlimageFileEntryTypeService = serviceLocator.findService("com.liferay.document.library.kernel.service.DLFileEntryTypeLocalService")> 
288    <#assign dlFileVersionService = serviceLocator.findService("com.liferay.document.library.kernel.service.DLFileVersionLocalService")> 
289    <#assign DLAppServiceUtil = serviceLocator.findService("com.liferay.document.library.kernel.service.DLAppService")> 
290    <#assign Datei = DLAppServiceUtil.getFileEntryByUuidAndGroupId(imageFileUid,groupId)> 
291    <#assign imageFileEntry = dlimageFileEntryService.getFileEntryByUuidAndGroupId(Datei.getUuid() , Datei.getGroupId() ) /> 
292 
293    <#assign imageFileEntryTypeId = imageFileEntry.getFileEntryTypeId() /> 
294 
295    <#if imageFileEntryTypeId gt 0 > 
296        <#assign imageFileEntryType = dlimageFileEntryTypeService.getDLFileEntryType(imageFileEntryTypeId) /> 
297        <#assign dlFileVersion = dlFileVersionService.getLatestFileVersion(imageFileEntry.getUserId(), imageFileEntry.getFileEntryId()) /> 
298        <#assign fieldsMap = imageFileEntry.getDDMFormValuesMap(dlFileVersion.getFileVersionId()) /> 
299 
300        <#list fieldsMap?keys as ddmFormKey> 
301 
302            <#assign ddmForm = fieldsMap[ddmFormKey]/> 
303 
304            <#list ddmForm.getDDMFormFieldValues() as formField> 
305            <#--name= ${formField.getName()}  value= ${formField.getValue().getString(locale)}<br/>--> 
306 
307                <#if formField.getName() == 'AltTag'> 
308                    <#assign altTag = formField.getValue().getString(locale) /> 
309                </#if> 
310 
311                <#if formField.getName() == 'Bildnachweis'> 
312                    <#assign bildnachweis = formField.getValue().getString(locale) /> 
313                </#if> 
314 
315            </#list> 
316 
317        </#list> 
318 
319    </#if> 
320 
321<#--<div class="teaser-image-wrapper">--> 
322<#if viewMode == "view"> 
323    <img src="${imageUrl}" alt="${altTag}" title="${altTag}"/> 
324<#elseif viewMode == "export"> 
325    <@createExportImageTag imageUrl=imageUrl altTag=altTag hostname=hostname /> 
326</#if> 
327<#--<a href="#" class="btn btn-default btn-prev mycarousel-prev"><span class="icon icon-chevron-left"></span></a>--> 
328<#--<a href="#" class="btn btn-default btn-next mycarousel-next"><span class="icon icon-chevron-right"></span></a>--> 
329<#--</div>--> 
330 
331<div class="bildunterschrift">${bildunterschrift}</div> 
332<div class="bildnachweis">Quelle: ${bildnachweis}</div> 
333 
334</#macro> 
335 
336<#macro createExportImageTag imageUrl altTag hostname> 
337    <#assign 
338    imageFileUid = stringUtil.extractLast(imageUrl, "/") 
339    /> 
340    <#if (stringUtil.extractFirst(imageFileUid, "t")??)> 
341        <#assign imageFileUid = stringUtil.extractFirst(imageFileUid, "t")/> 
342        <#assign imageFileUid= imageFileUid?substring(0,imageFileUid?length-1)/> 
343    </#if> 
344    <#assign 
345    dlAppService = serviceLocator.findService("com.liferay.document.library.kernel.service.DLAppService") 
346    fileEntry = dlAppService.getFileEntryByUuidAndGroupId(imageFileUid,groupId) 
347    inputStream = fileEntry.getContentStream() 
348    imageModel = imageToolUtil.getImage(inputStream) 
349    /> 
350    <#assign 
351    width = imageModel.getWidth() 
352    height = imageModel.getHeight() 
353    aspectRatio = width / height 
354    /> 
355    <#if width gt 650> 
356        <#assign 
357        height = 650 / aspectRatio 
358        width = 650 
359        /> 
360    </#if> 
361    <#assign domainHost = getDomainHost(hostname) /> 
362    <img src="${domainHost}${imageUrl}" alt="${altTag}" title="${altTag}" width="${width}" height="${height}"/> 
363</#macro> 
364 
365<#function getDomainHost hostname> 
366    <#switch hostname> 
367        <#case "umweltakademie.baden-wuerttemberg.de"> 
368        <#case "www.naz-feldberg.de/"> 
369        <#case "www.nazka.de"> 
370        <#case "www.nazoberedonau.de"> 
371        <#case "www.naturschutzzentrum-schopfloch.de"> 
372        <#case "www.naz-eriskirch.de"> 
373        <#case "www.wurzacher-ried.de"> 
374            <#assign domainHost = "http://web-naturschutzzentren-liferay:8080" /> 
375            <#break> 
376        <#case "umweltakademie.convotis.com"> 
377        <#case "naz-feldberg.convotis.com"> 
378        <#case "naz-karlsruhe.convotis.com"> 
379        <#case "naz-obere-donau.convotis.com"> 
380        <#case "naz-schopflocher-alb.convotis.com"> 
381        <#case "naz-eriskirch.convotis.com"> 
382        <#case "naz-wurzacher-ried.convotis.com"> 
383            <#assign domainHost = "http://naturschutzzentren-bw_liferay_1:8080" /> 
384            <#break> 
385        <#default> 
386            <#assign 
387                domainHost = hostname 
388            /> 
389    </#switch> 
390    <#return domainHost /> 
391</#function> 
392 
393<#function getAccessibilityInformation fileUid,groupId> 
394    <#assign DLAppServiceUtil = serviceLocator.findService("com.liferay.document.library.kernel.service.DLAppService")> 
395    <#assign dlFileEntryLocalService = serviceLocator.findService("com.liferay.document.library.kernel.service.DLFileEntryLocalService")> 
396    <#assign dlFileEntryTypeLocalService = serviceLocator.findService("com.liferay.document.library.kernel.service.DLFileEntryTypeLocalService")> 
397    <#assign dlFileVersionLocalService = serviceLocator.findService("com.liferay.document.library.kernel.service.DLFileVersionLocalService")> 
398 
399    <#assign Datei = dlFileEntryLocalService.getFileEntryByUuidAndGroupId(fileUid,groupId) /> 
400 
401    <#assign fileEntryTypeId = Datei.getFileEntryTypeId() /> 
402 
403    <#if fileEntryTypeId gt 0 > 
404        <#assign imageFileEntryType = dlFileEntryTypeLocalService.getDLFileEntryType(fileEntryTypeId) /> 
405        <#assign dlFileVersion = dlFileVersionLocalService.getLatestFileVersion(Datei.getUserId(), Datei.getFileEntryId()) /> 
406        <#assign fieldsMap = Datei.getDDMFormValuesMap(dlFileVersion.getFileVersionId()) /> 
407 
408        <#list fieldsMap?keys as ddmFormKey> 
409            <#assign ddmForm = fieldsMap[ddmFormKey]/> 
410 
411            <#list ddmForm.getDDMFormFieldValues() as formField> 
412                <#if formField.getName() == 'notAccessible'> 
413                    <#assign notAccessbile = formField.getValue().getString(locale) /> 
414                    <#if getterUtil.getBoolean(notAccessbile)> 
415                        <#return "; nicht barrierefrei" /> 
416                    </#if> 
417                </#if> 
418 
419            </#list> 
420 
421        </#list> 
422    </#if> 
423 
424    <#return "" /> 
425</#function>