Asset Publisher

1st meeting of the CGPM

24 to 28 September 1889

Meeting report

Asset Publisher

An error occurred while processing the template.
The following has evaluated to null or missing:
==> serviceLocator.findService("com.liferay.asset.kernel.service.AssetLinkLocalService")  [in template "20099#20135#34615812" at line 5, column 35]

----
Tip: If the failing expression is known to legally refer to something that's sometimes null or missing, either specify a default value like myOptionalVar!myDefault, or use <#if myOptionalVar??>when-present<#else>when-missing</#if>. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)??
----

----
FTL stack trace ("~" means nesting-related):
	- Failed at: #assign assetLinksLocalService = serv...  [in template "20099#20135#34615812" at line 5, column 1]
----
1<#assign namespace = randomNamespace /> 
2<#assign bipmCommonsService = serviceLocator.findService("org.bipm.portal.service.commons.asset.service.BipmAssetService")/> 
3<#assign entityAssetsService = serviceLocator.findService("org.bipm.portal.service.entity.assets.service.BipmEntityAssetsService")/> 
4<#assign sessionCommitteeService = serviceLocator.findService("org.bipm.portal.service.secretariat.service.SessionCommitteeLocalService")/> 
5<#assign assetLinksLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetLinkLocalService")/> 
6<#assign assetEntryLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetEntryLocalService")/> 
7<#function getFieldValueFromMap key valuesMap> 
8    <#local result = ""/> 
9    <#if valuesMap[key]??> 
10        <#local valuesList = valuesMap[key]/> 
11        <#if valuesList?has_content && valuesList[0]?? && valuesList[0].getValue()?? && valuesList[0].getValue().getString(locale)??> 
12            <#local result = valuesList[0].getValue().getString(locale) /> 
13        </#if> 
14    </#if> 
15    <#return result> 
16</#function> 
17<#assign dateFormat = "MMMM yyyy" /> 
18<#assign showTitle = !bipmCommonsService.isGroupByConfigured(portletPreferences)/> 
19<div class="bipm-resolutions"> 
20    <div class="row documents_filter" > 
21        <div class="col-12 col-md-auto"> 
22            <p class="bipm-reports__label-filter"><@liferay.language key="documents.filter.search.filter" /> :</p> 
23        </div> 
24        <div class="col-12 col-sm-auto filter_field_container__session_num"> 
25            <div class="form-group"> 
26                <label class="bipm-reports__label"><@liferay.language key="meeting" /></label> 
27                <select class="bipm-reports__select documents_filter_session_num" data-col-def-name="session_num" data-col-def-reverse="true"> 
28                    <option value="">ALL</option> 
29                </select> 
30            </div> 
31        </div> 
32    </div> 
33 
34    <#if showTitle> 
35        <p class="title-secondary"><@liferay.language key="label.resolutions" />/<@liferay.language key="label.recommendations" /></p> 
36    </#if> 
37 
38    <div class="documents_list publications"> 
39        <#if entries?has_content> 
40            <#assign sortedEntries = bipmCommonsService.sortEntriesByFields(entries,"year,number",locale,[true,false],portletPreferences)/> 
41            <#list sortedEntries as entry> 
42                <#assign 
43                assetRenderer = entry.getAssetRenderer() 
44                className = assetRenderer.getClassName() 
45                urlView = assetPublisherHelper.getAssetViewURL(renderRequest,renderResponse,assetRenderer,entry,true) 
46                /> 
47 
48                <#assign 
49                entryTitle = htmlUtil.escape(assetRenderer.getTitle(locale)) 
50                ddmFormValuesReader = assetRenderer.getDDMFormValuesReader() 
51                ddmFormValues = ddmFormValuesReader.getDDMFormValues() 
52                valuesMap = ddmFormValues.getDDMFormFieldValuesMap() 
53                /> 
54 
55                <#assign dataAttribute = ""/> 
56 
57                <#assign 
58                sessionCommitteeId = getFieldValueFromMap("sessionCommitteeId",valuesMap) 
59                title = getFieldValueFromMap("title",valuesMap) 
60                year = getFieldValueFromMap("year",valuesMap) 
61                text = getFieldValueFromMap("text",valuesMap) 
62                number = getFieldValueFromMap("number",valuesMap) 
63                session_num = getFieldValueFromMap("session_num",valuesMap) 
64                doi = getFieldValueFromMap("doi",valuesMap) 
65                type = getFieldValueFromMap("type",valuesMap) 
66                bipmEntity = getFieldValueFromMap("bipmEntity",valuesMap) 
67                typeVal = "Resolution" 
68                entityPart = "cgpm" 
69                entityRootPart = "cg" 
70                /> 
71                <#if type != ""> 
72                    <#assign typeValTab = type?eval/> 
73                    <#if typeValTab?? && (typeValTab?size>0)> 
74                        <#assign typeVal = typeValTab[0]/> 
75                    <#else> 
76                        <#assign typeVal = type/> 
77                    </#if> 
78                </#if> 
79 
80                <#assign committeeNameCategories = entityAssetsService.getBipmPublicationCategories(themeDisplay,entry,"Committee Name")/> 
81                <#assign committeeName = ""/> 
82                <#if committeeNameCategories?has_content> 
83                    <#assign committeeName = committeeNameCategories[0]/> 
84                    <#assign 
85                        entityPart = committeeName?lower_case 
86                        entityRootPart = entityPart?substring(0,2) 
87                    /> 
88                </#if> 
89                <#if sessionCommitteeId?has_content> 
90                    <#if  sessionCommitteeService.fetchSessionCommittee(sessionCommitteeId?number)?has_content> 
91                        <#assign sessionCommittee = sessionCommitteeService.fetchSessionCommittee(sessionCommitteeId?number)/> 
92 
93                    </#if> 
94                </#if> 
95 
96                <#if sessionCommittee?has_content> 
97                    <#assign dataAttribute = dataAttribute + " data-session_num='" + sessionCommittee.nbr+ "'"   /> 
98                    <#assign resolutionUrl = sessionCommittee.getUrlTitle() + "/resolution-" + number /> 
99                <#else> 
100                    <#assign dataAttribute = dataAttribute + " data-session_num=''"   /> 
101                    <#assign resolutionUrl = "/committees/" + entityRootPart + "/" + entityPart + "/" + session_num + "-" + year + "/resolution-" + number/> 
102                </#if> 
103 
104                <#assign currentArticleRelatedLinks = assetLinksLocalService.getDirectLinks(entry.entryId)/> 
105 
106 
107                <div ${dataAttribute} class="publications__content"> 
108                    <#if resolutionUrl?has_content> 
109                        <a href="${portalUtil.getHomeURL(request)?replace('/web/guest','')}${resolutionUrl}"> 
110                    </#if> 
111 
112                        <span class="publication-card_reference title-third"> 
113                        <#assign dash = ""/> 
114                        <#if locale.toString()=='fr_FR'> 
115                            <#assign dash = " -"/> 
116                        </#if> 
117                        ${committeeName}${dash} ${languageUtil.get(locale, typeVal?lower_case)?cap_first} ${number} (${year}) 
118                    </span> 
119                    <#if resolutionUrl?has_content> 
120                        </a> 
121                    </#if> 
122 
123                    <p class="publications__body">${title}</p> 
124                    <#if doi?has_content> 
125                    <p class="publications__body doi">DOI&nbsp;:&nbsp;${doi}</p> 
126                    </#if> 
127                    <#if currentArticleRelatedLinks?has_content> 
128                        <ul> 
129                            <#list currentArticleRelatedLinks as link> 
130                                <#assign 
131                                link2Id = link.entryId2 
132                                relatedDocument = assetEntryLocalService.getEntry(link2Id) 
133                                linkLabel = "" 
134                                linkUrl = "" 
135                                /> 
136 
137                                <#if relatedDocument?has_content> 
138                                    <#assign 
139                                    relatedEntryAssetRenderer = relatedDocument.getAssetRenderer() 
140                                    relatedEntryClassName = relatedEntryAssetRenderer.getClassName() 
141                                    /> 
142                                    <#if relatedEntryClassName == "com.liferay.document.library.kernel.model.DLFileEntry"> 
143                                        <#assign 
144                                        linkLabel = "Download" 
145                                        linkUrl = relatedEntryAssetRenderer.getURLDownload(themeDisplay) 
146                                        /> 
147                                    </#if> 
148                                </#if> 
149 
150                                <#if linkLabel?has_content> 
151                                    <li> 
152                                        <a href="${linkUrl}">${linkLabel}</a> 
153                                    </li> 
154                                </#if> 
155                            </#list> 
156                        </ul> 
157                    </#if> 
158                </div> 
159            </#list> 
160        </#if> 
161    </div> 
162    <div class="pagination documents_pagination" data-items-size="10"> 
163    </div> 
164</div> 
165 
166<@liferay_aui.script use="aui-base,liferay-pagination,bipm-list-filter"> 
167    A.all('.bipm-resolutions').each(function(item){ 
168            var plugin = item.hasPlugin('bipm-list-filter'); 
169            if(plugin){ 
170                return; 
171
172            var filter = item.plug(Liferay.ListFilter, 
173
174                        itemsNodesSelector:'.publications__content', 
175                        parentContainerSelector:'.documents_list', 
176                        filterSelectSelector:'.bipm-reports__select', 
177                        filterContainerSelector:'.documents_filter', 
178                        filterFieldPrefix:'.documents_filter_', 
179                        filterFieldNames:['session_num'], 
180                        filterFieldDefs:[{name:'session_num',reverse:true}], 
181                        paginationContainerSelector:'.documents_pagination', 
182                        namespace:'${namespace}' 
183                    }); 
184    }); 
185</@> 

CGPM logo

Asset Publisher