Une erreur s'est produite lors du traitement du gabarit.
Java method "com.sun.proxy.$Proxy176.getFileEntryByUuidAndGroupId(String, long)" threw an exception when invoked on com.sun.proxy.$Proxy176 object "com.lenovo.velocity.document.action.service.CustomDLFileEntryWrapper@4693cc15"; see cause exception in the Java stack trace.
----
FTL stack trace ("~" means nesting-related):
- Failed at: #assign file = dlFileEntryService.get... [in template "20099#20135#CONTENT_TEXT_LINK" at line 1, column 10201]
----
1<#assign customUserAttrService=serviceLocator.findService("com.lenovo.velocity.company.service.service.UserCustomAttributesLocalService")><#assign assetMetaDataService=serviceLocator.findService("com.lenovo.velocity.company.service.service.AEMAssetMetadataLocalService")><#assign dlFileEntryService=serviceLocator.findService("com.liferay.document.library.kernel.service.DLFileEntryService")><#-- CHANGES STARTING FOR LPHPS-9039 --><#assign bg_content_class="lnv-event-details-component detail-listing-padding lvn-content-text-link"><#if BackgroundColor?? && BackgroundColor.getData() != '#FFFF' && BackgroundColor.getData() != '#D9C1D8' && BackgroundColor.getData() != ''> <#assign bg_content_class=bg_content_class+" lnv-content-Text-darkbg"></#if><div class="${bg_content_class}" style="<#if BackgroundColor??>background-color:${BackgroundColor.getData()};</#if>"><#-- CHANGES ENDING FOR LPHPS-9039 --> <h2 class="event-details-header"> <p>${Title.getData()}</p> </h2> <div class="event-details-body"> <p>${Description.getData()}</p> </div> <#if WebContentName?? && WebContentName.getSiblings()?has_content> <#list WebContentName.getSiblings() as webContentName_Value> <#if webContentName_Value?? && webContentName_Value.GenericWebContent?? && webContentName_Value.getData()?? && webContentName_Value.getData()?has_content && webContentName_Value.GenericWebContent.getData()?? && webContentName_Value.GenericWebContent.getData()?has_content> <#assign articleURL=""> <#assign webContentData = jsonFactoryUtil.createJSONObject(webContentName_Value.GenericWebContent.getData())> <#if webContentData?? && webContentData?has_content> <#assign primaryKey=0/> <#assign wcprimaryKey = webContentData.getString("classPK")/> <#if wcprimaryKey?? && wcprimaryKey?has_content> <#assign primaryKey = wcprimaryKey?number/> <!-- Method for fetching detail page URL of campaign,promotions,etc --> <#if primaryKey?? && primaryKey?has_content> <#assign articleURL=customUserAttrService.retreiveWebContentUrl(themeDisplay,primaryKey)/> </#if> </#if> </#if> <div class="event-details-policy"> <a href="${articleURL}"> ${webContentName_Value.getData()} </a> </div> </#if> </#list> </#if> <#if AEMSELECT?? && AEMSELECT.getSiblings()?has_content> <#list AEMSELECT.getSiblings() as cur_AEMSELECT> <#if cur_AEMSELECT?? && cur_AEMSELECT.getData()?? && cur_AEMSELECT.getData()?has_content> <#assign assetId =cur_AEMSELECT.getData()/> <#assign encryptedAssetId=customUserAttrService.encryptAssetString(assetId)/> <#assign updatedFlag = assetMetaDataService.getAssetUpdatedFlag(assetId)> <#if updatedFlag!false> <#assign aemAssetDetails = assetMetaDataService.getAEMAssetTitle(assetId)> <#if aemAssetDetails?? && aemAssetDetails?has_content> <#assign assetDummyValue = aemAssetDetails.getAssetTitle()> <#assign assetFilteredValue =assetDummyValue?replace("'", '&apos')/> <div class="event-details-policy"> <a class="lnv-download-text-icon" href="javascript:void(0);" onclick="getAEMAssetDetailsForContentList('${encryptedAssetId}','${assetFilteredValue}','${aemAssetDetails.getFileFormat()?lower_case}');setDownloadFileName('${aemAssetDetails.getAssetTitle()}')"> ${aemAssetDetails.getAssetTitle()}<span class="download-image"></span></a> </div> </#if> </#if> </#if> </#list> </#if> <#if DocumentsAndMediaName?? && DocumentsAndMediaName.getSiblings()?has_content> <#list DocumentsAndMediaName.getSiblings() as documentsAndMediaName_Value> <#if documentsAndMediaName_Value?? && documentsAndMediaName_Value.DocumentsAndMedia?? && documentsAndMediaName_Value.getData()?? && documentsAndMediaName_Value.getData()?has_content && documentsAndMediaName_Value.DocumentsAndMedia.getData()?? && documentsAndMediaName_Value.DocumentsAndMedia.getData()?has_content> <div class="event-details-policy"> <#assign fileStr = ""/> <#assign extension = ""/> <#assign uuidStr = ""/> <#assign uuid = "0" /> <#assign groupId = "0" /> <#assign count = 0 /> <#-- get groupid, file, uuid of the attached file by splitting the url from / --> <#list "${documentsAndMediaName_Value.DocumentsAndMedia.getData()}"?split("/") as url> <#-- get group id at 2nd place--> <#if count == 2> <#assign groupId = url /> </#if> <#-- get file name string at 4rth place--> <#if count == 4> <#assign fileStr = url /> </#if> <#-- get uuid string at 5th place--> <#if count == 5> <#assign uuidStr = url /> </#if> <#assign count = count+1 /> </#list> <#-- get file type of attachment --> <#if fileStr?? && fileStr != ""> <#list "${fileStr}"?split(".") as fileSplit> <#assign extension = fileSplit /> </#list> </#if> <#assign count = 0 /> <#-- split the uuid string to get the uuid --> <#if uuidStr?? && uuidStr != ""> <#list "${uuidStr}"?split("?") as uuidSplit> <#if count == 0> <#assign uuid = uuidSplit /> </#if> <#assign count = count+1 /> </#list> </#if> <#assign myGroupId=groupId?eval> <#-- get file from uuid and groupid --> <#if fileStr?? && fileStr != ""> <#assign file= dlFileEntryService.getFileEntryByUuidAndGroupId(uuid,myGroupId) > <!--Method to fetch url of the file uploaded using External link --> <#assign assetDetails = customUserAttrService.getExternalUrl(themeDisplay.getLocale(),file,themeDisplay)> <!--Method to fetch url of the file uploaded using Asset or Doucument and media in download field --> <#if (!assetDetails?? && !assetDetails?has_content) || (assetDetails?? && assetDetails?has_content && !assetDetails.getDownloadLink()??)> <!--Method to fetch url of the file uploaded using Asset or Doucument and media in download field --> <#assign file2 = customUserAttrService.fetchAssetUrl(themeDisplay.getLocale(),file,themeDisplay)> <!--Method to fetch details like file size,name and extension attached to the asset --> <#assign assetDetails = customUserAttrService.getAssetDetails(file2)> </#if> </#if> <#if assetDetails?? && assetDetails?has_content> <#if assetDetails.getDownloadLink()?? &&assetDetails.isExternalLinkIsAEM()?? && assetDetails.isExternalLinkIsAEM() && assetDetails.getAssetTitle()?? && assetDetails.getAssetTitle()?has_content > <a href="/o/filedownload-rest/download?attachment=${assetDetails.getDownloadLink()}&title=${assetDetails.getAssetTitle()}" target="_blank" onclick="setDownloadFileName('${assetDetails.getAssetTitle()}')" > ${DocumentsAndMediaName.getData()}<span class="download-image"></span> </a> <#elseif assetDetails.getDownloadLink()?? &&assetDetails.isExternalLinkIsAEM()?? &&! assetDetails.isExternalLinkIsAEM() && assetDetails.getAssetTitle()?? && assetDetails.getAssetTitle()?has_content > <a href="${assetDetails.getDownloadLink()}" target="_blank" onclick="setDownloadFileName('${assetDetails.getAssetTitle()}')" >${DocumentsAndMediaName.getData()}<span class="download-image"></span> </a> <#elseif assetDetails?? && assetDetails?has_content && assetDetails.getFileName()?? && assetDetails.getFileName()?has_content> <#if file2?has_content && assetDetails.getFileSize()?? && assetDetails.getFileSize()!= "0KB" && assetDetails.getFileSize()?has_content > <a href="${file2}?download=true" onclick="setDownloadFileName('${assetDetails.getFileName()}')">${documentsAndMediaName_Value.getData()}<span class="download-image"></span> </a> <#else>${languageUtil.get(locale,'no-files-selected')} </#if> </#if> </#if> </div> </#if> </#list> </#if> <#if Internal_URL_Name?? && Internal_URL_Name.getSiblings()?has_content> <#list Internal_URL_Name.getSiblings() as cur_Internal_URL_Name> <#if cur_Internal_URL_Name.Internal_URL.getFriendlyUrl()?? && cur_Internal_URL_Name.Internal_URL.getFriendlyUrl()!=""> <div class="event-details-policy"> <a href="${cur_Internal_URL_Name.Internal_URL.getFriendlyUrl()}"> ${cur_Internal_URL_Name.getData()} </a> </div> </#if> </#list></#if> <#if External_URL_Name?? && External_URL_Name.getSiblings()?has_content> <#list External_URL_Name.getSiblings() as cur_External_URL_Name> <#if cur_External_URL_Name.External_URL.getData()?? && cur_External_URL_Name.External_URL.getData()!=""> <div class="event-details-policy"> <a href="${cur_External_URL_Name.External_URL.getData()}" target="_blank" class="lnv-link-icon" >${cur_External_URL_Name.getData()}</a> </div> </#if> </#list></#if> </div><@liferay_portlet["runtime"] portletName="lenovo_velocity_asset_file_download_LenovoVelocityAssetFileDownloadPortlet_INSTANCE_gvPLS60vSBEr"/><script> function getAEMAssetDetailsForContentList(url,title,fileFormat){ var urlToSend= assetResourceUrl+"&fileUrl="+url; var req = new XMLHttpRequest(); req.open("GET", urlToSend, true); req.responseType = "blob"; req.onload = function (event) { var blob = req.response; var link=document.createElement('a'); link.href=window.URL.createObjectURL(blob); link.download=title.replace("&apos","'")+"."+fileFormat; link.click(); }; req.send(); }</script>