An error occurred while processing the template.
Method public static com.liferay.portlet.documentlibrary.model.DLFileEntry com.liferay.portlet.documentlibrary.service.DLFileEntryLocalServiceUtil.getFileEntryByUuidAndGroupId(java.lang.String,long) throws com.liferay.portal.kernel.exception.PortalException,com.liferay.portal.kernel.exception.SystemException threw an exception
1<#-- itemCounter, menuItemCounter and menuCounter are used for the repeatable feature of the drop down menu --> 
2<#-- itemCounter keeps track of the total number of drop down items --> 
3<#assign itemCounter = 0> 
4<#-- menuItemCounter keeps track of the number of drop down items for each menu --> 
5<#assign menuItemCounter = 0> 
6<#-- menuCounter keeps track of the number of drop down menus --> 
7<#assign menuCounter = 0> 
8<#-- downloadList is used to store all the download items for sorting --> 
9<#assign downloadList = []> 
10 
11<div class="page-bg-img"> 
12    	<img src="${Background_Image.getData()}"> 
13    </div> 
14     
15    <!-- Begin page content --> 
16    <div class="mainContent overlap"> 
17    	 
18        <div class="container"> 
19         
20        	<div role="tabpanel" class="landing-page-content persist-area"> 
21                <div class="persist-header"> 
22                    <div class="container"> 
23                        <ul class="nav nav-tabs nav-justified" role="tablist"> 
24                            <li role="presentation" class="active"> 
25                                <a href="#overview" aria-controls="overview" role="tab" data-toggle="tab"> 
26                                	<span>${Overview.Overview_Tab_Heading.getData()}</span> 
27                                </a> 
28                            </li> 
29                            <li role="presentation"> 
30                            	<a href="#downloads" aria-controls="downloads" role="tab" data-toggle="tab"> 
31                                	<span>${Resources.Resources_Tab_Heading.getData()}</span> 
32                                </a> 
33                            </li> 
34                        </ul> 
35                    </div> 
36                </div> 
37                 
38                     
39                <div class="tab-content"> 
40                    <div role="tabpanel" class="tab-pane active" id="overview"> 
41                    	<h1>${Overview.Overview_Title.getData()} </h1> 
42                    	<#if Overview.Overview_Sub_Title.getData()?has_content> 
43                            <h4><strong>${Overview.Overview_Sub_Title.getData()}</strong></h4> 
44						</#if> 
45						<#-- Start of repeatable content box --> 
46						<#if Overview.Overview_Content_Box.Overview_Content_Box_Header.getData()?has_content || Overview.Overview_Content_Box.Overview_Content_Box_Content.getData()?has_content> 
47							<#if Overview.Overview_Content_Box.getSiblings()?has_content> 
48								<#list Overview.Overview_Content_Box.getSiblings() as cur_Content> 
49										<#if cur_Content.Overview_Content_Box_Header.getData()?has_content> 
50											<h4><strong>${cur_Content.Overview_Content_Box_Header.getData()}</strong></h4> 
51										</#if> 
52										${cur_Content.Overview_Content_Box_Content.getData()} 
53										<div align="center">${cur_Content.Overview_Content_Box_Image.getData()}</div> 
54								</#list> 
55							</#if> 
56						</#if> 
57						<#-- End of repeatable content box --> 
58						<br> 
59						 
60						<#-- Start of repeatable drop down menu --> 
61						<#if Overview.Overview_Drop_Down_Menu.getSiblings()?has_content>  
62							<#list Overview.Overview_Drop_Down_Menu.getSiblings() as cur_Menu> 
63								<#-- Start of repeatable drop down item--> 
64								<#-- Check the drop down menu title has data to ensure that the very first drop down menu has content, else ignore --> 
65								<#if cur_Menu.Overview_Drop_Down_Menu_Title.getData()?has_content> 
66									<div class="content-accordion"> 
67										<h4 class="accordion-title-heading">${cur_Menu.Overview_Drop_Down_Menu_Title.getData()}</h4> 
68										<div class="panel-group" id="it-services${menuCounter}" role="tablist" aria-multiselectable="true"> 
69											<#if cur_Menu.Overview_Drop_Down_Menu_Drop_Down_Item.getSiblings()?has_content> 
70												<#list cur_Menu.Overview_Drop_Down_Menu_Drop_Down_Item.getSiblings() as cur_Item> 
71													<#-- if itemCounter = 0, it is the first drop down item so expand the item on default--> 
72													<#if itemCounter == 0 || menuItemCounter == 0>	 
73														<div class="panel panel-default"> 
74															<div class="panel-heading" role="tab" id="heading${itemCounter}"> 
75																<h4 class="panel-title"> 
76																	<a data-toggle="collapse" data-parent="#it-services${menuCounter}" href="#collapse${itemCounter}" aria-expanded="true" aria-controls="collapse${itemCounter}"> 
77																		<span></span> 
78																		${cur_Item.Overview_Drop_Down_Menu_Drop_Down_Item_Header.getData()} 
79																	</a> 
80																</h4> 
81															</div> 
82															<div id="collapse${itemCounter}" class="panel-collapse collapse in" role="tabpanel" aria-labelledby="heading${itemCounter}"> 
83																<div class="panel-body"> 
84																	${cur_Item.Overview_Drop_Down_Menu_Drop_Down_Item_Content.getData()} 
85																	<#if cur_Item.Overview_Drop_Down_Menu_Drop_Down_Item_Image.getData()?has_content> 
86																		<div align="center"><img src="${cur_Item.Overview_Drop_Down_Menu_Drop_Down_Item_Image.getData()}"/></div> 
87																	</#if> 
88																	<#if cur_Item.Overview_Drop_Down_Menu_Drop_Down_Item_Read_More_Link.getData()?has_content> 
89																		<a href="${cur_Item.Overview_Drop_Down_Menu_Drop_Down_Item_Read_More_Link.getData()}" target="_Blank"> Read more... </a> 
90																	</#if> 
91																</div> 
92															</div> 
93														</div> 
94													<#-- else if itemCounter > 1 or menuItemCounter > 1, collapse the drop down item on default --> 
95													<#else> 
96														<div class="panel panel-default"> 
97															<div class="panel-heading" role="tab" id="heading${itemCounter}"> 
98																<h4 class="panel-title"> 
99																	<a class="collapsed" data-toggle="collapse" data-parent="#it-services${menuCounter}" href="#collapse${itemCounter}" aria-expanded="false" aria-controls="collapse${itemCounter}"> 
100																		<span></span> 
101																		${cur_Item.Overview_Drop_Down_Menu_Drop_Down_Item_Header.getData()} 
102																	</a> 
103																</h4> 
104															</div> 
105															<div id="collapse${itemCounter}" class="panel-collapse collapse" role="tabpanel" aria-labelledby="heading${itemCounter}"> 
106																<div class="panel-body"> 
107																	${cur_Item.Overview_Drop_Down_Menu_Drop_Down_Item_Content.getData()} 
108																	<#if cur_Item.Overview_Drop_Down_Menu_Drop_Down_Item_Image.getData()?has_content> 
109																		<div align="center"><img src="${cur_Item.Overview_Drop_Down_Menu_Drop_Down_Item_Image.getData()}"/></div> 
110																	</#if> 
111																	<#if cur_Item.Overview_Drop_Down_Menu_Drop_Down_Item_Read_More_Link.getData()?has_content> 
112																		<a href="${cur_Item.Overview_Drop_Down_Menu_Drop_Down_Item_Read_More_Link.getData()}" target="_Blank"> Read more... </a> 
113																	</#if> 
114																</div> 
115															</div> 
116														</div> 
117													</#if> 
118													<#-- increment itemCounter for every drop down item --> 
119													<#assign itemCounter = itemCounter + 1> 
120													<#-- increment menuItemCounter for every drop down item (for checking of the second drop down menu onwards) --> 
121													<#assign menuItemCounter = menuItemCounter + 1> 
122												</#list> 
123											</#if> 
124										</div> 
125									</div> 
126								</#if> 
127								<#-- End of repeatable drop down item --> 
128								<#-- reset menuItemCounter for each menu --> 
129								<#assign menuItemCounter = 0> 
130								<#-- increment menuCounter for each menu. This is to ensure a different number is assigned for every menu --> 
131								<#assign menuCounter = menuCounter + 1> 
132							</#list> 
133						</#if> 
134						<#-- End of repeatable drop down menu --> 
135						 
136						<#-- Start of repeatable additional content --> 
137						<#if Overview.Overview_Additional_Content.Overview_Additional_Content_Header.getData()?has_content || Overview.Overview_Additional_Content.Overview_Additional_Content_Content.getData()?has_content> 
138							<#if Overview.Overview_Additional_Content.getSiblings()?has_content> 
139								<#list Overview.Overview_Additional_Content.getSiblings() as cur_Content> 
140										<#if cur_Content.Overview_Additional_Content_Header.getData()?has_content> 
141											<h4><strong>${cur_Content.Overview_Additional_Content_Header.getData()}</strong></h4> 
142											 
143										</#if> 
144										${cur_Content.Overview_Additional_Content_Content.getData()} 
145										<div align="center">${cur_Content.Overview_Additional_Content_Image.getData()}</div> 
146								</#list> 
147							</#if> 
148						</#if> 
149						<#-- End of repeatable additional content--> 
150                    </div> 
151					 
152                    <div role="tabpanel" class="tab-pane" id="downloads"> 
153                    	<h1>${Resources.Resources_Title.getData()}</h1> 
154                        <h4><strong>${Resources.Resources_Sub_Title.getData()}</strong></h4> 
155                        <br> 
156						 
157						<#-- Check if first download item has a file name, if not, means no download items and do not show any downloads--> 
158						<#if Resources.Resources_Download_Item.Resources_Download_Item_File_Name.getData()?has_content> 
159							<#-- Start of repeatable downloads --> 
160								<#if Resources.Resources_Download_Item.getSiblings()?has_content> 
161									<#list Resources.Resources_Download_Item.getSiblings() as cur_Download> 
162										<#-- Add all download items to a list by their file name and the respective file --> 
163										<#assign downloadList = downloadList + [{"fileName":cur_Download.Resources_Download_Item_File_Name.getData(),"file":cur_Download.Resources_Download_Item_File.getData()}]> 
164									</#list> 
165								</#if> 
166							<#-- End of repeatable downloads --> 
167						</#if> 
168 
169						<#if downloadList?has_content> 
170							<#-- Sort the list of download items by their file name, and display accordingly --> 
171							<#list downloadList?sort_by("fileName") as downloadItem> 
172							<#if downloadItem.file?has_content> 
173								<div class="download-holder"> 
174									<div class="download-row"> 
175										<div class="download-img"> 
176											<a href="${downloadItem.file}" target="_blank"> 
177												<i></i> 
178											</a> 
179										</div> 
180										<div class="download-info"> 
181											<#-- Logic to extract file data --> 
182											<#assign fileData = "${downloadItem.file}"?split("/")> 
183											<#assign groupId = "${fileData[2]}"?number> 
184											<#assign uuId = "${fileData[5]}"> 
185											<#assign fileEntry = staticUtil["com.liferay.portlet.documentlibrary.service.DLFileEntryLocalServiceUtil"]> 
186											<#assign file = fileEntry.getFileEntryByUuidAndGroupId(uuId,groupId) > 
187											<#assign fileTitle = file.getTitle()> 
188											<#assign fileSize = file.getSize()> 
189											<#assign fileExtension = file.getExtension()> 
190											<#assign fileCreateDate = file.getCreateDate()?string("dd MMM yyyy")> 
191											<#assign fileModifiedDate = file.getModifiedDate()?string("dd MMM yyyy")> 
192 
193											<h4><a href="${downloadItem.file}" target="_blank">${downloadItem.fileName}</a></h4> 
194											<p><small> 
195											<#-- File extension logic to determine if file is PDF, EXCEL, WORD, PPT OR ZIP--> 
196											<#if fileExtension == "pdf"> 
197											<span class="file-type file-pdf">PDF</span>  
198											<#elseif fileExtension == "xls" || fileExtension == "xlsx"> 
199											<span class="file-type file-excel">EXCEL</span>  
200											<#elseif fileExtension == "doc" || fileExtension == "docx"> 
201											<span class="file-type file-word">WORD</span>  
202											<#elseif fileExtension == "ppt" || fileExtension == "pptx"> 
203											<span class="file-type file-powerpoint">PPT</span>  
204											<#elseif fileExtension == "zip"> 
205											<span class="file-type file-zip">ZIP</span>  
206											<#else> 
207											<span class="file-type file-pdf">"${fileExtension}"?upper_case</span>  
208											</#if> 
209											<#-- if fileSize(in bytes) >= 1MB, display as MB, else display as KB --> 
210											<#if fileSize gte 1048576> 
211												<#assign fileSize = fileSize/1048576> 
212												| <span>${fileSize?string["0.##"]} MB</span>  
213											<#else> 
214												<#assign fileSize = fileSize/1024> 
215												| <span>${fileSize?string["0.##"]} KB</span>  
216											</#if> 
217											| <span>${fileModifiedDate}</span> 
218											</small></p> 
219								 
220										</div> 
221									</div> 
222								</div> 
223							</#if> 
224							</#list> 
225						</#if> 
226                    </div> 
227                </div> 
228            </div> 
229             
230        </div> 
231        <a href="#0" class="cd-top">Top</a> 
232         
233    </div>