Consumer Price Index Fourth Quarter 2023
National Accounts 2023
Islamic Affairs Statistics Table 2023
The following has evaluated to null or missing:
==> themeIconId [in template "20098#20124#1093349" at line 75, column 60]
----
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: ${themeIconId} [in template "20098#20124#1093349" at line 75, column 58]
----
1<#assign catLocalService=serviceLocator.findService("com.liferay.asset.kernel.service.AssetCategoryLocalService")
2 JournalArticleService=serviceLocator.findService("com.liferay.journal.service.JournalArticleResourceLocalService")
3 resourcePrimKey=JournalArticleService.getArticleResourcePrimKey(groupId, .vars['reserved-article-id'].data)
4 articleCatNames=catLocalService.getCategories("com.liferay.journal.model.JournalArticle", resourcePrimKey)
5 dlFileEntryService=serviceLocator.findService('com.liferay.document.library.kernel.service.DLFileEntryService')
6 assetVocabularyLocalService=serviceLocator.findService("com.liferay.asset.kernel.service.AssetVocabularyLocalService")
7 dlAppLocalServiceUtil=staticUtil["com.liferay.document.library.kernel.service.DLAppLocalServiceUtil"]
8 dlUtil=staticUtil["com.liferay.document.library.kernel.util.DLUtil"]
9 jsonFactoryUtil=staticUtil["com.liferay.portal.kernel.json.JSONFactoryUtil"]
10 statisticVocabulary=assetVocabularyLocalService.getGroupVocabulary(groupId?long,"statistics")
11 assetCategoryPropService=serviceLocator.findService("com.liferay.asset.category.property.service.AssetCategoryPropertyLocalService") />
12 <#assign JournalArticleLocalService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService")>
13
14<#assign journalArticleTitle=.vars['reserved-article-title'].data />
15
16<#assign journalArticlele = JournalArticleLocalService.getArticle(groupId, .vars["reserved-article-id"].data) />
17<#assign journalArticleDisplayDate = journalArticlele.getExpandoBridge().getAttribute("UiissueDate")!"" />
18<#if !journalArticleDisplayDate?has_content>
19 <#assign journalArticleDisplayDate = journalArticlele.getExpandoBridge().getAttribute("UIIssueDate")!"" />
20</#if>
21<#if !journalArticleDisplayDate?has_content>
22 <#assign journalArticleDisplayDate = journalArticlele.getExpandoBridge().getAttribute("Uiissuedate")!"" />
23</#if>
24<#assign publicationIsoDate = "" />
25<#if journalArticleDisplayDate?has_content>
26 <#attempt>
27 <#assign publicationIsoDate = journalArticleDisplayDate?string["yyyy-MM-dd"] />
28 <#recover>
29 <#assign publicationIsoDate = "" />
30 </#attempt>
31</#if>
32<#assign publicationPageUrl = themeDisplay.getPortalURL() + "/w/" + .vars['reserved-article-url-title'].data />
33<#assign publicationDistributions = jsonFactoryUtil.createJSONArray() />
34
35
36
37
38
39<#assign themeColor="d29c4b" imgUrl="${themeDisplay.getPathThemeImages()}/publications/005.jpg"
40 categoryDisplay="Economic" />
41<#if (articleCatNames?size > 0)>
42 <#list articleCatNames as category>
43 <#if category.parentCategoryId==0>
44 <#if category.getVocabularyId()==statisticVocabulary.getVocabularyId()>
45 <#assign assetThemeCategoryId=category.categoryId?long />
46 <#assign
47 themeColor=assetCategoryPropService.getCategoryProperty(assetThemeCategoryId,"theme_color").getValue()
48 themeIconId=assetCategoryPropService.getCategoryProperty(assetThemeCategoryId,"theme_icon_id").getValue()
49 themeImgId=assetCategoryPropService.getCategoryProperty(assetThemeCategoryId,"portfolio-image").getValue() />
50
51 <#if themeImgId!="0">
52 <#assign imgDlFile=dlAppLocalServiceUtil.getFileEntry(themeImgId?number)
53 imgUrl=dlUtil.getPreviewURL(imgDlFile, imgDlFile.getFileVersion(), themeDisplay, '' ) />
54 </#if>
55 <#list category.name?split(" ") as catWords>
56 <#assign categoryDisplay = catWords/>
57 <#break>
58 </#list>
59 <#assign categoryDisplay = category.titleCurrentValue/>
60 </#if>
61 </#if>
62 </#list>
63
64 </#if>
65
66
67<#if file_upload.getSiblings()?has_content>
68
69 <#list file_upload.getSiblings() as medias>
70
71 <div class=" row mb-3 mx-0 bg-white d-flex w-100 align-items-center h-100 border rounded">
72 <div class="col-lg-1 p-0 ">
73 <div class="icon d-flex text-center p-1" style="background: #eee">
74 <div class="align-self-center mx-auto d-flex flex-column">
75 <img src="/documents/d/guest/${themeIconId}" height="30">
76 <label class="small mx-auto mb-0" style="color: #${themeColor} ;">
77 ${categoryDisplay}
78 </label>
79 </div>
80 </div>
81 </div>
82
83 <div class="col-8">
84 <p class="mb-0 py-3 publication-p">${journalArticleTitle}</p>
85 </div>
86
87 <div class="col-3 d-flex align-items-center justify-content-end">
88
89 <div class="my-2 right-icons d-flex align-items-center ">
90 <#if file_upload.getSiblings()?has_content>
91 <#list file_upload.getSiblings() as media>
92 <#if media.getData()?has_content>
93 <#assign fileData = media.getData()?trim />
94 <#assign fileEntry = "" />
95 <#assign downloadUrl = "" />
96 <#assign fileExtension = "" />
97
98 <#-- Yearbook stores document_library as JSON; older content may use a /documents/... path -->
99 <#if fileData?starts_with("{")>
100 <#assign fileJson = jsonFactoryUtil.createJSONObject(fileData) />
101 <#assign fileEntryId = fileJson.getLong("fileEntryId") />
102 <#if fileEntryId gt 0>
103 <#assign fileEntry = dlAppLocalServiceUtil.getFileEntry(fileEntryId) />
104 <#elseif fileJson.getString("uuid")?has_content>
105 <#assign fileGroupId = fileJson.getLong("groupId") />
106 <#if fileGroupId lte 0>
107 <#assign fileGroupId = groupId />
108 </#if>
109 <#assign fileEntry = dlAppLocalServiceUtil.getFileEntryByUuidAndGroupId(fileJson.getString("uuid"), fileGroupId) />
110 </#if>
111 <#else>
112 <#assign uuid = "" />
113 <#list fileData?split("/") as mediaDataSplit>
114 <#assign segment = mediaDataSplit?split("?")[0] />
115 <#if segment?matches("[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}")>
116 <#assign uuid = segment />
117 </#if>
118 </#list>
119 <#if uuid?has_content>
120 <#assign fileEntry = dlAppLocalServiceUtil.getFileEntryByUuidAndGroupId(uuid, groupId) />
121 </#if>
122 </#if>
123
124 <#if fileEntry?has_content>
125 <#assign downloadUrl = dlUtil.getPreviewURL(fileEntry, fileEntry.getFileVersion(), themeDisplay, "&download=true", false, true) />
126 <#assign fileExtension = fileEntry.getExtension()!"" />
127 <#if !fileExtension?has_content>
128 <#list fileEntry.getFileName()?split(".") as extention>
129 <#if extention?is_last>
130 <#assign fileExtension = extention />
131 <#break>
132 </#if>
133 </#list>
134 </#if>
135 <#elseif fileData?contains("/documents/")>
136 <#assign downloadUrl = fileData />
137 <#if !downloadUrl?contains("download=true")>
138 <#if downloadUrl?contains("?")>
139 <#assign downloadUrl = downloadUrl + "&download=true" />
140 <#else>
141 <#assign downloadUrl = downloadUrl + "?download=true" />
142 </#if>
143 </#if>
144 <#list fileData?split("?")[0]?split("/") as pathPart>
145 <#if pathPart?contains(".")>
146 <#list pathPart?split(".") as extention>
147 <#if extention?is_last>
148 <#assign fileExtension = extention />
149 </#if>
150 </#list>
151 </#if>
152 </#list>
153 </#if>
154
155 <#if downloadUrl?has_content>
156 <#assign encodingFormat = "application/octet-stream" />
157 <#if fileExtension?lower_case == "pdf">
158 <#assign encodingFormat = "application/pdf" />
159 <#elseif fileExtension?lower_case == "xls">
160 <#assign encodingFormat = "application/vnd.ms-excel" />
161 <#elseif fileExtension?lower_case == "xlsx">
162 <#assign encodingFormat = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" />
163 </#if>
164 <#assign distributionJson = jsonFactoryUtil.createJSONObject() />
165 <#assign void = distributionJson.put("@type", "DataDownload") />
166 <#assign void = distributionJson.put("contentUrl", downloadUrl) />
167 <#assign void = distributionJson.put("encodingFormat", encodingFormat) />
168 <#if fileExtension?has_content>
169 <#assign void = distributionJson.put("name", journalArticleTitle + " (" + fileExtension?upper_case + ")") />
170 </#if>
171 <#assign void = publicationDistributions.put(distributionJson) />
172
173 <#if fileExtension == "pdf" || fileExtension == "PDF">
174 <a class="ml-2" href="${downloadUrl}" target="_blank" style="order:1" aria-label="Download PDF">
175 <li class="list-item list-inline-item d-flex">
176 <img src=${themeDisplay.getPathThemeImages()}/publications/pdf-svgrepo-com.svg
177 class="d-flex mx-auto align-self-center" />
178 </li>
179 </a>
180 <#elseif fileExtension == "xls" || fileExtension == "XLS" ||
181 fileExtension == "xlsx" || fileExtension == "XLSX">
182 <a class="ml-2" href="${downloadUrl}" target="_blank" style="order:2" aria-label="Download Excel">
183 <li class="list-item list-inline-item d-flex">
184 <img src=${themeDisplay.getPathThemeImages()}/publications/excel-svgrepo-com.svg
185 class="d-flex mx-auto align-self-center" />
186 </li>
187 </a>
188 <#else>
189 <a class="ml-2" href="${downloadUrl}" target="_blank" style="order:3" aria-label="Download file">
190 <li class="list-item list-inline-item d-flex">
191 <i class="icon-file" style="font-size:27px"></i>
192 </li>
193 </a>
194 </#if>
195 </#if>
196 </#if>
197 </#list>
198 </#if>
199 </div>
200 </div>
201 </div>
202
203<#-- Schema.org Dataset JSON-LD (list view only — avoids duplicate grid+list scripts) -->
204<#assign datasetJson = jsonFactoryUtil.createJSONObject() />
205<#assign void = datasetJson.put("@context", "https://schema.org") />
206<#assign void = datasetJson.put("@type", "Dataset") />
207<#assign void = datasetJson.put("@id", publicationPageUrl + "#dataset") />
208<#assign void = datasetJson.put("name", journalArticleTitle) />
209<#assign void = datasetJson.put("url", publicationPageUrl) />
210<#assign publicationDescription = journalArticleTitle />
211<#if categoryDisplay?has_content>
212 <#assign publicationDescription = publicationDescription + " — " + categoryDisplay + " publication from Statistics Centre - Abu Dhabi (SCAD)." />
213<#else>
214 <#assign publicationDescription = publicationDescription + " — Statistical publication from Statistics Centre - Abu Dhabi (SCAD)." />
215</#if>
216<#if publicationIsoDate?has_content>
217 <#assign publicationDescription = publicationDescription + " Published on " + publicationIsoDate + "." />
218</#if>
219<#if publicationDistributions.length() gt 0>
220 <#assign publicationDescription = publicationDescription + " Downloadable PDF or Excel data file available." />
221</#if>
222<#if publicationDescription?length lt 50>
223 <#assign publicationDescription = publicationDescription + " Official SCAD statistical data is freely available to the public on the SCAD Download Publications catalog." />
224</#if>
225<#assign void = datasetJson.put("description", publicationDescription) />
226<#assign topicKeywords = categoryDisplay!"" />
227<#if topicKeywords?has_content>
228 <#assign void = datasetJson.put("keywords", topicKeywords) />
229 <#assign aboutThing = jsonFactoryUtil.createJSONObject() />
230 <#assign void = aboutThing.put("@type", "Thing") />
231 <#assign void = aboutThing.put("name", topicKeywords) />
232 <#assign void = datasetJson.put("about", aboutThing) />
233</#if>
234<#if publicationIsoDate?has_content>
235 <#assign void = datasetJson.put("datePublished", publicationIsoDate) />
236 <#assign void = datasetJson.put("dateModified", publicationIsoDate) />
237</#if>
238<#assign void = datasetJson.put("inLanguage", (themeDisplay.getLanguageId()?starts_with("ar"))?then("ar", "en")) />
239<#assign void = datasetJson.put("isAccessibleForFree", true) />
240<#assign void = datasetJson.put("license", "https://www.scad.gov.ae") />
241<#assign catalogRef = jsonFactoryUtil.createJSONObject() />
242<#assign void = catalogRef.put("@type", "DataCatalog") />
243<#assign void = catalogRef.put("name", "Download Publications") />
244<#assign void = catalogRef.put("url", themeDisplay.getPortalURL() + "/download-publications") />
245<#assign void = datasetJson.put("includedInDataCatalog", catalogRef) />
246<#assign creatorJson = jsonFactoryUtil.createJSONObject() />
247<#assign void = creatorJson.put("@type", "GovernmentOrganization") />
248<#assign void = creatorJson.put("name", "Statistics Centre - Abu Dhabi (SCAD)") />
249<#assign void = creatorJson.put("url", "https://www.scad.gov.ae") />
250<#assign void = datasetJson.put("creator", creatorJson) />
251<#assign void = datasetJson.put("publisher", creatorJson) />
252<#if publicationDistributions.length() gt 0>
253 <#assign void = datasetJson.put("distribution", publicationDistributions) />
254</#if>
255<script type="application/ld+json">
256${datasetJson.toString()}
257</script>
258
259<#break>
260
261
262</#list>
263</#if>
Consumer Price Index December 2023
SMEs Establishments Statistics 2022
Statistics of Exporters and Importers Registry Third Quarter 2023
Biodiversity and Protected Area Statistics 2022
Non-oil Foreign Merchandise Trade Through the Ports of Abu Dhabi Emirate November 2023
Banks Statistics Third Quarter 2023
Air Quality Annual Summary Report Abu Dhabi 2022
Construction Cost Index Third Quarter 2023
Education Statistics 2022
SMEs Establishments Statistics 2021
Producer Price Index Third Quarter 2023
Industrial Production Index Third Quarter 2023
Climate Statistics November 2023
Hotel Price Index November 2023
The following has evaluated to null or missing:
==> themeIconId [in template "20098#20124#1093349" at line 75, column 60]
----
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: ${themeIconId} [in template "20098#20124#1093349" at line 75, column 58]
----
1<#assign catLocalService=serviceLocator.findService("com.liferay.asset.kernel.service.AssetCategoryLocalService")
2 JournalArticleService=serviceLocator.findService("com.liferay.journal.service.JournalArticleResourceLocalService")
3 resourcePrimKey=JournalArticleService.getArticleResourcePrimKey(groupId, .vars['reserved-article-id'].data)
4 articleCatNames=catLocalService.getCategories("com.liferay.journal.model.JournalArticle", resourcePrimKey)
5 dlFileEntryService=serviceLocator.findService('com.liferay.document.library.kernel.service.DLFileEntryService')
6 assetVocabularyLocalService=serviceLocator.findService("com.liferay.asset.kernel.service.AssetVocabularyLocalService")
7 dlAppLocalServiceUtil=staticUtil["com.liferay.document.library.kernel.service.DLAppLocalServiceUtil"]
8 dlUtil=staticUtil["com.liferay.document.library.kernel.util.DLUtil"]
9 jsonFactoryUtil=staticUtil["com.liferay.portal.kernel.json.JSONFactoryUtil"]
10 statisticVocabulary=assetVocabularyLocalService.getGroupVocabulary(groupId?long,"statistics")
11 assetCategoryPropService=serviceLocator.findService("com.liferay.asset.category.property.service.AssetCategoryPropertyLocalService") />
12 <#assign JournalArticleLocalService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService")>
13
14<#assign journalArticleTitle=.vars['reserved-article-title'].data />
15
16<#assign journalArticlele = JournalArticleLocalService.getArticle(groupId, .vars["reserved-article-id"].data) />
17<#assign journalArticleDisplayDate = journalArticlele.getExpandoBridge().getAttribute("UiissueDate")!"" />
18<#if !journalArticleDisplayDate?has_content>
19 <#assign journalArticleDisplayDate = journalArticlele.getExpandoBridge().getAttribute("UIIssueDate")!"" />
20</#if>
21<#if !journalArticleDisplayDate?has_content>
22 <#assign journalArticleDisplayDate = journalArticlele.getExpandoBridge().getAttribute("Uiissuedate")!"" />
23</#if>
24<#assign publicationIsoDate = "" />
25<#if journalArticleDisplayDate?has_content>
26 <#attempt>
27 <#assign publicationIsoDate = journalArticleDisplayDate?string["yyyy-MM-dd"] />
28 <#recover>
29 <#assign publicationIsoDate = "" />
30 </#attempt>
31</#if>
32<#assign publicationPageUrl = themeDisplay.getPortalURL() + "/w/" + .vars['reserved-article-url-title'].data />
33<#assign publicationDistributions = jsonFactoryUtil.createJSONArray() />
34
35
36
37
38
39<#assign themeColor="d29c4b" imgUrl="${themeDisplay.getPathThemeImages()}/publications/005.jpg"
40 categoryDisplay="Economic" />
41<#if (articleCatNames?size > 0)>
42 <#list articleCatNames as category>
43 <#if category.parentCategoryId==0>
44 <#if category.getVocabularyId()==statisticVocabulary.getVocabularyId()>
45 <#assign assetThemeCategoryId=category.categoryId?long />
46 <#assign
47 themeColor=assetCategoryPropService.getCategoryProperty(assetThemeCategoryId,"theme_color").getValue()
48 themeIconId=assetCategoryPropService.getCategoryProperty(assetThemeCategoryId,"theme_icon_id").getValue()
49 themeImgId=assetCategoryPropService.getCategoryProperty(assetThemeCategoryId,"portfolio-image").getValue() />
50
51 <#if themeImgId!="0">
52 <#assign imgDlFile=dlAppLocalServiceUtil.getFileEntry(themeImgId?number)
53 imgUrl=dlUtil.getPreviewURL(imgDlFile, imgDlFile.getFileVersion(), themeDisplay, '' ) />
54 </#if>
55 <#list category.name?split(" ") as catWords>
56 <#assign categoryDisplay = catWords/>
57 <#break>
58 </#list>
59 <#assign categoryDisplay = category.titleCurrentValue/>
60 </#if>
61 </#if>
62 </#list>
63
64 </#if>
65
66
67<#if file_upload.getSiblings()?has_content>
68
69 <#list file_upload.getSiblings() as medias>
70
71 <div class=" row mb-3 mx-0 bg-white d-flex w-100 align-items-center h-100 border rounded">
72 <div class="col-lg-1 p-0 ">
73 <div class="icon d-flex text-center p-1" style="background: #eee">
74 <div class="align-self-center mx-auto d-flex flex-column">
75 <img src="/documents/d/guest/${themeIconId}" height="30">
76 <label class="small mx-auto mb-0" style="color: #${themeColor} ;">
77 ${categoryDisplay}
78 </label>
79 </div>
80 </div>
81 </div>
82
83 <div class="col-8">
84 <p class="mb-0 py-3 publication-p">${journalArticleTitle}</p>
85 </div>
86
87 <div class="col-3 d-flex align-items-center justify-content-end">
88
89 <div class="my-2 right-icons d-flex align-items-center ">
90 <#if file_upload.getSiblings()?has_content>
91 <#list file_upload.getSiblings() as media>
92 <#if media.getData()?has_content>
93 <#assign fileData = media.getData()?trim />
94 <#assign fileEntry = "" />
95 <#assign downloadUrl = "" />
96 <#assign fileExtension = "" />
97
98 <#-- Yearbook stores document_library as JSON; older content may use a /documents/... path -->
99 <#if fileData?starts_with("{")>
100 <#assign fileJson = jsonFactoryUtil.createJSONObject(fileData) />
101 <#assign fileEntryId = fileJson.getLong("fileEntryId") />
102 <#if fileEntryId gt 0>
103 <#assign fileEntry = dlAppLocalServiceUtil.getFileEntry(fileEntryId) />
104 <#elseif fileJson.getString("uuid")?has_content>
105 <#assign fileGroupId = fileJson.getLong("groupId") />
106 <#if fileGroupId lte 0>
107 <#assign fileGroupId = groupId />
108 </#if>
109 <#assign fileEntry = dlAppLocalServiceUtil.getFileEntryByUuidAndGroupId(fileJson.getString("uuid"), fileGroupId) />
110 </#if>
111 <#else>
112 <#assign uuid = "" />
113 <#list fileData?split("/") as mediaDataSplit>
114 <#assign segment = mediaDataSplit?split("?")[0] />
115 <#if segment?matches("[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}")>
116 <#assign uuid = segment />
117 </#if>
118 </#list>
119 <#if uuid?has_content>
120 <#assign fileEntry = dlAppLocalServiceUtil.getFileEntryByUuidAndGroupId(uuid, groupId) />
121 </#if>
122 </#if>
123
124 <#if fileEntry?has_content>
125 <#assign downloadUrl = dlUtil.getPreviewURL(fileEntry, fileEntry.getFileVersion(), themeDisplay, "&download=true", false, true) />
126 <#assign fileExtension = fileEntry.getExtension()!"" />
127 <#if !fileExtension?has_content>
128 <#list fileEntry.getFileName()?split(".") as extention>
129 <#if extention?is_last>
130 <#assign fileExtension = extention />
131 <#break>
132 </#if>
133 </#list>
134 </#if>
135 <#elseif fileData?contains("/documents/")>
136 <#assign downloadUrl = fileData />
137 <#if !downloadUrl?contains("download=true")>
138 <#if downloadUrl?contains("?")>
139 <#assign downloadUrl = downloadUrl + "&download=true" />
140 <#else>
141 <#assign downloadUrl = downloadUrl + "?download=true" />
142 </#if>
143 </#if>
144 <#list fileData?split("?")[0]?split("/") as pathPart>
145 <#if pathPart?contains(".")>
146 <#list pathPart?split(".") as extention>
147 <#if extention?is_last>
148 <#assign fileExtension = extention />
149 </#if>
150 </#list>
151 </#if>
152 </#list>
153 </#if>
154
155 <#if downloadUrl?has_content>
156 <#assign encodingFormat = "application/octet-stream" />
157 <#if fileExtension?lower_case == "pdf">
158 <#assign encodingFormat = "application/pdf" />
159 <#elseif fileExtension?lower_case == "xls">
160 <#assign encodingFormat = "application/vnd.ms-excel" />
161 <#elseif fileExtension?lower_case == "xlsx">
162 <#assign encodingFormat = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" />
163 </#if>
164 <#assign distributionJson = jsonFactoryUtil.createJSONObject() />
165 <#assign void = distributionJson.put("@type", "DataDownload") />
166 <#assign void = distributionJson.put("contentUrl", downloadUrl) />
167 <#assign void = distributionJson.put("encodingFormat", encodingFormat) />
168 <#if fileExtension?has_content>
169 <#assign void = distributionJson.put("name", journalArticleTitle + " (" + fileExtension?upper_case + ")") />
170 </#if>
171 <#assign void = publicationDistributions.put(distributionJson) />
172
173 <#if fileExtension == "pdf" || fileExtension == "PDF">
174 <a class="ml-2" href="${downloadUrl}" target="_blank" style="order:1" aria-label="Download PDF">
175 <li class="list-item list-inline-item d-flex">
176 <img src=${themeDisplay.getPathThemeImages()}/publications/pdf-svgrepo-com.svg
177 class="d-flex mx-auto align-self-center" />
178 </li>
179 </a>
180 <#elseif fileExtension == "xls" || fileExtension == "XLS" ||
181 fileExtension == "xlsx" || fileExtension == "XLSX">
182 <a class="ml-2" href="${downloadUrl}" target="_blank" style="order:2" aria-label="Download Excel">
183 <li class="list-item list-inline-item d-flex">
184 <img src=${themeDisplay.getPathThemeImages()}/publications/excel-svgrepo-com.svg
185 class="d-flex mx-auto align-self-center" />
186 </li>
187 </a>
188 <#else>
189 <a class="ml-2" href="${downloadUrl}" target="_blank" style="order:3" aria-label="Download file">
190 <li class="list-item list-inline-item d-flex">
191 <i class="icon-file" style="font-size:27px"></i>
192 </li>
193 </a>
194 </#if>
195 </#if>
196 </#if>
197 </#list>
198 </#if>
199 </div>
200 </div>
201 </div>
202
203<#-- Schema.org Dataset JSON-LD (list view only — avoids duplicate grid+list scripts) -->
204<#assign datasetJson = jsonFactoryUtil.createJSONObject() />
205<#assign void = datasetJson.put("@context", "https://schema.org") />
206<#assign void = datasetJson.put("@type", "Dataset") />
207<#assign void = datasetJson.put("@id", publicationPageUrl + "#dataset") />
208<#assign void = datasetJson.put("name", journalArticleTitle) />
209<#assign void = datasetJson.put("url", publicationPageUrl) />
210<#assign publicationDescription = journalArticleTitle />
211<#if categoryDisplay?has_content>
212 <#assign publicationDescription = publicationDescription + " — " + categoryDisplay + " publication from Statistics Centre - Abu Dhabi (SCAD)." />
213<#else>
214 <#assign publicationDescription = publicationDescription + " — Statistical publication from Statistics Centre - Abu Dhabi (SCAD)." />
215</#if>
216<#if publicationIsoDate?has_content>
217 <#assign publicationDescription = publicationDescription + " Published on " + publicationIsoDate + "." />
218</#if>
219<#if publicationDistributions.length() gt 0>
220 <#assign publicationDescription = publicationDescription + " Downloadable PDF or Excel data file available." />
221</#if>
222<#if publicationDescription?length lt 50>
223 <#assign publicationDescription = publicationDescription + " Official SCAD statistical data is freely available to the public on the SCAD Download Publications catalog." />
224</#if>
225<#assign void = datasetJson.put("description", publicationDescription) />
226<#assign topicKeywords = categoryDisplay!"" />
227<#if topicKeywords?has_content>
228 <#assign void = datasetJson.put("keywords", topicKeywords) />
229 <#assign aboutThing = jsonFactoryUtil.createJSONObject() />
230 <#assign void = aboutThing.put("@type", "Thing") />
231 <#assign void = aboutThing.put("name", topicKeywords) />
232 <#assign void = datasetJson.put("about", aboutThing) />
233</#if>
234<#if publicationIsoDate?has_content>
235 <#assign void = datasetJson.put("datePublished", publicationIsoDate) />
236 <#assign void = datasetJson.put("dateModified", publicationIsoDate) />
237</#if>
238<#assign void = datasetJson.put("inLanguage", (themeDisplay.getLanguageId()?starts_with("ar"))?then("ar", "en")) />
239<#assign void = datasetJson.put("isAccessibleForFree", true) />
240<#assign void = datasetJson.put("license", "https://www.scad.gov.ae") />
241<#assign catalogRef = jsonFactoryUtil.createJSONObject() />
242<#assign void = catalogRef.put("@type", "DataCatalog") />
243<#assign void = catalogRef.put("name", "Download Publications") />
244<#assign void = catalogRef.put("url", themeDisplay.getPortalURL() + "/download-publications") />
245<#assign void = datasetJson.put("includedInDataCatalog", catalogRef) />
246<#assign creatorJson = jsonFactoryUtil.createJSONObject() />
247<#assign void = creatorJson.put("@type", "GovernmentOrganization") />
248<#assign void = creatorJson.put("name", "Statistics Centre - Abu Dhabi (SCAD)") />
249<#assign void = creatorJson.put("url", "https://www.scad.gov.ae") />
250<#assign void = datasetJson.put("creator", creatorJson) />
251<#assign void = datasetJson.put("publisher", creatorJson) />
252<#if publicationDistributions.length() gt 0>
253 <#assign void = datasetJson.put("distribution", publicationDistributions) />
254</#if>
255<script type="application/ld+json">
256${datasetJson.toString()}
257</script>
258
259<#break>
260
261
262</#list>
263</#if>
Non-oil Foreign Merchandise Trade Through the Ports of Abu Dhabi Emirate October 2023
Social Aids Table 2022
Air Quality Statistics Third Quarter 2023
Health Statistics 2022
Banks Statistics First Quarter 2023
Banks Statistics Second Quarter 2023
Non-oil Foreign Merchandise Trade Through the Ports of Abu Dhabi Emirate September 2023
Climate Statistics April 2023
The following has evaluated to null or missing:
==> themeIconId [in template "20098#20124#1093349" at line 75, column 60]
----
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: ${themeIconId} [in template "20098#20124#1093349" at line 75, column 58]
----
1<#assign catLocalService=serviceLocator.findService("com.liferay.asset.kernel.service.AssetCategoryLocalService")
2 JournalArticleService=serviceLocator.findService("com.liferay.journal.service.JournalArticleResourceLocalService")
3 resourcePrimKey=JournalArticleService.getArticleResourcePrimKey(groupId, .vars['reserved-article-id'].data)
4 articleCatNames=catLocalService.getCategories("com.liferay.journal.model.JournalArticle", resourcePrimKey)
5 dlFileEntryService=serviceLocator.findService('com.liferay.document.library.kernel.service.DLFileEntryService')
6 assetVocabularyLocalService=serviceLocator.findService("com.liferay.asset.kernel.service.AssetVocabularyLocalService")
7 dlAppLocalServiceUtil=staticUtil["com.liferay.document.library.kernel.service.DLAppLocalServiceUtil"]
8 dlUtil=staticUtil["com.liferay.document.library.kernel.util.DLUtil"]
9 jsonFactoryUtil=staticUtil["com.liferay.portal.kernel.json.JSONFactoryUtil"]
10 statisticVocabulary=assetVocabularyLocalService.getGroupVocabulary(groupId?long,"statistics")
11 assetCategoryPropService=serviceLocator.findService("com.liferay.asset.category.property.service.AssetCategoryPropertyLocalService") />
12 <#assign JournalArticleLocalService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService")>
13
14<#assign journalArticleTitle=.vars['reserved-article-title'].data />
15
16<#assign journalArticlele = JournalArticleLocalService.getArticle(groupId, .vars["reserved-article-id"].data) />
17<#assign journalArticleDisplayDate = journalArticlele.getExpandoBridge().getAttribute("UiissueDate")!"" />
18<#if !journalArticleDisplayDate?has_content>
19 <#assign journalArticleDisplayDate = journalArticlele.getExpandoBridge().getAttribute("UIIssueDate")!"" />
20</#if>
21<#if !journalArticleDisplayDate?has_content>
22 <#assign journalArticleDisplayDate = journalArticlele.getExpandoBridge().getAttribute("Uiissuedate")!"" />
23</#if>
24<#assign publicationIsoDate = "" />
25<#if journalArticleDisplayDate?has_content>
26 <#attempt>
27 <#assign publicationIsoDate = journalArticleDisplayDate?string["yyyy-MM-dd"] />
28 <#recover>
29 <#assign publicationIsoDate = "" />
30 </#attempt>
31</#if>
32<#assign publicationPageUrl = themeDisplay.getPortalURL() + "/w/" + .vars['reserved-article-url-title'].data />
33<#assign publicationDistributions = jsonFactoryUtil.createJSONArray() />
34
35
36
37
38
39<#assign themeColor="d29c4b" imgUrl="${themeDisplay.getPathThemeImages()}/publications/005.jpg"
40 categoryDisplay="Economic" />
41<#if (articleCatNames?size > 0)>
42 <#list articleCatNames as category>
43 <#if category.parentCategoryId==0>
44 <#if category.getVocabularyId()==statisticVocabulary.getVocabularyId()>
45 <#assign assetThemeCategoryId=category.categoryId?long />
46 <#assign
47 themeColor=assetCategoryPropService.getCategoryProperty(assetThemeCategoryId,"theme_color").getValue()
48 themeIconId=assetCategoryPropService.getCategoryProperty(assetThemeCategoryId,"theme_icon_id").getValue()
49 themeImgId=assetCategoryPropService.getCategoryProperty(assetThemeCategoryId,"portfolio-image").getValue() />
50
51 <#if themeImgId!="0">
52 <#assign imgDlFile=dlAppLocalServiceUtil.getFileEntry(themeImgId?number)
53 imgUrl=dlUtil.getPreviewURL(imgDlFile, imgDlFile.getFileVersion(), themeDisplay, '' ) />
54 </#if>
55 <#list category.name?split(" ") as catWords>
56 <#assign categoryDisplay = catWords/>
57 <#break>
58 </#list>
59 <#assign categoryDisplay = category.titleCurrentValue/>
60 </#if>
61 </#if>
62 </#list>
63
64 </#if>
65
66
67<#if file_upload.getSiblings()?has_content>
68
69 <#list file_upload.getSiblings() as medias>
70
71 <div class=" row mb-3 mx-0 bg-white d-flex w-100 align-items-center h-100 border rounded">
72 <div class="col-lg-1 p-0 ">
73 <div class="icon d-flex text-center p-1" style="background: #eee">
74 <div class="align-self-center mx-auto d-flex flex-column">
75 <img src="/documents/d/guest/${themeIconId}" height="30">
76 <label class="small mx-auto mb-0" style="color: #${themeColor} ;">
77 ${categoryDisplay}
78 </label>
79 </div>
80 </div>
81 </div>
82
83 <div class="col-8">
84 <p class="mb-0 py-3 publication-p">${journalArticleTitle}</p>
85 </div>
86
87 <div class="col-3 d-flex align-items-center justify-content-end">
88
89 <div class="my-2 right-icons d-flex align-items-center ">
90 <#if file_upload.getSiblings()?has_content>
91 <#list file_upload.getSiblings() as media>
92 <#if media.getData()?has_content>
93 <#assign fileData = media.getData()?trim />
94 <#assign fileEntry = "" />
95 <#assign downloadUrl = "" />
96 <#assign fileExtension = "" />
97
98 <#-- Yearbook stores document_library as JSON; older content may use a /documents/... path -->
99 <#if fileData?starts_with("{")>
100 <#assign fileJson = jsonFactoryUtil.createJSONObject(fileData) />
101 <#assign fileEntryId = fileJson.getLong("fileEntryId") />
102 <#if fileEntryId gt 0>
103 <#assign fileEntry = dlAppLocalServiceUtil.getFileEntry(fileEntryId) />
104 <#elseif fileJson.getString("uuid")?has_content>
105 <#assign fileGroupId = fileJson.getLong("groupId") />
106 <#if fileGroupId lte 0>
107 <#assign fileGroupId = groupId />
108 </#if>
109 <#assign fileEntry = dlAppLocalServiceUtil.getFileEntryByUuidAndGroupId(fileJson.getString("uuid"), fileGroupId) />
110 </#if>
111 <#else>
112 <#assign uuid = "" />
113 <#list fileData?split("/") as mediaDataSplit>
114 <#assign segment = mediaDataSplit?split("?")[0] />
115 <#if segment?matches("[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}")>
116 <#assign uuid = segment />
117 </#if>
118 </#list>
119 <#if uuid?has_content>
120 <#assign fileEntry = dlAppLocalServiceUtil.getFileEntryByUuidAndGroupId(uuid, groupId) />
121 </#if>
122 </#if>
123
124 <#if fileEntry?has_content>
125 <#assign downloadUrl = dlUtil.getPreviewURL(fileEntry, fileEntry.getFileVersion(), themeDisplay, "&download=true", false, true) />
126 <#assign fileExtension = fileEntry.getExtension()!"" />
127 <#if !fileExtension?has_content>
128 <#list fileEntry.getFileName()?split(".") as extention>
129 <#if extention?is_last>
130 <#assign fileExtension = extention />
131 <#break>
132 </#if>
133 </#list>
134 </#if>
135 <#elseif fileData?contains("/documents/")>
136 <#assign downloadUrl = fileData />
137 <#if !downloadUrl?contains("download=true")>
138 <#if downloadUrl?contains("?")>
139 <#assign downloadUrl = downloadUrl + "&download=true" />
140 <#else>
141 <#assign downloadUrl = downloadUrl + "?download=true" />
142 </#if>
143 </#if>
144 <#list fileData?split("?")[0]?split("/") as pathPart>
145 <#if pathPart?contains(".")>
146 <#list pathPart?split(".") as extention>
147 <#if extention?is_last>
148 <#assign fileExtension = extention />
149 </#if>
150 </#list>
151 </#if>
152 </#list>
153 </#if>
154
155 <#if downloadUrl?has_content>
156 <#assign encodingFormat = "application/octet-stream" />
157 <#if fileExtension?lower_case == "pdf">
158 <#assign encodingFormat = "application/pdf" />
159 <#elseif fileExtension?lower_case == "xls">
160 <#assign encodingFormat = "application/vnd.ms-excel" />
161 <#elseif fileExtension?lower_case == "xlsx">
162 <#assign encodingFormat = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" />
163 </#if>
164 <#assign distributionJson = jsonFactoryUtil.createJSONObject() />
165 <#assign void = distributionJson.put("@type", "DataDownload") />
166 <#assign void = distributionJson.put("contentUrl", downloadUrl) />
167 <#assign void = distributionJson.put("encodingFormat", encodingFormat) />
168 <#if fileExtension?has_content>
169 <#assign void = distributionJson.put("name", journalArticleTitle + " (" + fileExtension?upper_case + ")") />
170 </#if>
171 <#assign void = publicationDistributions.put(distributionJson) />
172
173 <#if fileExtension == "pdf" || fileExtension == "PDF">
174 <a class="ml-2" href="${downloadUrl}" target="_blank" style="order:1" aria-label="Download PDF">
175 <li class="list-item list-inline-item d-flex">
176 <img src=${themeDisplay.getPathThemeImages()}/publications/pdf-svgrepo-com.svg
177 class="d-flex mx-auto align-self-center" />
178 </li>
179 </a>
180 <#elseif fileExtension == "xls" || fileExtension == "XLS" ||
181 fileExtension == "xlsx" || fileExtension == "XLSX">
182 <a class="ml-2" href="${downloadUrl}" target="_blank" style="order:2" aria-label="Download Excel">
183 <li class="list-item list-inline-item d-flex">
184 <img src=${themeDisplay.getPathThemeImages()}/publications/excel-svgrepo-com.svg
185 class="d-flex mx-auto align-self-center" />
186 </li>
187 </a>
188 <#else>
189 <a class="ml-2" href="${downloadUrl}" target="_blank" style="order:3" aria-label="Download file">
190 <li class="list-item list-inline-item d-flex">
191 <i class="icon-file" style="font-size:27px"></i>
192 </li>
193 </a>
194 </#if>
195 </#if>
196 </#if>
197 </#list>
198 </#if>
199 </div>
200 </div>
201 </div>
202
203<#-- Schema.org Dataset JSON-LD (list view only — avoids duplicate grid+list scripts) -->
204<#assign datasetJson = jsonFactoryUtil.createJSONObject() />
205<#assign void = datasetJson.put("@context", "https://schema.org") />
206<#assign void = datasetJson.put("@type", "Dataset") />
207<#assign void = datasetJson.put("@id", publicationPageUrl + "#dataset") />
208<#assign void = datasetJson.put("name", journalArticleTitle) />
209<#assign void = datasetJson.put("url", publicationPageUrl) />
210<#assign publicationDescription = journalArticleTitle />
211<#if categoryDisplay?has_content>
212 <#assign publicationDescription = publicationDescription + " — " + categoryDisplay + " publication from Statistics Centre - Abu Dhabi (SCAD)." />
213<#else>
214 <#assign publicationDescription = publicationDescription + " — Statistical publication from Statistics Centre - Abu Dhabi (SCAD)." />
215</#if>
216<#if publicationIsoDate?has_content>
217 <#assign publicationDescription = publicationDescription + " Published on " + publicationIsoDate + "." />
218</#if>
219<#if publicationDistributions.length() gt 0>
220 <#assign publicationDescription = publicationDescription + " Downloadable PDF or Excel data file available." />
221</#if>
222<#if publicationDescription?length lt 50>
223 <#assign publicationDescription = publicationDescription + " Official SCAD statistical data is freely available to the public on the SCAD Download Publications catalog." />
224</#if>
225<#assign void = datasetJson.put("description", publicationDescription) />
226<#assign topicKeywords = categoryDisplay!"" />
227<#if topicKeywords?has_content>
228 <#assign void = datasetJson.put("keywords", topicKeywords) />
229 <#assign aboutThing = jsonFactoryUtil.createJSONObject() />
230 <#assign void = aboutThing.put("@type", "Thing") />
231 <#assign void = aboutThing.put("name", topicKeywords) />
232 <#assign void = datasetJson.put("about", aboutThing) />
233</#if>
234<#if publicationIsoDate?has_content>
235 <#assign void = datasetJson.put("datePublished", publicationIsoDate) />
236 <#assign void = datasetJson.put("dateModified", publicationIsoDate) />
237</#if>
238<#assign void = datasetJson.put("inLanguage", (themeDisplay.getLanguageId()?starts_with("ar"))?then("ar", "en")) />
239<#assign void = datasetJson.put("isAccessibleForFree", true) />
240<#assign void = datasetJson.put("license", "https://www.scad.gov.ae") />
241<#assign catalogRef = jsonFactoryUtil.createJSONObject() />
242<#assign void = catalogRef.put("@type", "DataCatalog") />
243<#assign void = catalogRef.put("name", "Download Publications") />
244<#assign void = catalogRef.put("url", themeDisplay.getPortalURL() + "/download-publications") />
245<#assign void = datasetJson.put("includedInDataCatalog", catalogRef) />
246<#assign creatorJson = jsonFactoryUtil.createJSONObject() />
247<#assign void = creatorJson.put("@type", "GovernmentOrganization") />
248<#assign void = creatorJson.put("name", "Statistics Centre - Abu Dhabi (SCAD)") />
249<#assign void = creatorJson.put("url", "https://www.scad.gov.ae") />
250<#assign void = datasetJson.put("creator", creatorJson) />
251<#assign void = datasetJson.put("publisher", creatorJson) />
252<#if publicationDistributions.length() gt 0>
253 <#assign void = datasetJson.put("distribution", publicationDistributions) />
254</#if>
255<script type="application/ld+json">
256${datasetJson.toString()}
257</script>
258
259<#break>
260
261
262</#list>
263</#if>
Non-oil Foreign Merchandise Trade Through the Ports of Abu Dhabi Emirate August 2023
Hotel Price Index September 2023
The following has evaluated to null or missing:
==> themeIconId [in template "20098#20124#1093349" at line 75, column 60]
----
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: ${themeIconId} [in template "20098#20124#1093349" at line 75, column 58]
----
1<#assign catLocalService=serviceLocator.findService("com.liferay.asset.kernel.service.AssetCategoryLocalService")
2 JournalArticleService=serviceLocator.findService("com.liferay.journal.service.JournalArticleResourceLocalService")
3 resourcePrimKey=JournalArticleService.getArticleResourcePrimKey(groupId, .vars['reserved-article-id'].data)
4 articleCatNames=catLocalService.getCategories("com.liferay.journal.model.JournalArticle", resourcePrimKey)
5 dlFileEntryService=serviceLocator.findService('com.liferay.document.library.kernel.service.DLFileEntryService')
6 assetVocabularyLocalService=serviceLocator.findService("com.liferay.asset.kernel.service.AssetVocabularyLocalService")
7 dlAppLocalServiceUtil=staticUtil["com.liferay.document.library.kernel.service.DLAppLocalServiceUtil"]
8 dlUtil=staticUtil["com.liferay.document.library.kernel.util.DLUtil"]
9 jsonFactoryUtil=staticUtil["com.liferay.portal.kernel.json.JSONFactoryUtil"]
10 statisticVocabulary=assetVocabularyLocalService.getGroupVocabulary(groupId?long,"statistics")
11 assetCategoryPropService=serviceLocator.findService("com.liferay.asset.category.property.service.AssetCategoryPropertyLocalService") />
12 <#assign JournalArticleLocalService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService")>
13
14<#assign journalArticleTitle=.vars['reserved-article-title'].data />
15
16<#assign journalArticlele = JournalArticleLocalService.getArticle(groupId, .vars["reserved-article-id"].data) />
17<#assign journalArticleDisplayDate = journalArticlele.getExpandoBridge().getAttribute("UiissueDate")!"" />
18<#if !journalArticleDisplayDate?has_content>
19 <#assign journalArticleDisplayDate = journalArticlele.getExpandoBridge().getAttribute("UIIssueDate")!"" />
20</#if>
21<#if !journalArticleDisplayDate?has_content>
22 <#assign journalArticleDisplayDate = journalArticlele.getExpandoBridge().getAttribute("Uiissuedate")!"" />
23</#if>
24<#assign publicationIsoDate = "" />
25<#if journalArticleDisplayDate?has_content>
26 <#attempt>
27 <#assign publicationIsoDate = journalArticleDisplayDate?string["yyyy-MM-dd"] />
28 <#recover>
29 <#assign publicationIsoDate = "" />
30 </#attempt>
31</#if>
32<#assign publicationPageUrl = themeDisplay.getPortalURL() + "/w/" + .vars['reserved-article-url-title'].data />
33<#assign publicationDistributions = jsonFactoryUtil.createJSONArray() />
34
35
36
37
38
39<#assign themeColor="d29c4b" imgUrl="${themeDisplay.getPathThemeImages()}/publications/005.jpg"
40 categoryDisplay="Economic" />
41<#if (articleCatNames?size > 0)>
42 <#list articleCatNames as category>
43 <#if category.parentCategoryId==0>
44 <#if category.getVocabularyId()==statisticVocabulary.getVocabularyId()>
45 <#assign assetThemeCategoryId=category.categoryId?long />
46 <#assign
47 themeColor=assetCategoryPropService.getCategoryProperty(assetThemeCategoryId,"theme_color").getValue()
48 themeIconId=assetCategoryPropService.getCategoryProperty(assetThemeCategoryId,"theme_icon_id").getValue()
49 themeImgId=assetCategoryPropService.getCategoryProperty(assetThemeCategoryId,"portfolio-image").getValue() />
50
51 <#if themeImgId!="0">
52 <#assign imgDlFile=dlAppLocalServiceUtil.getFileEntry(themeImgId?number)
53 imgUrl=dlUtil.getPreviewURL(imgDlFile, imgDlFile.getFileVersion(), themeDisplay, '' ) />
54 </#if>
55 <#list category.name?split(" ") as catWords>
56 <#assign categoryDisplay = catWords/>
57 <#break>
58 </#list>
59 <#assign categoryDisplay = category.titleCurrentValue/>
60 </#if>
61 </#if>
62 </#list>
63
64 </#if>
65
66
67<#if file_upload.getSiblings()?has_content>
68
69 <#list file_upload.getSiblings() as medias>
70
71 <div class=" row mb-3 mx-0 bg-white d-flex w-100 align-items-center h-100 border rounded">
72 <div class="col-lg-1 p-0 ">
73 <div class="icon d-flex text-center p-1" style="background: #eee">
74 <div class="align-self-center mx-auto d-flex flex-column">
75 <img src="/documents/d/guest/${themeIconId}" height="30">
76 <label class="small mx-auto mb-0" style="color: #${themeColor} ;">
77 ${categoryDisplay}
78 </label>
79 </div>
80 </div>
81 </div>
82
83 <div class="col-8">
84 <p class="mb-0 py-3 publication-p">${journalArticleTitle}</p>
85 </div>
86
87 <div class="col-3 d-flex align-items-center justify-content-end">
88
89 <div class="my-2 right-icons d-flex align-items-center ">
90 <#if file_upload.getSiblings()?has_content>
91 <#list file_upload.getSiblings() as media>
92 <#if media.getData()?has_content>
93 <#assign fileData = media.getData()?trim />
94 <#assign fileEntry = "" />
95 <#assign downloadUrl = "" />
96 <#assign fileExtension = "" />
97
98 <#-- Yearbook stores document_library as JSON; older content may use a /documents/... path -->
99 <#if fileData?starts_with("{")>
100 <#assign fileJson = jsonFactoryUtil.createJSONObject(fileData) />
101 <#assign fileEntryId = fileJson.getLong("fileEntryId") />
102 <#if fileEntryId gt 0>
103 <#assign fileEntry = dlAppLocalServiceUtil.getFileEntry(fileEntryId) />
104 <#elseif fileJson.getString("uuid")?has_content>
105 <#assign fileGroupId = fileJson.getLong("groupId") />
106 <#if fileGroupId lte 0>
107 <#assign fileGroupId = groupId />
108 </#if>
109 <#assign fileEntry = dlAppLocalServiceUtil.getFileEntryByUuidAndGroupId(fileJson.getString("uuid"), fileGroupId) />
110 </#if>
111 <#else>
112 <#assign uuid = "" />
113 <#list fileData?split("/") as mediaDataSplit>
114 <#assign segment = mediaDataSplit?split("?")[0] />
115 <#if segment?matches("[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}")>
116 <#assign uuid = segment />
117 </#if>
118 </#list>
119 <#if uuid?has_content>
120 <#assign fileEntry = dlAppLocalServiceUtil.getFileEntryByUuidAndGroupId(uuid, groupId) />
121 </#if>
122 </#if>
123
124 <#if fileEntry?has_content>
125 <#assign downloadUrl = dlUtil.getPreviewURL(fileEntry, fileEntry.getFileVersion(), themeDisplay, "&download=true", false, true) />
126 <#assign fileExtension = fileEntry.getExtension()!"" />
127 <#if !fileExtension?has_content>
128 <#list fileEntry.getFileName()?split(".") as extention>
129 <#if extention?is_last>
130 <#assign fileExtension = extention />
131 <#break>
132 </#if>
133 </#list>
134 </#if>
135 <#elseif fileData?contains("/documents/")>
136 <#assign downloadUrl = fileData />
137 <#if !downloadUrl?contains("download=true")>
138 <#if downloadUrl?contains("?")>
139 <#assign downloadUrl = downloadUrl + "&download=true" />
140 <#else>
141 <#assign downloadUrl = downloadUrl + "?download=true" />
142 </#if>
143 </#if>
144 <#list fileData?split("?")[0]?split("/") as pathPart>
145 <#if pathPart?contains(".")>
146 <#list pathPart?split(".") as extention>
147 <#if extention?is_last>
148 <#assign fileExtension = extention />
149 </#if>
150 </#list>
151 </#if>
152 </#list>
153 </#if>
154
155 <#if downloadUrl?has_content>
156 <#assign encodingFormat = "application/octet-stream" />
157 <#if fileExtension?lower_case == "pdf">
158 <#assign encodingFormat = "application/pdf" />
159 <#elseif fileExtension?lower_case == "xls">
160 <#assign encodingFormat = "application/vnd.ms-excel" />
161 <#elseif fileExtension?lower_case == "xlsx">
162 <#assign encodingFormat = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" />
163 </#if>
164 <#assign distributionJson = jsonFactoryUtil.createJSONObject() />
165 <#assign void = distributionJson.put("@type", "DataDownload") />
166 <#assign void = distributionJson.put("contentUrl", downloadUrl) />
167 <#assign void = distributionJson.put("encodingFormat", encodingFormat) />
168 <#if fileExtension?has_content>
169 <#assign void = distributionJson.put("name", journalArticleTitle + " (" + fileExtension?upper_case + ")") />
170 </#if>
171 <#assign void = publicationDistributions.put(distributionJson) />
172
173 <#if fileExtension == "pdf" || fileExtension == "PDF">
174 <a class="ml-2" href="${downloadUrl}" target="_blank" style="order:1" aria-label="Download PDF">
175 <li class="list-item list-inline-item d-flex">
176 <img src=${themeDisplay.getPathThemeImages()}/publications/pdf-svgrepo-com.svg
177 class="d-flex mx-auto align-self-center" />
178 </li>
179 </a>
180 <#elseif fileExtension == "xls" || fileExtension == "XLS" ||
181 fileExtension == "xlsx" || fileExtension == "XLSX">
182 <a class="ml-2" href="${downloadUrl}" target="_blank" style="order:2" aria-label="Download Excel">
183 <li class="list-item list-inline-item d-flex">
184 <img src=${themeDisplay.getPathThemeImages()}/publications/excel-svgrepo-com.svg
185 class="d-flex mx-auto align-self-center" />
186 </li>
187 </a>
188 <#else>
189 <a class="ml-2" href="${downloadUrl}" target="_blank" style="order:3" aria-label="Download file">
190 <li class="list-item list-inline-item d-flex">
191 <i class="icon-file" style="font-size:27px"></i>
192 </li>
193 </a>
194 </#if>
195 </#if>
196 </#if>
197 </#list>
198 </#if>
199 </div>
200 </div>
201 </div>
202
203<#-- Schema.org Dataset JSON-LD (list view only — avoids duplicate grid+list scripts) -->
204<#assign datasetJson = jsonFactoryUtil.createJSONObject() />
205<#assign void = datasetJson.put("@context", "https://schema.org") />
206<#assign void = datasetJson.put("@type", "Dataset") />
207<#assign void = datasetJson.put("@id", publicationPageUrl + "#dataset") />
208<#assign void = datasetJson.put("name", journalArticleTitle) />
209<#assign void = datasetJson.put("url", publicationPageUrl) />
210<#assign publicationDescription = journalArticleTitle />
211<#if categoryDisplay?has_content>
212 <#assign publicationDescription = publicationDescription + " — " + categoryDisplay + " publication from Statistics Centre - Abu Dhabi (SCAD)." />
213<#else>
214 <#assign publicationDescription = publicationDescription + " — Statistical publication from Statistics Centre - Abu Dhabi (SCAD)." />
215</#if>
216<#if publicationIsoDate?has_content>
217 <#assign publicationDescription = publicationDescription + " Published on " + publicationIsoDate + "." />
218</#if>
219<#if publicationDistributions.length() gt 0>
220 <#assign publicationDescription = publicationDescription + " Downloadable PDF or Excel data file available." />
221</#if>
222<#if publicationDescription?length lt 50>
223 <#assign publicationDescription = publicationDescription + " Official SCAD statistical data is freely available to the public on the SCAD Download Publications catalog." />
224</#if>
225<#assign void = datasetJson.put("description", publicationDescription) />
226<#assign topicKeywords = categoryDisplay!"" />
227<#if topicKeywords?has_content>
228 <#assign void = datasetJson.put("keywords", topicKeywords) />
229 <#assign aboutThing = jsonFactoryUtil.createJSONObject() />
230 <#assign void = aboutThing.put("@type", "Thing") />
231 <#assign void = aboutThing.put("name", topicKeywords) />
232 <#assign void = datasetJson.put("about", aboutThing) />
233</#if>
234<#if publicationIsoDate?has_content>
235 <#assign void = datasetJson.put("datePublished", publicationIsoDate) />
236 <#assign void = datasetJson.put("dateModified", publicationIsoDate) />
237</#if>
238<#assign void = datasetJson.put("inLanguage", (themeDisplay.getLanguageId()?starts_with("ar"))?then("ar", "en")) />
239<#assign void = datasetJson.put("isAccessibleForFree", true) />
240<#assign void = datasetJson.put("license", "https://www.scad.gov.ae") />
241<#assign catalogRef = jsonFactoryUtil.createJSONObject() />
242<#assign void = catalogRef.put("@type", "DataCatalog") />
243<#assign void = catalogRef.put("name", "Download Publications") />
244<#assign void = catalogRef.put("url", themeDisplay.getPortalURL() + "/download-publications") />
245<#assign void = datasetJson.put("includedInDataCatalog", catalogRef) />
246<#assign creatorJson = jsonFactoryUtil.createJSONObject() />
247<#assign void = creatorJson.put("@type", "GovernmentOrganization") />
248<#assign void = creatorJson.put("name", "Statistics Centre - Abu Dhabi (SCAD)") />
249<#assign void = creatorJson.put("url", "https://www.scad.gov.ae") />
250<#assign void = datasetJson.put("creator", creatorJson) />
251<#assign void = datasetJson.put("publisher", creatorJson) />
252<#if publicationDistributions.length() gt 0>
253 <#assign void = datasetJson.put("distribution", publicationDistributions) />
254</#if>
255<script type="application/ld+json">
256${datasetJson.toString()}
257</script>
258
259<#break>
260
261
262</#list>
263</#if>
Air Quality Statistics First Quarter 2023
Building Materials Price Statistics First Quarter 2023
Air Quality Statistics Second Quarter 2023
Statistics of Exporters and Importers Registry Second Quarter 2023
Climate Statistics October 2023
The following has evaluated to null or missing:
==> themeIconId [in template "20098#20124#1093349" at line 75, column 60]
----
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: ${themeIconId} [in template "20098#20124#1093349" at line 75, column 58]
----
1<#assign catLocalService=serviceLocator.findService("com.liferay.asset.kernel.service.AssetCategoryLocalService")
2 JournalArticleService=serviceLocator.findService("com.liferay.journal.service.JournalArticleResourceLocalService")
3 resourcePrimKey=JournalArticleService.getArticleResourcePrimKey(groupId, .vars['reserved-article-id'].data)
4 articleCatNames=catLocalService.getCategories("com.liferay.journal.model.JournalArticle", resourcePrimKey)
5 dlFileEntryService=serviceLocator.findService('com.liferay.document.library.kernel.service.DLFileEntryService')
6 assetVocabularyLocalService=serviceLocator.findService("com.liferay.asset.kernel.service.AssetVocabularyLocalService")
7 dlAppLocalServiceUtil=staticUtil["com.liferay.document.library.kernel.service.DLAppLocalServiceUtil"]
8 dlUtil=staticUtil["com.liferay.document.library.kernel.util.DLUtil"]
9 jsonFactoryUtil=staticUtil["com.liferay.portal.kernel.json.JSONFactoryUtil"]
10 statisticVocabulary=assetVocabularyLocalService.getGroupVocabulary(groupId?long,"statistics")
11 assetCategoryPropService=serviceLocator.findService("com.liferay.asset.category.property.service.AssetCategoryPropertyLocalService") />
12 <#assign JournalArticleLocalService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService")>
13
14<#assign journalArticleTitle=.vars['reserved-article-title'].data />
15
16<#assign journalArticlele = JournalArticleLocalService.getArticle(groupId, .vars["reserved-article-id"].data) />
17<#assign journalArticleDisplayDate = journalArticlele.getExpandoBridge().getAttribute("UiissueDate")!"" />
18<#if !journalArticleDisplayDate?has_content>
19 <#assign journalArticleDisplayDate = journalArticlele.getExpandoBridge().getAttribute("UIIssueDate")!"" />
20</#if>
21<#if !journalArticleDisplayDate?has_content>
22 <#assign journalArticleDisplayDate = journalArticlele.getExpandoBridge().getAttribute("Uiissuedate")!"" />
23</#if>
24<#assign publicationIsoDate = "" />
25<#if journalArticleDisplayDate?has_content>
26 <#attempt>
27 <#assign publicationIsoDate = journalArticleDisplayDate?string["yyyy-MM-dd"] />
28 <#recover>
29 <#assign publicationIsoDate = "" />
30 </#attempt>
31</#if>
32<#assign publicationPageUrl = themeDisplay.getPortalURL() + "/w/" + .vars['reserved-article-url-title'].data />
33<#assign publicationDistributions = jsonFactoryUtil.createJSONArray() />
34
35
36
37
38
39<#assign themeColor="d29c4b" imgUrl="${themeDisplay.getPathThemeImages()}/publications/005.jpg"
40 categoryDisplay="Economic" />
41<#if (articleCatNames?size > 0)>
42 <#list articleCatNames as category>
43 <#if category.parentCategoryId==0>
44 <#if category.getVocabularyId()==statisticVocabulary.getVocabularyId()>
45 <#assign assetThemeCategoryId=category.categoryId?long />
46 <#assign
47 themeColor=assetCategoryPropService.getCategoryProperty(assetThemeCategoryId,"theme_color").getValue()
48 themeIconId=assetCategoryPropService.getCategoryProperty(assetThemeCategoryId,"theme_icon_id").getValue()
49 themeImgId=assetCategoryPropService.getCategoryProperty(assetThemeCategoryId,"portfolio-image").getValue() />
50
51 <#if themeImgId!="0">
52 <#assign imgDlFile=dlAppLocalServiceUtil.getFileEntry(themeImgId?number)
53 imgUrl=dlUtil.getPreviewURL(imgDlFile, imgDlFile.getFileVersion(), themeDisplay, '' ) />
54 </#if>
55 <#list category.name?split(" ") as catWords>
56 <#assign categoryDisplay = catWords/>
57 <#break>
58 </#list>
59 <#assign categoryDisplay = category.titleCurrentValue/>
60 </#if>
61 </#if>
62 </#list>
63
64 </#if>
65
66
67<#if file_upload.getSiblings()?has_content>
68
69 <#list file_upload.getSiblings() as medias>
70
71 <div class=" row mb-3 mx-0 bg-white d-flex w-100 align-items-center h-100 border rounded">
72 <div class="col-lg-1 p-0 ">
73 <div class="icon d-flex text-center p-1" style="background: #eee">
74 <div class="align-self-center mx-auto d-flex flex-column">
75 <img src="/documents/d/guest/${themeIconId}" height="30">
76 <label class="small mx-auto mb-0" style="color: #${themeColor} ;">
77 ${categoryDisplay}
78 </label>
79 </div>
80 </div>
81 </div>
82
83 <div class="col-8">
84 <p class="mb-0 py-3 publication-p">${journalArticleTitle}</p>
85 </div>
86
87 <div class="col-3 d-flex align-items-center justify-content-end">
88
89 <div class="my-2 right-icons d-flex align-items-center ">
90 <#if file_upload.getSiblings()?has_content>
91 <#list file_upload.getSiblings() as media>
92 <#if media.getData()?has_content>
93 <#assign fileData = media.getData()?trim />
94 <#assign fileEntry = "" />
95 <#assign downloadUrl = "" />
96 <#assign fileExtension = "" />
97
98 <#-- Yearbook stores document_library as JSON; older content may use a /documents/... path -->
99 <#if fileData?starts_with("{")>
100 <#assign fileJson = jsonFactoryUtil.createJSONObject(fileData) />
101 <#assign fileEntryId = fileJson.getLong("fileEntryId") />
102 <#if fileEntryId gt 0>
103 <#assign fileEntry = dlAppLocalServiceUtil.getFileEntry(fileEntryId) />
104 <#elseif fileJson.getString("uuid")?has_content>
105 <#assign fileGroupId = fileJson.getLong("groupId") />
106 <#if fileGroupId lte 0>
107 <#assign fileGroupId = groupId />
108 </#if>
109 <#assign fileEntry = dlAppLocalServiceUtil.getFileEntryByUuidAndGroupId(fileJson.getString("uuid"), fileGroupId) />
110 </#if>
111 <#else>
112 <#assign uuid = "" />
113 <#list fileData?split("/") as mediaDataSplit>
114 <#assign segment = mediaDataSplit?split("?")[0] />
115 <#if segment?matches("[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}")>
116 <#assign uuid = segment />
117 </#if>
118 </#list>
119 <#if uuid?has_content>
120 <#assign fileEntry = dlAppLocalServiceUtil.getFileEntryByUuidAndGroupId(uuid, groupId) />
121 </#if>
122 </#if>
123
124 <#if fileEntry?has_content>
125 <#assign downloadUrl = dlUtil.getPreviewURL(fileEntry, fileEntry.getFileVersion(), themeDisplay, "&download=true", false, true) />
126 <#assign fileExtension = fileEntry.getExtension()!"" />
127 <#if !fileExtension?has_content>
128 <#list fileEntry.getFileName()?split(".") as extention>
129 <#if extention?is_last>
130 <#assign fileExtension = extention />
131 <#break>
132 </#if>
133 </#list>
134 </#if>
135 <#elseif fileData?contains("/documents/")>
136 <#assign downloadUrl = fileData />
137 <#if !downloadUrl?contains("download=true")>
138 <#if downloadUrl?contains("?")>
139 <#assign downloadUrl = downloadUrl + "&download=true" />
140 <#else>
141 <#assign downloadUrl = downloadUrl + "?download=true" />
142 </#if>
143 </#if>
144 <#list fileData?split("?")[0]?split("/") as pathPart>
145 <#if pathPart?contains(".")>
146 <#list pathPart?split(".") as extention>
147 <#if extention?is_last>
148 <#assign fileExtension = extention />
149 </#if>
150 </#list>
151 </#if>
152 </#list>
153 </#if>
154
155 <#if downloadUrl?has_content>
156 <#assign encodingFormat = "application/octet-stream" />
157 <#if fileExtension?lower_case == "pdf">
158 <#assign encodingFormat = "application/pdf" />
159 <#elseif fileExtension?lower_case == "xls">
160 <#assign encodingFormat = "application/vnd.ms-excel" />
161 <#elseif fileExtension?lower_case == "xlsx">
162 <#assign encodingFormat = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" />
163 </#if>
164 <#assign distributionJson = jsonFactoryUtil.createJSONObject() />
165 <#assign void = distributionJson.put("@type", "DataDownload") />
166 <#assign void = distributionJson.put("contentUrl", downloadUrl) />
167 <#assign void = distributionJson.put("encodingFormat", encodingFormat) />
168 <#if fileExtension?has_content>
169 <#assign void = distributionJson.put("name", journalArticleTitle + " (" + fileExtension?upper_case + ")") />
170 </#if>
171 <#assign void = publicationDistributions.put(distributionJson) />
172
173 <#if fileExtension == "pdf" || fileExtension == "PDF">
174 <a class="ml-2" href="${downloadUrl}" target="_blank" style="order:1" aria-label="Download PDF">
175 <li class="list-item list-inline-item d-flex">
176 <img src=${themeDisplay.getPathThemeImages()}/publications/pdf-svgrepo-com.svg
177 class="d-flex mx-auto align-self-center" />
178 </li>
179 </a>
180 <#elseif fileExtension == "xls" || fileExtension == "XLS" ||
181 fileExtension == "xlsx" || fileExtension == "XLSX">
182 <a class="ml-2" href="${downloadUrl}" target="_blank" style="order:2" aria-label="Download Excel">
183 <li class="list-item list-inline-item d-flex">
184 <img src=${themeDisplay.getPathThemeImages()}/publications/excel-svgrepo-com.svg
185 class="d-flex mx-auto align-self-center" />
186 </li>
187 </a>
188 <#else>
189 <a class="ml-2" href="${downloadUrl}" target="_blank" style="order:3" aria-label="Download file">
190 <li class="list-item list-inline-item d-flex">
191 <i class="icon-file" style="font-size:27px"></i>
192 </li>
193 </a>
194 </#if>
195 </#if>
196 </#if>
197 </#list>
198 </#if>
199 </div>
200 </div>
201 </div>
202
203<#-- Schema.org Dataset JSON-LD (list view only — avoids duplicate grid+list scripts) -->
204<#assign datasetJson = jsonFactoryUtil.createJSONObject() />
205<#assign void = datasetJson.put("@context", "https://schema.org") />
206<#assign void = datasetJson.put("@type", "Dataset") />
207<#assign void = datasetJson.put("@id", publicationPageUrl + "#dataset") />
208<#assign void = datasetJson.put("name", journalArticleTitle) />
209<#assign void = datasetJson.put("url", publicationPageUrl) />
210<#assign publicationDescription = journalArticleTitle />
211<#if categoryDisplay?has_content>
212 <#assign publicationDescription = publicationDescription + " — " + categoryDisplay + " publication from Statistics Centre - Abu Dhabi (SCAD)." />
213<#else>
214 <#assign publicationDescription = publicationDescription + " — Statistical publication from Statistics Centre - Abu Dhabi (SCAD)." />
215</#if>
216<#if publicationIsoDate?has_content>
217 <#assign publicationDescription = publicationDescription + " Published on " + publicationIsoDate + "." />
218</#if>
219<#if publicationDistributions.length() gt 0>
220 <#assign publicationDescription = publicationDescription + " Downloadable PDF or Excel data file available." />
221</#if>
222<#if publicationDescription?length lt 50>
223 <#assign publicationDescription = publicationDescription + " Official SCAD statistical data is freely available to the public on the SCAD Download Publications catalog." />
224</#if>
225<#assign void = datasetJson.put("description", publicationDescription) />
226<#assign topicKeywords = categoryDisplay!"" />
227<#if topicKeywords?has_content>
228 <#assign void = datasetJson.put("keywords", topicKeywords) />
229 <#assign aboutThing = jsonFactoryUtil.createJSONObject() />
230 <#assign void = aboutThing.put("@type", "Thing") />
231 <#assign void = aboutThing.put("name", topicKeywords) />
232 <#assign void = datasetJson.put("about", aboutThing) />
233</#if>
234<#if publicationIsoDate?has_content>
235 <#assign void = datasetJson.put("datePublished", publicationIsoDate) />
236 <#assign void = datasetJson.put("dateModified", publicationIsoDate) />
237</#if>
238<#assign void = datasetJson.put("inLanguage", (themeDisplay.getLanguageId()?starts_with("ar"))?then("ar", "en")) />
239<#assign void = datasetJson.put("isAccessibleForFree", true) />
240<#assign void = datasetJson.put("license", "https://www.scad.gov.ae") />
241<#assign catalogRef = jsonFactoryUtil.createJSONObject() />
242<#assign void = catalogRef.put("@type", "DataCatalog") />
243<#assign void = catalogRef.put("name", "Download Publications") />
244<#assign void = catalogRef.put("url", themeDisplay.getPortalURL() + "/download-publications") />
245<#assign void = datasetJson.put("includedInDataCatalog", catalogRef) />
246<#assign creatorJson = jsonFactoryUtil.createJSONObject() />
247<#assign void = creatorJson.put("@type", "GovernmentOrganization") />
248<#assign void = creatorJson.put("name", "Statistics Centre - Abu Dhabi (SCAD)") />
249<#assign void = creatorJson.put("url", "https://www.scad.gov.ae") />
250<#assign void = datasetJson.put("creator", creatorJson) />
251<#assign void = datasetJson.put("publisher", creatorJson) />
252<#if publicationDistributions.length() gt 0>
253 <#assign void = datasetJson.put("distribution", publicationDistributions) />
254</#if>
255<script type="application/ld+json">
256${datasetJson.toString()}
257</script>
258
259<#break>
260
261
262</#list>
263</#if>
Hotel Price Index October 2023
Climate Statistics September 2023
Gross Domestic Product Third Quarter 2023
Climate Statistics August 2023
Climate Statistics July 2023
Climate Statistics June 2023
Climate Statistics May 2023
Climate Statistics March 2023
National Accounts 2022
Foreign Investment Statistics 2022
Hotel Price Index December 2022
Establishments Statistics in Abu Dhabi Emirates 2022
Hotel Price Index November 2022
Hotel Price Index October 2022
Hotel Price Index September 2022
Hotel Price Index August 2022
Hotel Price Index July 2022
Hotel Price Index June 2022
Hotel Price Index May 2022
Hotel Price Index April 2022
Hotel Price Index Feburary 2022
Hotel Price Index January 2022
Establishments Statistics in Abu Dhabi Emirates 2021
Did you find this content useful?
Share your feedback with us so we can improve your experience.