There was a problem with a Velocity script
Pagecamps-list
ErrorInvocation of method 'getLabels' in class com.prestosports.render.camp.CampEngine threw exception javax.servlet.ServletException: Error getting Camp labels at camps-list[line 61, column 24]
Page source:
1: $website.addCss("/info/camp-styles.css")
2: 
3: <!-- DataTables CSS -->
4: <link rel="stylesheet" type="text/css" href="/info/dataTables/css/jquery.dataTables.css">
5: 
6: <script type="text/javascript" charset="utf8" src="/info/jquery-2.1.1.js"></script>
7: 
8: <!-- DataTables -->
9: <script type="text/javascript" charset="utf8" src="/info/dataTables/js/jquery.dataTables.js"></script>
10: 
11: <script>
12: function format(id, desc, full) {
13: 	if (full) {
14: 		return '<div class="camps-list-description">' + desc + '<br/><b>Registration Full</b>';
15: 	} else {
16: 	    return '<div class="camps-list-description">' + desc + '<br/><b><a href="/camps/camps-registration?id='+id+'">Register now!</a></b>';
17: 	}
18: }
19: 
20: var jq211 = $.noConflict(true); // release $ to the jquery version included in the head
21: 
22: (function($) {
23:     // initialize datatable plugin here 
24:     $(document).ready( function () {
25:         var theTable = $('#camps-table').DataTable({
26:             paging: false,
27:             searching: false,
28:             info: false
29:         });
30:         // Add event listener for opening and closing details
31:         $('#camps-table tbody').on('click', 'td.details-control', function () {
32:             var tr = $(this).closest('tr');
33:             var row = theTable.row(tr);
34:             if (row.child.isShown()) {
35:                 // This row is already open - close it
36:                 row.child.hide();
37:                 tr.removeClass('shown');
38:             } else {
39:                 // Open this row
40:                 row.child(format(tr.data('camp-id'),tr.data('camp-description'),tr.data('camp-full'))).show();
41:                 tr.addClass('shown');
42:             }
43:         });
44: 
45:         #if ($request.getParameter("label"))
46:             var label = '$request.getParameter("label").replace("'","\'")';
47:             $('#camp-label-select').val(encodeURIComponent(label).replace(/'/g, "%27"));
48:         #end
49:         $('#camp-label-select').on('change', function() {
50:             var url = '/camps/camps-list';
51:             if ($(this).val()) {
52:                 url = url + '?label=' + $(this).val();
53:             }
54:             window.location.replace(url);
55:         });
56:     });
57: })(jq211);
58: 
59: </script>
60: 
61: #set ($labels = $camps.getLabels())
62: #if ($labels.size() > 0)
63:     <div>
64:         <select name="label" id="camp-label-select" class="camp-labels">
65:             <option value="">View all</option>
66:             #foreach ($label in $labels.entrySet())
67:                 <option value="$label.key">$label.value</option>
68:             #end
69:         </select><br><br>
70:     </div>
71: #end
72: 
73: #set ($campsCount = 0)
74: #foreach ($camp in $camps.getCamps($request.getParameter("label")))
75: 	#set ($campsCount = $campsCount + 1)
76:     <div class="camp-box">
77:         <h2 class="camp-title">$camp.title</h2>
78:         <div class="camp-tags">
79:             #if ($camp.new)
80:                 <div class="camp-tag camp-tag-new">New!</div>
81:             #end
82:             #if ($camp.multipleSessions)
83:                 <div class="camp-tag camp-tag-multisession">Multi Session</div>
84:             #end
85:         </div>
86:         <div class="camp-details">
87: 			<h3 class="camp-subtitle">$camp.type</h3>
88:             <div class="camp-description">$camp.calendarDescription</div>
89:             <div class="camp-sessions">
90:                 <table>
91:                     <thead><tr>
92:                         <th class="session-name">Session</th>
93:                         <th class="session-date">Date</th>
94:                         <th class="session-time">Time</th>
95:                         <th class="session-spots-left">Spots Left</th>
96:                         <th class="session-cost">Cost</th>
97:                     </tr></thead>
98:                     <tbody>
99:                     #foreach ($session in $camp.sessions)
100:                     	#set ($sessionStyle = "")
101:                     	#if (!$session.active && !$session.full)
102:                     		#set ($sessionStyle = "camp-session-closed")
103:                     	#end
104:                         <tr class="$sessionStyle">
105:                             <td class="session-name" data-title="Session">$session.name.toUpperCase()</td>
106:                             <td class="session-date" data-title="Date">$session.date.toUpperCase()</td>
107:                             <td class="session-time" data-title="Time">$session.time</td>
108:                             <td class="session-spots-left" data-title="Spots Left">
109:                                 #set ($spotsLeftValue = $session.spotsLeft)
110:                                 #if ($session.hasSeveralSpots())
111:                                     #set ($spotsLeftValue = "10+")
112:                                     #set ($spotsLeftClass = "adequate") 
113:                                 #else
114:                                     #set ($spotsLeftClass = "few")
115:                                 #end
116:                                 <div class="spots-left $spotsLeftClass">$spotsLeftValue</div>
117:                             </td>
118:                             <td class="session-cost" data-title="Cost">$session.cost</td>
119:                         </tr>
120:                     #end
121:                     </tbody>
122:                 </table>
123:             </div>
124:             <div class="submit-container">
125:                 <button class="camp-list-register-button" onclick="location.href='/camps/camps-registration?id=$camp.id';">Register Now</button>
126:             </div>
127:         </div>
128:     </div>
129: #end
130: #if ($campsCount == 0)
131: 	<div class="camp-no-camps">
132: 		<img src="/info/images/no-camps.png" alt="There are no camps available at this time" />
133: 	</div>
134: #end